[
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["organisation", "gtd", "ia", "note"],
    "is_public": false,
    "id": 109,
    "title": "Building a Personal GTD System in Plain Text with AI Agents",
    "url": "https://www.disnetdev.com/blog/2025-07-02-building-a-personal-gtd-system-in-plain-text-with-ai-agents/",
    "given_url": "https://www.disnetdev.com/blog/2025-07-02-building-a-personal-gtd-system-in-plain-text-with-ai-agents/",
    "content": "Building a Personal GTD System in Plain Text with AI Agents<header><a href=\"https://www.disnetdev.com/\" class=\"home-link\"><img src=\"https://www.disnetdev.com/img/avatar.jpg\" alt=\"Tim Disney\" class=\"avatar\" referrerpolicy=\"no-referrer\" />Tim Disney</a>\n</header><main id=\"skip\">\n<p>I've been experimenting with trying to build a plain-text <a href=\"https://en.wikipedia.org/wiki/Getting_Things_Done\">GTD</a> system with <a href=\"https://github.com/disnet/flint-note/\">Flint</a>. I started by just creating a <em>todo</em> note type with a couple of simple metadata fields (e.g. <em>status</em>, <em>due date</em>, etc.) with agent instructions to keep things concise and action-oriented.</p>\n<p>Creating and updating todos then happens conversationally:</p>\n<blockquote>\n<p>Me: make a todo to schedule a dentist appointment today</p>\n<p>Agent: Done.</p>\n</blockquote>\n<p>Later in the day:</p>\n<blockquote>\n<p>Me: mark dentist appointment done</p>\n<p>Agent: Updated.</p>\n</blockquote>\n<p>My favorite part of this approach is you can then ask the agent \"what should I be working on today\" and it's generally smart enough to look through all your todos but also other kinds of notes (daily logs, project notes, etc.) and give you a pretty intelligent response.</p>\n<p>This is fine but gets awkward to update multiple items at a time. What I wanted was a way of seeing and updating multiple todos at a time while still keeping the benefits of text and agent smarts. So I just asked Flint to make me a special note that it would keep in sync:</p>\n<blockquote>\n<p>Me: create a todo note that is special called \"today\", it should:</p>\n<ul><li>list all the other todo items that should be worked on today</li>\n<li>format items like <code>- [ ] todo item</code>.</li>\n<li>update agent instructions to update this note when updating other notes</li>\n<li>when the note has items checked off, synchronize with corresponding note status</li>\n<li>have a section called \"Quick Add New Tasks\" to easily add new items</li>\n<li>each todo should be in one of three states: now (I want to focus on working on it today), upcoming (ready to be worked on soon), someday (a backlog of stuff to plan out eventually)</li>\n<li>the today note should group by status but not show all the someday tasks (just show a count)</li>\n<li>items in the now section should be written like <code>- [ ] + todo item</code> and items in the upcoming sections are written like <code>- [ ] todo item</code>.</li>\n<li>when syncing the today note look for changes to the + to move items from the now state to the upcoming or vice versa</li>\n</ul></blockquote>\n<p>Flint then made a \"todo\" note that looks like this:</p>\n<pre class=\"language-markdown\"># Today - [Current Date]\n## NOW (Focus on today) \ud83c\udfaf\n- [ ] + Finish quarterly report draft\n- [ ] + Review team feedback on project proposal\n- [ ] + Schedule dentist appointment\n- [ ] + Follow up on client contract (OVERDUE)\n## UPCOMING (Ready to work on soon) \ud83d\udccb\n- [ ] Plan next week's team meeting (Due: Friday)\n- [ ] Update budget spreadsheet (Due: End of month)\n- [ ] Research new project management tools\n## Quick Add New Tasks\n*Add new todo items below - use + for NOW, - for SOMEDAY, no symbol for UPCOMING*\n- [ ]\n- [ ]\n- [ ]</pre>\n<p>Now I can easily check off (e.g. change <code>[ ]</code> to <code>[x]</code>) multiple items and then ask Flint to sync the note and it will update each todo note as completed and refresh the today note.</p>\n<p>A day's interaction could look something like this:</p>\n<p><strong>Morning (9:00 AM)</strong>:</p>\n<pre>User opens Today note, sees:\n- [ ] + Write project proposal\n- [ ] + Call insurance company\n- [ ] Review budget numbers (Due: Thursday)\nUser adds + symbol to \"Review budget numbers\":\n- [ ] + Review budget numbers (Due: Thursday)\nSystem automatically:\n- Updates individual todo note workflow_state to \"now\"\n- Moves task to NOW section in Today note\n</pre>\n<p><strong>Midday (1:00 PM)</strong>:</p>\n<pre>User checks off completed task in Today note:\n- [x] + Write project proposal \u2705\nSystem automatically:\n- Updates individual todo note status to \"completed\"\n- Adds completion timestamp\n- Moves to \"Recently Completed\" section\n</pre>\n<p><strong>Evening (6:00 PM)</strong>:</p>\n<pre>User adds new task to Quick Add section:\n- [ ] + Book flight for conference\nSystem automatically:\n- Creates new individual todo note: \"Book flight for conference\"\n- Sets workflow_state to \"now\" (because of + symbol)\n- Adds to NOW section in Today note\n- Clears the Quick Add entry\n</pre>\n<p>I think this is pretty cool, you can build an approximation of a full-fledged GTD app like <a href=\"https://culturedcode.com/things/\">Things</a> or <a href=\"https://www.omnigroup.com/omnifocus\">OmniFocus</a> in plain text just by writing down a few simple instructions.</p>\n<p>Another neat thing is I built this workflow conversationally. My example above defined the <em>today</em> note in one instruction but I actually went back and forth with the agent a bunch to narrow down how the today note should best be structured.</p>\n<p>This bidirectional sync between plain text and AI agents feels like a fundamental building block. You get the benefits of structured data and automation while keeping the flexibility and ownership of plain text. I suspect this pattern will be useful beyond task management.</p>\n</main>",
    "created_at": "2025-09-15T14:32:16+00:00",
    "updated_at": "2025-09-15T14:32:45+00:00",
    "published_at": "2025-07-02T00:00:00+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "en",
    "reading_time": 3,
    "domain_name": "www.disnetdev.com",
    "preview_picture": "https://disnetdev.com/img/og-images/2025-07-02-building-a-personal-gtd-system-in-plain-text-with-ai-agents.png",
    "http_status": "200",
    "headers": {
      "accept-ranges": "bytes",
      "age": "0",
      "cache-control": "public,max-age=0,must-revalidate",
      "cache-status": "\"Netlify Edge\"; fwd=miss",
      "content-length": "26039",
      "content-type": "text/html; charset=UTF-8",
      "date": "Mon, 15 Sep 2025 14:32:16 GMT",
      "etag": "\"436e9ef56e3716b9f27eb6bdbf4957bf-ssl\"",
      "server": "Netlify",
      "strict-transport-security": "max-age=31536000",
      "x-nf-request-id": "01K56WMVY9GS64CRR9FVAC6EHA"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 1,
    "tags": [],
    "is_public": false,
    "id": 108,
    "title": "comprehensive-guide-to-alpinejs-for-reactive-web-development",
    "url": "https://app.studyraid.com/en/page/8389/comprehensive-guide-to-alpinejs-for-reactive-web-development",
    "given_url": "https://app.studyraid.com/en/page/8389/comprehensive-guide-to-alpinejs-for-reactive-web-development",
    "content": "wallabag can't retrieve contents for this article. Please <a href=\"https://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that\">troubleshoot this issue</a>.\n",
    "created_at": "2025-07-22T05:38:01+00:00",
    "updated_at": "2025-07-22T05:38:06+00:00",
    "published_by": [""],
    "starred_at": "2025-07-22T05:38:06+00:00",
    "annotations": [],
    "reading_time": 0,
    "domain_name": "app.studyraid.com"
  },
  {
    "is_archived": 0,
    "is_starred": 1,
    "tags": [],
    "is_public": false,
    "id": 107,
    "title": "Chapitre 2 Le cadre juridique de l\u2019open data en France | Rapport sur l\u2019open data",
    "url": "https://datactivist.coop/ardeche/rapport/partie2.html",
    "given_url": "https://datactivist.coop/ardeche/rapport/partie2.html",
    "content": "<p>On pourrait croire que l\u2019open data constitue un mouvement r\u00e9cent n\u00e9 il y a pr\u00e8s de dix ans. En r\u00e9alit\u00e9, les principes internationaux que nous venons de d\u00e9couvrir s\u2019inscrivent dans la continuit\u00e9 du droit fran\u00e7ais et europ\u00e9en qui garantit la transparence de l\u2019action de l\u2019administration. En plus de porter l\u2019attention sur les donn\u00e9es brutes de l\u2019administration, les principes de l\u2019open data ont apport\u00e9 deux nouveaut\u00e9s : la cons\u00e9cration du droit de r\u00e9utilisation avec l\u2019apparition de standards internationaux et l\u2019importance de la lisibilit\u00e9 des donn\u00e9es par les machines.</p><div id=\"la-loi-cada-accorder-aux-citoyens-un-droit-de-savoir\" class=\"section level2\"><h2>2.1 La loi CADA : accorder aux citoyens un \u201cdroit de savoir\u201d</h2><p>On peut retracer la philosophie de l\u2019open data dans les fondements m\u00eame de la R\u00e9publique avec la <strong>D\u00e9claration des Droits de l\u2019Homme et du Citoyen de 1789</strong> qui dispose dans son article 15 que \u201cla Soci\u00e9t\u00e9 a le droit de demander compte \u00e0 tout Agent public de son administration.\u201d Cet article pose un devoir de reddition de comptes pour l\u2019administration qui s\u2019est exerc\u00e9 pendant longtemps principalement par des institutions comme la Cour des Comptes en charge du contr\u00f4le de l\u2019action public.</p><p>N\u00e9anmoins, c\u2019est v\u00e9ritablement \u00e0 partir de 1978 qu\u2019a \u00e9merg\u00e9 un droit d\u2019acc\u00e8s \u00e0 l\u2019information publique qui s\u2019est progressivement transform\u00e9 en droit de r\u00e9utilisation avec le d\u00e9veloppement d\u2019Internet. Le droit d\u2019acc\u00e8s des citoyens \u00e0 l\u2019information publique \u00e9merge en <strong>1978 avec la loi dite CADA</strong> du nom de la Commission d\u2019Acc\u00e8s aux Documents Administrations Administratifs. La France \u00e9tait alors le troisi\u00e8me pays au monde apr\u00e8s la Su\u00e8de en 1766 et les Etats-Unis en 1966 avec le Freedom of Information Act (FOIA) en 1966 \u00e0 accorder un \u201cdroit de savoir\u201d \u00e0 ses citoyens qui permet de demander aux administrations les informations publiques qu\u2019elles d\u00e9tiennennt. En 1978, c\u2019est <strong>un droit d\u2019acc\u00e8s</strong> qui est accord\u00e9 aux citoyens, la priorit\u00e9 \u00e0 l\u2019\u00e9poque \u00e9tant d\u2019am\u00e9liorer la relation entre l\u2019administration et le public et de renforcer la transparence de l\u2019action publique.</p><p>La loi CADA donne <strong><a href=\"http://www.cada.fr/la-notion-de-document-administratif,56.html\">une d\u00e9finition tr\u00e8s large</a> d\u2019un document administratif</strong> comme \u201ctous les documents produits ou re\u00e7us par l\u2019administration qu\u2019ils se pr\u00e9sentent sous forme \u00e9crite (dossiers, rapports, \u00e9tudes, comptes rendus, proc\u00e8s-verbaux, statistiques, directives, instructions, circulaires\u2026), sous forme d\u2019enregistrement sonore ou visuel ou sous forme num\u00e9rique ou informatique.\u201d C\u2019est dans ce cadre tr\u00e8s g\u00e9n\u00e9rique que s\u2019inscrit l\u2019ouverture des donn\u00e9es. Le droit d\u2019acc\u00e8s s\u2019appplique aux documents administratifs <strong>produits dans le cadre d\u2019une [mission de service public](de mani\u00e8re directe par les acteurs publics ou indirecte (d\u00e9l\u00e9gation de service public)</strong>, c\u2019est-\u00e0-dire l\u2019accomplissement de toute activit\u00e9 prise en charge de mani\u00e8re directe par les acteurs publics ou indirecte (d\u00e9l\u00e9gation de service public) pour satisfaire l\u2019int\u00e9r\u00eat g\u00e9n\u00e9ral et r\u00e9gi par des principes de continuit\u00e9, d\u2019\u00e9galit\u00e9 et d\u2019adptabilit\u00e9. Enfin, le droit d\u2019acc\u00e8s ne s\u2019exerce que si l\u2019administration a effectivement en sa possession le document demand\u00e9, que si le document est formellement <strong>achev\u00e9</strong> et qu\u2019il n\u2019est pas <strong>pr\u00e9paratoire \u00e0 une d\u00e9cision administrative</strong> en cours d\u2019\u00e9laboration.</p><p>Sont <strong>exclus</strong> du droit d\u2019acc\u00e8s les documents administratifs pouvant atteindre porter atteinte \u00e0 l\u2019exercice des activit\u00e9s r\u00e9galiennes de l\u2019\u00c9tat et \u00e0 l\u2019int\u00e9r\u00eat g\u00e9n\u00e9ral. Plusieurs <a href=\"http://www.cada.fr/les-secrets-proteges,58.html\">secrets</a> sont prot\u00e9g\u00e9s notamment concernant les d\u00e9lib\u00e9rations du Gouvernement, le secret de la d\u00e9fense nationale, la s\u00e9curit\u00e9 publique ou encore le d\u00e9roulement des proc\u00e9dures juridictionnelles. Surtout, le cadre de la loi CADA exclut les donn\u00e9es \u00e0 caract\u00e8re personnel, relatives \u00e0 des personnes physiques et permettant leur identification directe ou indirecte. Toutefois, les documents comprenant des donn\u00e9es \u00e0 caract\u00e8re personnel ne sont communicables et r\u00e9utilisables que si au moins l\u2019une des trois conditions suivante est remplie : 1. le consentement des personnes concern\u00e9es a \u00e9t\u00e9 recueilli apr\u00e8s leur bonne information sur la finalit\u00e9 et les modalit\u00e9s de la communication ou de la r\u00e9utilisation des donn\u00e9es les concernant ; 2. les donn\u00e9es sont anonymis\u00e9es (c\u2019est-\u00e0-dire non identifiantes ou ne permettant pas, compte tenu de leur niveau d\u2019agr\u00e9gation, d\u2019identifier \u00e0 nouveau les personnes concern\u00e9es) ; 3. la r\u00e9utilisation est autoris\u00e9e par un texte l\u00e9gislatif ou r\u00e9glementaire.</p><blockquote>\n<p><strong>Aller plus loin :</strong> Sur tous ces points, le site de la CADA d\u00e9taille la jurisprudence, en particulier dans la partie sur l\u2019<a href=\"http://www.cada.fr/l-etendue-du-droit-d-acces,20.html\">\u00e9tendue du droit d\u2019acc\u00e8s</a>. Le <a href=\"http://www.opendatafrance.net/wp-content/uploads/2012/02/guide_de_demande_open_data.pdf\">guide de demande de donn\u00e9es publiques aupr\u00e8s des collectivit\u00e9s</a> produit par Bordeaux M\u00e9tropole permet aussi de mieux comprendre le cadre l\u00e9gal.</p>\n</blockquote></div><div id=\"du-droit-dacc\u00e8s-au-droit-de-r\u00e9utilisation\" class=\"section level2\"><h2>2.2 Du droit d\u2019acc\u00e8s au droit de r\u00e9utilisation</h2><p>La loi CADA a accord\u00e9 aux citoyens un droit d\u2019acc\u00e8s aux documents administratifs, la question de la r\u00e9utilisation des donn\u00e9es publiques a \u00e9merg\u00e9 dans les ann\u00e9es 1990 avec le d\u00e9veloppement d\u2019Internet facilitant la diffusion des donn\u00e9es publiques et le d\u00e9veloppement de nouveaux services au public. Comme l\u2019explique Boustany (2013), \u201cla diff\u00e9rence r\u00e9side dans les enjeux : l\u2019acc\u00e8s aux documents publics rel\u00e8ve de la d\u00e9mocratie et de la transparence des institutions ; la r\u00e9utilisation des donn\u00e9es des donn\u00e9es pour produire des services ou pour la connaissance pr\u00e9sente des enjeux socio-\u00e9conomiques.\u201d</p><blockquote>\n<p><strong>Aller plus loin</strong> : lire l\u2019article de Joumana Boustany (2013), \u00ab <a href=\"http://www.cairn.info/revue-les-cahiers-du-numerique-2013-1-page-21.htm\">Acc\u00e8s et r\u00e9utilisation des donn\u00e9es publiques : \u00c9tat des lieux en France\"</a> dans la revue <em>Les Cahiers du num\u00e9rique</em></p>\n</blockquote><p>La frise qui suit retrace les principales dates de l\u2019apparition du droit de r\u00e9utilisation des donn\u00e9es, chacune de ces dates \u00e9tant d\u00e9velopp\u00e9e \u00e0 la suite :</p><p>Le <strong>droit de r\u00e9utilisation des informations publiques</strong> a \u00e9t\u00e9 fortement soutenu par l\u2019Union Europ\u00e9enne en particulier avec la <strong>Directive dite PSI (<em>Public Sector Information</em>) de 2003</strong> concernant la r\u00e9utilisation des informations du secteur public qui fixe les r\u00e8gles minimales et les conditions de r\u00e9utilisation de ces donn\u00e9es publiques. Elle a \u00e9t\u00e9 transpos\u00e9 en droit fran\u00e7ais par l\u2019ordonnance du 6 juin 2005 qui autorise les usages commerciaux des donn\u00e9es publiques et fixe le cadre de la r\u00e9utilisation en autorisant notamment le paiement d\u2019une redevance couvrant des frais autre que ceux de la reproduction des documents. En 2013, la <strong>r\u00e9vision de la directive PSI</strong> a instaur\u00e9 un v\u00e9ritable droit \u00e0 r\u00e9utilisation des donn\u00e9es du secteur public pour lequel persiste toutefois une exception pour le secteur culturel (mus\u00e9es, biblioth\u00e8ques, archives). La loi relative \u00e0 la gratuit\u00e9 et aux modalit\u00e9s de la r\u00e9utilisation des informations du secteur public, dite <strong>loi Valter de 2015</strong>, l\u2019a traduit en droit fran\u00e7ais en instaurant le principe de gratuit\u00e9 g\u00e9n\u00e9ralis\u00e9 \u00e0 tous les secteurs, toutefois, les donn\u00e9es des services publics industriels et commerciaux restent exclues ce qui a \u00e9t\u00e9 abrog\u00e9 par la loi pour une R\u00e9publique Num\u00e9rique que nous d\u00e9taillerons dans la prochaine section.</p><blockquote>\n<p><strong>Aller plus loin :</strong> lire le guide \u201c<a href=\"http://www.opendatafrance.net/wp-content/uploads/2016/06/guideOD_communes_lois_juin2016_Web.pdf\">Les lois r\u00e9gulant la donn\u00e9e publique</a>\u201d produit par Open Data France et la pr\u00e9sentation \u201c<a href=\"http://www.opendatalab.fr/images/doc/NouvellesVersions3/Projet-Open-Datalab---quelles-obligations-rglementaires-V2.1.pdf\">Quelles obligations r\u00e9glementaires pour l\u2019ouverture des donn\u00e9es?</a>\u201d produite par le SGAR de la r\u00e9gion Occitanie dans le cadre du projet Open DataLab</p>\n</blockquote><p>Enfin, dernier \u00e9l\u00e9ment du contexte juridique, la <strong>directive europ\u00e9enne Inspire du 14 mars 2007</strong> vise \u00e0 l\u2019harmonisation et \u00e0 l\u2019ouverture des donn\u00e9es g\u00e9ographiques au niveau europ\u00e9en.Transpos\u00e9e en droit fran\u00e7ais par l\u2019ordonnance du 21 octobre 2010, elle impose aux autorit\u00e9s publiques de recenser les donn\u00e9es qui rentrent dans le p\u00e9rim\u00e8tre concern\u00e9 par la directive, de cr\u00e9er et de maintenir les m\u00e9tadonn\u00e9es selon les normes \u00e9tablies par la commission europ\u00e9enne, de mettre les m\u00e9tadonn\u00e9es et les donn\u00e9es en suivant les standards europ\u00e9ens. Pour certaines donn\u00e9es qui ne pourraient \u00eatre ouvertes au public, la directive impose le partage entre autorit\u00e9s publiques.</p><blockquote>\n<p><strong>Aller plus loin :</strong> lire le document \u201c<a href=\"http://formations-geomatiques.developpement-durable.gouv.fr/MIG/directive_inspire_neophytes/res/Directive_inspire_neophytes_papier.pdf\">La directive Inspire pour les n\u00e9ophytes</a>\u201d \u00e9tabli par la Mission de l\u2019information g\u00e9ographique (MIG) du minist\u00e8re du d\u00e9veloppement durable en 2016</p>\n</blockquote></div><div id=\"loi-pour-une-r\u00e9publique-num\u00e9rique-louverture-des-donn\u00e9es-par-d\u00e9faut\" class=\"section level2\"><h2>2.3 Loi pour une R\u00e9publique Num\u00e9rique : l\u2019ouverture des donn\u00e9es par d\u00e9faut</h2><p>Promulgu\u00e9e le 7 octobre 2016, la <a href=\"https://www.legifrance.gouv.fr/affichTexte.do;jsessionid=B5632993E54F7CCC2606664B64CDF612.tpdila11v_1?cidTexte=JORFTEXT000033202746&amp;categorieLien=id\">loi pour une R\u00e9publique Num\u00e9rique</a> a fait l\u2019objet de pr\u00e8s de quatre ans d\u2019annonces, de consultations et de d\u00e9bat. Son titre 1 porte sur l\u2019ouverture des donn\u00e9es publiques et rend obligatoire la mise \u00e0 disposition des donn\u00e9es publiques communicables.</p><p>La loi impose un principe d\u2019<strong>ouverture des donn\u00e9es par d\u00e9faut</strong> \u00e0 toutes les administrations et collectivit\u00e9s locales de plus de 3500 habitants et 50 agents qui concerne un <strong>p\u00e9rim\u00e8tre tr\u00e8s large</strong> comprenant les documents communiqu\u00e9s suite \u00e0 des demandes CADA (depuis le 7 avril 2017), les \u201cbases de donn\u00e9es\u201d et les donn\u00e9es \u201cdont la publication pr\u00e9sente un int\u00e9r\u00eat \u00e9conomique, social, sanitaire ou environnemental\u201d \u00e0 partir d\u2019octobre 2018. Rares sont les donn\u00e9es publiques qui ne sont donc pas concern\u00e9es par cette obligation d\u2019ouverture. L\u2019obligation concerne aussi les <strong>entreprises d\u00e9l\u00e9gataires d\u2019une mission de service public</strong> pour les donn\u00e9es collect\u00e9es ou produites \u00e0 l\u2019occasion de l\u2019exploitation du service public faisant l\u2019objet du contrat qui doivent \u00eatre fournies gratuitement aux acteurs publics, en charge alors de les diffuser. La loi ne pr\u00e9voit pas de sanctions pour les administrations qui ne respecteraient pas cette obligation.</p><p>Toutefois, <strong>la notion de donn\u00e9es</strong> qui d\u00e9limite le p\u00e9rim\u00e8tre concern\u00e9 par l\u2019obligation d\u2019ouverture ne fait pas l\u2019objet d\u2019une d\u00e9finition juridique. Classiquement, on d\u00e9finit les donn\u00e9es comme une forme de repr\u00e9sentation d\u2019une r\u00e9alit\u00e9 destin\u00e9e g\u00e9n\u00e9ralement \u00e0 \u00eatre trait\u00e9es par un ordinateur, \u00e0 l\u2019oppos\u00e9e des informations g\u00e9n\u00e9ralement destin\u00e9es \u00e0 \u00eatre trait\u00e9es par des humains. Cette d\u00e9finition est une parmi d\u2019autres, la notion de donn\u00e9es faisant l\u2019objet de d\u00e9bats dans la litt\u00e9rature sur lequel nous n\u2019allons pas nous \u00e9tendre ici. Dans le droit, la seule r\u00e9f\u00e9rence que nous connaissons est <a href=\"https://datactivist.coop/ardeche/rapport/j.mp/EnrichissementVocabulaireInformatique\">un arr\u00eat\u00e9 du 22 d\u00e9cembre 1981</a> relatif \u00e0 l\u2019enrichissement du vocabulaire informatique d\u00e9finit la donn\u00e9e comme la \u00ab repr\u00e9sentation d\u2019une information sous une forme conventionnelle destin\u00e9e \u00e0 faciliter son traitement (en anglais : data). \u00bb L\u2019absence de d\u00e9finition juridique pourrait devenir probl\u00e9matique d\u00e8s lors que des contentieux tenteront de faire appliquer l\u2019obligation d\u2019ouverture des donn\u00e9es pr\u00e9vus par la loi pour une R\u00e9publique num\u00e9rique.</p><p>Sur ce point, la loi pour une R\u00e9publique Num\u00e9rique consacre <strong>l\u2019utilisation de standards ouverts</strong> pour la communication des documents administratifs afin de faciliter la r\u00e9utilisation des donn\u00e9es par les machines L\u2019administration (minist\u00e8res, collectivit\u00e9s territoriales, \u00e9tablissements publics\u2026) sera dor\u00e9navant tenue, lorsqu\u2019elle communique un document administratif au format \u00e9lectronique, de le mettre \u00e0 disposition du citoyen \u201cdans un standard ouvert, ais\u00e9ment r\u00e9utilisable et exploitable par un syst\u00e8me de traitement automatis\u00e9\u201d. Concr\u00e8tement, cela emp\u00eache la publication de fichiers PDF l\u00e0 o\u00f9 un fichier CSV pourrait \u00eatre diffus\u00e9, conform\u00e9ment aux principes internationaux de l\u2019open data \u00e9voqu\u00e9 dans la section pr\u00e9c\u00e9dente.</p><p>Enfin, la loi <strong>limite par d\u00e9cret les licences</strong> qui peuvent \u00eatre utilis\u00e9es par les administrations. Le <a href=\"https://www.legifrance.gouv.fr/eli/decret/2017/4/27/2017-638/jo/texte\">d\u00e9cret du 27 avril 2017</a> autorise deux licences : la Licence Ouverte d\u2019Etalab et la licence OpenDataBaseLicense (nous reviendrons \u00e0 la suite sur le contenu de ces licences). Les administrations qui voudront utiliser une autre licence devront remplir une proc\u00e9dure d\u2019homologation aupr\u00e8s des sercices du Premier ministre qui impose notamment un expos\u00e9 des motifs ayant conduit conduit \u00e0 choisir une licence hors de la liste fix\u00e9e dans le d\u00e9cret et une consultation des usagers affect\u00e9s par la licence propos\u00e9e. L\u2019homologation doit \u00eatre faite pour chaque jeu de donn\u00e9es m\u00eame si la licence reste la m\u00eame.</p><blockquote>\n<p><strong>Aller plus loin</strong> : lire l\u2019article \u201c<a href=\"https://www.nextinpact.com/news/101397-on-vous-explique-volet-open-data-loi-lemaire.htm\">On vous explique le volet \u00ab Open Data \u00bb de la loi Lemaire</a>\u201d publi\u00e9 par le site NextInpact</p>\n</blockquote><p>Ces deux licences offrent un choix aux administrations, la licence ouverte \u00e9tant plus permissive que la licence ODBL qui a \u00e9t\u00e9 con\u00e7ue dans une logique de \u201cpot commun\u201d permettant de garantir que les donn\u00e9es resteront ouvertes apr\u00e8s leur r\u00e9utilisation.</p><div class=\"figure c2\"><img src=\"https://datactivist.coop/ardeche/rapport/img/licences.png\" alt=\"Panorama des licences de donn\u00e9es ouvertes (source : Open Data Lab\" width=\"60%\" referrerpolicy=\"no-referrer\" /><p class=\"caption\">Figure 2.1: Panorama des licences de donn\u00e9es ouvertes (source : Open Data Lab</p></div><blockquote>\n<p><strong>Aller plus loin :</strong> le guide <a href=\"https://www6.inra.fr/datapartage/Zoom-sur/Guide-d-analyse-du-cadre-juridique-en-France\">\"Ouverture des donn\u00e9es de la recherche. Guide d\u2019analyse du cadre juridique en France</a> \" de l\u2019INRA pr\u00e9sente dans sa fiche num\u00e9ro 6 une comparaison compl\u00e8te de la licence ouverte et de la licence ODBL</p>\n</blockquote></div>",
    "created_at": "2025-07-22T05:38:00+00:00",
    "updated_at": "2025-07-22T05:38:00+00:00",
    "published_by": [
      "Samuel Go\u00ebta (Datactivist) pour le Conseil d\u00e9partemental de l\u2019Ard\u00e8che"
    ],
    "starred_at": "2025-07-22T05:38:00+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "reading_time": 9,
    "domain_name": "datactivist.coop",
    "preview_picture": "https://datactivist.coop/ardeche/rapport/img/licences.png",
    "http_status": "200",
    "headers": {
      "date": "Tue, 22 Jul 2025 05:38:00 GMT",
      "content-type": "text/html; charset=utf-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "server": "cloudflare",
      "last-modified": "Sun, 15 Dec 2019 02:03:14 GMT",
      "access-control-allow-origin": "*",
      "expires": "Tue, 22 Jul 2025 05:48:00 GMT",
      "cache-control": "max-age=600",
      "report-to": "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=r7BjWm0WKcVK7U21JqQQPveVDjKyAyXJiTCCPnXZ3eBJ3S6I7BC3N/Leopj32YgasmfqIG84pvlOrU/+IRzEx/s/UBEPkb3fbyCDKWn8ekYhxTp2WqWezE/qGQk=\"}]}",
      "x-proxy-cache": "MISS",
      "x-github-request-id": "34BA:29A9C4:81A52:8369B:687F23B8",
      "nel": "{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}",
      "age": "0",
      "via": "1.1 varnish",
      "x-served-by": "cache-fra-eddf8230156-FRA",
      "x-cache": "MISS",
      "x-cache-hits": "0",
      "x-timer": "S1753162681.792618,VS0,VE111",
      "vary": "Accept-Encoding",
      "x-fastly-request-id": "4ab16df81dc5b00881a3ceabd6649d9f6a416b2f",
      "cf-cache-status": "DYNAMIC",
      "cf-ray": "963096e2b8a7bb58-CDG",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["alpinejs", "modular-app", "course"],
    "is_public": false,
    "id": 106,
    "title": "comprehensive-guide-to-alpinejs-for-reactive-web-development",
    "url": "https://app.studyraid.com/en/courses/8389/comprehensive-guide-to-alpinejs-for-reactive-web-development",
    "given_url": "https://app.studyraid.com/en/courses/8389/comprehensive-guide-to-alpinejs-for-reactive-web-development",
    "content": "wallabag can't retrieve contents for this article. Please <a href=\"https://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that\">troubleshoot this issue</a>.\n",
    "created_at": "2025-07-20T20:06:51+00:00",
    "updated_at": "2025-07-20T20:07:06+00:00",
    "published_by": [""],
    "annotations": [],
    "reading_time": 0,
    "domain_name": "app.studyraid.com"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["alpinejs", "modular-app"],
    "is_public": false,
    "id": 105,
    "title": "Cr\u00e9ez une application modulaire avec Alpine.js",
    "url": "https://javascript.19633.com/fr/tags-js-10/app-10/1010100691.html",
    "given_url": "https://javascript.19633.com/fr/tags-js-10/app-10/1010100691.html",
    "content": "<p>R\u00e9cemment, j'ai cr\u00e9\u00e9 un POC impliquant de nouvelles technologies frontend et Alpine JS \u00e9tait l'une d'entre elles. Dans cet article, je vais montrer une approche pour cr\u00e9er des applications Web modulaires avec Alpine.</p><p>Notre contexte est de cr\u00e9er une application web de taille moyenne/grande totalement modulaire. Chaque page est trait\u00e9e comme un module compos\u00e9 de nombreux composants et du c\u00f4t\u00e9 backend nous avons <code>Go</code> traiter la cr\u00e9ation de la page comme SSR.</p><h3>Alpin</h3><p>AlpineJS est un new kids on the block sur Javascript land et il est d\u00e9crit sur leur site comme :</p><pre>Your new, lightweight, Javascript framework\n</pre><p>AlpineJS est tr\u00e8s simple et facile \u00e0 utiliser. Il a 3 piliers\u00a0:<em>Attributs</em> , <em>Propri\u00e9t\u00e9s</em> et <em>M\u00e9thodes</em> . Mon but n'est pas de pr\u00e9senter Alpine, mais de montrer notre strat\u00e9gie pour moduler l'application \u00e0 l'aide d'Alpine.</p><h3>Page et composants</h3><p>Une page est compos\u00e9e de nombreux composants, barre de navigation, cartes, bo\u00eete, menu, champs, graphiques, etc. Dans Alpine, un composant peut \u00eatre un simple <strong>div</strong> avec <code>x-data</code> attribut, simple ha!? Pour r\u00e9utiliser la logique du composant, nous d\u00e9cidons de cr\u00e9er un seul fichier JS qui repr\u00e9sente la logique et l'\u00e9tat de chaque composant. Voyons un exemple simple d'un fichier avec <code>counter</code> .</p><pre>export function counter() {\n    return {\n    count: 0,\n        reset() {\n            this.count = 0;\n        },\n        increment() {\n            this.count++;\n        },\n        decrement() {\n            this.count--;\n        }\n    }\n}\n</pre><p>Dans l'exemple ci-dessus, nous avons cr\u00e9\u00e9 un <code>counter</code> composant avec <code>count</code> attribut et 3 op\u00e9rations\u00a0:<em>reset</em> , <em>incr\u00e9ment</em> et <em>d\u00e9cr\u00e9menter</em> . Du c\u00f4t\u00e9 HTML, nous devons attacher sa fonction \u00e0 notre composant, comme\u00a0:</p><pre>&lt;div x-data=\"counter\" class=\"box-counter\"&gt;\n        &lt;span class=\"lbl-counter\" \n            :class=\"{'lbl-counter-red': count &lt; 0, 'lbl-counter-blue': count &gt; 0}\"\n            x-text=\"count\"&gt;0&lt;/span&gt;\n        &lt;div class=\"\"&gt;\n            &lt;button type=\"button\" class=\"btn-counter\" @click=\"increment\"&gt; Increment &lt;/button&gt;\n            &lt;button type=\"button\" class=\"btn-counter\" @click=\"reset\"&gt;Reset&lt;/button&gt;\n            &lt;button type=\"button\" class=\"btn-counter\" @click=\"decrement\"&gt; Decrement &lt;/button&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n</pre><p>Comme vous pouvez le voir, notre <code>div</code> la balise a un attribut <code>x-data</code> qui a la valeur <code>counter</code> . Alors Alpine fait la magie ici en reliant les deux (HTML et Javascript).</p><p>Tr\u00e8s simple et \u00e9volutif pour cr\u00e9er des composants comme \u00e7a. Mais imaginons une page avec 20 ou 30 composants comme \u00e7a, je pense qu'on va avoir une page bord\u00e9lique et tr\u00e8s dure \u00e0 maintenir.</p><p>D\u00e9composons notre probl\u00e8me en 2 parties\u00a0:composition et chargement du script.</p><h3>Composition des scripts</h3><p>La structure de l'application est bas\u00e9e sur des pages et chaque page a un <code>index.ts</code> qui exportera tous les composants n\u00e9cessaires \u00e0 cette page. Sur l'image ci-dessous, vous pouvez voir la structure du POC\u00a0:</p><p><img src=\"https://javascript.19633.com/article/uploadfiles/202208/2022082613572489.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p><p>Selon l'image, nous avons 4 pages :d\u00e9mo, accueil, login et prospects. Nous avons cr\u00e9\u00e9 un dossier <code>shared</code> qui contient tous les composants partag\u00e9s entre les pages, comme\u00a0:le menu, la barre de navigation, etc. Explorons la <em>d\u00e9mo</em> page.</p><p>La <em>d\u00e9mo</em> la page est compos\u00e9e de 3 composants\u00a0:<strong>menu</strong> , <strong>contre</strong> et <strong>\u00e0 faire</strong> . Le <code>index.ts</code> fichier pour cette page est illustr\u00e9 ci-dessous\u00a0:</p><pre>import menu from '../shared/menu'\nimport counter from './counter'\nimport todos from './todos'\nexport {\n    menu,\n    counter,\n    todos\n}\n</pre><p>La page HTML de d\u00e9monstration comporte 3 \u00e9l\u00e9ments HTML faisant r\u00e9f\u00e9rence \u00e0 ces composants, voyons l'extrait de la page HTML\u00a0:</p><pre>&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;title&gt;Demo&lt;/title&gt;\n    &lt;link rel=\"stylesheet\" href=\"assets/global.css\" /&gt;\n&lt;/head&gt;\n&lt;body&gt;\n    &lt;nav x-data=\"menu\" class=\"nav-header\"&gt;\n      ...\n    &lt;/nav&gt;\n    &lt;div x-data=\"counter\" class=\"box-counter\"&gt;\n      ...\n    &lt;/div&gt;\n    &lt;div x-data=\"todos\" class=\"todoapp\"&gt;\n      ...\n    &lt;/div&gt;\n&lt;/body&gt;\n&lt;/html&gt;\n</pre><p>En utilisant cette strat\u00e9gie, nous pouvons tr\u00e8s facilement cr\u00e9er des pages tr\u00e8s sophistiqu\u00e9es de mani\u00e8re modulaire. Un probl\u00e8me a \u00e9t\u00e9 r\u00e9solu, nous devons donc r\u00e9soudre le second.</p><h3>Chargement des scripts</h3><p>Le chargement des scripts est un probl\u00e8me tr\u00e8s important pour r\u00e9duire le code passe-partout. Nous avons cr\u00e9\u00e9 un <code>loader</code> fonction qui le r\u00e9sout pour nous. La fonction de chargement est illustr\u00e9e ci-dessous\u00a0:</p><pre>export async function loader(modules) {\n    const { default: alpinejs } = await import('https://cdn.skypack.dev/alpinejs')\n    let promises = modules.map((mod) =&gt; import(mod))\n    return Promise.all(promises).then(values =&gt; {\n        console.debug('Alpine', alpinejs.version)\n        values.forEach(module =&gt; {\n            Object.keys(module).forEach(attr =&gt; {\n                let data = module[attr]();\n                alpinejs.data(attr, () =&gt; data);\n            })\n        })\n        alpinejs.start();\n    })\n}\n</pre><p>Il s'agit d'un exemple na\u00eff qui charge dynamiquement le runtime d'Alpine \u00e0 partir du CDN et charge tous les modules pass\u00e9s par l'argument et les enregistre dans Alpine en tant que composants.</p><p>Maintenant, nous l'utilisons simplement dans notre page HTML pour charger chaque module de page.</p><pre>&lt;script defer type=\"module\"&gt;\n    import { loader } from './assets/loader.js'\n    loader(['/dist/demo/index.js']).catch(err =&gt; console.error(err))\n&lt;/script&gt;\n</pre><p>Comme vous pouvez le voir, nous pla\u00e7ons notre fichier Javascript compil\u00e9 dans <code>/dist/demo/index.js</code> . C'est une norme que nous avons d\u00e9cid\u00e9e pour notre application et qui fonctionne bien pour nous. Nous utilisons <code>rollup</code> pour transpiler notre code Typescript et le regrouper.</p><h3>R\u00e9sumer</h3><p>Alpine est un excellent joueur pour nous et sa simplicit\u00e9 nous aide \u00e0 \u00eatre plus productifs.</p><p>J'esp\u00e8re que cet article pourra vous aider et que vos suggestions sont les bienvenues\u00a0!</p>",
    "created_at": "2025-07-20T20:02:44+00:00",
    "updated_at": "2025-07-20T20:02:51+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr",
    "reading_time": 4,
    "domain_name": "javascript.19633.com",
    "preview_picture": "https://javascript.19633.com/article/uploadfiles/202208/2022082613572489.png",
    "http_status": "200",
    "headers": {
      "date": "Sun, 20 Jul 2025 20:02:43 GMT",
      "content-type": "text/html",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "report-to": "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=lZI6kzimb1o5MAak8K6cSpNtluDazbVzP+c7tvvoSf4y0Kn/wbSvE2xRv8+HmD6DGPeVgVWTv4wjlyoxYljNxy1e76GojPdVkhE87oLzLvwVtPtrIX0hUYgPaJTjOnTs\"}]}",
      "last-modified": "Fri, 02 Feb 2024 08:56:54 GMT",
      "nel": "{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}",
      "vary": "Accept-Encoding",
      "server": "cloudflare",
      "cf-cache-status": "DYNAMIC",
      "cf-ray": "96250ed07cf802e2-CDG",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["alpinejs", "modular-app"],
    "is_public": false,
    "id": 104,
    "title": "Alpine.js: The Minimalist JavaScript Framework for Modern Web Development",
    "url": "https://medium.com/@zulfikarditya/alpine-js-the-minimalist-javascript-framework-for-modern-web-development-839382997988",
    "given_url": "https://medium.com/@zulfikarditya/alpine-js-the-minimalist-javascript-framework-for-modern-web-development-839382997988",
    "content": "<article><div class=\"m\"><div class=\"m\"><section><div><div class=\"gp gq gr gs gt\"><div class=\"ac cb\"><div class=\"ci bh gb gc gd ge\"><div><div><div class=\"speechify-ignore ac cp\"><div class=\"speechify-ignore bh m\"><div class=\"ac hx hy hz ia ib ic id ie if ig ih\"><div class=\"ac r ih\"><div class=\"ac ii\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya\" data-discover=\"true\"><div class=\"m ij ik bx il im\"><div class=\"m fl\"><img alt=\"Zulfikar Ditya\" class=\"m fd bx by bz cx\" src=\"https://miro.medium.com/v2/resize:fill:64:64/1*CMWWlZolyCa6hkARDpWVzw.png\" width=\"32\" height=\"32\" data-testid=\"authorPhoto\" referrerpolicy=\"no-referrer\" /></div></div></a></div></div></div></div><div class=\"ip ac r\"><div class=\"ac r iq\"><div class=\"ac r\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as ir\" data-testid=\"authorName\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya\" data-discover=\"true\">Zulfikar Ditya</a></div></div></div></div></div></div></div><div class=\"ac r it\"><div class=\"ac af\">6 min read<div class=\"iu iv m\" aria-hidden=\"true\">\u00b7</div>Mar 16, 2025</div></div></div><div class=\"ac cp iw ix iy iz ja jb jc jd je jf jg jh ji jj jk jl\"><div class=\"i l x fi fj r\"><div class=\"kb m\"><div class=\"ac r kc kd\"><div class=\"pw-multi-vote-icon fl ke kf kg kh\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as at au\" data-testid=\"headerClapButton\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2F839382997988&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40zulfikarditya%2Falpine-js-the-minimalist-javascript-framework-for-modern-web-development-839382997988&amp;user=Zulfikar+Ditya&amp;userId=3a570e1e7812\" data-discover=\"true\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><div class=\"ki ap kj kk kl km an kn ko kp kh\" role=\"presentation\"></div></div></div></div></a></div><div class=\"pw-multi-vote-count m kq kr ks kt ku kv kw\"><p class=\"bf b dv ab du\">--</p></div></div></div><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"></div></div></div><div class=\"ac r jm jn jo jp jq jr js jt ju jv jw jx jy jz ka\"><div class=\"i l\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"></div></div></div><div class=\"fd lf cn\"><div class=\"m af\"><div class=\"ac cb\"><div class=\"lg lh li lj lk ll ci bh\"><div class=\"ac\"><div class=\"bm\" aria-hidden=\"false\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"></div></div></div></div></div></div></div></div><div class=\"bm\" aria-hidden=\"false\" aria-describedby=\"postFooterSocialMenu\" aria-labelledby=\"postFooterSocialMenu\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"></div></div></div></div></div></div></div></div></div><figure class=\"mh mi mj mk ml mm me mf paragraph-image\"><div role=\"button\" tabindex=\"0\" class=\"mn mo fl mp bh mq\"><div class=\"me mf mg\"><picture></picture></div></div><figcaption class=\"ms ff mt me mf mu mv bf b bg ab du\"><a class=\"ag mw\" href=\"https://postspark.app/code\" rel=\"noopener ugc nofollow\" target=\"_blank\">https://postspark.app/code</a></figcaption></figure><p id=\"3760\" class=\"pw-post-body-paragraph mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gp bk\">Alpine.js has emerged as a compelling option for developers seeking a lightweight yet powerful solution for adding interactivity to their web applications. This article explores Alpine.js in depth, examining its core features, advantages, real-world applications, and how it compares to other popular frameworks.</p><h1 id=\"481b\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">What is Alpine.js?</h1><p id=\"529d\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">Alpine.js is a minimal JavaScript framework created by Caleb Porzio in 2019. It offers reactive and declarative capabilities similar to Vue.js but with a significantly smaller footprint and a focus on simplicity. At just ~7.1kB minified and gzipped, Alpine.js provides the perfect balance for projects that need interactivity without the overhead of larger frameworks.</p><h1 id=\"286b\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Core Features</h1><h1 id=\"ce90\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Declarative Syntax</h1><p id=\"3db7\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">Alpine.js uses an HTML-first approach with declarative attributes that define behavior directly in your markup:</p><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">&lt;div x-data=\"{ open: false }\"&gt;    &lt;button @click=\"open = !open\"&gt;Toggle Menu&lt;/button&gt;&lt;div x-show=\"open\"&gt;        Menu content here...    &lt;/div&gt;&lt;/div&gt;</pre><h1 id=\"3b42\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Reactivity System</h1><p id=\"bc1d\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">Alpine.js includes a reactive data system that automatically updates the DOM when your data changes:</p><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">&lt;div x-data=\"{ count: 0 }\"&gt;    &lt;button @click=\"count++\"&gt;Increment&lt;/button&gt;    &lt;span x-text=\"count\"&gt;&lt;/span&gt;&lt;/div&gt;</pre><h1 id=\"0e4d\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Directives</h1><p id=\"7112\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">Alpine.js provides a set of directives (prefixed with <code class=\"cx pm pn po pe b\">x-</code>) that add functionality to HTML elements:</p><ul class=\"\"><li id=\"ac23\" class=\"mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu pp pq pr bk\"><code class=\"cx pm pn po pe b\">x-data</code>: Defines the reactive data object</li><li id=\"5ff0\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\"><code class=\"cx pm pn po pe b\">x-bind</code> or <code class=\"cx pm pn po pe b\">:</code>: Binds attributes to expressions</li><li id=\"c00b\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\"><code class=\"cx pm pn po pe b\">x-on</code> or <code class=\"cx pm pn po pe b\">@</code>: Attaches event listeners</li><li id=\"0e39\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\"><code class=\"cx pm pn po pe b\">x-text</code>: Updates the text content</li><li id=\"6c2c\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\"><code class=\"cx pm pn po pe b\">x-html</code>: Updates the inner HTML</li><li id=\"d7e7\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\"><code class=\"cx pm pn po pe b\">x-show</code>: Toggles element visibility</li><li id=\"bb6b\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\"><code class=\"cx pm pn po pe b\">x-if</code>, <code class=\"cx pm pn po pe b\">x-for</code>: Conditional rendering and iteration</li><li id=\"663a\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\"><code class=\"cx pm pn po pe b\">x-transition</code>: Adds transition effects</li><li id=\"5e01\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\"><code class=\"cx pm pn po pe b\">x-ref</code>: Creates element references</li><li id=\"592e\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\"><code class=\"cx pm pn po pe b\">x-cloak</code>: Hides elements until Alpine initializes</li></ul><h1 id=\"0ba0\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Global Utilities</h1><p id=\"e972\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">Alpine.js also provides global utilities for common tasks:</p><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">&lt;div x-data&gt;    &lt;button @click=\"$dispatch('custom-event')\"&gt;Dispatch Event&lt;/button&gt;    &lt;button @click=\"$el.innerHTML = 'Changed'\"&gt;Modify Element&lt;/button&gt;    &lt;button @click=\"$refs.input.focus()\"&gt;Focus Input&lt;/button&gt;    &lt;input type=\"text\" x-ref=\"input\"&gt;&lt;/div&gt;</pre><h1 id=\"6ab7\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Benefits of Alpine.js</h1><h1 id=\"e5ad\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Minimal Learning Curve</h1><p id=\"8720\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">One of Alpine.js\u2019s strongest advantages is its simplicity. Developers familiar with HTML and JavaScript basics can become productive quickly.</p><h1 id=\"a6f5\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Progressive Enhancement</h1><p id=\"57ff\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">Alpine.js works well with existing projects and supports progressive enhancement, allowing you to add interactivity to specific parts of your application without rewriting everything.</p><h1 id=\"b7c1\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">No Build Step Required</h1><p id=\"5578\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">Unlike many modern frameworks, Alpine.js can be included via a simple script tag, eliminating the need for complex build pipelines:</p><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">&lt;script defer src=\"https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js\"&gt;&lt;/script&gt;</pre><h1 id=\"6f2b\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Self-Contained Components</h1><p id=\"0500\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">Alpine.js encourages encapsulated components with localized state and behavior:</p><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">&lt;div x-data=\"dropdown()\"&gt;    &lt;button @click=\"toggle\"&gt;Toggle&lt;/button&gt;    &lt;div x-show=\"isOpen\" @click.away=\"close\"&gt;Dropdown Content&lt;/div&gt;&lt;/div&gt;</pre><pre class=\"px pd pe py pz aj qa bk\">&lt;script&gt;    function dropdown() {        return {            isOpen: false,            toggle() { this.isOpen = !this.isOpen },            close() { this.isOpen = false }        }    }&lt;/script&gt;</pre><h1 id=\"89f2\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Practical Use Cases</h1><h1 id=\"cb9b\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Interactive Forms</h1><p id=\"0054\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">Alpine.js excels at enhancing form interactions:</p><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">&lt;form x-data=\"{    email: '',    password: '',    errors: {},    async submitForm() {        this.errors = {};        try {            const response = await fetch('/api/login', {                method: 'POST',                body: JSON.stringify({ email: this.email, password: this.password }),                headers: { 'Content-Type': 'application/json' }            });            const data = await response.json();            if (!response.ok) this.errors = data.errors;            else window.location = '/dashboard';        } catch (e) {            this.errors.general = 'An unexpected error occurred';        }    }}\"&gt;    &lt;div&gt;        &lt;label&gt;Email&lt;/label&gt;        &lt;input type=\"email\" x-model=\"email\"&gt;        &lt;span x-text=\"errors.email\" x-show=\"errors.email\" class=\"error\"&gt;&lt;/span&gt;    &lt;/div&gt;&lt;div&gt;        &lt;label&gt;Password&lt;/label&gt;        &lt;input type=\"password\" x-model=\"password\"&gt;        &lt;span x-text=\"errors.password\" x-show=\"errors.password\" class=\"error\"&gt;&lt;/span&gt;    &lt;/div&gt;&lt;button type=\"submit\" @click.prevent=\"submitForm\"&gt;Login&lt;/button&gt;    &lt;p x-show=\"errors.general\" x-text=\"errors.general\" class=\"error\"&gt;&lt;/p&gt;&lt;/form&gt;</pre><h1 id=\"753e\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Modal Dialogs</h1><p id=\"d2d3\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">Creating accessible modals is straightforward:</p><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">&lt;div x-data=\"{ open: false }\"&gt;    &lt;button @click=\"open = true\"&gt;Open Modal&lt;/button&gt;&lt;div x-show=\"open\"          x-transition         @keydown.escape.window=\"open = false\"         class=\"modal-backdrop\"         style=\"display: none;\"&gt;        &lt;div class=\"modal\" @click.away=\"open = false\"&gt;            &lt;h2&gt;Modal Title&lt;/h2&gt;            &lt;p&gt;Modal content here...&lt;/p&gt;            &lt;button @click=\"open = false\"&gt;Close&lt;/button&gt;        &lt;/div&gt;    &lt;/div&gt;&lt;/div&gt;</pre><h1 id=\"12da\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Data Tables with Sorting and Filtering</h1><p id=\"e554\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">Alpine.js can power interactive data tables:</p><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">&lt;div x-data=\"{    users: [        { id: 1, name: 'John', email: 'john@example.com', role: 'Admin' },        { id: 2, name: 'Jane', email: 'jane@example.com', role: 'User' },        { id: 3, name: 'Bob', email: 'bob@example.com', role: 'Editor' }    ],    search: '',    sortKey: 'id',    sortDir: 'asc',    get filteredUsers() {        return this.users            .filter(user =&gt;                 user.name.toLowerCase().includes(this.search.toLowerCase()) ||                 user.email.toLowerCase().includes(this.search.toLowerCase()) ||                user.role.toLowerCase().includes(this.search.toLowerCase())            )            .sort((a, b) =&gt; {                let modifier = this.sortDir === 'asc' ? 1 : -1;                return a[this.sortKey] &gt; b[this.sortKey] ? modifier : -modifier;            });    },    sort(key) {        this.sortDir = this.sortKey === key             ? this.sortDir === 'asc' ? 'desc' : 'asc'             : 'asc';        this.sortKey = key;    }}\"&gt;    &lt;input type=\"text\" x-model=\"search\" placeholder=\"Search...\"&gt;&lt;table&gt;        &lt;thead&gt;            &lt;tr&gt;                &lt;th @click=\"sort('id')\"&gt;ID&lt;/th&gt;                &lt;th @click=\"sort('name')\"&gt;Name&lt;/th&gt;                &lt;th @click=\"sort('email')\"&gt;Email&lt;/th&gt;                &lt;th @click=\"sort('role')\"&gt;Role&lt;/th&gt;            &lt;/tr&gt;        &lt;/thead&gt;        &lt;tbody&gt;            &lt;template x-for=\"user in filteredUsers\" :key=\"user.id\"&gt;                &lt;tr&gt;                    &lt;td x-text=\"user.id\"&gt;&lt;/td&gt;                    &lt;td x-text=\"user.name\"&gt;&lt;/td&gt;                    &lt;td x-text=\"user.email\"&gt;&lt;/td&gt;                    &lt;td x-text=\"user.role\"&gt;&lt;/td&gt;                &lt;/tr&gt;            &lt;/template&gt;        &lt;/tbody&gt;    &lt;/table&gt;&lt;/div&gt;</pre><h1 id=\"f939\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Comparison with Other Frameworks</h1><h1 id=\"c5aa\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Alpine.js vs. React</h1><p id=\"2311\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\"><strong class=\"mz gx\">React Advantages:</strong></p><ul class=\"\"><li id=\"eda3\" class=\"mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu pp pq pr bk\">More powerful for large-scale applications</li><li id=\"cfc1\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Extensive ecosystem and community</li><li id=\"125c\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Better for complex state management</li><li id=\"aa7d\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Virtual DOM for optimized rendering</li></ul><p id=\"f409\" class=\"pw-post-body-paragraph mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gp bk\"><strong class=\"mz gx\">Alpine.js Advantages:</strong></p><ul class=\"\"><li id=\"5ff1\" class=\"mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu pp pq pr bk\">No build step required</li><li id=\"6846\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Smaller bundle size</li><li id=\"15e3\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Gentler learning curve</li><li id=\"70da\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Integrates with existing HTML</li></ul><h1 id=\"a49c\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Alpine.js vs. Vue</h1><p id=\"7a02\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\"><strong class=\"mz gx\">Vue Advantages:</strong></p><ul class=\"\"><li id=\"6dd8\" class=\"mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu pp pq pr bk\">More comprehensive feature set</li><li id=\"77fc\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Better scalability for larger applications</li><li id=\"790a\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">More powerful component system</li><li id=\"0133\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Advanced state management with Vuex</li></ul><p id=\"6e24\" class=\"pw-post-body-paragraph mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gp bk\"><strong class=\"mz gx\">Alpine.js Advantages:</strong></p><ul class=\"\"><li id=\"de22\" class=\"mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu pp pq pr bk\">Simpler API surface</li><li id=\"f4c5\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Lighter weight</li><li id=\"f049\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">No separate template syntax to learn</li><li id=\"68eb\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Works directly in HTML</li></ul><h1 id=\"3046\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Alpine.js vs. jQuery</h1><p id=\"ed8c\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\"><strong class=\"mz gx\">jQuery Advantages:</strong></p><ul class=\"\"><li id=\"913f\" class=\"mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu pp pq pr bk\">More comprehensive DOM manipulation API</li><li id=\"c6dc\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Wider browser compatibility</li><li id=\"0cd4\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Larger plugin ecosystem</li></ul><p id=\"2a4b\" class=\"pw-post-body-paragraph mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gp bk\"><strong class=\"mz gx\">Alpine.js Advantages:</strong></p><ul class=\"\"><li id=\"338e\" class=\"mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu pp pq pr bk\">Reactive data binding</li><li id=\"ae91\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Declarative programming model</li><li id=\"2519\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Modern component-based approach</li><li id=\"dbfe\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\">Better performance with targeted updates</li></ul><h1 id=\"70d5\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Advanced Techniques</h1><h1 id=\"9892\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">State Management</h1><p id=\"3104\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">For more complex applications, you can create centralized state with Alpine.js stores:</p><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">&lt;html&gt;&lt;head&gt;    &lt;script defer src=\"https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js\"&gt;&lt;/script&gt;    &lt;script&gt;        document.addEventListener('alpine:init', () =&gt; {            Alpine.store('user', {                name: 'Guest',                isLoggedIn: false,                login(username) {                    this.name = username;                    this.isLoggedIn = true;                },                logout() {                    this.name = 'Guest';                    this.isLoggedIn = false;                }            });        });    &lt;/script&gt;&lt;/head&gt;&lt;body&gt;    &lt;div x-data&gt;        &lt;div x-show=\"!$store.user.isLoggedIn\"&gt;            &lt;input type=\"text\" x-ref=\"username\" placeholder=\"Username\"&gt;            &lt;button @click=\"$store.user.login($refs.username.value)\"&gt;Login&lt;/button&gt;        &lt;/div&gt;&lt;div x-show=\"$store.user.isLoggedIn\"&gt;            &lt;p&gt;Welcome, &lt;span x-text=\"$store.user.name\"&gt;&lt;/span&gt;!&lt;/p&gt;            &lt;button @click=\"$store.user.logout()\"&gt;Logout&lt;/button&gt;        &lt;/div&gt;    &lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</pre><h1 id=\"6edf\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Custom Directives</h1><p id=\"292c\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">Extend Alpine.js with custom directives for specialized functionality:</p><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">document.addEventListener('alpine:init', () =&gt; {    Alpine.directive('tooltip', (el, { expression }, { evaluate }) =&gt; {        const content = evaluate(expression);el.addEventListener('mouseenter', () =&gt; {            const tooltip = document.createElement('div');            tooltip.textContent = content;            tooltip.className = 'tooltip';            document.body.appendChild(tooltip);const rect = el.getBoundingClientRect();            tooltip.style.left = `${rect.left + rect.width / 2 - tooltip.offsetWidth / 2}px`;            tooltip.style.top = `${rect.top - tooltip.offsetHeight - 10}px`;        });el.addEventListener('mouseleave', () =&gt; {            const tooltip = document.querySelector('.tooltip');            if (tooltip) tooltip.remove();        });    });});</pre><h1 id=\"048f\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Plugins</h1><p id=\"a702\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">Alpine.js can be extended with plugins, like Alpine.js Mask for input formatting:</p><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">&lt;div x-data&gt;    &lt;input x-mask=\"999-999-9999\" placeholder=\"Phone Number\"&gt;&lt;/div&gt;</pre><h1 id=\"eb23\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Best Practices</h1><h1 id=\"b356\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Performance Optimization</h1><ul class=\"\"><li id=\"e278\" class=\"mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu pp pq pr bk\"><strong class=\"mz gx\">Use </strong><code class=\"cx pm pn po pe b\"><strong class=\"mz gx\">x-if</strong></code><strong class=\"mz gx\"> for Large DOM Trees:</strong> Unlike <code class=\"cx pm pn po pe b\">x-show</code>, which only toggles visibility, <code class=\"cx pm pn po pe b\">x-if</code> removes elements from the DOM entirely when not needed.</li><li id=\"fa99\" class=\"mx my gw mz b na ps nc nd ne pt ng nh ni pu nk nl nm pv no np nq pw ns nt nu pp pq pr bk\"><strong class=\"mz gx\">Throttle or Debounce Event Handlers:</strong></li></ul><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">&lt;div x-data=\"{ search: '', debounce: Alpine.debounce(function(callback) { callback() }, 200) }\"&gt;    &lt;input type=\"text\"            x-model=\"search\"            @input=\"debounce(() =&gt; $dispatch('search', search))\"&gt;&lt;/div&gt;</pre><ul class=\"\"><li id=\"f6c4\" class=\"mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu pp pq pr bk\"><strong class=\"mz gx\">Use Template References:</strong> Optimize DOM queries with <code class=\"cx pm pn po pe b\">x-ref</code> instead of using query selectors:</li></ul><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">&lt;div x-data&gt;    &lt;input type=\"text\" x-ref=\"input\"&gt;    &lt;!-- Preferred --&gt;    &lt;button @click=\"$refs.input.focus()\"&gt;Focus&lt;/button&gt;&lt;!-- Avoid --&gt;    &lt;button @click=\"document.querySelector('input').focus()\"&gt;Focus&lt;/button&gt;&lt;/div&gt;</pre><h1 id=\"0a48\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Maintainability</h1><ul class=\"\"><li id=\"2d87\" class=\"mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu pp pq pr bk\"><strong class=\"mz gx\">Extract Reusable Logic:</strong></li></ul><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">// components.jswindow.dropdown = function() {    return {        open: false,        toggle() { this.open = !this.open },        close() { this.open = false }    }}</pre><ul class=\"\"><li id=\"aaa8\" class=\"mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu pp pq pr bk\"><strong class=\"mz gx\">Use Data Attributes for Configuration:</strong></li></ul><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">&lt;div x-data=\"carousel($el.dataset)\"      data-autoplay=\"true\"      data-interval=\"3000\"&gt;     &lt;!-- Carousel content --&gt;&lt;/div&gt;&lt;script&gt;    function carousel(config) {        return {            autoplay: config.autoplay === 'true',            interval: parseInt(config.interval || 5000),            // ...implementation        }    }&lt;/script&gt;</pre><ul class=\"\"><li id=\"68f0\" class=\"mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu pp pq pr bk\"><strong class=\"mz gx\">Modularize Complex Components:</strong></li></ul><pre class=\"oy oz pa pb pc pd pe pf bp pg bb bk\">&lt;!-- Reusable modal component --&gt;&lt;div x-data=\"modal()\"      x-bind:class=\"{ 'modal-active': isOpen }\"     @keydown.escape.window=\"close()\"     id=\"my-modal\"&gt;&lt;div class=\"modal-content\" @click.away=\"close()\"&gt;        &lt;div class=\"modal-header\"&gt;            &lt;button @click=\"close()\"&gt;&amp;times;&lt;/button&gt;        &lt;/div&gt;        &lt;div class=\"modal-body\"&gt;            &lt;slot&gt;&lt;/slot&gt;        &lt;/div&gt;    &lt;/div&gt;&lt;/div&gt;&lt;script&gt;    function modal() {        return {            isOpen: false,            open() { this.isOpen = true },            close() { this.isOpen = false },            toggle() { this.isOpen = !this.isOpen }        }    }&lt;/script&gt;</pre><h1 id=\"a56c\" class=\"nv nw gw bf nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os bk\">Conclusion</h1><p id=\"fe55\" class=\"pw-post-body-paragraph mx my gw mz b na ot nc nd ne ou ng nh ni ov nk nl nm ow no np nq ox ns nt nu gp bk\">Alpine.js fills an important niche in the frontend development ecosystem. It provides just enough reactivity and interactivity for many projects without the complexity of larger frameworks. Its HTML-first approach allows developers to enhance existing applications incrementally, making it an excellent choice for adding dynamic behavior to otherwise static sites.</p><p id=\"4ff7\" class=\"pw-post-body-paragraph mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gp bk\">While it may not replace React or Vue for complex single-page applications, Alpine.js excels at enhancing traditional multi-page websites and smaller interactive components. Its minimal footprint, gentle learning curve, and pragmatic feature set make it an increasingly popular choice for developers who value simplicity and productivity.</p><p id=\"2a5c\" class=\"pw-post-body-paragraph mx my gw mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gp bk\">As web development continues to evolve, tools like Alpine.js demonstrate that sometimes less is more \u2014 providing just enough framework to be productive without unnecessary complexity.</p></div></div></div></div></div></div></div></div></section></div></div></article><article class=\"dw\" data-testid=\"post-preview\"><div class=\"dw qt m\"><div class=\"bh dw\"><div class=\"dw m\"><div class=\"fl dw ux uy uz va vb vc vd ve vf vg vh vi vj\" role=\"link\" data-href=\"https://medium.com/@zulfikarditya/nestjs-monorepo-structure-documentation-313fade83dd6\" tabindex=\"0\"><div class=\"vk\"><div aria-label=\"NestJS Monorepo Structure Documentation\"><div class=\"vm vn vo vp vq\"><img alt=\"NestJS Monorepo Structure Documentation\" class=\"bh vr vs vt bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/0*y8tAIyXhDxY09blP\" referrerpolicy=\"no-referrer\" /></div></div></div><div class=\"vl ac cb co\"><div class=\"ac co vu bh vv vw vx vy\"><div class=\"vz wa wb wc wd ac r\"><div class=\"qj m\"><div class=\"m\"><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a tabindex=\"-1\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya\" data-discover=\"true\"><div class=\"m fl\"><img alt=\"Zulfikar Ditya\" class=\"m fd bx we wf cx\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*CMWWlZolyCa6hkARDpWVzw.png\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div></div></div><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as ir ac r\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya\" data-discover=\"true\"><p class=\"bf b dv ab wg wh wi wj wk wl wm wn bk\">Zulfikar Ditya</p></a></div></div></div></div><div class=\"wo m wp wq wr ws wt gp\"><div class=\"wu wv ww wx wy wz xa xb\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as at au\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya/nestjs-monorepo-structure-documentation-313fade83dd6\" data-discover=\"true\"><div title=\"\"><h2 class=\"bf gx ny oa xc xd ob oc oe xe xf of ni sl xg xh sm nm sn xi xj so nq sp xk xl sq wg wi wj wl wn bk\">NestJS Monorepo Structure Documentation</h2></div><div class=\"xm m\"><h3 class=\"bf b qc ab wg xn wi wj xo wl wn du\">This document explains the architecture and organization of our NestJS monorepo project, built upon the zera-app/nest-11-starter\u2026</h3></div></a></div></div><div class=\"rs ac cp af\"><div class=\"ac r xr\">Jun 27<div class=\"i l k j e\"><div class=\"fl xp dh ac r\"><div class=\"fu ky xq ac r xr\"><a class=\"fu xs xq ac r xr\" tabindex=\"-1\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya/nestjs-monorepo-structure-documentation-313fade83dd6\" data-discover=\"true\"><div><div class=\"ac\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><div class=\"ac r xt\">1</div></div></div></div></a></div></div></div><div class=\"ac r xu xv\"><div class=\"i l k j e\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"></div></div></div></div></div><div class=\"k j e\"></div></div></div></div></div></div></div></div></div></article><article class=\"dw\" data-testid=\"post-preview\"><div class=\"dw qt m\"><div class=\"bh dw\"><div class=\"dw m\"><div class=\"fl dw ux uy uz va vb vc vd ve vf vg vh vi vj\" role=\"link\" data-href=\"https://medium.com/@zulfikarditya/using-php-enums-in-laravel-12-a-comprehensive-guide-af75689f88e8\" tabindex=\"0\"><div class=\"vk\"><div aria-label=\"Using PHP Enums in Laravel 12: A Comprehensive Guide\"><div class=\"vm vn vo vp vq\"><img alt=\"Using PHP Enums in Laravel 12: A Comprehensive Guide\" class=\"bh vr vs vt bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*-IGSCg_UzptbNW_kz8PuUw.jpeg\" referrerpolicy=\"no-referrer\" /></div></div></div><div class=\"vl ac cb co\"><div class=\"ac co vu bh vv vw vx vy\"><div class=\"vz wa wb wc wd ac r\"><div class=\"qj m\"><div class=\"m\"><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a tabindex=\"-1\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya\" data-discover=\"true\"><div class=\"m fl\"><img alt=\"Zulfikar Ditya\" class=\"m fd bx we wf cx\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*CMWWlZolyCa6hkARDpWVzw.png\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div></div></div><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as ir ac r\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya\" data-discover=\"true\"><p class=\"bf b dv ab wg wh wi wj wk wl wm wn bk\">Zulfikar Ditya</p></a></div></div></div></div><div class=\"wo m wp wq wr ws wt gp\"><div class=\"wu wv ww wx wy wz xa xb\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as at au\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya/using-php-enums-in-laravel-12-a-comprehensive-guide-af75689f88e8\" data-discover=\"true\"><div title=\"\"><h2 class=\"bf gx ny oa xc xd ob oc oe xe xf of ni sl xg xh sm nm sn xi xj so nq sp xk xl sq wg wi wj wl wn bk\">Using PHP Enums in Laravel 12: A Comprehensive Guide</h2></div><div class=\"xm m\"><h3 class=\"bf b qc ab wg xn wi wj xo wl wn du\">PHP Enums (Enumerations) were introduced in PHP 8.1 and have quickly become an essential feature for modern PHP development. With Laravel 12\u2019s full Embrace of PHP 8.2+ features, Enums are now a first-class citizen in the Laravel ecosystem.</h3></div></a></div></div><div class=\"rs ac cp af\"><div class=\"ac r xr\">Mar 20<div class=\"i l k j e\"><div class=\"fl xp dh ac r\"><div class=\"fu ky xq ac r xr\"><a class=\"fu xs xq ac r xr\" tabindex=\"-1\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya/using-php-enums-in-laravel-12-a-comprehensive-guide-af75689f88e8\" data-discover=\"true\"><div><div class=\"ac\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><div class=\"ac r xt\">4</div></div></div></div></a></div></div></div><div class=\"ac r xu xv\"><div class=\"i l k j e\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"></div></div></div></div></div><div class=\"k j e\"></div></div></div></div></div></div></div></div></div></article><article class=\"dw\" data-testid=\"post-preview\"><div class=\"dw qt m\"><div class=\"bh dw\"><div class=\"dw m\"><div class=\"fl dw ux uy uz va vb vc vd ve vf vg vh vi vj\" role=\"link\" data-href=\"https://medium.com/@zulfikarditya/mastering-laravel-policies-a-complete-guide-to-authorization-in-laravel-991bbdcc6756\" tabindex=\"0\"><div class=\"vk\"><div aria-label=\"Mastering Laravel Policies: A Complete Guide to Authorization in Laravel\"><div class=\"vm vn vo vp vq\"><img alt=\"Mastering Laravel Policies: A Complete Guide to Authorization in Laravel\" class=\"bh vr vs vt bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*UA5nmJ4cEcehPJIGgKyKKA.jpeg\" referrerpolicy=\"no-referrer\" /></div></div></div><div class=\"vl ac cb co\"><div class=\"ac co vu bh vv vw vx vy\"><div class=\"vz wa wb wc wd ac r\"><div class=\"qj m\"><div class=\"m\"><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a tabindex=\"-1\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya\" data-discover=\"true\"><div class=\"m fl\"><img alt=\"Zulfikar Ditya\" class=\"m fd bx we wf cx\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*CMWWlZolyCa6hkARDpWVzw.png\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div></div></div><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as ir ac r\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya\" data-discover=\"true\"><p class=\"bf b dv ab wg wh wi wj wk wl wm wn bk\">Zulfikar Ditya</p></a></div></div></div></div><div class=\"wo m wp wq wr ws wt gp\"><div class=\"wu wv ww wx wy wz xa xb\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as at au\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya/mastering-laravel-policies-a-complete-guide-to-authorization-in-laravel-991bbdcc6756\" data-discover=\"true\"><div title=\"Mastering Laravel Policies: A Complete Guide to Authorization in Laravel\"><h2 class=\"bf gx ny oa xc xd ob oc oe xe xf of ni sl xg xh sm nm sn xi xj so nq sp xk xl sq wg wi wj wl wn bk\">Mastering Laravel Policies: A Complete Guide to Authorization in Laravel</h2></div><div class=\"xm m\"><h3 class=\"bf b qc ab wg xn wi wj xo wl wn du\">Authorization is a critical aspect of web application development, ensuring users can only perform actions they\u2019re permitted to execute\u2026</h3></div></a></div></div><div class=\"rs ac cp af\"><div class=\"ac r xr\">Mar 14<div class=\"i l k j e\"><div class=\"fl xp dh ac r\"><div class=\"fu ky xq ac r xr\"><a class=\"fu xs xq ac r xr\" tabindex=\"-1\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya/mastering-laravel-policies-a-complete-guide-to-authorization-in-laravel-991bbdcc6756\" data-discover=\"true\"><div><div class=\"ac\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><div class=\"ac r xt\">1</div></div></div></div></a></div></div></div><div class=\"ac r xu xv\"><div class=\"i l k j e\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"></div></div></div></div></div><div class=\"k j e\"></div></div></div></div></div></div></div></div></div></article><article class=\"dw\" data-testid=\"post-preview\"><div class=\"dw qt m\"><div class=\"bh dw\"><div class=\"dw m\"><div class=\"fl dw ux uy uz va vb vc vd ve vf vg vh vi vj\" role=\"link\" data-href=\"https://medium.com/@zulfikarditya/mastering-laravel-authentication-guards-a-complete-guide-for-developers-7702a69bfae4\" tabindex=\"0\"><div class=\"vk\"><div aria-label=\"Mastering Laravel Authentication Guards: A Complete Guide for Developers\"><div class=\"vm vn vo vp vq\"><img alt=\"Mastering Laravel Authentication Guards: A Complete Guide for Developers\" class=\"bh vr vs vt bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/0*V1WuM6LZIZ5qLXED\" referrerpolicy=\"no-referrer\" /></div></div></div><div class=\"vl ac cb co\"><div class=\"ac co vu bh vv vw vx vy\"><div class=\"vz wa wb wc wd ac r\"><div class=\"qj m\"><div class=\"m\"><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a tabindex=\"-1\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya\" data-discover=\"true\"><div class=\"m fl\"><img alt=\"Zulfikar Ditya\" class=\"m fd bx we wf cx\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*CMWWlZolyCa6hkARDpWVzw.png\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div></div></div><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as ir ac r\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya\" data-discover=\"true\"><p class=\"bf b dv ab wg wh wi wj wk wl wm wn bk\">Zulfikar Ditya</p></a></div></div></div></div><div class=\"wo m wp wq wr ws wt gp\"><div class=\"wu wv ww wx wy wz xa xb\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as at au\" rel=\"noopener follow\" href=\"https://medium.com/@zulfikarditya/mastering-laravel-authentication-guards-a-complete-guide-for-developers-7702a69bfae4\" data-discover=\"true\"><div title=\"Mastering Laravel Authentication Guards: A Complete Guide for Developers\"><h2 class=\"bf gx ny oa xc xd ob oc oe xe xf of ni sl xg xh sm nm sn xi xj so nq sp xk xl sq wg wi wj wl wn bk\">Mastering Laravel Authentication Guards: A Complete Guide for Developers</h2></div><div class=\"xm m\"><h3 class=\"bf b qc ab wg xn wi wj xo wl wn du\">Authentication is a cornerstone of modern web applications, and Laravel provides a robust and flexible authentication system that can\u2026</h3></div></a></div></div><div class=\"rs ac cp af\"><div class=\"ac r xr\">May 22<div class=\"i l k j e\"><div class=\"fl xp dh ac r\"><div class=\"fu ky xq ac r xr\"></div></div></div><div class=\"ac r xu xv\"><div class=\"i l k j e\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"></div></div></div></div></div></div></div></div></div></div></div></div></div></article><article class=\"dw\" data-testid=\"post-preview\"><div class=\"dw qt m\"><div class=\"bh dw\"><div class=\"dw m\"><div class=\"fl dw ux uy uz va vb vc vd ve vf vg vh vi vj\" role=\"link\" data-href=\"https://medium.com/@ashot.bes/7-laravel-api-design-patterns-i-wish-i-started-using-sooner-c335e9f2eab3\" tabindex=\"0\"><div class=\"vk\"><div aria-label=\"7 Laravel API Design Patterns I Wish I Started Using Sooner\"><div class=\"vm vn vo vp vq\"><img alt=\"7 Laravel API Design Patterns I Wish I Started Using Sooner\" class=\"bh vr vs vt bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*I2mnAmjeQxuz04bQM5qxYg.png\" referrerpolicy=\"no-referrer\" /></div></div></div><div class=\"vl ac cb co\"><div class=\"ac co vu bh vv vw vx vy\"><div class=\"vz wa wb wc wd ac r\"><div class=\"qj m\"><div class=\"m\"><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a tabindex=\"-1\" rel=\"noopener follow\" href=\"https://medium.com/@ashot.bes\" data-discover=\"true\"><div class=\"m fl\"><img alt=\"Ashot Arakelyan\" class=\"m fd bx we wf cx\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*YPfEGgiN5xtOHHdIm7wISA.png\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div></div></div><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as ir ac r\" rel=\"noopener follow\" href=\"https://medium.com/@ashot.bes\" data-discover=\"true\"><p class=\"bf b dv ab wg wh wi wj wk wl wm wn bk\">Ashot Arakelyan</p></a></div></div></div></div><div class=\"wo m wp wq wr ws wt gp\"><div class=\"wu wv ww wx wy wz xa xb\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as at au\" rel=\"noopener follow\" href=\"https://medium.com/@ashot.bes/7-laravel-api-design-patterns-i-wish-i-started-using-sooner-c335e9f2eab3\" data-discover=\"true\"><div title=\"\"><h2 class=\"bf gx ny oa xc xd ob oc oe xe xf of ni sl xg xh sm nm sn xi xj so nq sp xk xl sq wg wi wj wl wn bk\">7 Laravel API Design Patterns I Wish I Started Using Sooner</h2></div><div class=\"xm m\"><h3 class=\"bf b qc ab wg xn wi wj xo wl wn du\">Friend Link\u2026</h3></div></a></div></div><div class=\"rs ac cp af\"><div class=\"ac r xr\"><div class=\"qt ac\"><div class=\"bm\" aria-hidden=\"false\"></div>Jul 13<div class=\"i l k j e\"><div class=\"fl xp dh ac r\"><div class=\"fu ky xq ac r xr\"><a class=\"fu xs xq ac r xr\" tabindex=\"-1\" rel=\"noopener follow\" href=\"https://medium.com/@ashot.bes/7-laravel-api-design-patterns-i-wish-i-started-using-sooner-c335e9f2eab3\" data-discover=\"true\"><div><div class=\"ac\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><div class=\"ac r xt\">5</div></div></div></div></a></div></div></div><div class=\"ac r xu xv\"><div class=\"i l k j e\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"></div></div></div></div></div><div class=\"k j e\"></div></div></div></div></div></div></div></div></div></div></article><article class=\"dw\" data-testid=\"post-preview\"><div class=\"dw qt m\"><div class=\"bh dw\"><div class=\"dw m\"><div class=\"fl dw ux uy uz va vb vc vd ve vf vg vh vi vj\" role=\"link\" data-href=\"https://medium.com/@CodeOps/how-i-made-my-php-app-4x-faster-without-changing-a-single-line-of-code-259d1429636a\" tabindex=\"0\"><div class=\"vk\"><div aria-label=\"How I Made My PHP App 4x Faster Without Changing a Single Line of Code\"><div class=\"vm vn vo vp vq\"><img alt=\"How I Made My PHP App 4x Faster Without Changing a Single Line of Code\" class=\"bh vr vs vt bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/0*y1Yp5LmCrH0beR2-.png\" referrerpolicy=\"no-referrer\" /></div></div></div><div class=\"vl ac cb co\"><div class=\"ac co vu bh vv vw vx vy\"><div class=\"vz wa wb wc wd ac r\"><div class=\"qj m\"><div class=\"m\"><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a tabindex=\"-1\" rel=\"noopener follow\" href=\"https://medium.com/@CodeOps\" data-discover=\"true\"><div class=\"m fl\"><img alt=\"CodeOps\" class=\"m fd bx we wf cx\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*lVVSFUbM8Zyca_Sj378zyA.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div></div></div><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as ir ac r\" rel=\"noopener follow\" href=\"https://medium.com/@CodeOps\" data-discover=\"true\"><p class=\"bf b dv ab wg wh wi wj wk wl wm wn bk\">CodeOps</p></a></div></div></div></div><div class=\"wo m wp wq wr ws wt gp\"><div class=\"wu wv ww wx wy wz xa xb\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as at au\" rel=\"noopener follow\" href=\"https://medium.com/@CodeOps/how-i-made-my-php-app-4x-faster-without-changing-a-single-line-of-code-259d1429636a\" data-discover=\"true\"><div title=\"\"><h2 class=\"bf gx ny oa xc xd ob oc oe xe xf of ni sl xg xh sm nm sn xi xj so nq sp xk xl sq wg wi wj wl wn bk\">How I Made My PHP App 4x Faster Without Changing a Single Line of Code</h2></div><div class=\"xm m\"><h3 class=\"bf b qc ab wg xn wi wj xo wl wn du\">Yes, you read that right. I made my sluggish PHP application up to 4x faster, and I didn\u2019t even touch the source code. No refactoring. No\u2026</h3></div></a></div></div><div class=\"rs ac cp af\"><div class=\"ac r xr\"><div class=\"qt ac\"><div class=\"bm\" aria-hidden=\"false\"></div>Jul 8<div class=\"i l k j e\"><div class=\"fl xp dh ac r\"><div class=\"fu ky xq ac r xr\"><a class=\"fu xs xq ac r xr\" tabindex=\"-1\" rel=\"noopener follow\" href=\"https://medium.com/@CodeOps/how-i-made-my-php-app-4x-faster-without-changing-a-single-line-of-code-259d1429636a\" data-discover=\"true\"><div><div class=\"ac\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><div class=\"ac r xt\">4</div></div></div></div></a></div></div></div><div class=\"ac r xu xv\"><div class=\"i l k j e\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"></div></div></div></div></div></div></div></div></div></div></div></div></div></div></article><article class=\"dw\" data-testid=\"post-preview\"><div class=\"dw qt m\"><div class=\"bh dw\"><div class=\"dw m\"><div class=\"fl dw ux uy uz va vb vc vd ve vf vg vh vi vj\" role=\"link\" data-href=\"https://medium.com/@bigboss200535/7-laravel-skills-that-got-me-a-50-salary-increase-4a27eb6846d1\" tabindex=\"0\"><div class=\"vk\"><div aria-label=\"7 Laravel Skills That Got Me a 50% Salary Increase\"><div class=\"vm vn vo vp vq\"><img alt=\"7 Laravel Skills That Got Me a 50% Salary Increase\" class=\"bh vr vs vt bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/0*XEte9UCRDx5IIYpe\" referrerpolicy=\"no-referrer\" /></div></div></div><div class=\"vl ac cb co\"><div class=\"ac co vu bh vv vw vx vy\"><div class=\"vz wa wb wc wd ac r\"><div class=\"qj m\"><div class=\"m\"><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a tabindex=\"-1\" rel=\"noopener follow\" href=\"https://medium.com/@bigboss200535\" data-discover=\"true\"><div class=\"m fl\"><img alt=\"Alhassan Mohammed\" class=\"m fd bx we wf cx\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*uFxhQlu07gmfwXYCocV-kw@2x.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div></div></div><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as ir ac r\" rel=\"noopener follow\" href=\"https://medium.com/@bigboss200535\" data-discover=\"true\"><p class=\"bf b dv ab wg wh wi wj wk wl wm wn bk\">Alhassan Mohammed</p></a></div></div></div></div><div class=\"wo m wp wq wr ws wt gp\"><div class=\"wu wv ww wx wy wz xa xb\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as at au\" rel=\"noopener follow\" href=\"https://medium.com/@bigboss200535/7-laravel-skills-that-got-me-a-50-salary-increase-4a27eb6846d1\" data-discover=\"true\"><div title=\"\"><h2 class=\"bf gx ny oa xc xd ob oc oe xe xf of ni sl xg xh sm nm sn xi xj so nq sp xk xl sq wg wi wj wl wn bk\">7 Laravel Skills That Got Me a 50% Salary Increase</h2></div><div class=\"xm m\"><h3 class=\"bf b qc ab wg xn wi wj xo wl wn du\">How Mastering these Laravel Techniques skyrocketed My Career</h3></div></a></div></div><div class=\"rs ac cp af\"><div class=\"ac r xr\"><div class=\"qt ac\"><div class=\"bm\" aria-hidden=\"false\"></div>6d ago<div class=\"i l k j e\"><div class=\"fl xp dh ac r\"><div class=\"fu ky xq ac r xr\"></div></div></div><div class=\"ac r xu xv\"><div class=\"i l k j e\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"></div></div></div></div></div><div class=\"k j e\"></div></div></div></div></div></div></div></div></div></div></article><article class=\"dw\" data-testid=\"post-preview\"><div class=\"dw qt m\"><div class=\"bh dw\"><div class=\"dw m\"><div class=\"fl dw ux uy uz va vb vc vd ve vf vg vh vi vj\" role=\"link\" data-href=\"https://medium.com/@philippbtrentmann/setting-up-tailwind-css-v4-in-a-turbo-monorepo-7688f3193039\" tabindex=\"0\"><div class=\"vk\"><div aria-label=\"Setting up Tailwind CSS v4 in a Turbo Monorepo\"><div class=\"vm vn vo vp vq\"><img alt=\"Setting up Tailwind CSS v4 in a Turbo Monorepo\" class=\"bh vr vs vt bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*rV9Lz677AyIQoVSzUWNnWw.png\" referrerpolicy=\"no-referrer\" /></div></div></div><div class=\"vl ac cb co\"><div class=\"ac co vu bh vv vw vx vy\"><div class=\"vz wa wb wc wd ac r\"><div class=\"qj m\"><div class=\"m\"><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a tabindex=\"-1\" rel=\"noopener follow\" href=\"https://medium.com/@philippbtrentmann\" data-discover=\"true\"><div class=\"m fl\"><img alt=\"Philipp Trentmann\" class=\"m fd bx we wf cx\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*NjHkqY0ksQy0mRFYNh2lsQ@2x.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div></div></div><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as ir ac r\" rel=\"noopener follow\" href=\"https://medium.com/@philippbtrentmann\" data-discover=\"true\"><p class=\"bf b dv ab wg wh wi wj wk wl wm wn bk\">Philipp Trentmann</p></a></div></div></div></div><div class=\"wo m wp wq wr ws wt gp\"><div class=\"wu wv ww wx wy wz xa xb\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as at au\" rel=\"noopener follow\" href=\"https://medium.com/@philippbtrentmann/setting-up-tailwind-css-v4-in-a-turbo-monorepo-7688f3193039\" data-discover=\"true\"><div title=\"\"><h2 class=\"bf gx ny oa xc xd ob oc oe xe xf of ni sl xg xh sm nm sn xi xj so nq sp xk xl sq wg wi wj wl wn bk\">Setting up Tailwind CSS v4 in a Turbo Monorepo</h2></div><div class=\"xm m\"><h3 class=\"bf b qc ab wg xn wi wj xo wl wn du\">A guide to set up or upgrade a monorepo with Turbo using Tailwind CSS for styling. This article includes an example repository for forking.</h3></div></a></div></div><div class=\"rs ac cp af\"><div class=\"ac r xr\">Feb 13<div class=\"i l k j e\"><div class=\"fl xp dh ac r\"><div class=\"fu ky xq ac r xr\"><a class=\"fu xs xq ac r xr\" tabindex=\"-1\" rel=\"noopener follow\" href=\"https://medium.com/@philippbtrentmann/setting-up-tailwind-css-v4-in-a-turbo-monorepo-7688f3193039\" data-discover=\"true\"><div><div class=\"ac\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><div class=\"ac r xt\">4</div></div></div></div></a></div></div></div><div class=\"ac r xu xv\"><div class=\"i l k j e\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"></div></div></div></div></div><div class=\"k j e\"></div></div></div></div></div></div></div></div></div></article><article class=\"dw\" data-testid=\"post-preview\"><div class=\"dw qt m\"><div class=\"bh dw\"><div class=\"dw m\"><div class=\"fl dw ux uy uz va vb vc vd ve vf vg vh vi vj\" role=\"link\" data-href=\"https://medium.com/design-bootcamp/how-i-used-css-backdrop-filter-svg-noise-to-create-a-living-ui-background-c3aaaf63befc\" tabindex=\"0\"><div class=\"vk\"><div aria-label=\"How I Used CSS backdrop-filter + SVG Noise to Create a Living UI Background\"><div class=\"vm vn vo vp vq\"><img alt=\"How I Used CSS backdrop-filter + SVG Noise to Create a Living UI Background\" class=\"bh vr vs vt bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*k4aYgmntKTqTZFecNxd-ow.png\" referrerpolicy=\"no-referrer\" /></div></div></div><div class=\"vl ac cb co\"><div class=\"ac co vu bh vv vw vx vy\"><div class=\"vz wa wb wc wd ac r\"><div class=\"qj m\"><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a href=\"https://medium.com/design-bootcamp\" rel=\"noopener follow\"><div class=\"fl\"><img alt=\"Bootcamp\" class=\"cx yu m wf we\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*_wDJs77bAPiwuAe9qOK5Zg.png\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div></div><div class=\"sd m qo\"><p class=\"bf b dv ab du\">In</p></div><div class=\"m\"><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as ir ac r\" href=\"https://medium.com/design-bootcamp\" rel=\"noopener follow\"><p class=\"bf b dv ab wg wh wi wj wk wl wm wn bk\">Bootcamp</p></a></div></div></div></div><div class=\"yv m\"><p class=\"bf b dv ab du\">by</p></div><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as ir ac r\" rel=\"noopener follow\" href=\"https://medium.com/@er-raj-aryan\" data-discover=\"true\"><p class=\"bf b dv ab wg wh wi wj wk wl wm wn bk\">Er Raj Aryan</p></a></div></div></div></div><div class=\"wo m wp wq wr ws wt gp\"><div class=\"wu wv ww wx wy wz xa xb\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as at au\" rel=\"noopener follow\" href=\"https://medium.com/design-bootcamp/how-i-used-css-backdrop-filter-svg-noise-to-create-a-living-ui-background-c3aaaf63befc\" data-discover=\"true\"><div title=\"How I Used CSS backdrop-filter + SVG Noise to Create a Living UI Background\"><h2 class=\"bf gx ny oa xc xd ob oc oe xe xf of ni sl xg xh sm nm sn xi xj so nq sp xk xl sq wg wi wj wl wn bk\">How I Used CSS backdrop-filter + SVG Noise to Create a Living UI Background</h2></div><div class=\"xm m\"><h3 class=\"bf b qc ab wg xn wi wj xo wl wn du\">A real-time aesthetic trick to give your UI glassy vibes with life\u200a\u2014\u200ano JavaScript required.</h3></div></a></div></div><div class=\"rs ac cp af\"><div class=\"ac r xr\"><div class=\"qt ac\"><div class=\"bm\" aria-hidden=\"false\"></div>Jul 11<div class=\"i l k j e\"><div class=\"fl xp dh ac r\"><div class=\"fu ky xq ac r xr\"></div></div></div><div class=\"ac r xu xv\"><div class=\"i l k j e\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"></div></div></div></div></div><div class=\"k j e\"></div></div></div></div></div></div></div></div></div></div></article><article class=\"dw\" data-testid=\"post-preview\"><div class=\"dw qt m\"><div class=\"bh dw\"><div class=\"dw m\"><div class=\"fl dw ux uy uz va vb vc vd ve vf vg vh vi vj\" role=\"link\" data-href=\"https://medium.com/javascript-in-plain-english/vue-3-ui-libraries-6-most-popular-picks-for-2025-b592a55a68f9\" tabindex=\"0\"><div class=\"vk\"><div aria-label=\"\ud83c\udf1f Vue 3 UI Libraries: 6 Most Popular Picks for 2025 \ud83d\ude80\"><div class=\"vm vn vo vp vq\"><img alt=\"\ud83c\udf1f Vue 3 UI Libraries: 6 Most Popular Picks for 2025 \ud83d\ude80\" class=\"bh vr vs vt bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*OkATW3oQpaSCWsbr6tqrJw.jpeg\" referrerpolicy=\"no-referrer\" /></div></div></div><div class=\"vl ac cb co\"><div class=\"ac co vu bh vv vw vx vy\"><div class=\"vz wa wb wc wd ac r\"><div class=\"qj m\"><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a href=\"https://medium.com/javascript-in-plain-english\" rel=\"noopener follow\"><div class=\"fl\"><img alt=\"JavaScript in Plain English\" class=\"cx yu m wf we\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*yUNfohs9jA6GCDmyCYJTvA@2x.png\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div></div><div class=\"sd m qo\"><p class=\"bf b dv ab du\">In</p></div><div class=\"m\"><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as ir ac r\" href=\"https://medium.com/javascript-in-plain-english\" rel=\"noopener follow\"><p class=\"bf b dv ab wg wh wi wj wk wl wm wn bk\">JavaScript in Plain English</p></a></div></div></div></div><div class=\"yv m\"><p class=\"bf b dv ab du\">by</p></div><div><div class=\"m\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as ir ac r\" rel=\"noopener follow\" href=\"https://medium.com/@ansonch\" data-discover=\"true\"><p class=\"bf b dv ab wg wh wi wj wk wl wm wn bk\">Anson Ch</p></a></div></div></div></div><div class=\"wo m wp wq wr ws wt gp\"><div class=\"wu wv ww wx wy wz xa xb\"><a class=\"ag ah ai fh ak al am an ao ap aq ar as at au\" rel=\"noopener follow\" href=\"https://medium.com/javascript-in-plain-english/vue-3-ui-libraries-6-most-popular-picks-for-2025-b592a55a68f9\" data-discover=\"true\"><div title=\"\"><h2 class=\"bf gx ny oa xc xd ob oc oe xe xf of ni sl xg xh sm nm sn xi xj so nq sp xk xl sq wg wi wj wl wn bk\">\ud83c\udf1f Vue 3 UI Libraries: 6 Most Popular Picks for 2025 \ud83d\ude80</h2></div><div class=\"xm m\"><h3 class=\"bf b qc ab wg xn wi wj xo wl wn du\">Edit: Back in 2024, I shared a list of the \u201c\u26a1\ufe0fTop 6 Vue.js UI Libraries (Vue 3) Trending in 2024 \ud83d\udd25\u201d. Now in 2025 I couldn\u2019t resist\u2026</h3></div></a></div></div><div class=\"rs ac cp af\"><div class=\"ac r xr\">Jan 28<div class=\"i l k j e\"><div class=\"fl xp dh ac r\"><div class=\"fu ky xq ac r xr\"></div></div></div><div class=\"ac r xu xv\"><div class=\"i l k j e\"><div><div class=\"bm\" aria-hidden=\"false\"><div tabindex=\"-1\" class=\"be\"></div></div></div></div></div></div></div></div></div></div></div></div></div></article>",
    "created_at": "2025-07-20T20:00:57+00:00",
    "updated_at": "2025-07-20T20:01:08+00:00",
    "published_at": "2025-03-16T14:51:29+00:00",
    "published_by": ["Zulfikar Ditya"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 10,
    "domain_name": "medium.com",
    "preview_picture": "https://miro.medium.com/v2/resize:fit:1200/1*JyuhSkQovy6Qkl2Gf1mwcw.png",
    "http_status": "200",
    "headers": {
      "date": "Sun, 20 Jul 2025 20:00:57 GMT",
      "content-type": "text/html; charset=utf-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "cf-ray": "96250c2e7b633cbf-CDG",
      "cf-cache-status": "DYNAMIC",
      "cache-control": "no-cache, no-store, max-age=0, must-revalidate",
      "link": "<https://glyph.medium.com/css/unbound.css>; as=\"style\"; rel=\"preload\"",
      "set-cookie": "uid=lo_67638821182f; Domain=medium.com; Path=/; Expires=Mon, 20 Jul 2026 20:00:56 GMT; HttpOnly; Secure; SameSite=None, _cfuvid=xeR.pxnbNvg43lFwhqAdSYObogK.AVhWhkTVxU_X1CY-1753041657079-0.0.1.1-604800000; path=/; domain=.medium.com; HttpOnly; Secure; SameSite=None",
      "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
      "vary": "Accept-Encoding",
      "content-security-policy": "frame-ancestors 'self' https://medium.com",
      "medium-fulfilled-by": "edgy/8.15.0, valencia/main-20250718-181024-e73e26ed4b, lite/main-20250718-181024-e73e26ed4b, rito/main-20250718-213451-7fa1803e73, tutu/main-20250718-212635-f7164edfb7",
      "medium-missing-time": "448",
      "worker-missing-cookies": "1",
      "x-content-type-options": "nosniff",
      "x-envoy-upstream-service-time": "881",
      "x-request-received-at": "1753041656160",
      "server": "cloudflare",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["alpinejs", "modular-app"],
    "is_public": false,
    "id": 103,
    "title": "Build modular app with Alpine.js",
    "url": "https://dev.to/keuller/build-modular-app-with-alpinejs-2ece",
    "given_url": "https://dev.to/keuller/build-modular-app-with-alpinejs-2ece",
    "content": "<header class=\"crayons-article__header\" id=\"main-title\"><a class=\"crayons-article__cover\" href=\"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fblfc34b6g9pk7evp2o8d.jpg\"><img src=\"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fblfc34b6g9pk7evp2o8d.jpg\" width=\"1000\" height=\"420\" class=\"crayons-article__cover__image c2\" alt=\"Cover image for Build modular app with Alpine.js\" referrerpolicy=\"no-referrer\" /></a>\n</header><div class=\"crayons-article__main crayons-article__body text-styles spec__body\"><p>Recently I've created a POC involving some new frontend technologies and <a href=\"https://alpinejs.dev\" target=\"_blank\" rel=\"noopener noreferrer\">Alpine JS</a> was one of them among others. In this article I will show an approach to create modular web apps with Alpine.</p><p>Our context is create medium/large size web application totally modular. Each page is treated as module composed by many components and in the backend side we have <code>Go</code> processing the page creation like SSR.</p><h3>Alpine</h3><p>AlpineJS is a new kids on the block on Javascript land and Its describe in their site as:</p><div class=\"highlight js-code-highlight\"><pre>\nYour new, lightweight, Javascript framework\n</pre><p>Enter fullscreen modeExit fullscreen mode</p></div><p>AlpineJS is very simple and easy to use. It has 3 pillars: <em>Attributes</em>, <em>Properties</em> and <em>Methods</em>. My goal is not to introduce Alpine, but show our strategy to modulize the application using Alpine.</p><h3>Page and Components</h3><p>A page is composed by many components, navbar, cards, box, menu, fields, graphs etc. In Alpine a component can be a simple <strong>div</strong> with <code>x-data</code> attribute, simple ha!? To reuse component's logic we decide to create a single JS file that represents logic and state of each component. Let's see a simple example of a file with <code>counter</code>.</p><div class=\"highlight js-code-highlight\"><pre>\nexport function counter() {\n    return {\n    count: 0,\n        reset() {\n            this.count = 0;\n        },\n        increment() {\n            this.count++;\n        },\n        decrement() {\n            this.count--;\n        }\n    }\n}\n</pre><p>Enter fullscreen modeExit fullscreen mode</p></div><p>In the example above we have created a <code>counter</code> component with <code>count</code> attribute and 3 operations: <em>reset</em>, <em>increment</em> and <em>decrement</em>. In HTML side we need to attach its function with our component, like:</p><div class=\"highlight js-code-highlight\"><pre>\n&lt;div x-data=\"counter\" class=\"box-counter\"&gt;\n        &lt;span class=\"lbl-counter\" \n            :class=\"{'lbl-counter-red': count &lt; 0, 'lbl-counter-blue': count &gt; 0}\"\n            x-text=\"count\"&gt;0&lt;/span&gt;\n        &lt;div class=\"\"&gt;\n            &lt;button type=\"button\" class=\"btn-counter\" @click=\"increment\"&gt; Increment &lt;/button&gt;\n            &lt;button type=\"button\" class=\"btn-counter\" @click=\"reset\"&gt;Reset&lt;/button&gt;\n            &lt;button type=\"button\" class=\"btn-counter\" @click=\"decrement\"&gt; Decrement &lt;/button&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n</pre><p>Enter fullscreen modeExit fullscreen mode</p></div><p>As you can see, our <code>div</code> tag has an attribute <code>x-data</code> that has value <code>counter</code>. So Alpine does the magic here linking both (HTML and Javascript).</p><p>Very simple and scalable to create components like that. But let's imagine a page with 20 or 30 components like it, I think we will have a messy page and very hard to maintain.</p><p>Let's break down our problem into 2 parts: script composition and loading.</p><h3>Script Composition</h3><p>The structure of application is based on pages and each page has an <code>index.ts</code> that will exports all components necessary to that page. On image below you can see POC structure:</p><p><a href=\"https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foth9df7bti037uhop1a3.png\" class=\"article-body-image-wrapper\"><img src=\"https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foth9df7bti037uhop1a3.png\" alt=\"structure\" referrerpolicy=\"no-referrer\" /></a></p><p>According to the image, we have 4 pages: demo, home, login and prospects. We created a folder <code>shared</code> that contains all shared components between the pages, like: menu, navbar, etc. Let's explore the <em>demo</em> page.</p><p>The <em>demo</em> page is composed by 3 components: <strong>menu</strong>, <strong>counter</strong> and <strong>todos</strong>. The <code>index.ts</code> file for this page is shown below:</p><div class=\"highlight js-code-highlight\"><pre>\nimport menu from '../shared/menu'\nimport counter from './counter'\nimport todos from './todos'\nexport {\n    menu,\n    counter,\n    todos\n}\n</pre><p>Enter fullscreen modeExit fullscreen mode</p></div><p>The demo HTML page has 3 HTML elements referring to those components, let's see the snippet of the HTML page:</p><div class=\"highlight js-code-highlight\"><pre>\n&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;title&gt;Demo&lt;/title&gt;\n    &lt;link rel=\"stylesheet\" href=\"assets/global.css\" /&gt;\n&lt;/head&gt;\n&lt;body&gt;\n    &lt;nav x-data=\"menu\" class=\"nav-header\"&gt;\n      ...\n    &lt;/nav&gt;\n    &lt;div x-data=\"counter\" class=\"box-counter\"&gt;\n      ...\n    &lt;/div&gt;\n    &lt;div x-data=\"todos\" class=\"todoapp\"&gt;\n      ...\n    &lt;/div&gt;\n&lt;/body&gt;\n&lt;/html&gt;\n</pre><p>Enter fullscreen modeExit fullscreen mode</p></div><p>Using this strategy we can build very sophisticated pages in a modular manner very easily. One problem was resolved, so we need to nail down the second one.</p><h3>Script Loading</h3><p>Script loading is very important issue to reduce boilerplate code. We have created a <code>loader</code> function that solve it for us. The loader function is shown below:</p><div class=\"highlight js-code-highlight\"><pre>\nexport async function loader(modules) {\n    const { default: alpinejs } = await import('https://cdn.skypack.dev/alpinejs')\n    let promises = modules.map((mod) =&gt; import(mod))\n    return Promise.all(promises).then(values =&gt; {\n        console.debug('Alpine', alpinejs.version)\n        values.forEach(module =&gt; {\n            Object.keys(module).forEach(attr =&gt; {\n                let data = module[attr]();\n                alpinejs.data(attr, () =&gt; data);\n            })\n        })\n        alpinejs.start();\n    })\n}\n</pre><p>Enter fullscreen modeExit fullscreen mode</p></div><p>It is a naive example that loads Alpine's runtime dynamically from CDN and loads all modules passed by the argument and registers them into Alpine as components.</p><p>Now we just use it in our HTML page to load each page module.</p><div class=\"highlight js-code-highlight\"><pre>\n&lt;script defer type=\"module\"&gt;\n    import { loader } from './assets/loader.js'\n    loader(['/dist/demo/index.js']).catch(err =&gt; console.error(err))\n&lt;/script&gt;\n</pre><p>Enter fullscreen modeExit fullscreen mode</p></div><p>As you can see we put our compiled Javascript file inside <code>/dist/demo/index.js</code>. Its a standard we decided to our application and works fine for us. We are using <code>rollup</code> to transpile our Typescript code and bundle it.</p><h3>Summarize</h3><p>Alpine is a great player for us and its simplicity helps us to be more productive.</p><p>I hope this article can help you and suggestions are very welcome!</p></div>",
    "created_at": "2025-07-20T19:57:28+00:00",
    "updated_at": "2025-07-20T19:57:42+00:00",
    "published_at": "2021-07-05T09:35:56+00:00",
    "published_by": ["Keuller Magalh\u00e3es"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 4,
    "domain_name": "dev.to",
    "preview_picture": "https://media2.dev.to/dynamic/image/width=1000,height=500,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fblfc34b6g9pk7evp2o8d.jpg",
    "http_status": "200",
    "headers": {
      "connection": "keep-alive",
      "content-length": "155572",
      "cache-control": "public, no-cache",
      "content-security-policy": "frame-ancestors https://bizarro.dev.to https://forem.com https://version-feb-19-mjhc7.b-cdn.net https://codenewbie.forem.com https://coss.forem.com https://experimental.forem.com https://core.forem.com https://music.forem.com https://design.forem.com https://parenting.forem.com https://sound.forem.com https://dev.to https://future.forem.com https://dumb.dev.to https://gg.forem.com https://vibe.forem.com https://popcorn.forem.com https://golf.forem.com https://dev.to",
      "content-type": "text/html; charset=utf-8",
      "etag": "W/\"64d269c98b2f91d994dec0ef86b0fe8c\"",
      "link": "<https://assets.dev.to/assets/minimal-35f63f367d855f6b96ce34f5ee637209befbd1ccab982d77db7fa68aefc310b8.css>; rel=preload; as=style; nopush,<https://assets.dev.to/assets/views-5114e48092298b11d322eb078d385000903f14649a3029aa3de58cddd37ef13b.css>; rel=preload; as=style; nopush,<https://assets.dev.to/assets/crayons-2e65c5657a5cbc7ac40781303a2c8b78f5823d593f549ba3be436790a2002315.css>; rel=preload; as=style; nopush",
      "nel": "{\"report_to\":\"heroku-nel\",\"response_headers\":[\"Via\"],\"max_age\":3600,\"success_fraction\":0.01,\"failure_fraction\":0.1}",
      "referrer-policy": "strict-origin-when-cross-origin",
      "report-to": "{\"group\":\"heroku-nel\",\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?s=etVO2TJBXpRr7/sFaLGomCmX0/wCG4TNl3CJRFxQW60=\\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\\u0026ts=1752936236\"}],\"max_age\":3600}",
      "reporting-endpoints": "heroku-nel=\"https://nel.heroku.com/reports?s=etVO2TJBXpRr7/sFaLGomCmX0/wCG4TNl3CJRFxQW60=&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1752936236\"",
      "server": "Heroku",
      "via": "1.1 heroku-router, 1.1 varnish, 1.1 varnish",
      "x-accel-expires": "172800",
      "x-content-type-options": "nosniff",
      "x-download-options": "noopen",
      "x-permitted-cross-domain-policies": "none",
      "x-request-id": "cda06b4f-b3e8-c898-1f5e-f8e4bbee8088",
      "x-runtime": "0.151107",
      "x-xss-protection": "0",
      "access-control-allow-origin": "*",
      "accept-ranges": "bytes",
      "age": "105212",
      "date": "Sun, 20 Jul 2025 19:57:28 GMT",
      "x-served-by": "cache-den-kden1300036-DEN, cache-lcy-egml8630073-LCY",
      "x-cache": "HIT, MISS",
      "x-cache-hits": "1, 0",
      "x-timer": "S1753041448.217607,VS0,VE250",
      "vary": "Accept-Encoding, X-Loggedin",
      "strict-transport-security": "max-age=31557600"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["javascript", "book", "pdf"],
    "is_public": false,
    "id": 102,
    "title": "Eloquent JavaScript",
    "url": "https://eloquentjavascript.net/",
    "given_url": "https://eloquentjavascript.net/",
    "content": "<p class=\"c2\"><a href=\"https://nostarch.com/eloquent-javascript-4th-edition\"><img src=\"https://eloquentjavascript.net/img/cover.jpg\" alt=\"Cover image\" class=\"c1\" referrerpolicy=\"no-referrer\" /></a></p><p>This is a book about JavaScript, programming, and the wonders of the digital. You can read it online here, or buy your own <a href=\"https://nostarch.com/eloquent-javascript-4th-edition\">paperback copy</a>.</p><p>Written by Marijn Haverbeke.</p><div class=\"c4\"><p>Licensed under a <a href=\"https://creativecommons.org/licenses/by-nc/3.0/\">Creative Commons attribution-noncommercial license</a>. All code in this book may also be considered licensed under an <a href=\"https://eloquentjavascript.net/code/LICENSE\">MIT license</a>.</p><p>Illustrations by various artists: Cover by <a href=\"http://www.pechane.com/\">P\u00e9chane Sumi-e</a>. Chapter illustrations by <a href=\"http://madalinatantareanu.com/\">Madalina Tantareanu</a>. Pixel art in Chapters 7 and 16 by Antonio Perdomo Pastor. Regular expression diagrams in Chapter 9 generated with <a href=\"https://regexper.com\">regexper.com</a> by Jeff Avallone. Game concept for Chapter 16 by <a href=\"http://lessmilk.com\">Thomas Palef</a>.</p></div>",
    "created_at": "2025-07-19T14:54:03+00:00",
    "updated_at": "2025-07-19T14:54:12+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "reading_time": 0,
    "domain_name": "eloquentjavascript.net",
    "preview_picture": "https://eloquentjavascript.net/img/cover.jpg",
    "http_status": "200",
    "headers": {
      "server": "nginx/1.22.1",
      "date": "Sat, 19 Jul 2025 14:54:03 GMT",
      "content-type": "text/html; charset=utf-8",
      "content-length": "6133",
      "last-modified": "Tue, 06 Aug 2024 05:54:55 GMT",
      "connection": "keep-alive",
      "etag": "\"66b1baaf-17f5\"",
      "accept-ranges": "bytes"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["organisation"],
    "is_public": false,
    "id": 101,
    "title": "La d\u00e9mangeaison de changer d\u2019application vous hante ? Voici mon conseil \u00e0 Mike",
    "url": "https://organisologie.com/changer-systeme/",
    "given_url": "https://organisologie.com/changer-systeme/",
    "content": "<blockquote><div>\"Je trouve que j'ai tendance \u00e0 changer de m\u00e9thodes et d'outils beaucoup trop souvent. Au point que je ne reste pas assez longtemps avec le papier, le num\u00e9rique ou une application particuli\u00e8re pour savoir quelle est mon approche r\u00e9elle. J'aime la technologie et j'aime le papier. Chacun a son propre charme. Au moment o\u00f9 je pense avoir trouv\u00e9 le syst\u00e8me \"parfait\", ... je change impulsivement d'approche. Parfois, je pense que mon abandon d'un outil particulier est correct, mais \u00e0 d'autres moments, je n'en suis pas si s\u00fbr, et je suis s\u00fbr que c'est un probl\u00e8me assez courant. Tout conseil est le bienvenu. Je vous remercie.\" - Mike</div></blockquote><figure class=\"kg-card kg-image-card\"><img src=\"https://organisologie.com/content/images/wp-content/uploads/2022/09/220905-syste_cc_80me-scaled.jpg\" class=\"kg-image\" alt=\"\" title=\"220905 syste\u0300me\" width=\"1441\" height=\"1080\" srcset=\"https://organisologie.com/content/images/size/w600/wp-content/uploads/2022/09/220905-syste_cc_80me-scaled.jpg 600w, https://organisologie.com/content/images/size/w1000/wp-content/uploads/2022/09/220905-syste_cc_80me-scaled.jpg 1000w, https://organisologie.com/content/images/wp-content/uploads/2022/09/220905-syste_cc_80me-scaled.jpg 1441w\" referrerpolicy=\"no-referrer\" /></figure><p>Le commentaire de Mike sur un forum m'a donn\u00e9 envie d'\u00e9crire cet article.Je laisse <strong>volontairement</strong> ouvert les commentaires de cet article (je les valide une fois par jour) pour que vous puissiez me donner votre avis sur le sujet.</p><p>Cela m'int\u00e9resse BEAUCOUP.</p><h2 id=\"quelle-est-lapplication-que-vous-utilisez-depuis-plus-de-3-ans-quotidiennement\">Quelle est l'application que vous utilisez depuis plus de 3 ans quotidiennement ?</h2><p>Si vous avez de la difficult\u00e9 \u00e0 r\u00e9pondre \u00e0 cette question, c'est peut-\u00eatre que :</p><ul><li>Vous venez de migrer votre syst\u00e8me d'organisation papier sur du num\u00e9rique</li>\n<li>Vous venez de vous int\u00e9resser \u00e0 l'organisation</li>\n<li>Vous avez un probl\u00e8me \u00e0 trouver chaussure \u00e0 votre pied (et de garder la chaussure).</li>\n</ul><p>Et apr\u00e8s tout, comment vous en vouloir ?</p><p>Il y a tellement d'applications int\u00e9ressantes. Tellement d'options !</p><p>Et j'ai moi-m\u00eame des clients qui viennent de Notion pour tester <a href=\"https://organisologie.com/workflowy/\" rel=\"noopener\">Workflowy</a>. Qui quittent Workflowy pour tester le <a href=\"https://organisologie.com/bullet-journal-numerique/\" rel=\"noopener\">bullet journal</a>. Qui passent d'Obsidian \u00e0 Amplenote.</p><p>Derri\u00e8re ce va-et-viens, il y a des donn\u00e9es qui migrent, des m\u00e9thodes qui s'adaptent, des habitudes \u00e0 remettre en place... un peu comme quand on d\u00e9m\u00e9nage dans une nouvelle ville.</p><p>On ne connait pas le quartier et les premiers temps sont d\u00e9di\u00e9s \u00e0 de l'exploration.</p><p>Du c\u00f4t\u00e9 de votre organisation, <strong>tout le temps o\u00f9 vous changez de syst\u00e8me, c'est du tout o\u00f9 vous n'avancez pas ou peu sur vos projets</strong>.</p><h2 id=\"pourquoi-changeons-nous-de-syst%C3%A8me\">Pourquoi changeons-nous de syst\u00e8me ?</h2><p>En attendant ma d\u00e9finition du terme syst\u00e8me, partons avec le concept suivant :</p><blockquote><div>Un syst\u00e8me d'organisation vous aide \u00e0 r\u00e9duire la variation de votre quotidien pour obtenir un r\u00e9sultat X avec plus de certitudes.</div></blockquote><p>N\u00e9anmoins un syst\u00e8me ne vous donne pas de garantie. Et si vous \u00eates du genre \u00e0 vouloir des garanties, achetez-vous un grille-pain. Merci Clint Eastwood pour ce beau rappel de l'impermanence appel\u00e9e vie.</p><figure class=\"kg-card kg-image-card kg-card-hascaption\"><img src=\"https://organisologie.com/content/images/wp-content/uploads/2022/09/20220902-grille-pain-garantie-scaled.jpg\" class=\"kg-image\" alt=\"Si vous voulez des garanties\" title=\"Si vous voulez des garanties\" width=\"1441\" height=\"1080\" srcset=\"https://organisologie.com/content/images/size/w600/wp-content/uploads/2022/09/20220902-grille-pain-garantie-scaled.jpg 600w, https://organisologie.com/content/images/size/w1000/wp-content/uploads/2022/09/20220902-grille-pain-garantie-scaled.jpg 1000w, https://organisologie.com/content/images/wp-content/uploads/2022/09/20220902-grille-pain-garantie-scaled.jpg 1441w\" referrerpolicy=\"no-referrer\" /><figcaption>Illustration citation Clint Eastwood grille-pain</figcaption></figure><p>Selon mes observations, les gens changent de syst\u00e8me pour ...</p><h3 id=\"1-le-besoin-de-nouveaut%C3%A9\">1. Le besoin de nouveaut\u00e9</h3><p>Beaucoup d'individus n'arrivent pas \u00e0 exprimer leur potentiel et \u00e0 vivre \"l'aventure\" au quotidien.</p><p>Mon business actuel (Organisologie, fond\u00e9 sur l'instruction) est une aventure qui a remplac\u00e9 mon pr\u00e9c\u00e9dent fournisseur d'aventure : le monde de la nuit Berlinois.</p><p><strong>Mon besoin d'aventure n'a jamais disparu, il s'est transform\u00e9</strong>. J'en avais marre des soir\u00e9es arros\u00e9es, des doutes, des cernes, du mal de t\u00eate.</p><p>Nous sommes nombreux \u00e0 partager ce parcours que je pourrais r\u00e9sumer \u00e0 :</p><ul><li>de 20 \u00e0 30 ans -&gt; d\u00e9couverte, aventure</li>\n<li>de 30 \u00e0 40 ans, je r\u00e9alise que je ne suis pas immortel, je commence \u00e0 penser \u00e0 la retraite... donc stabilisation, r\u00e9duction de l'incertitude.</li>\n</ul><p>Mais l'humain a aussi besoin de changements et de briser la routine quotidienne. <strong>C'est ce bon vieux \u00e9quilibre entre stabilit\u00e9 / aventure.</strong></p><p>Si vous n'aimez pas mon analyse psychologique \u00e0 deux balles, c'est la m\u00eame chose. Mais si vous \u00eates toujours avec moi, je pense que vous appr\u00e9cierez ce qui suit (mais Eh! pas de garanties.)</p><p>Ce besoin de changement, de se sentir en mouvement, on peut le vivre par plusieurs moyens (changer de partenaire, changer de passion, changer de job, changer de bar, changer de destination de vacances...) mais AUSSI changer de syst\u00e8me (si si).</p><p>Si ce changement vous fait avancer, tant mieux. Si celui-ci vous fait tourner en rond ? ... alors il y a un probl\u00e8me.</p><p>La solution ?</p><p>Si vous cr\u00e9ez, si votre cr\u00e9ativit\u00e9 est dirig\u00e9e \u00e0 l'ext\u00e9rieur, vous r\u00e9fl\u00e9chissez moins au syst\u00e8me, aux alternatives, vous \u00eates moins victime du <a href=\"https://organisologie.com/prendre-une-decision-paradoxe-du-choix/\" rel=\"noopener\">paradoxe du choix</a> (\u00eatre paralys\u00e9 face \u00e0 une quantit\u00e9 de choix importante).</p><p>Surtout ? Vous appr\u00e9ciez mieux et plus longtemps la stabilit\u00e9 du syst\u00e8me.</p><p>Raison N\u00b02 au changement de syst\u00e8me ?</p><h3 id=\"2-le-besoin-de-plaisir\">2. Le besoin de plaisir</h3><p>Je mentionne souvent la notion de plaisir dans l'utilisation du syst\u00e8me.</p><p>Est-ce que vous cherchez des conseils pour am\u00e9liorer votre syst\u00e8me hors de vos heures de travail ? Est-ce que vous prenez de plaisir \u00e0 naviguer dans votre syst\u00e8me ? \u00c0 voir comment les autres font pour s'approprier un outil ou une m\u00e9thode ?</p><p>Si ce n'est pas encore votre cas, alors vous \u00eates peut-\u00eatre \u00e0 la recherche d'un syst\u00e8me plus plaisant \u00e0 utiliser. Si vous utilisez Excel, je vous comprends.</p><p><strong>Maintenant, il ne faut pas confondre \"efficacit\u00e9/efficience\" et \"plaisir\".</strong></p><p>Eh quoi!</p><p>Certaines t\u00e2ches ne sont intrins\u00e8quement pas plaisantes, mais les r\u00e9aliser vous \u00e9pargne des soucis (qui a dit \"imp\u00f4t\"?!)</p><p>De la m\u00eame mani\u00e8re, vous pouvez avoir un outil plaisant \u00e0 utiliser... mais qui vous noie sous les options (qui a dit Notion?)</p><p>Si c'est le plaisir qui vous manque... sachez que celui-ci est soumis \u00e0 l'<a href=\"https://organisologie.com/adaptation-hedonique/\" rel=\"noopener\">adaptation h\u00e9donique</a> : apr\u00e8s 3 mois d'utilisation d'un nouveau syst\u00e8me, votre niveau de plaisir reviendra \u00e0 son niveau de r\u00e9f\u00e9rence.</p><p>N\u00e9anmoins, je pense qu'il est important, si vous n'avez jamais cr\u00e9\u00e9 de syst\u00e8me avant la lecture de cet article, <strong>de prendre votre plaisir en consid\u00e9ration</strong>.</p><p>Chez moi, la fluidit\u00e9 de Workflowy me donne cette impression d'\u00eatre une MACHINE (dans le sens positif du terme : planifier et faire mes t\u00e2ches du jour), et cette sensation, je ne l'ai pas avec d'autres logiciels.</p><p>Maintenant, si vous r\u00e9alisez que vous changez souvent de syst\u00e8mes par manque de plaisir... la solution ne se trouve pas dans \"plus de plaisir\".</p><p>Mais peut-\u00eatre plus dans <a href=\"https://organisologie.com/trouver-sa-voie-professionnelle/\" rel=\"noopener\">le sens du travail</a>, la m\u00e9thode que vous utilisez et dans l'environnement dans lequel vous \u00e9voluez.</p><p>Troisi\u00e8me raison du changement de syst\u00e8me ?</p><h3 id=\"3-la-peur-du-potentiel-inexploit%C3%A9\">3. La peur du potentiel inexploit\u00e9.</h3><p>Quand un Obsidian p\u00e9n\u00e8tre le march\u00e9 francophone comme un couteau dans du beurre ( avec son graph view bien cool \u00e0 regarder : il nous donne l'impression d'avancer), <strong>il est facile de ressentir le FOMO</strong> (Fear of missing out que je pourrais traduire par la peur de passer \u00e0 c\u00f4t\u00e9 d'une opportunit\u00e9, peur de manquer quelque chose).</p><p><em>\"Apr\u00e8s tout, c'est joli et cela me permet de voir des connexions qui dans d'autres logiciels restent cach\u00e9es.\"</em></p><p>Il est facile de se dire :</p><p><em>\"Merde, je passe \u00e0 c\u00f4t\u00e9 de quelque chose.... si ce bon outil va peut-\u00eatre me permettre d'augmenter ma cr\u00e9ativit\u00e9 de 20%\".</em></p><p>Mais ce n'est pas parce que la technologie peut le faire que je vais forc\u00e9ment le faire avec la technologie.</p><p>Ce n'est pas parce que la montre connect\u00e9e existe que je porte une montre.</p><p>Si vous parlez avec des utilisateurs avanc\u00e9s, certains vous diront : \"<em>hum, trop de friction \u00e0 utiliser Obsidian</em>\" OU \"<em>trop de liens qui m'emp\u00eachent de focaliser ma pens\u00e9e</em>\".</p><p>Quoi qu'il en soit, la peur du potentiel inexploit\u00e9 demeure. Et Obsidian reste une excellente application !</p><p>La solution ?</p><p>Se souvenir qu'une guerre commerciale se d\u00e9roule entre les cr\u00e9ateurs d'applications. Si une fonctionnalit\u00e9 est adopt\u00e9e en masse et fait une r\u00e9elle diff\u00e9rence chez les utilisateurs... <strong>celle-ci sera bient\u00f4t int\u00e9gr\u00e9e dans votre application du moment</strong>.</p><p>Un exemple vous dites ?</p><p>Les liens bidirectionnels qui ont propuls\u00e9 Roam Research sur le devant de la sc\u00e8ne, d\u00e9but 2020.</p><p>Et maintenant alors ?</p><p>Mes deux mains ne me sont plus suffisantes pour compter les applications qui int\u00e8grent cette fonctionnalit\u00e9. Le graph view n'est qu'une question de temps avant d'int\u00e9grer la plupart des applications de prise de notes. Respirez.</p><h3 id=\"4-toutes-les-autres-raisons\">4. Toutes les autres raisons</h3><p>On change de syst\u00e8me pour une multitude d'autres raisons : vous changez de job, l'application que vous utilisez ne correspond plus \u00e0 ce qu'elle \u00e9tait \u00e0 ses d\u00e9buts (vous avez dit Evernote?), vous en avez assez de payer, une fonctionnalit\u00e9 va r\u00e9volutionner votre vie, etc.</p><p>Ce qui nous am\u00e8ne \u00e0 une question importante (que beaucoup \u00e9vite, c'est dommage).</p><h2 id=\"cest-quoi-un-syst%C3%A8me\">C'est quoi un syst\u00e8me ?</h2><p>Ouvrons une (grosse) parenth\u00e8se importante sur ma conception des syst\u00e8mes simples.</p><p>Parce que la plupart de gens pensent \u00e0 la lourdeur administrative d'un gouvernement quand ils entendent ce mot fourre-tout. Il y a des syst\u00e8mes complexes, des syst\u00e8mes simples. J'aborde ici le syst\u00e8me simple,</p><p><strong>Un syst\u00e8me est une qualit\u00e9 \u00e9mergente.</strong></p><p>C'est-\u00e0-dire, que la stabilit\u00e9, la qualit\u00e9 et les r\u00e9sultats que vous obtenez avec un syst\u00e8me, sont possibles parce qu'il y a <strong>une association entre plusieurs \u00e9l\u00e9ments</strong>.</p><p>Un exemple de qualit\u00e9 \u00e9mergente ?</p><p>Le feu est une qualit\u00e9 \u00e9mergente. Il a besoin d'oxyg\u00e8ne, de combustible et de chaleur pour d\u00e9marrer et continuer de br\u00fbler.</p><p>Votre syst\u00e8me d'organisation (ou <a href=\"https://organisologie.com/prise-de-note-zettelkasten/\" rel=\"noopener\">prises de notes</a>, ou gestion d'e-mails, peu importe, je ne parle pas que du <a href=\"https://organisologie.com/le-cerveau-numerique/\" rel=\"noreferrer\">Cerveau Num\u00e9rique</a>) a besoin de 3 \u00e9l\u00e9ments.</p><h3 id=\"syst%C3%A8me-outil-m%C3%A9thode-comportement\">Syst\u00e8me = Outil + M\u00e9thode + Comportement</h3><p>Alors les puristes me diront <em>\"Un syst\u00e8me num\u00e9rique a aussi besoin d'\u00e9lectricit\u00e9 et d'un \u00e9cran\"</em> . Vous avez raison... mais simplifions.</p><p>Quand quelque chose ne tourne pas rond, on remet souvent en question la partie la plus visible du syst\u00e8me : l'outil. C'est aussi la partie la plus facile \u00e0 pointer du doigt en cas de probl\u00e8me : <strong>ce qui cloche, ce n'est pas vous, mais l'outil.</strong></p><p>Mais une personne d\u00e9sorganis\u00e9e sur papier va-t-elle subitement se mettre \u00e0 \u00eatre organis\u00e9e en utilisant des outils num\u00e9riques ?</p><p>Si vous doutez de la r\u00e9ponse, je peux vous le garantir : ce n'est pas le cas.</p><p>La technologie va augmenter le bordel qui r\u00e8gne dans la vie de cette personne. La technologie va augmenter le bordel qui r\u00e8gne dans la vie de cette personne.La r\u00e9p\u00e9tition de cette phrase n'est pas une erreur.</p><p>Laissez-la descendre dans vos neurones...Oh oui.</p><p>..</p><p>...</p><p>...</p><p>...</p><p>Parce que la technologie acc\u00e9l\u00e8re la transition d'informations (ou donn\u00e9es devrais-je dire), une personne qui n'a pas un bon syst\u00e8me va se retrouver sous l'eau (et on bosse souvent sur la mise en place de syst\u00e8me sur mesure lors de mes accompagnements).</p><p><em>\"Mais Julien, je n'utilise pas de syst\u00e8mes de ce type!\"</em></p><p>Bien essay\u00e9.</p><p>Le truc, c'est que les syst\u00e8mes ont cette tendance \u00e0 s'installer dans votre vie sans vous demander votre avis. La question \u00e0 vous poser n'est pas</p><p><em>\"est-ce que j'ai des syst\u00e8mes?\"</em></p><p>MAIS</p><p><em>\"o\u00f9 se trouvent mes syst\u00e8mes?\"</em></p><p>Et surtout</p><p><em>\"o\u00f9 se trouvent mes syst\u00e8mes d\u00e9faillants?!\"</em></p><p>(J'ai fait un <a href=\"https://organisologie.com/gestion-du-temps/\" rel=\"noopener\">article ici</a> qui r\u00e9sume mon approche pour identifier mes syst\u00e8mes d\u00e9faillants).</p><p>Voici quelques exemples de syst\u00e8mes :</p><ul><li>votre comportement + votre brosse \u00e0 dents = dents propres / dents sales</li>\n<li>vos comportements + le grille-pain (encore lui) = pain dor\u00e9 / pain cram\u00e9</li>\n<li>vos comportements + votre application du moment = infob\u00e9sit\u00e9 / disponibilit\u00e9 mentale</li>\n<li>vos comportements + GMAIL / Outlook = bo\u00eete de r\u00e9ception vide / 1732 e-mails non lus.</li>\n</ul><p>Ce qui nous am\u00e8ne sur un point cl\u00e9 pour moins changer de syst\u00e8mes.</p><h2 id=\"chaque-syst%C3%A8me-%C3%A0-ses-limites\">Chaque syst\u00e8me \u00e0 ses limites</h2><ul><li>Vos comportements + 100 e-mails par jour = bo\u00eete de r\u00e9ception vide.</li>\n<li>Vos comportements + 10'000 e-mails par jour = bonne chance!</li>\n</ul><p>Un syst\u00e8me peut sortir de ses limites de mani\u00e8re momentan\u00e9e.</p><p>Cela aide \u00e0 tester vos suppositions (est-ce vraiment la limite, o\u00f9 puis-je aller plus loin?). Mais si le syst\u00e8me reste trop longtemps hors de ses limites, celui-ci va dysfonctionner et mourir.</p><p><em>\u00ab L\u2019existence continue des syst\u00e8mes complexes interactifs \u00bb</em> explique le psychiatre britannique, pionnier de la cybern\u00e9tique William Ross Ashby, <em>\u00ab est fortement li\u00e9e \u00e0 la pr\u00e9vention de la maximisation d\u2019un des \u00e9l\u00e9ments du syst\u00e8me. \u00bb</em></p><p>Un syst\u00e8me d'organisation qui dysfonctionne se traduit par des \"tas\" d'informations qui s'empilent l\u00e0 o\u00f9 ils ne devraient pas (votre inbox, votre agenda, vos projets, vos todo listes).</p><h3 id=\"un-syst%C3%A8me-dorganisation-qui-meurt-se-traduit-par-un-changement-de-syst%C3%A8me\">Un syst\u00e8me d'organisation qui meurt se traduit par un changement de syst\u00e8me.</h3><p>Vous n'utilisez plus <a href=\"https://organisologie.com/dynalist/\" rel=\"noopener\">Dynalist</a> et vous rejoignez Workflowy. Vous d\u00e9chirez votre <a href=\"https://organisologie.com/todo-liste-methode-ivy-lee/\" rel=\"noopener\">todo liste</a> et vous recommencez \u00e0 z\u00e9ro avec un Bullet Journal.</p><p>Reconna\u00eetre les limites du syst\u00e8me est cl\u00e9, car tous les syst\u00e8mes ont leurs limites, et ce serait dommage de jeter un syst\u00e8me pour une limite qui n'en est pas une.</p><p>La faiblesse d'un syst\u00e8me peut aussi \u00eatre sa force.</p><p>Vous avez bien lu. J'utilise Workflowy parce qu'il a PEU d'options. Sa limite est donc sa plus grande FORCE. Et si vous trainez sur le forum, vous verrez souvent des utilisateurs exp\u00e9riment\u00e9s dire <em>\"Piti\u00e9! Ne faites pas de Workflowy un Notion, laissez-le simple\"</em>.</p><h3 id=\"chaque-syst%C3%A8me-a-un-but-et-prosp%C3%A8re-dans-un-contexte-sp%C3%A9cifique\">Chaque syst\u00e8me a un but et prosp\u00e8re dans un contexte sp\u00e9cifique</h3><p>Prenez le syst\u00e8me simple \"voiture\" : si vous \u00eates un citadin en proie \u00e0 ses d\u00e9sirs incontr\u00f4lables, parce que vous ignorez l'existence du <a href=\"https://workflowy.com/s/le-manuel-depictete/w5edx5guTO5uDtsX?ref=organisologie.com\" rel=\"noopener\">manuel d'\u00c9pict\u00e8te</a>, vous allez peut-\u00eatre acheter une Aston Martin afin d'impressionner des inconnus.</p><p>Si vous vivez en campagne avec des enfants et un chien, vous ach\u00e8terez un v\u00e9hicule utilitaire.</p><p>L\u00e0 encore, cela peut se comprendre (m\u00eame si chercher l'approbation des autres est la voie royale pour une vie stressante).</p><figure class=\"kg-card kg-image-card kg-card-hascaption\"><img src=\"https://organisologie.com/content/images/wp-content/uploads/2022/09/220809possession-scaled.jpg\" class=\"kg-image\" alt=\"Les choses que l'on poss\u00e8de finissent par nous poss\u00e9der\" title=\"Les choses que l'on poss\u00e8de finissent par nous poss\u00e9der\" width=\"1441\" height=\"1080\" srcset=\"https://organisologie.com/content/images/size/w600/wp-content/uploads/2022/09/220809possession-scaled.jpg 600w, https://organisologie.com/content/images/size/w1000/wp-content/uploads/2022/09/220809possession-scaled.jpg 1000w, https://organisologie.com/content/images/wp-content/uploads/2022/09/220809possession-scaled.jpg 1441w\" referrerpolicy=\"no-referrer\" /><figcaption>Illustration les choses que l'on poss\u00e8de nous poss\u00e8de</figcaption></figure><p>Mais un syst\u00e8me d'organisation ?</p><p>Pas si \u00e9vident de faire la part des choses, surtout lorsque vous voyez les argumentaires de vente de marketeurs... qui vous promettent de tirer des lasers par les yeux et soulever des montagnes gr\u00e2ce \u00e0 leur application... et ceci pour un caf\u00e9 par mois.</p><p>\u00c0 mes yeux, il y a trois \u00e9l\u00e9ments essentiels \u00e0 consid\u00e9rer pour savoir si votre syst\u00e8me est adapt\u00e9 \u00e0 votre situation.</p><h2 id=\"3-%C3%A9l%C3%A9ments-%C3%A0-consid%C3%A9rer-pour-%C3%A9valuer-la-pertinence-de-votre-syst%C3%A8me\">3 \u00e9l\u00e9ments \u00e0 consid\u00e9rer pour \u00e9valuer la pertinence de votre syst\u00e8me</h2><p>Le premier consid\u00e8re la stabilit\u00e9 de votre environnement.</p><h3 id=\"1-stabilit%C3%A9-vs-instabilit%C3%A9\">1. Stabilit\u00e9 VS instabilit\u00e9</h3><p>Quand je mentionne la stabilit\u00e9, je pense \u00e0 ce qui vous entoure (stabilit\u00e9 externe) : est-ce que vous \u00eates un commandant de compagnie dans les troupes de sauvetage qui se fait tester 4 semaines, chaque ann\u00e9e (mon cas) ou \u00eates-vous un \u00e9crivain qui travaille depuis chez lui (aussi mon cas).</p><p>Dans le premier cas, planifier \u00e0 long terme ne sert pas \u00e0 grand-chose. Parce que votre environnement est instable. Plus l'instabilit\u00e9 est importante et plus vos plans vous mettent des \u0153ill\u00e8res. Comme en parle tr\u00e8s bien Fran\u00e7ois Jullien dans son trait\u00e9 de l'efficacit\u00e9.</p><blockquote><div>Agir nous lie \u00e0 la situation et nous emp\u00eache de percevoir d'autres options plus favorables. Agir r\u00e9duit notre capacit\u00e9 \u00e0 observer la situation \u00e0 la recherche du potentiel de la situation.</div></blockquote><p><strong>Plus la stabilit\u00e9 est importante</strong> : vous ouvrez le robinet et l'eau coule, votre ordinateur s'allume comme pr\u00e9vu, vous pouvez consulter vos e-mails quand vous le souhaitez, vous rendre \u00e0 votre job \u00e0 pieds... <strong>et plus un syst\u00e8me d'organisation bas\u00e9 sur la planification peut fonctionner</strong> (\u00e0 condition que vous passiez \u00e0 l'action chaque jour, comme si vous \u00e9tiez sur un champ de bataille... autrement les tas d'informations deviennent trop gros).</p><p>Mais je pense aussi \u00e0 votre environnement interne :</p><ul><li>si vous n'arrivez pas \u00e0 <a href=\"https://organisologie.com/implementation-intention/\">agir sur demande</a>,</li>\n<li>si le vendredi vous p\u00e9tez la forme et le lundi vous tirez la gueule,</li>\n<li>si vous n'allez PAS tous les jours au lit \u00e0 la m\u00eame heure... en un mot, si vous n'\u00eates pas fiable</li>\n</ul><p>Alors les syst\u00e8mes d'organisations bas\u00e9s sur la planification seront difficiles \u00e0 tenir sur la dur\u00e9e.</p><p>Parce que vous devrez souvent d\u00e9placer des t\u00e2ches que vous auriez d\u00fb faire... (mais que vous n'avez pas fait... ) <strong>la t\u00e2che de maintenir le syst\u00e8me \u00e0 jour sera \u00e9puisante</strong> (et vous prendrez moins de plaisir... et vous regardez d'autres applications vides et plus prometteuse... et j'arr\u00eate l\u00e0).</p><h3 id=\"2-connu-vs-inconnu\">2. Connu VS Inconnu</h3><p>Un autre aspect important \u00e0 consid\u00e9rer : moins le job est connu, moins la planification est avantageuse.</p><p>Quand je dis connu, je dis mondialement connu.</p><p>Si vous vous mettez \u00e0 faire de la permaculture, des milliers de personnes partagent leur bonne pratique sur le net, vous pouvez apprendre de leur erreur et planifier en cons\u00e9quence.</p><p>Si vous voulez g\u00e9n\u00e9rer des revenus avec votre blog, la d\u00e9marche est connue :</p><ol><li>Trouver un sujet qui vous plait et qui fait des ventes ailleurs sur le web</li>\n<li>Trouver des mots cl\u00e9s</li>\n<li>Cr\u00e9er du contenu avec r\u00e9gularit\u00e9 qui diverti et instruit...</li>\n<li>Trouver ce qui fait votre diff\u00e9rence</li>\n<li>Vendre.</li>\n</ol><p>Vous n'envoyez pas une fus\u00e9e habit\u00e9e sur Mars. D'autres personnes l'ont fait avant vous. Un syst\u00e8me centr\u00e9 sur la planification peut \u00eatre utile.</p><p>Fran\u00e7ois Jullien nous \u00e9claire encore une fois :</p><blockquote><div>Face au caract\u00e8re in\u00e9dit d'une situation (comme la guerre), toute formalisation constitue le pire danger.</div></blockquote><h3 id=\"3-ind%C3%A9pendance-vs-d%C3%A9pendance\">3. Ind\u00e9pendance VS D\u00e9pendance</h3><p>Plus vous avez des d\u00e9pendances, plus vous devez vous coordonner avec les gens, et plus la planification fait sens (qui fait quoi pour quand).</p><p>Voici un gif anim\u00e9 qui montre bien la diff\u00e9rence entre projet o\u00f9 vous \u00eates seul... et projet o\u00f9 vous avez une \u00e9quipe.</p><figure class=\"kg-card kg-image-card\"><img src=\"https://organisologie.com/content/images/wp-content/uploads/2019/09/tasks.gif\" class=\"kg-image\" alt=\"travail en \u00e9quipe\" title=\"travail en \u00e9quipe\" width=\"640\" height=\"400\" srcset=\"https://organisologie.com/content/images/size/w600/wp-content/uploads/2019/09/tasks.gif 600w, https://organisologie.com/content/images/wp-content/uploads/2019/09/tasks.gif 640w\" referrerpolicy=\"no-referrer\" /></figure><p>Vous \u00eates toujours avec moi ?</p><p>Alors je peux vous dire que vous faites partie d'une minorit\u00e9 qui arrive \u00e0 rester <a href=\"https://organisologie.com/exercices-de-concentration/\" rel=\"noreferrer\">concentr\u00e9e</a> plus d'une minute sur du texte.</p><p>Vous pouvez prendre votre main droite, et vous tapoter l'\u00e9paule gauche (c'est ce que je fais pour me f\u00e9liciter...)</p><p>Je r\u00e9capitule :</p><ul><li>Un syst\u00e8me = outil + m\u00e9thode + comportement</li>\n<li>Un syst\u00e8me a des limites qui ne sont pas mauvaises en soi. Ces limites prot\u00e8gent le fonctionnement du syst\u00e8me.</li>\n<li>On change de syst\u00e8me pour plusieurs raisons, celles que j'ai identifi\u00e9es : besoin de nouveaut\u00e9, besoin de plaisir, peur de ne pas exploiter son potentiel.</li>\n<li>Plus votre environnement (interne/externe) est stable, plus un syst\u00e8me qui utilise la planification fait sens (\u00e0 condition d'agir)</li>\n<li>Plus le job \u00e0 r\u00e9aliser est connu, plus un syst\u00e8me qui utilise la planification fait sens (\u00e0 condition d'agir)</li>\n<li>Plus vous avez de d\u00e9pendances, plus un syst\u00e8me qui utilise la planification fait sens (\u00e0 condition d'agir)</li>\n</ul><h2 id=\"quel-outil-choisir-pour-votre-syst%C3%A8me\">Quel outil choisir pour votre syst\u00e8me?</h2><p>Pour ma part, <strong>je vous recommande des outils flexibles</strong> qui s'adaptent \u00e0 votre contexte et vos besoins.</p><p>Apr\u00e8s tout, qui sait ce que vous devrez faire demain ?</p><p>En utilisant des outils flexibles, vous adaptez plus facilement la <a href=\"https://organisologie.com/methode-johnny-decimal/\">m\u00e9thode et vos comportements \u00e0 la nouvelle situation tout en conservant les informations</a> enregistr\u00e9es jusqu'ici.</p><p>Pourquoi le papier et le crayon sont-ils si populaires ?</p><p>Parce que si j'ai envie de dessiner un petit c\u0153ur en haut \u00e0 droite de ma feuille, je le fais. Cela n'a pas besoin d'\u00eatre cod\u00e9 et anticip\u00e9.</p><p>Si j'ai envie de prendre mon briquet et d'utiliser ma todo liste papier pour allumer mon BBQ? Je le fais.</p><p>Si je veux caler la table qui branle et qui fout du caf\u00e9 partout... ? Je prends quelques feuilles et je cale la table qui branle.</p><p>La bonne nouvelle ?</p><p>Des outils flexibles, il en existe un paquet.</p><p>Je vous recommande de s\u00e9lectionner ceux qui sont l\u00e0 depuis longtemps et qui se sont r\u00e9invent\u00e9s (cela signifie que l'\u00e9quipe g\u00e8re la concurrence, le changement de march\u00e9, etc.)</p><p>J'utilise <a href=\"https://workflowy.com/invite/682aee80.lnx?ref=organisologie.com\" rel=\"noopener\">Workflowy</a>.</p><p>Si je parle de Workflowy, c'est parce que je suis convaincu de son utilit\u00e9.</p><p>Ce n'est pas le MEILLEUR, car le meilleur outil n'existe pas. Ce n'est pas le plus populaire non plus...</p><blockquote><div><em>Si 50 millions de gens disent quelque chose de faux, cela reste faux - Somerset Maugham</em></div></blockquote><p>Mais c'est le seul outil sur lequel j'ai pass\u00e9 autant de temps.</p><p>Il y a un \"<em>je ne sais quoi</em>\" qui me parle. Et m\u00eame si le but de cet article est de vous aider \u00e0 comprendre pourquoi vous changez souvent de syst\u00e8me, je vous souhaite de trouver un outil qui vous \"parle\".</p><h2 id=\"quelle-m%C3%A9thode-choisir-pour-votre-syst%C3%A8me\">Quelle m\u00e9thode choisir pour votre syst\u00e8me ?</h2><p>La liste n'est pas compl\u00e8te et s'affinera. Pensez \u00e0 utiliser les commentaires pour partager les m\u00e9thodes que vous utilisez aujourd'hui.</p><h3 id=\"stabilit%C3%A9-connu-d%C3%A9pendances\">Stabilit\u00e9, Connu, D\u00e9pendances</h3><h3 id=\"instabilit%C3%A9-inconnu-ind%C3%A9pendance\">Instabilit\u00e9, Inconnu, Ind\u00e9pendance</h3><p>Todo liste ferm\u00e9e / <a href=\"https://organisologie.com/todo-liste-methode-ivy-lee/\" rel=\"noopener\">m\u00e9thode Ivy Lee</a></p><p>Les m\u00e9thodes (r\u00e9ellement) agiles</p><p>M\u00e9thode Kanban</p><p>M\u00e9thode <a href=\"https://organisologie.com/methode-pomodoro/\" rel=\"noopener\">Pomodoro</a></p><p>Le Cerveau num\u00e9rique</p><p>Le Cerveau Num\u00e9rique : en fonction du chaos qui vous entoure vous vous orientez sur de l'ex\u00e9cution quotidienne (agenda) ou projets (long terme)l</p><h2 id=\"que-faire-la-prochaine-fois-que-vous-ressentez-les-d%C3%A9mangeaisons-du-changement\">Que faire la prochaine fois que vous ressentez les d\u00e9mangeaisons du changement ?</h2><p>Trois points \u00e0 garder en t\u00eate :</p><ol><li>Les sentiments mentent et la logique est inad\u00e9quate pour nous convaincre que nous utilisons le bon syst\u00e8me.</li>\n<li><em>\"Il est impossible de construire un syst\u00e8me complexe du premier coup. Un syst\u00e8me complexe est un syst\u00e8me simple qui a \u00e9volu\u00e9.\"</em> Si vous tentez d'acheter un syst\u00e8me complexe... les nouveaux comportements \u00e0 mettre en \u0153uvre sont trop importants et la r\u00e9sistance est importante. C'est pour cette raison que je r\u00e9p\u00e8te souvent dans le programme \"Le Cerveau Num\u00e9rique\" de mettre en place les domaines apr\u00e8s une ann\u00e9e d'utilisation du syst\u00e8me.</li>\n<li>Par exp\u00e9rience, j'obtiens de meilleurs r\u00e9sultats si <strong>je comprends les causes sous-jacentes d'une envie soudaine de changer de syst\u00e8me.</strong> Sur le long terme, j'obtiens de meilleurs r\u00e9sultats (le but de tout syst\u00e8me d\u00e9lib\u00e9r\u00e9ment cr\u00e9\u00e9) si je comprends POURQUOI j'ai envie de changer de syst\u00e8me... et si je trouve une autre mani\u00e8re d'utiliser mon syst\u00e8me actuel au lieu de repartir de z\u00e9ro.</li>\n</ol><p>Un peu comme un type qui se met toujours en couple avec des nanas cingl\u00e9es... qui se s\u00e9pare... et qui se remet en couple avec une nana cingl\u00e9e. Tous ses potes vous le diront :</p><p><strong>le probl\u00e8me, ce n'est pas la nana cingl\u00e9e.</strong></p><p>Julien</p>",
    "created_at": "2025-04-23T16:01:19+00:00",
    "updated_at": "2025-04-23T16:01:24+00:00",
    "published_at": "2022-09-05T07:41:09+00:00",
    "published_by": ["Julien Gueniat"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "fr",
    "reading_time": 17,
    "domain_name": "organisologie.com",
    "preview_picture": "https://organisologie.com/content/images/size/w1200/wp-content/uploads/2022/09/220905-syste_cc_80me-scaled.jpg",
    "http_status": "200",
    "headers": {
      "connection": "keep-alive",
      "content-length": "90600",
      "etag": "W/\"161e8-XAGMSbccHrCFJiz1df t8IvKfdI\"",
      "cache-control": "public, max-age=0",
      "via": "1.1 varnish, 1.1 varnish, 1.1 varnish",
      "content-type": "text/html; charset=utf-8",
      "server": "openresty",
      "status": "200 OK",
      "accept-ranges": "bytes",
      "age": "0",
      "date": "Wed, 23 Apr 2025 16:01:18 GMT",
      "x-served-by": "cache-ams2100105-AMS, cache-ams21058-AMS, cache-lcy-eglc8600047-LCY",
      "x-cache": "MISS, MISS, MISS",
      "x-cache-hits": "0, 0, 0",
      "x-timer": "S1745424079.697897,VS0,VE159",
      "vary": "Cookie, Accept-Encoding",
      "x-request-id": "69b1382f-e73f-4bc6-a671-6b09aed08ca7",
      "ghost-fastly": "true",
      "alt-svc": "clear"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": [],
    "is_public": false,
    "id": 100,
    "title": "search",
    "url": "https://www.ecosia.org/search?addon=opensearch&q=gemma+organisation",
    "given_url": "https://www.ecosia.org/search?addon=opensearch&q=gemma+organisation",
    "content": "wallabag can't retrieve contents for this article. Please <a href=\"https://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that\">troubleshoot this issue</a>.\n",
    "created_at": "2025-02-01T18:27:18+00:00",
    "updated_at": "2025-02-01T18:27:18+00:00",
    "published_by": [""],
    "annotations": [],
    "reading_time": 0,
    "domain_name": "www.ecosia.org"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": [],
    "is_public": false,
    "id": 99,
    "title": "doku.php",
    "url": "https://neglans.online/doku.php",
    "given_url": "https://neglans.online/doku.php",
    "content": "wallabag can't retrieve contents for this article. Please <a href=\"https://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that\">troubleshoot this issue</a>.\n",
    "created_at": "2024-09-07T14:35:41+00:00",
    "updated_at": "2024-09-07T14:35:41+00:00",
    "published_by": [""],
    "annotations": [],
    "reading_time": 0,
    "domain_name": "neglans.online"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": [],
    "is_public": false,
    "id": 98,
    "title": "The JavaScript Handbook",
    "url": "https://flaviocopes.pages.dev/books/js-handbook.pdf",
    "origin_url": "https://flaviocopes.com/books/",
    "given_url": "https://flaviocopes.pages.dev/books/js-handbook.pdf",
    "content": "Table of Contents\t<br />\nPreface<br />\nThe JS Handbook<br />\nConclusion1<br />\n<br />\nPreface<br />\nThe JavaScript  Handbook  follows the 80/20  rule: learn  in 20%  of the  time<br />\nthe 80% of a topic.<br />\nIn particular, the goal is to get you up to speed quickly with JavaScript.<br />\nThis  book  is wri tten  by Flavio.  I \tpublish  programming  tutorials\t on  my\t<br />\nblog \tflaviocopes.com\t and I organize a yearly bootcamp at \tbootcamp.dev\t.\t<br />\nYou can reach me on Twitter \t@flaviocopes\t.\t<br />\nEnjoy!2<br />\n<br />\nThe JS Handbook\t<br />\n1. Introduction to JavaScript<br />\n2. A little bit of history<br />\n3. Just JavaScript<br />\n4. A brief intro to the syntax of JavaScript\t<br />\n4.1. White space<br />\n4.2. Case sensitive<br />\n4.3. Literals<br />\n4.4. Identifiers<br />\n4.5. Comments\t<br />\n5. Semicolons<br />\n6. Values<br />\n7. Variables<br />\n8. Types\t<br />\n8.1. Primitive types<br />\n8.2. Object types\t<br />\n9. Expressions<br />\n10. Operators\t<br />\n10.1. The addition operator (+)<br />\n10.2. The subtraction operator (-)<br />\n10.3. The division operator (/)<br />\n10.4. The remainder operator (%)<br />\n10.5. The multiplication operator (*)<br />\n10.6. The exponentiation operator (**)\t<br />\n11. Precedence rules<br />\n12. Comparison operators<br />\n13. Conditionals\t<br />\n13.1. Else\t<br />\n14. Arrays\t<br />\n14.1. How to add an item to an array<br />\n14.2. How to remove an item from an array<br />\n14.3. How to join two or more arrays3<br />\n<br />\n14.4. How to find a specific item in the array\t<br />\n15. Strings<br />\n16. Loops\t<br />\n16.1. \t\u00a0while\t\u00a0\t<br />\n16.2. \t\u00a0for\t\u00a0\t<br />\n16.3. \t\u00a0for...of\t\u00a0\t<br />\n17. Functions<br />\n18. Arrow functions<br />\n19. Objects\t<br />\n19.1. Object Properties<br />\n19.2. Object Methods\t<br />\n20. Classes<br />\n21. Inheritance<br />\n22. Asynchronous Programming and Callbacks<br />\n23. Promises<br />\n24. Async and Await<br />\n25. Variables scope\t<br />\n1.  In tr o d u ctio n  t o  Ja va S crip t<br />\nJavaScript is one of the most popular programming languages in the world.<br />\nI believe it's a great language to be your first programming language ever.<br />\nWe mainly use JavaScript to create\t<br />\nwebsites<br />\nweb applications<br />\nserver-side applications using Node.js\t<br />\nbut JavaScript is not limited to these things, and it can also be used to\t<br />\ncreate mobile applications using tools like React Native<br />\ncreate programs for microcontrollers and the internet of things<br />\ncreate smartwatch applications4<br />\n<br />\nIt can ba sically  do anything.  It's so popular  that everything  new that shows<br />\nup is going to have some kind of JavaScript integration at some point.<br />\nJavaScript is a programming language that is:\t<br />\nhigh  level\t: it  prov ides  abstractions  that allow  you to ignore  the details\t<br />\nof the  machine  where  it's running  on. It manages  memory automatically<br />\nwith a garbage  collector,  so you  can focus  on the  code  instead  of<br />\nmanaging  memory like other  languages  like C would  need, and provides<br />\nmany  constructs  which allow you to deal  with  highly  powerful  variables<br />\nand objects.<br />\ndynamic\t: as  opposed  to static  programming  languages, a dynamic\t<br />\nlanguage  executes at runtime  many of the  things  that a static  language<br />\ndoes at compile  time. This has pros  and cons,  and it gives  us powerful<br />\nfeatures  like dynamic  typing, late  binding,  reflection,  functional<br />\nprogramming,  object runtime  alteration,  closures and much  more.  Don't<br />\nworry  if those  things  are unknown  to you  - you'll  know  all of those  at the<br />\nend of the course.<br />\ndynamically  typed\t: a  vari able  does  not  enforce  a type.  You can\t<br />\nreassign  any type  to a variable,  for example,  assigning  an integer  to a<br />\nvariable that holds a string.<br />\nloosely  typed\t: as  opposed  to strong  typing,  loosely (or weakly)  typed\t<br />\nlanguages  do not  enforce  the type  of an  object,  allowing  more flexibility<br />\nbut  deny ing us type  safety  and type  checking  (something  that TypeScript<br />\n- which builds on top of JavaScript - provides)<br />\ninterpreted\t: it's  commonly  known as an  interpreted  language, which\t<br />\nmeans that  it does  not need  a compilation  stage before  a program  can<br />\nrun, as opposed  to C,  Java  or Go  for  example.  In practice,  browsers do<br />\ncompile  JavaScript before  executing  it, for  performance  reasons, but this<br />\nis transparent to you: there is no additional step involved.<br />\nmulti-paradigm\t: the  language  does not enforce  any particular\t<br />\nprogramming paradigm, unlike Java for example, which forces the use of<br />\nobject-oriented  programming, or  C which  forces imperative<br />\nprogramming.  You can write  JavaScript  using an object-oriented<br />\nparadigm,  using prototypes  and the new  (as of ES6)  classes  syntax.  You5<br />\n<br />\ncan write  JavaScript  in a functi onal programming  style, with its first-<br />\nclass functions, or even in an imperative style (C-like).\t<br />\nIn case you're wondering, \tJavaScript  has nothing  to do  with  Java\t, it's  a  poor\t<br />\nname choice but we have to live with it.<br />\n2 . A  l i t tle  bi t o f h ist ory<br />\nCreated  in 1995,  JavaScript  has gone  a very  long  way since  its humble<br />\nbeginnings.<br />\nIt was  the first scripting  language  that was supported  natively by web<br />\nbrowsers,  and thanks  to this  it ga ined  a competitive  advantage over any other<br />\nlanguage  and today  it's still  the only  scripting  language  that we can  use to<br />\nbuild Web Applications.<br />\nOther  languages  exist, but all must  compile  to JavaScript  - or  more  recently<br />\nto WebAssembly, but this is another story.<br />\nIn the  beginning,  JavaScript was not  nearly  powerful  as it is  today,  and it was<br />\nmainly  used for fancy  animations  and the marvel  known at the  time  as<br />\nDynamic HTML\t.\t<br />\nWith  the growin g needs  that the web  platform  demanded  (and continues  to<br />\ndemand), JavaScript \thad\t the  responsibility  to grow  as well,  to accommodate\t<br />\nthe needs of one of the most widely used ecosystems of the world.<br />\nJavaScript  is now  widely  used also  outside  of the  browser.  The rise of Node.js<br />\nin  the  last  few years  unlocked  backend development,  once the  domain  of<br />\nJava, Ruby, Python, PHP and more traditional server-side languages.<br />\nJavaScript  is now  also the language  powering  databases  and many  more<br />\napplications,  and it's even  possible  to develop  embedded  applications,  mobile<br />\napps, TV sets  apps  and  much  more.  What started  as a tiny  language  inside<br />\nthe browser is now the most popular language in the world.6<br />\n<br />\n3. Ju st Ja va S crip t<br />\nSometimes  it's hard  to separ ate JavaScript  from the features  of the<br />\nenvironment it is used in.<br />\nFor  exam ple, the \t\u00a0console.log()\t\u00a0 line  you can find  in many  code examples  is\t<br />\nnot JavaScript.  Instead, it's part  of  the  vast  library  of APIs  provided  to us  in<br />\nthe  browser.  In the  same  way, on the  server,  it can  be sometimes  hard to<br />\nseparate the JavaScript language features from the APIs provided by Node.js.<br />\nIs a part icular  feature  provided  by React  or Vue?  Or is it \"plain  JavaScript\",<br />\nor \"vanilla JavaScript\" as often called?<br />\nIn this  book  I talk  about  JavaScript,  the language,  without complicating  your<br />\nlearning  process with  things  that are  outside  of it,  and  provided  by external<br />\necosystems.<br />\n4. A  br ie f i n tr o  t o  t h e sy nta x o f<br />\nJa va S cript<br />\nIn this little introduction I want to tell you about 5 concepts:\t<br />\nwhite space<br />\ncase sensitivity<br />\nliterals<br />\nidentifiers<br />\ncomments\t<br />\n4.1. White space<br />\nJavaScript  does not consider  white  space  meaningful.  Spaces and line breaks<br />\ncan be added in any fashion you might like, even though this is \tin theory\t.7<br />\n<br />\nIn practi ce, you  will most  likely  keep a well-defined  style and adhere  to what<br />\npeople  commonly  use, and enforce  this using  a linter  or a style  tool such  as<br />\nPrettier\t.\t<br />\nFor example, I like to always use 2 characters to indent.<br />\n4.2. Case sensitive<br />\nJavaScript  is case  sensitive.  A variable  named \t\u00a0something\t\u00a0 is  different  from\t<br />\n\u00a0Something\t\u00a0.\t<br />\nThe same goes for any identifier.<br />\n4.3. Literals<br />\nWe define  as \tliteral\t a  value  that is written  in the  source  code, for example,  a\t<br />\nnumber, a string,  a boolean  or also  more  advanced  constructs,  like Object<br />\nLiterals or Array Literals:\t<br />\n5<br />\n'Test'<br />\ntrue\t \t<br />\n['a'\t, \t'b'\t] \t<br />\n{color\t: \t'red'\t, \tshape\t: \t'Rectangle'\t} \t<br />\n4.4. Identifiers<br />\nAn \tidentifier\t is  a sequence  of characters  that can be used  to identify  a\t<br />\nvariable,  a function,  or an  object . It  can  start  with a letter,  the dollar  sign \t\u00a0$\u00a0\t<br />\nor an un derscore \t\u00a0_\u00a0, and  it  can  contain  digits. Using Unicode,  a letter  can be\t<br />\nany allowed char, for example, an emoji  ?????? .8<br />\n<br />\nTest\t \t<br />\ntest\t \t<br />\nTEST\t \t<br />\n_test\t \t<br />\nTest1\t \t<br />\n$test\t \t<br />\nThe dollar sign is commonly used to reference DOM elements.<br />\nSome names  are reserved  for JavaScript  internal use, and we can't  use  them<br />\nas identifiers.<br />\n4.5. Comments<br />\nComments  are one  of the  most  important  parts of any  program.  In any<br />\nprogramming  language.  They are important  because they let us annotate  the<br />\ncode and add important  information that  otherwise  would not be available  to<br />\nother people (or ourselves) reading the code.<br />\nIn JavaScript,  we can  write  a comment  on a single  line using \t\u00a0//\t\u00a0. Everything\t<br />\nafter \t\u00a0//\t\u00a0 is not considered as code by the JavaScript interpreter.\t<br />\nLike this:\t<br />\n// a comment<br />\ntrue\t //another comment\t<br />\nAnother  type of comment  is a multi-line  comment.  It starts  with \t\u00a0/*\t\u00a0\t and\t<br />\nends with \t\u00a0*/\t\u00a0.\t<br />\nEverything in between is not considered as code:\t<br />\n/* some kind\t \t<br />\nof\t \t<br />\ncomment\t \t<br />\n <br />\n*/9<br />\n<br />\n5. S em ic o lo n s<br />\nEvery  line in a JavaScript  program is optionally  terminated using<br />\nsemicolons.<br />\nI said  optionall y, because  the JavaScript  interpreter  is smart  enough  to<br />\nintroduce semicolons for you.<br />\nIn most cases, you can omit semicolons altogether from your programs.<br />\nThis fact is very  controversial,  and you'll  always  find code  that uses<br />\nsemicolons and code that does not.<br />\nMy personal  preference  is to  always  avoid semicolons  unless strictly<br />\nnecessary.<br />\n6. V alu es<br />\nA \t\u00a0hello\t\u00a0 string is a \tvalue\t. A number like \t\u00a012\t\u00a0 is a \tvalue\t.\t<br />\n\u00a0hello\t\u00a0 and \t\u00a012\t\u00a0  a re  values. \t\u00a0string\t\u00a0 and \t\u00a0number\t\u00a0\t  are  the \ttypes\t of  those\t<br />\nvalues.<br />\nThe \ttype\t is  the  kind  of value,  its category . We  have  many  different  types in\t<br />\nJavaScript,  and we'll  talk about  them  in detail  later on. Each  type has its own<br />\ncharacteristics.<br />\nWhen  we need  to  have  a reference  to a value,  we assign  it to  a \tvariable\t. The\t<br />\nvariable  can have  a name,  and the value  is what's  stored in a va riable,  so we<br />\ncan later access that value through the variable name.<br />\n7.  V aria bl es<br />\nA va riable  is a value  assigned  to an  identifier,  so you  can referen ce and  use it<br />\nlater in the program.10<br />\n<br />\nThis is because  JavaScript  is \tloosely typed\t, a concept  you'll frequently  hear\t<br />\nabout.<br />\nA variable must be declared before you can use it.<br />\nWe have 2 main ways to declare variables. The first is to use \t\u00a0const\t\u00a0:\t<br />\nconst\t a = \t0\t<br />\nThe second way is to use \t\u00a0let\t\u00a0:\t<br />\nlet\t a = \t0\t<br />\nWhat's the difference?<br />\n\u00a0const\t\u00a0\t def ines  a constant  reference  to a  value.  This means  the refer ence\t<br />\ncannot be changed. You cannot reassign a new value to it.<br />\nUsing \t\u00a0let\t\u00a0 you can assign a new value to it.\t<br />\nFor example, you cannot do this:\t<br />\nconst\t a = \t0 \t<br />\na = \t1\t<br />\nBecause you'll get an error: \t\u00a0TypeError: Assignment to constant variable.\t\u00a0.\t<br />\nOn the other hand, you can do it using \t\u00a0let\t\u00a0:\t<br />\nlet\t a = \t0 \t<br />\na = \t1\t<br />\n\u00a0const\t\u00a0 does  not mean  \"constant\"  in the  way  some  other  languages  like C\t<br />\nmean.  In particular,  it does  not mean  the value  cannot  change  - it  means  it<br />\ncannot  be  reassigned.  If the  vari able  points  to an  object  or an  array (we'll  see<br />\nmore about  objects  and arrays  later)  the content  of the  object  or the  array  can<br />\nfreely change.11<br />\n<br />\nConst variables must be initialized at the declaration time:\t<br />\nconst\t a = \t0\t<br />\nbut \t\u00a0let\t\u00a0 values can be initialized later:\t<br />\nlet\t a\t \t<br />\na = \t0\t<br />\nYou can declare multiple variables at once in the same statement:\t<br />\nconst\t a = \t1, \t<br />\n  b = \t2\t<br />\nlet\t c = \t1, \t<br />\n  d = \t2\t<br />\nBut you cannot redeclare the same variable more than one time:\t<br />\nlet\t a = \t1\t<br />\nlet\t a = \t2\t<br />\nor you'd get a \"duplicate declaration\" error.<br />\nMy advice  is to  always  use \t\u00a0const\t\u00a0 and  only  use \t\u00a0let\t\u00a0 when  you know  you'll\t<br />\nneed to reassign  a value  to that  variable.  Why? Because  the less power  our<br />\ncode has, the  better.  If we  know  a  value  cannot  be reassigned,  it's  one  less<br />\nsource for bugs.<br />\nNow  that we saw  how  to work  with \t\u00a0const\t\u00a0 and \t\u00a0let\t\u00a0\t,  I  want  to mention\t<br />\n\u00a0var\t\u00a0.\t<br />\nUntil  2015, \t\u00a0var\t\u00a0 was  the only  way we could  declare  a variable  in JavaScript.\t<br />\nToday,  a modern  codebase  will most  likely  just use \t\u00a0const\t\u00a0 and \t\u00a0let\t\u00a0.  There\t<br />\nare  some  fundamental  differences which  I detail \tin  this  post\t but  if you're  just\t<br />\nstarting out, you might not care about them. Just use \t\u00a0const\t\u00a0 and \t\u00a0let\t\u00a0.12<br />\n<br />\n8. T ype s<br />\nVariables in JavaScript do not have any type attached.<br />\nThey are \tuntyped\t.\t<br />\nOnce  you assign  a  value  with some  type to a variable,  you can later  reassign<br />\nthe variable to host a value of any other type, without any issue.<br />\nIn JavaS cript we have  2 main  kinds  of types: \tprimitive  types\t and \tobject\t<br />\ntypes\t.\t<br />\n8.1. Primitive types<br />\nPrimitive types are\t<br />\nnumbers<br />\nstrings<br />\nbooleans<br />\nsymbols\t<br />\nAnd two special types: \t\u00a0null\t\u00a0 and \t\u00a0undefined\t\u00a0.\t<br />\n8.2. Object types<br />\nAny  value that's  not of a primitiv e type  (a string,  a number,  a boolean,  null or<br />\nundefined) is an \tobject\t.\t<br />\nObject  types  have \tproperties\t and  also  have \tmethods\t that  can act on those\t<br />\nproperties.<br />\nWe'll talk more about objects later on.<br />\n9. E xpr essi on s<br />\nAn  expression  is a single  unit of  JavaScript  code that the JavaS cript engine<br />\ncan evaluate, and return a value.13<br />\n<br />\nExpressions can vary in complexity.<br />\nWe start from the very simple ones, called primary expressions:\t<br />\n2<br />\n0.02\t \t<br />\n;(\t'something'\t) \t<br />\ntrue<br />\nfalse<br />\nthis\t //the current scope\t<br />\nundefined\t \t<br />\ni \t//where i is a variable or a constant\t<br />\nArithmetic expressions  are expr essions  that take  a variable  and an operator<br />\n(more on operators soon), and result into a number:\t<br />\n1 / \t2 \t<br />\ni++\t \t<br />\ni -= \t2 \t<br />\ni * \t2\t<br />\nString expressions are expressions that result into a string:\t<br />\n'A '\t + \t'string'\t<br />\nLogical  expressions  make use of logical  operators  and resolve  to a boolean<br />\nvalue:\t<br />\na &amp;&amp; b\t \t<br />\na || b\t \t<br />\n!a\t \t<br />\nMore  advanced  expressions  involve  objects,  functions,  and arrays,  and I'll<br />\nintroduce them later.<br />\n10 . O pe ra to rs14<br />\n<br />\nOperators allow you to get  two  simple  expressions  and combine  them to form<br />\na more complex expression.<br />\nWe  can  classify  operators  based on the  operands  they work  with.  Some<br />\noperators  work with 1 operand . Most  with 2 operands.  Just one operator<br />\nworks with 3 operands.<br />\nIn this  first  introduction  to operators,  we'll introduce  the opera tors you are<br />\nmost likely familiar with: binary operators.<br />\nI already  introduced  one when talking  about variables:  the assignment<br />\noperator \t\u00a0=\u00a0. You use \t\u00a0=\u00a0 to assign a value to a variable:\t<br />\nlet\t b = \t2\t<br />\nLet's  now introduce  another set of  binary  operators  that you are already<br />\nfamiliar with, from basic math.<br />\n10.1. The addition operator (+)\t<br />\nconst\t three = \t1 + \t2\t<br />\nconst\t four = three + \t1\t<br />\nThe \t\u00a0+\u00a0 ope rator  also serves  as string  concatenation  if you  use strings,  so  pay\t<br />\nattention:\t<br />\nconst\t three = \t1 + \t2 \t<br />\nthree + \t1 // 4\t<br />\n'three'\t + \t1 // three1\t<br />\n10.2. The subtraction operator (-)\t<br />\nconst\t two = \t4 - \t2\t<br />\n10.3. The division operator (/)15<br />\n<br />\nReturns the quotient of the first operator and the second:\t<br />\nconst\t result = \t20\t / \t5 //result === 4\t<br />\nconst\t result = \t20\t / \t7 //result === 2.857142857142857\t<br />\nIf you divide  by zero,  JavaScript  does not raise  any error  but returns  the<br />\n\u00a0Infinity\t\u00a0 value (or \t\u00a0-Infinity\t\u00a0 if the value is negative).\t<br />\n1 / \t0 - \t//Infinity\t \t<br />\n  \t1 / \t0 //-Infinity\t<br />\n10.4. The remainder operator (%)<br />\nThe remainder is a very useful calculation in many use cases:\t<br />\nconst\t result = \t20\t % \t5 //result === 0\t<br />\nconst\t result = \t20\t % \t7 //result === 6\t<br />\nA remainder  by zero  is always \t\u00a0NaN\t\u00a0\t, a special  value that  means  \"Not  a\t<br />\nNumber\":\t<br />\n1 % \t0 //NaN\t<br />\n10.5. The multiplication operator (*)<br />\nMultiply two numbers\t<br />\n1 * \t2 //2\t<br />\n1 * -\t2 //-2\t<br />\n10.6. The exponentiation operator (**)<br />\nRaise the first operand to the power of the second operand16<br />\n<br />\n1 ** \t2 //1\t<br />\n2 ** \t1 //2\t<br />\n2 ** \t2 //4\t<br />\n2 ** \t8 //256\t<br />\n8 ** \t2 //64\t<br />\n11.  P re ce d en ce  r u le s<br />\nEvery  complex  statement  with multiple  operators  in the  same line  will<br />\nintroduce precedence problems.<br />\nTake this example:\t<br />\nlet\t a = \t1 * \t2 + ((\t5 / \t2) % \t2) \t<br />\nThe result is 2.5, but why?<br />\nWhat operations are executed first, and which need to wait?<br />\nSome  operations  have more  precedence  than the others.  The precedence<br />\nrules are listed in this table:\t<br />\nOperator\tDescription\t<br />\n\u00a0*\u00a0 \u00a0/\u00a0 \u00a0%\u00a0\tmultiplication/division\t<br />\n\u00a0+\u00a0 \u00a0-\u00a0\taddition/subtraction\t<br />\n\u00a0=\u00a0\tassignment\t<br />\nOperations  on the  same  level (like \t\u00a0+\u00a0 and \t\u00a0-\u00a0)  are  exe cuted  in the  order  they\t<br />\nare found, from left to right.<br />\nFollowing these rules, the operation above can be solved in this way:17<br />\n<br />\nlet\t a = \t1 * \t2 + ((\t5 / \t2) % \t2) \t<br />\nlet\t a = \t2 + ((\t5 / \t2) % \t2) \t<br />\nlet\t a = \t2 + (\t2.5\t % \t2) \t<br />\nlet\t a = \t2 + \t0.5\t<br />\nlet\t a = \t2.5\t<br />\n12 . C om pa riso n o p era to rs<br />\nAfter  assignment  and math  operators,  the third  set of operators  I want  to<br />\nintroduce is comparison operators.<br />\nYou can use the following operators to compare two numbers, or two strings.<br />\nComparison  operators  always  return a boolean,  a value  that's \t\u00a0true\t\u00a0\t or\t<br />\n\u00a0false\t\u00a0).\t<br />\nThose are \tdisequality comparison operators\t:\t<br />\n\u00a0&lt;\u00a0 means \"less than\"\t&lt;br /&gt;\n\u00a0&lt;=\t\u00a0 means \"minus than, or equal to\"\t&lt;br /&gt;\n\u00a0&gt;\u00a0 means \"greater than\"\t<br />\n\u00a0&gt;=\t\u00a0 means \"greater than, or equal to\"\t<br />\nExample:\t<br />\nlet\t a = \t2 \t<br />\na &gt;= \t1 //true\t<br />\nIn addition to those, we have 4 \tequality operators\t. They accept two values,\t<br />\nand return a boolean:\t<br />\n\u00a0===\t\u00a0 checks for equality\t<br />\n\u00a0!==\t\u00a0 checks for inequality\t<br />\nNote  that we also  have \t\u00a0==\t\u00a0 and \t\u00a0!=\t\u00a0  in  JavaScript,  but I highly  suggest to\t<br />\nonly use \t\u00a0===\t\u00a0 and \t\u00a0!==\t\u00a0 because they can prevent some subtle problems.18<br />\n<br />\n13 . C on dit io n als<br />\nWith the comparison operators in place, we can talk about conditionals.<br />\nAn \t\u00a0if\t\u00a0\t st ateme nt is used  to make  the program  take a route,  or another,\t<br />\ndepending on the result of an expression evaluation.<br />\nThis is the simplest example, which always executes:\t<br />\nif\t (\ttrue\t) {\t \t<br />\n  \t//do something\t \t<br />\n} \t<br />\non the contrary, this is never executed:\t<br />\nif\t (\tfalse\t) {\t \t<br />\n  \t//do something (? never ?)\t \t<br />\n} \t<br />\nThe  conditional  checks the expression  you pass  to it for  a true  or false  value.<br />\nIf you  pass  a number,  that always  evaluates  to true  unless  it's 0. If you  pass  a<br />\nstring,  it always  evaluates  to true  unless  it's an empty  string.  Those are<br />\ngeneral rules of casting types to a boolean.<br />\nDid you notice  the curly  braces ? That  is called  a \tblock\t, an d it  is  used  to\t<br />\ngroup a list of different statements.<br />\nA block  can be put  wherever  you can have  a single  statement.  And if  you  have<br />\na sin gle  statement  to execute  after the conditionals,  you can omit  the block,<br />\nand just write the statement:\t<br />\nif\t (\ttrue\t) doSomething()\t \t<br />\nBut I always like to use curly braces to be more clear.<br />\n13.1. Else19<br />\n<br />\nYou can provide a second part to the \t\u00a0if\t\u00a0 statement: \t\u00a0else\t\u00a0.\t<br />\nYou attach a statement  that is going  to be  executed  if the \t\u00a0if\t\u00a0 condition  is\t<br />\nfalse:\t<br />\nif\t (\ttrue\t) {\t \t<br />\n  \t//do something\t \t<br />\n} \telse\t {\t \t<br />\n  \t//do something else\t \t<br />\n} \t<br />\nSince \t\u00a0else\t\u00a0\t accepts  a statement,  you can nest  another  if/else statement\t<br />\ninside it:\t<br />\nif\t (a === \ttrue\t) {\t \t<br />\n  \t//do something\t \t<br />\n} \telse\t if\t (b === \ttrue\t) {\t \t<br />\n  \t//do something else\t \t<br />\n} \telse\t {\t \t<br />\n  \t//fallback\t \t<br />\n} \t<br />\n14 . A rra ys<br />\nAn array is a collection of elements.<br />\nArrays in JavaScript are not a \ttype\t on their own.\t<br />\nArrays are \tobjects\t.\t<br />\nWe can initialize an empty array in these 2 different ways:\t<br />\nconst\t a = []\t \t<br />\nconst\t a = \tArray\t()\t \t<br />\nThe  first  is using  the \tarray  literal  syntax\t. The  sec ond  uses the  Array  built-\t<br />\nin function.20<br />\n<br />\nYou can pre-fill the array using this syntax:\t<br />\nconst\t a = [\t1, \t2, \t3] \t<br />\nconst\t a = \tArray\t.of(\t1, \t2, \t3) \t<br />\nAn array can hold any value, even value of different types:\t<br />\nconst\t a = [\t1, \t'Flavio'\t, [\t'a'\t, \t'b'\t]]\t \t<br />\nSince we can  add  an array  into an  array,  we can  create  multi-dimensional<br />\narrays, which have very useful applications (e.g. a matrix):\t<br />\nconst\t matrix = [\t \t<br />\n  [\t1, \t2, \t3],\t \t<br />\n  [\t4, \t5, \t6],\t \t<br />\n  [\t7, \t8, \t9],\t \t<br />\n] <br />\n <br />\nmatrix[\t0][\t0] \t//1\t \t<br />\nmatrix[\t2][\t0] \t//7\t<br />\nYou can access  any element  of the  array  by referencing  its index,  which  starts<br />\nfrom zero:\t<br />\na[\t0] \t//1\t \t<br />\na[\t1] \t//2\t \t<br />\na[\t2] \t//3\t<br />\nYou can initialize  a new  array  with  a set  of values  using this syntax,  which<br />\nfirst initializes  an array  of 12  elements,  and fills each  element  with the \t\u00a00\u00a0\t<br />\nnumber:\t<br />\nArray\t(12\t).fill(\t0) \t<br />\nYou can get the number  of elements  in the  array  by checking  its \t\u00a0length\t\u00a0\t<br />\nproperty:21<br />\n<br />\nconst\t a = [\t1, \t2, \t3] \t<br />\na.length \t//3\t<br />\nNote that you can set  the  length  of  the  array.  If you  assign  a bigger  number<br />\nthan the array's  current  capacity,  nothing happens.  If you  assign  a smaller<br />\nnumber, the array is cut at that position:\t<br />\nconst\t a = [\t1, \t2, \t3] \t<br />\na \t//[ 1, 2, 3 ]\t \t<br />\na.length = \t2 \t<br />\na \t//[ 1, 2 ]\t<br />\n14.1. How to add an item to an array<br />\nWe can add an element at the end of an array using the \t\u00a0push()\t\u00a0 method:\t<br />\na.push(\t4) \t<br />\nWe  can  add  an element  at the  beginning  of an  array  using  the \t\u00a0unshift()\t\u00a0\t<br />\nmethod:\t<br />\na.unshift(\t0) \t<br />\na.unshift(-\t2, -\t1) \t<br />\n14.2. How to remove an item from an array<br />\nWe can remove an item from the end of an array using the \t\u00a0pop()\t\u00a0 method:\t<br />\na.pop()\t \t<br />\nWe  can  remove  an item  from  the beginning  of an  array  using  the \t\u00a0shift()\t\u00a0\t<br />\nmethod:\t<br />\na.shift()\t 22<br />\n<br />\n14.3. How to join two or more arrays<br />\nYou can join multiple arrays by using \t\u00a0concat()\t\u00a0:\t<br />\nconst\t a = [\t1, \t2] \t<br />\nconst\t b = [\t3, \t4] \t<br />\nconst\t c = a.concat(b) \t//[1,2,3,4]\t \t<br />\na \t//[1,2]\t \t<br />\nb \t//[3,4]\t<br />\nYou can also use the \tspread\t operator (\t\u00a0...\t\u00a0) in this way:\t<br />\nconst\t a = [\t1, \t2] \t<br />\nconst\t b = [\t3, \t4] \t<br />\nconst\t c = [...a, ...b]\t \t<br />\nc \t//[1,2,3,4]\t<br />\n14.4. How to find a specific item in the array<br />\nYou can use the \t\u00a0find()\t\u00a0 method of an array:\t<br />\na.find(\t(element, index, array\t) =&gt;\t {\t \t<br />\n  \t//return true or false\t \t<br />\n})\t \t<br />\nThis method  returns the first  item  that returns \t\u00a0true\t\u00a0 in  the  callback  function\t<br />\nprovided. It returns undefined if nothing returns \"true\".<br />\nIt's your  responsibility  to define  the body  of the  callback  function,  so you  can<br />\ntell \t\u00a0find()\t\u00a0 what you're looking for.\t<br />\nA commonly used syntax is:\t<br />\nconst\t my_id = \t3 \t<br />\n <br />\na.find(\t(x) =&gt;\t x.id === my_id)\t 23<br />\n<br />\nThe above  line will  return  the first  element  in the  array  that has \t\u00a0id\t\u00a0 equal  to\t<br />\n\u00a03\u00a0, the value of \t\u00a0my_id\t\u00a0.\t<br />\n\u00a0findIndex()\t\u00a0 is  another  array method  that works  similarly  to \t\u00a0find()\t\u00a0, but\t<br />\nreturns  the index  of the  first  item  that returns  true, and if not  found,  it<br />\nreturns \t\u00a0undefined\t\u00a0:\t<br />\na.findIndex(\t(element, index, array\t) =&gt;\t {\t \t<br />\n  \t//return true or false\t \t<br />\n})\t \t<br />\nAnother useful method is \t\u00a0includes()\t\u00a0:\t<br />\na.includes(value)\t \t<br />\nReturns true if \t\u00a0a\u00a0 contains \t\u00a0value\t\u00a0.\t<br />\na.includes(value, i)\t \t<br />\nReturns true if \t\u00a0a\u00a0 contains \t\u00a0value\t\u00a0 after the position \t\u00a0i\u00a0.\t<br />\n15 . S tr in gs<br />\nA string is a sequence of characters.<br />\nIt can  be also  defined  as a string  literal,  which is enclosed  in quotes  or double<br />\nquotes:\t<br />\n'A string'<br />\n'Another string'\t<br />\nI per sonally  prefer single quotes  all  the  time,  and use double  quotes only in<br />\nHTML to define attributes.<br />\nYou assign a string value to a variable like this:24<br />\n<br />\nconst\t name = \t'Flavio'\t<br />\nYou can determine the length of a string using the \t\u00a0length\t\u00a0 property of it:\t<br />\n'Flavio'\t.length \t//6\t<br />\nconst\t name = \t'Flavio'\t \t<br />\nname.length \t//6\t<br />\nThis is an empty string: \t\u00a0''\t\u00a0. Its length property is 0:\t<br />\n''\t.length \t//0\t<br />\nTwo strings can be joined using the \t\u00a0+\u00a0 operator:\t<br />\n'A '\t + \t'string'\t<br />\nYou can use the \t\u00a0+\u00a0 operator to \tinterpolate\t variables:\t<br />\nconst\t name = \t'Flavio'\t<br />\n'My name is '\t + name \t//My name is Flavio\t<br />\nAnother way to define  strings  is to  use  a special  syntax called \ttemplate\t<br />\nliterals\t, de fined  inside  backticks.  They  are  especially  useful to make\t<br />\nmultiline  strings much  simpler.  With  single  or double  quotes you can't  define<br />\na multiline string easily: you'd need to use escaping characters.<br />\nOnce  a template  literal is opene d with  the backtick,  you just  press  enter to<br />\ncreate a new line, with no special characters, and it's rendered as-is:\t<br />\nconst\t string = \t`Hey\t \t<br />\nthis\t \t<br />\n <br />\nstring\t \t<br />\nis awesome!`25<br />\n<br />\nTemplate literals are  also  great  because  they provide  an easy  way  to<br />\ninterpolate variables and expressions into strings.<br />\nYou do so by using the \t\u00a0${...}\t\u00a0 syntax:\t<br />\nconst\t var\t = \t'test'\t<br />\nconst\t string = \t`something \t${\tvar\t}`\t<br />\n//something test\t<br />\ninside the \t\u00a0${}\t\u00a0 you can add anything, even expressions:\t<br />\nconst\t string = \t`something \t${\t1 + \t2 + \t3}`\t<br />\nconst\t string2 = \t`something\t \t<br />\n  \t${a &gt; b ? \t'a'\t : \t'b'\t}`\t<br />\n16 . L oops<br />\nLoops are one of the main control structures of JavaScript.<br />\nWith  a loop  we can  automate  and repeat  indefinitely  a block  of code,  for how<br />\nmany times we want it to run.<br />\nJavaScript provides many ways to iterate through loops.<br />\nI want to focus on 3 ways:\t<br />\nwhile loops<br />\nfor loops<br />\nfor..of loops\t<br />\n16.1. \t\u00a0\twhile\t\u00a0\t<br />\nThe while loop is the simplest looping structure that JavaScript provides us.<br />\nWe  add  a condit ion after  the \t\u00a0while\t\u00a0 keyword,  and we provide  a block  that is\t<br />\nrun until the condition evaluates to \t\u00a0true\t\u00a0.26<br />\n<br />\nExample:\t<br />\nconst\t list = [\t'a'\t, \t'b'\t, \t'c'\t] \t<br />\nlet\t i = \t0\t<br />\nwhile\t (i &lt; list.length) {\t \t<br />\n  \tconsole\t.log(list[i]) \t//value\t \t<br />\n  \tconsole\t.log(i) \t//index\t \t<br />\n  i = i + \t1 \t<br />\n} \t<br />\nYou can interrupt a \t\u00a0while\t\u00a0 loop using the \t\u00a0break\t\u00a0 keyword, like this:\t<br />\nwhile\t (\ttrue\t) {\t \t<br />\n  \tif\t (somethingIsTrue) \tbreak\t \t<br />\n} \t<br />\nand if you  decide  that in the  middle  of a loop  you want  to skip  the current<br />\niteration, you can jump to the next iteration using \t\u00a0continue\t\u00a0:\t<br />\nwhile\t (\ttrue\t) {\t \t<br />\n  \tif\t (somethingIsTrue) \tcontinue\t \t<br />\n <br />\n  \t//do something else\t \t<br />\n} \t<br />\nVery  similar  to \t\u00a0while\t\u00a0, we  hav e \t\u00a0do..while\t\u00a0 loops.  It's basically  the same  as\t<br />\n\u00a0while\t\u00a0, except the condition is evaluated \tafter\t the code block is executed.\t<br />\nThis means the block is always executed \tat least once\t.\t<br />\nExample:\t<br />\nconst\t list = [\t'a'\t, \t'b'\t, \t'c'\t] \t<br />\nlet\t i = \t0\t<br />\ndo\t {\t \t<br />\n  \tconsole\t.log(list[i]) \t//value\t \t<br />\n  \tconsole\t.log(i) \t//index\t \t<br />\n  i = i + \t1 \t<br />\n} \twhile\t (i &lt; list.length)\t 27<br />\n<br />\n16.2. \t\u00a0\tfor\t\u00a0\t<br />\nThe second very important looping structure in JavaScript is the \tfor loop\t.\t<br />\nWe use  the \t\u00a0\tfor\t\u00a0\t keyword  and we pass  a set  of 3 instructions:  the\t<br />\ninitialization, the condition, and the increment part.<br />\nExample:\t<br />\nconst\t list = [\t'a'\t, \t'b'\t, \t'c'\t] \t<br />\n <br />\nfor\t (\tlet\t i = \t0; i &lt; list.length; i++) {\t \t<br />\n  \tconsole\t.log(list[i]) \t//value\t \t<br />\n  \tconsole\t.log(i) \t//index\t \t<br />\n} \t<br />\nJust like with \t\u00a0while\t\u00a0  loops,  you can interrupt  a \t\u00a0for\t\u00a0 loop  using \t\u00a0break\t\u00a0 and\t<br />\nyou can fast forward to the next iteration of a \t\u00a0for\t\u00a0 loop using \t\u00a0continue\t\u00a0.\t<br />\n16.3. \t\u00a0\tfor...of\t\u00a0\t<br />\nThis  loop is  relatively  recent (introduced  in 2015)  and it's a simpl ified version<br />\nof the \t\u00a0for\t\u00a0 loop:\t<br />\nconst\t list = [\t'a'\t, \t'b'\t, \t'c'\t] \t<br />\n <br />\nfor\t (\tconst\t value \tof\t list) {\t \t<br />\n  \tconsole\t.log(value) \t//value\t \t<br />\n} \t<br />\n17 .  F u n ctio n s<br />\nIn  any  moderately  complex JavaScript  program, everything  happens inside<br />\nfunctions.<br />\nFunctions are a core, essential part of JavaScript.28<br />\n<br />\nWhat is a function?<br />\nA function is a block of code, self-contained.<br />\nHere's a \tfunction declaration\t:\t<br />\nfunction\t getData\t() \t{ \t<br />\n  \t// do something\t \t<br />\n} \t<br />\nA function can be run any time you want by invoking it, like this:\t<br />\ngetData()\t \t<br />\nA function can have one or more argument:\t<br />\nfunction\t getData\t() \t{ \t<br />\n  \t//do something\t \t<br />\n} <br />\n <br />\nfunction\t getData\t(color\t) \t{ \t<br />\n  \t//do something\t \t<br />\n} <br />\n <br />\nfunction\t getData\t(color, age\t) \t{ \t<br />\n  \t//do something\t \t<br />\n} \t<br />\nWhen we can pass an argument, we invoke the function passing parameters:\t<br />\nfunction\t getData\t(color, age\t) \t{ \t<br />\n  \t//do something\t \t<br />\n} <br />\n <br />\ngetData(\t'green'\t, \t24\t) \t<br />\ngetData(\t'black'\t) 29<br />\n<br />\nNote that in  the  second  invocation  I passed  the \t\u00a0black\t\u00a0 string  parameter  as\t<br />\nthe \t\u00a0color\t\u00a0 argument,  but no \t\u00a0age\t\u00a0. In  this  case, \t\u00a0age\t\u00a0 inside  the function  is\t<br />\n\u00a0undefined\t\u00a0.\t<br />\nWe can check if a value is not undefined using this conditional:\t<br />\nfunction\t getData\t(color, age\t) \t{ \t<br />\n  \t//do something\t \t<br />\n  \tif\t (\ttypeof\t age !== \t'undefined'\t) {\t \t<br />\n    \t//...\t \t<br />\n  }\t \t<br />\n} \t<br />\n\u00a0typeof\t\u00a0 is a unary operator that allows us to check the type of a variable.\t<br />\nYou can also check in this way:\t<br />\nfunction\t getData\t(color, age\t) \t{ \t<br />\n  \t//do something\t \t<br />\n  \tif\t (age) {\t \t<br />\n    \t//...\t \t<br />\n  }\t \t<br />\n} \t<br />\nalthough  in this  case  the conditi onal will be false  if \t\u00a0age\t\u00a0 is \t\u00a0null\t\u00a0, \t\u00a00\u00a0  or  an\t<br />\nempty string.<br />\nYou can have default values for parameters, in case they are not passed:\t<br />\nfunction\t getData\t(color = \t'black'\t, age = \t25\t) \t{ \t<br />\n  \t//do something\t \t<br />\n} \t<br />\nYou  can pass  any value  as a parameter:  numbers, strings, booleans,  arrays,<br />\nobjects, and also functions.<br />\nA function  has a return  value. By default  a function  returns \t\u00a0undefined\t\u00a0\t,\t<br />\nunless you add a \t\u00a0return\t\u00a0 keyword with a value:30<br />\n<br />\nfunction\t getData\t() \t{ \t<br />\n  \t// do something\t \t<br />\n  \treturn\t 'hi!'\t \t<br />\n} \t<br />\nWe can assign this return value to a variable when we invoke the function:\t<br />\nfunction\t getData\t() \t{ \t<br />\n  \t// do something\t \t<br />\n  \treturn\t 'hi!'\t \t<br />\n} <br />\n <br />\nlet\t result = getData()\t \t<br />\n\u00a0result\t\u00a0 now holds a string with the \t\u00a0hi!\t\u00a0 value.\t<br />\nYou can only return one value.<br />\nTo return multiple values, you can return an object, or an array, like this:\t<br />\nfunction\t getData\t() \t{ \t<br />\n  \treturn\t [\t'Flavio'\t, \t37\t] \t<br />\n} <br />\n <br />\nlet\t [name, age] = getData()\t \t<br />\nFunctions can be defined inside other functions:\t<br />\nconst\t getData = \t() =&gt;\t {\t \t<br />\n  \tconst\t dosomething = \t() =&gt;\t {}\t \t<br />\n  dosomething()\t \t<br />\n  \treturn\t 'test'\t \t<br />\n} \t<br />\nThe nested  function  cannot be called  from the outside  of the  enclosing<br />\nfunction.<br />\nYou can return a function from a function, too.31<br />\n<br />\n18 . A rro w  f u n ctio n s<br />\nArrow functions are a recent introduction to JavaScript.<br />\nThey  are very  often  used  instead  of \"regular\"  functions,  the one  I described  in<br />\nthe previous chapter. You'll find both forms used everywhere.<br />\nVisually, they allow you to write functions with a shorter syntax, from:\t<br />\nfunction\t getData\t() \t{ \t<br />\n  \t//...\t \t<br />\n} \t<br />\nto\t<br />\n;() =&gt;\t {\t \t<br />\n  \t//...\t \t<br />\n} \t<br />\nBut.. notice that we don't have a name here.<br />\nArrow functions are anonymous. We must assign them to a variable.<br />\nWe can assign a regular function to a variable, like this:\t<br />\nlet\t getData = \tfunction\t getData\t() \t{ \t<br />\n  \t//...\t \t<br />\n} \t<br />\nWhen we do so, we can remove the name from the function:\t<br />\nlet\t getData = \tfunction\t (\t) \t{ \t<br />\n  \t//...\t \t<br />\n} \t<br />\nand invoke the function using the variable name:32<br />\n<br />\nlet\t getData = \tfunction\t (\t) \t{ \t<br />\n  \t//...\t \t<br />\n} <br />\ngetData()\t \t<br />\nThat's the same thing we do with arrow functions:\t<br />\nlet\t getData = \t() =&gt;\t {\t \t<br />\n  \t//...\t \t<br />\n} <br />\ngetData()\t \t<br />\nIf the  function  body contains  just a single  statement,  you can omit  the<br />\nparentheses and write it all on a single line:\t<br />\nconst\t getData = \t() =&gt;\t console\t.log(\t'hi!'\t) \t<br />\nParameters are passed in the parentheses:\t<br />\nconst\t getData = \t(param1, param2\t) =&gt;\t console\t.log(param1, param2)\t \t<br />\nIf you  have  one (and  just one)  parameter,  you could  omit the parentheses<br />\ncompletely:\t<br />\nconst\t getData = \t(param\t) =&gt;\t console\t.log(param)\t \t<br />\nArrow  functions  allow  you to have  an implicit  return: values are returned<br />\nwithout having to use the \t\u00a0return\t\u00a0 keyword.\t<br />\nIt works when there is a on-line statement in the function body:\t<br />\nconst\t getData = \t() =&gt;\t 'test'\t \t<br />\n <br />\ngetData() \t//'test'33<br />\n<br />\nLike with regular functions, we can have default parameters:<br />\nYou can have default values for parameters, in case they are not passed:\t<br />\nconst\t getData = \t(color = \t'black'\t, age = \t2) =&gt;\t {\t \t<br />\n  \t//do something\t \t<br />\n} \t<br />\nand we can only return one value.<br />\nArrow functions can contain other arrow function, or also regular functions.<br />\nThey are very  similar,  so you  might  ask why  they  were  introduced?  The big<br />\ndifference  with regular  function s is  when  they are used  as obje ct methods.<br />\nThis is something we'll soon look into.<br />\n19 . O bj ects<br />\nAny  value  that's  not of a primitive  type (a string,  a number,  a boolean,  a<br />\nsymbol, null, or undefined) is an \tobject\t.\t<br />\nHere's how we define an object:\t<br />\nconst\t car = {}\t \t<br />\nThis is the \tobject  literal\t syn tax,  which  is one  of the  nicest  things  in\t<br />\nJavaScript.<br />\nYou can also use the \t\u00a0new Object\t\u00a0 syntax:\t<br />\nconst\t car = \tnew\t Object\t()\t \t<br />\nAnother syntax is to use \t\u00a0Object.create()\t\u00a0:\t<br />\nconst\t car = \tObject\t.create()\t 34<br />\n<br />\nYou can also  initialize  an object  using the \t\u00a0new\t\u00a0 keyword  before a function\t<br />\nwith  a capital  letter.  This  function  serves as a constructor  for that  object.  In<br />\nthere, we  can  initialize  the arguments  we receive  as parameters,  to set  up the<br />\ninitial state of the object:\t<br />\nfunction\t Car\t(brand, model\t) \t{ \t<br />\n  \tthis\t.brand = brand\t \t<br />\n  \tthis\t.model = model\t \t<br />\n} \t<br />\nWe initialize a new object using\t<br />\nconst\t myCar = \tnew\t Car(\t'Ford'\t, \t'Fiesta'\t) \t<br />\nmyCar.brand \t//'Ford'\t \t<br />\nmyCar.model \t//'Fiesta'\t<br />\nObjects are \talways passed by reference\t.\t<br />\nIf you  assign  a variable  the same  value  of another,  if it's  a primitive  type like a<br />\nnumber or a string, they are passed by value:<br />\nTake this example:\t<br />\nlet\t age = \t36\t<br />\nlet\t myAge = age\t \t<br />\nmyAge = \t37\t \t<br />\nage \t//36\t<br />\nconst\t car = {\t \t<br />\n  \tcolor\t: \t'blue'\t, \t<br />\n} <br />\nconst\t anotherCar = car\t \t<br />\nanotherCar.color = \t'yellow'\t \t<br />\ncar.color \t//'yellow'\t<br />\nEven  arrays  or functions  are, under  the hood,  objects,  so it's  very important<br />\nto understand how they work.35<br />\n<br />\n19.1. Object Properties<br />\nObjects have \tproperties\t, which  are composed  by a label  associated  with a\t<br />\nvalue.<br />\nThe value  of a property  can be of any  type,  which  means  that it can  be an<br />\narray,  a function,  and it can  even  be an  object,  as objects  can nest  other<br />\nobjects.<br />\nThis is the object literal syntax we saw in the previous chapter:\t<br />\nconst\t car = {}\t \t<br />\nWe can define a \t\u00a0color\t\u00a0 property in this way:\t<br />\nconst\t car = {\t \t<br />\n  \tcolor\t: \t'blue'\t, \t<br />\n} \t<br />\nhere  we have  a \t\u00a0car\t\u00a0 o bject  with a property  named \t\u00a0color\t\u00a0, w ith  the  value\t<br />\n\u00a0blue\t\u00a0.\t<br />\nLabels  can be any string,  but beware  special characters:  if I wanted  to include<br />\na character  not valid  as a variab le name  in the  property  name, I would  have<br />\nhad to use quotes around it:\t<br />\nconst\t car = {\t \t<br />\n  \tcolor\t: \t'blue'\t, \t<br />\n  \t'the color'\t: \t'blue'\t, \t<br />\n} \t<br />\nInvalid  variable  name character s include  spaces, hyphens,  and other  special<br />\ncharacters.<br />\nAs you  see,  when  we have  multiple  properties,  we separate  each property<br />\nwith a comma.<br />\nWe can retrieve the value of a property using 2 different syntaxes.36<br />\n<br />\nThe first is \tdot notation\t:\t<br />\ncar.color \t//'blue'\t<br />\nThe second  (which is the  only  one we can  use for properties  with invalid<br />\nnames), is to use square brackets:\t<br />\ncar[\t'the color'\t] \t//'blue'\t<br />\nIf you access an unexisting property, you'll get the \t\u00a0undefined\t\u00a0 value:\t<br />\ncar.brand \t//undefined\t<br />\nAs said, objects can have nested objects as properties:\t<br />\nconst\t car = {\t \t<br />\n  \tbrand\t: {\t \t<br />\n    \tname\t: \t'Ford'\t, \t<br />\n  },\t \t<br />\n  \tcolor\t: \t'blue'\t, \t<br />\n} \t<br />\nIn this example, you can access the brand name using\t<br />\ncar.brand.name\t \t<br />\nor\t<br />\ncar[\t'brand'\t][\t'name'\t] \t<br />\nYou can set the value of a property when you define the object.<br />\nBut you can always update it later on:37<br />\n<br />\nconst\t car = {\t \t<br />\n  \tcolor\t: \t'blue'\t, \t<br />\n} <br />\n <br />\ncar.color = \t'yellow'\t \t<br />\ncar[\t'color'\t] = \t'red'\t<br />\nAnd you can also add new properties to an object:\t<br />\ncar.model = \t'Fiesta'\t \t<br />\n <br />\ncar.model \t//'Fiesta'\t<br />\nGiven the object\t<br />\nconst\t car = {\t \t<br />\n  \tcolor\t: \t'blue'\t, \t<br />\n  \tbrand\t: \t'Ford'\t, \t<br />\n} \t<br />\nyou can delete a property from this object using\t<br />\ndelete\t car.brand\t \t<br />\n19.2. Object Methods<br />\nI talked about functions in a previous chapter.<br />\nFunctions can be assigned  to a function  property,  and in this  case  they  are<br />\ncalled \tmethods\t.\t<br />\nIn this  example,  the \t\u00a0start\t\u00a0 property  has a function  assigned,  and we can\t<br />\ninvoke  it by  using  the dot  syntax  we  used  for properties,  with the parentheses<br />\nat the end:38<br />\n<br />\nconst\t car = {\t \t<br />\n  \tbrand\t: \t'Ford'\t, \t<br />\n  \tmodel\t: \t'Fiesta'\t, \t<br />\n  \tstart\t: \tfunction\t (\t) \t{ \t<br />\n    \tconsole\t.log(\t'Started'\t) \t<br />\n  },\t \t<br />\n} <br />\n <br />\ncar.start()\t \t<br />\nInside a method  defined using a \t\u00a0function() {}\t\u00a0 s yn tax  we  have  access  to the\t<br />\nobject instance by referencing \t\u00a0this\t\u00a0.\t<br />\nIn  the  following  example, we have  access  to the \t\u00a0\tbrand\t\u00a0\t and \t\u00a0\tmodel\t\u00a0\t<br />\nproperties values using \t\u00a0this.brand\t\u00a0 and \t\u00a0this.model\t\u00a0:\t<br />\nconst\t car = {\t \t<br />\n  \tbrand\t: \t'Ford'\t, \t<br />\n  \tmodel\t: \t'Fiesta'\t, \t<br />\n  \tstart\t: \tfunction\t (\t) \t{ \t<br />\n    \tconsole\t.log(\t`Started\t \t<br />\n      \t${\tthis\t.brand}\t ${\tthis\t.model}\t`) \t<br />\n  },\t \t<br />\n} <br />\n <br />\ncar.start()\t \t<br />\nIt's  important  to note  this distin ction  between  regular function s and  arrow<br />\nfunctions: we don't have access to \t\u00a0this\t\u00a0 if we use an arrow function:\t<br />\nconst\t car = {\t \t<br />\n  \tbrand\t: \t'Ford'\t, \t<br />\n  \tmodel\t: \t'Fiesta'\t, \t<br />\n  \tstart\t: \t() =&gt;\t {\t \t<br />\n    \tconsole\t.log(\t`Started\t \t<br />\n      \t${\tthis\t.brand}\t ${\tthis\t.model}\t`) \t//not going to work\t \t<br />\n  },\t \t<br />\n} <br />\n <br />\ncar.start()\t 39<br />\n<br />\nThis is because \tarrow functions are not bound to the object\t.\t<br />\nThis is the reason why regular functions are often used as object methods.<br />\nMethods can accept parameters, like regular functions:\t<br />\nconst\t car = {\t \t<br />\n  \tbrand\t: \t'Ford'\t, \t<br />\n  \tmodel\t: \t'Fiesta'\t, \t<br />\n  \tgoTo\t: \tfunction\t (\tdestination\t) \t{ \t<br />\n    \tconsole\t.log(\t`Going to \t${destination}\t`) \t<br />\n  },\t \t<br />\n} <br />\n <br />\ncar.goTo(\t'Rome'\t) \t<br />\n20 . C la sse s<br />\nWe talked  about objects,  which are  one  of the  most  interesting  parts of<br />\nJavaScript.<br />\nIn this chapter we'll go up one level, introducing classes.<br />\nWhat  are classe s? They  are a way  to define  a common  pattern for multiple<br />\nobjects.<br />\nLet's take a person object:\t<br />\nconst\t person = {\t \t<br />\n  \tname\t: \t'Flavio'\t, \t<br />\n} \t<br />\nWe  can  create  a class  named \t\u00a0Person\t\u00a0\t (note  the capital \t\u00a0P\u00a0\t, a  convention\t<br />\nwhen using classes), that has a \t\u00a0name\t\u00a0 property:\t<br />\nclass\t Person\t { \t<br />\n  name\t \t<br />\n} 40<br />\n<br />\nNow from this class, we initialize a \t\u00a0flavio\t\u00a0 object like this:\t<br />\nconst\t flavio = \tnew\t Person()\t \t<br />\n\u00a0flavio\t\u00a0 is called an \tinstance\t of the Person class.\t<br />\nWe can set the value of the \t\u00a0name\t\u00a0 property:\t<br />\nflavio.name = \t'Flavio'\t<br />\nand we can access it using\t<br />\nflavio.name\t \t<br />\nlike we do for object properties.<br />\nClasses can hold properties, like \t\u00a0name\t\u00a0, and methods.\t<br />\nMethods are defined in this way:\t<br />\nclass\t Person\t { \t<br />\n  \thello\t() {\t \t<br />\n    \treturn\t 'Hello, I am Flavio'\t \t<br />\n  }\t \t<br />\n} \t<br />\nand we can invoke methods on an instance of the class:\t<br />\nclass\t Person\t { \t<br />\n  \thello\t() {\t \t<br />\n    \treturn\t 'Hello, I am Flavio'\t \t<br />\n  }\t \t<br />\n} <br />\nconst\t flavio = \tnew\t Person()\t \t<br />\nflavio.hello()\t \t<br />\nThere is a  special  method  called \t\u00a0constructor()\t\u00a0 t hat  we  can  use to initialize\t<br />\nthe class properties when we create a new object instance.41<br />\n<br />\nIt works like this:\t<br />\nclass\t Person\t { \t<br />\n  \tconstructor\t(name\t) {\t \t<br />\n    \tthis\t.name = name\t \t<br />\n  }\t \t<br />\n <br />\n  \thello\t() {\t \t<br />\n    \treturn\t 'Hello, I am '\t + \tthis\t.name + \t'.'\t \t<br />\n  }\t \t<br />\n} \t<br />\nNote how we use \t\u00a0this\t\u00a0 to access the object instance.\t<br />\nNow we can  instantiate  a new  object  from the class,  passing  a string,  and<br />\nwhen we call \t\u00a0hello\t\u00a0, we'll get a personalized message:\t<br />\nconst\t flavio = \tnew\t Person(\t'flavio'\t) \t<br />\nflavio.hello() \t//'Hello, I am flavio.'\t<br />\nWhen the object  is  initialized,  the \t\u00a0constructor\t\u00a0  met hod  is calle d, with  any\t<br />\nparameters passed.<br />\nNormally methods are defined on the object instance, not on the class.<br />\nYou can define  a method  as \t\u00a0static\t\u00a0 to  allow  it to  be  executed  on the  class\t<br />\ninstead:\t<br />\nclass\t Person\t { \t<br />\n  \tstatic\t genericHello\t() {\t \t<br />\n    \treturn\t 'Hello'\t \t<br />\n  }\t \t<br />\n} <br />\n <br />\nPerson.genericHello() \t//Hello\t<br />\nThis is very useful, at times.42<br />\n<br />\n21.  In herit a n ce<br />\nA  class  can \textend\t another  class, and objects  initialized  using that class\t<br />\ninherit all the methods of both classes.<br />\nSuppose we have a class \t\u00a0Person\t\u00a0:\t<br />\nclass\t Person\t { \t<br />\n  \thello\t() {\t \t<br />\n    \treturn\t 'Hello, I am a Person'\t \t<br />\n  }\t \t<br />\n} \t<br />\nWe can define a new class \t\u00a0Programmer\t\u00a0 that extends \t\u00a0Person\t\u00a0:\t<br />\nclass\t Programmer\t extends\t Person\t {}\t \t<br />\nNow  if we  instan tiate a new  object  with class \t\u00a0Programmer\t\u00a0, it  has  access  to the\t<br />\n\u00a0hello()\t\u00a0 method:\t<br />\nconst\t flavio = \tnew\t Programmer()\t \t<br />\nflavio.hello() \t//'Hello, I am a Person'\t<br />\nInside a child class, you can reference the parent class calling \t\u00a0super()\t\u00a0:\t<br />\nclass\t Programmer\t extends\t Person\t { \t<br />\n  \thello\t() {\t \t<br />\n    \treturn\t super\t.hello() + \t'. I am also a programmer.'\t \t<br />\n  }\t \t<br />\n} <br />\n <br />\nconst\t flavio = \tnew\t Programmer()\t \t<br />\nflavio.hello()\t \t<br />\nThe above program prints \tHello, I am a Person. I am also a programmer.\t.43<br />\n<br />\n22. A sy nch ro n ou s  Pro gra m min g<br />\nan d C allba cks<br />\nMost of the time, JavaScript code is ran synchronously.<br />\nThis  means  that a line  of code  is executed,  then the next  one is executed,  and<br />\nso on.<br />\nEverything  is as  you  expect,  and how  it works  in most  programming<br />\nlanguages.<br />\nHowever,  there are times  when you  cannot  just wait  for a lin e of  code  to<br />\nexecute.<br />\nYou can't  just wait  2 seconds  for  a big  file  to load,  and halt  the program<br />\ncompletely.<br />\nYou  can't just  wait  for a networ k resource  to be  downloaded,  before doing<br />\nsomething else.<br />\nJavaScript solves this problem using \tcallbacks\t.\t<br />\nOne of the  simp lest examples  of how  to use  callbacks  is timers.  Timers  are<br />\nnot part  of JavaS cript,  but they  are provided  by the  browser,  and Node.js.  Let<br />\nme talk about one of the timers we have: \t\u00a0setTimeout()\t\u00a0.\t<br />\nThe \t\u00a0setTimeout()\t\u00a0 function  accepts 2 arguments:  a function,  and a number.\t<br />\nThe number is the milliseconds that must pass before the function is ran.<br />\nExample:\t<br />\nsetTimeout\t(() =&gt;\t {\t \t<br />\n  \t// runs after 2 seconds\t \t<br />\n  \tconsole\t.log(\t'inside the function'\t) \t<br />\n}, \t2000\t) \t<br />\nThe  function  containing  the \t\u00a0console.log('inside  the function')\t\u00a0 line  will be\t<br />\nexecuted after 2 seconds.44<br />\n<br />\nIf you  add  a \t\u00a0\tconsole.log('before')\t\u00a0\t prior  to the  function,  and\t<br />\n\u00a0console.log('after')\t\u00a0 after it:\t<br />\nconsole\t.log(\t'before'\t) \t<br />\nsetTimeout\t(() =&gt;\t {\t \t<br />\n  \t// runs after 2 seconds\t \t<br />\n  \tconsole\t.log(\t'inside the function'\t) \t<br />\n}, \t2000\t) \t<br />\nconsole\t.log(\t'after'\t) \t<br />\nYou will see this happening in your console:\t<br />\nbefore\t \t<br />\nafter\t \t<br />\ninside the \tfunction\t<br />\nThe callback function is executed asynchronously.<br />\nThis is a very  common  pattern when  working  with the file system,  the<br />\nnetwork, events, or the DOM in the browser.<br />\nAll of  the  thing s I mentioned  are not  \"core\"  JavaScript,  so they  are not<br />\nexplained  in this  handbook,  but you'll  find lots of examples  in my  other<br />\nhandbooks available at \tflaviocopes.com\t.\t<br />\nHere's how we can implement callbacks in our code.<br />\nWe define a function that accepts a \t\u00a0callback\t\u00a0 parameter, which is a function.\t<br />\nWhen the code is ready to invoke the callback, we invoke it passing the result:\t<br />\nconst\t doSomething = \t(callback\t) =&gt;\t {\t \t<br />\n  \t//do things\t \t<br />\n  \t//do things\t \t<br />\n  \tconst\t result = \t/* .. */\t callback(result)\t \t<br />\n} \t<br />\nCode using this function would use it like this:45<br />\n<br />\ndoSomething(\t(result\t) =&gt;\t {\t \t<br />\n  \tconsole\t.log(result)\t \t<br />\n})\t \t<br />\n23. P ro m ise s<br />\nPromises are an alternative way to deal with asynchronous code.<br />\nAs we  saw  in the  previous  chapter, with callbacks  we'd be passing  a function<br />\nto  another  function  call, that would  be called  when the function  has finished<br />\nprocessing.<br />\nLike this:\t<br />\ndoSomething(\t(result\t) =&gt;\t {\t \t<br />\n  \tconsole\t.log(result)\t \t<br />\n})\t \t<br />\nWhen  the \t\u00a0doSomething()\t\u00a0\t cod e ends,  it calls  the function  received as a a\t<br />\nparameter:\t<br />\nconst\t doSomething = \t(callback\t) =&gt;\t {\t \t<br />\n  \t//do things\t \t<br />\n  \t//do things\t \t<br />\n  \tconst\t result = \t/* .. */\t callback(result)\t \t<br />\n} \t<br />\nThe  main problem  with this approach  is that  if we  need  to use  the result  of<br />\nthis function  in the  rest  of our  code,  all our  code  must  be neste d inside  the<br />\ncallback,  and if we  have  to do 2-3  callbacks  we enter  in what  is usually<br />\ndefined  \"callback  hell\" with many  levels of functions  indented into other<br />\nfunctions:46<br />\n<br />\ndoSomething(\t(result\t) =&gt;\t {\t \t<br />\n  doSomethingElse(\t(anotherResult\t) =&gt;\t {\t \t<br />\n    doSomethingElseAgain(\t(yetAnotherResult\t) =&gt;\t {\t \t<br />\n      \tconsole\t.log(result)\t \t<br />\n    })\t \t<br />\n  })\t \t<br />\n})\t \t<br />\nPromises are one way to deal with this.<br />\nInstead of doing:\t<br />\ndoSomething(\t(result\t) =&gt;\t {\t \t<br />\n  \tconsole\t.log(result)\t \t<br />\n})\t \t<br />\nWe call a promise-based function in this way:\t<br />\ndoSomething().then(\t(result\t) =&gt;\t {\t \t<br />\n  \tconsole\t.log(result)\t \t<br />\n})\t \t<br />\nWe first  call  the function,  then we have  a \t\u00a0then()\t\u00a0 met hod  that  is called  when\t<br />\nthe function ends.<br />\nThe indentation does not matter, but you'll often use this style for clarity.<br />\nIt's common to detect errors using a \t\u00a0catch()\t\u00a0 method:\t<br />\ndoSomething()\t \t<br />\n  .then(\t(result\t) =&gt;\t {\t \t<br />\n    \tconsole\t.log(result)\t \t<br />\n  })\t \t<br />\n  .catch(\t(error\t) =&gt;\t {\t \t<br />\n    \tconsole\t.log(error)\t \t<br />\n  })\t \t<br />\nNow,  to be  able  to use  this  syntax,  the \t\u00a0\tdoSomething()\t\u00a0\t function\t<br />\nimplementation must be a little bit special. It must use the Promises API.47<br />\n<br />\nInstead of declaring it as a normal function:\t<br />\nconst\t doSomething = \t() =&gt;\t {}\t \t<br />\nWe declare it as a promise object:\t<br />\nconst\t doSomething = \tnew\t Promise\t()\t \t<br />\nand we pass a function in the Promise constructor:\t<br />\nconst\t doSomething = \tnew\t Promise\t(() =&gt;\t {})\t \t<br />\nThis function  receives  2 parameters.  The first  is a function  we call to  resolve<br />\nthe promise, the second is a function we call to reject the promise.\t<br />\nconst\t doSomething = \tnew\t Promise\t((resolve, reject\t) =&gt;\t {})\t \t<br />\nResolving  a promise  means completing  it successfully  (which results  in<br />\ncalling the \t\u00a0then()\t\u00a0 method in who uses it).\t<br />\nRejecting  a promise  means ending it with  an error  (which  results in calling<br />\nthe \t\u00a0catch()\t\u00a0 method in who uses it).\t<br />\nHere's how:\t<br />\nconst\t doSomething = \tnew\t Promise\t( \t<br />\n  \t(resolve, reject\t) =&gt;\t {\t \t<br />\n    \t//some code\t \t<br />\n    \tconst\t success = \t/* ... */\t \t<br />\n    \tif\t (success) {\t \t<br />\n      resolve(\t'ok'\t) \t<br />\n    } \telse\t {\t \t<br />\n      reject(\t'this error occurred'\t) \t<br />\n    }\t \t<br />\n  }\t \t<br />\n) 48<br />\n<br />\nWe can  pass  a parameter  to the  resolve  and reject  functions,  of any  type  we<br />\nwant.<br />\n24 . A sy nc a n d A w ait<br />\nAsync functions are a higher level abstraction over promises.<br />\nAn async function returns a promise, like in this example:\t<br />\nconst\t getData = \t() =&gt;\t {\t \t<br />\n  \treturn\t new\t Promise\t((resolve, reject\t) =&gt;\t {\t \t<br />\n    \tsetTimeout\t(() =&gt;\t resolve(\t'some data'\t), \t2000\t) \t<br />\n  })\t \t<br />\n} \t<br />\nAny  code  that wants  to use  this  function  will use the \t\u00a0await\t\u00a0 keyword  right\t<br />\nbefore the function:\t<br />\nconst\t data = \tawait\t getData()\t \t<br />\nand doing  so, any data  returned  by the  promise  is going  to be  assigned  to the<br />\n\u00a0data\t\u00a0 variable.\t<br />\nIn our case, the data is the \"some data\" string.<br />\nWith  one particular  caveat: whenever  we use  the \t\u00a0await\t\u00a0 keyword,  we must\t<br />\ndo so inside a function defined as \t\u00a0async\t\u00a0.\t<br />\nLike this:\t<br />\nconst\t doSomething = \tasync\t () =&gt; {\t \t<br />\n  \tconst\t data = \tawait\t getData()\t \t<br />\n  \tconsole\t.log(data)\t \t<br />\n} \t<br />\nThe  Async/await  duo allows  us to have  a cleaner  code and a simple  mental<br />\nmodel to work with asynchronous code.49<br />\n<br />\nAs you  can see in the  example  above,  our code  looks  very simple.  Compare  it<br />\nto code using promises, or callback functions.<br />\nAnd this is  a very  simple  example,  the major  benefits  will arise  when  the code<br />\nis much more complex.<br />\nAs an example,  here's how you would  get a JSON  resource  using the Fetch<br />\nAPI, and parse it, using promises:\t<br />\nconst\t getFirstUserData = \t() =&gt;\t {\t \t<br />\n  \t// get users list\t \t<br />\n  \treturn\t (\t \t<br />\n    fetch(\t'/users.json'\t) \t<br />\n      \t// parse JSON\t \t<br />\n      .then(\t(response\t) =&gt;\t response.json())\t \t<br />\n      \t// pick first user\t \t<br />\n      .then(\t(users\t) =&gt;\t users[\t0])\t \t<br />\n      \t// get user data\t \t<br />\n      .then(\t(user\t) =&gt;\t fetch(\t`/users/\t${user.name}\t`))\t \t<br />\n      \t// parse JSON\t \t<br />\n      .then(\t(userResponse\t) =&gt;\t userResponse.json())\t \t<br />\n  )\t \t<br />\n} <br />\n <br />\ngetFirstUserData()\t \t<br />\nAnd here is the same functionality provided using await/async:50<br />\n<br />\nconst\t getFirstUserData = \tasync\t () =&gt; {\t \t<br />\n  \t// get users list\t \t<br />\n  \tconst\t response = \tawait\t fetch(\t'/users.json'\t) \t<br />\n  \t// parse JSON\t \t<br />\n  \tconst\t users = \tawait\t response.json()\t \t<br />\n  \t// pick first user\t \t<br />\n  \tconst\t user = users[\t0] \t<br />\n  \t// get user data\t \t<br />\n  \tconst\t userResponse = \tawait\t fetch(\t`/users/\t${user.name}\t`) \t<br />\n  \t// parse JSON\t \t<br />\n  \tconst\t userData = \tawait\t userResponse.json()\t \t<br />\n  \treturn\t userData\t \t<br />\n} <br />\n <br />\ngetFirstUserData()\t \t<br />\n25. V aria bl es  sco pe<br />\nWhen I introduced variables, I talked about using \t\u00a0const\t\u00a0, \t\u00a0let\t\u00a0, and \t\u00a0var\t\u00a0.\t<br />\nScope is the set of variables that's visible to a part of the program.<br />\nIn JavaScript we have a global scope, block scope and function scope.<br />\nIf a vari able  is defined  outside of a function  or block,  it's attached  to the<br />\nglobal  object  and it has  a global  scope,  which means  it's availa ble in every<br />\npart of a program.<br />\nThere  is a  very  important  difference between \t\u00a0var\t\u00a0\t, \t\u00a0\tlet\t\u00a0\t and \t\u00a0\tconst\t\u00a0\t<br />\ndeclarations.<br />\nA  variable  defined as \t\u00a0var\t\u00a0\t inside  a function  is only  visible  inside that\t<br />\nfunction. Similarly to a function arguments:<br />\nA variable  defined as \t\u00a0const\t\u00a0 or \t\u00a0let\t\u00a0  on  the  other  hand is only  visible  inside\t<br />\nthe \tblock\t where it is defined.\t<br />\nA block  is a set  of instructions  grouped into a pair  of curly  braces,  like the<br />\nones we can find inside an \t\u00a0if\t\u00a0 statement or a \t\u00a0for\t\u00a0 loop. And a function, too.51<br />\n<br />\nIt's important  to understand  that a block  does not define  a new  scope  for<br />\n\u00a0var\t\u00a0, but it does for \t\u00a0let\t\u00a0 and \t\u00a0const\t\u00a0.\t<br />\nThis has very practical implications.<br />\nSuppose you define a \t\u00a0var\t\u00a0 variable inside an \t\u00a0if\t\u00a0 conditional in a function\t<br />\nfunction\t getData\t() \t{ \t<br />\n  \tif\t (\ttrue\t) {\t \t<br />\n    \tvar\t data = \t'some data'\t \t<br />\n    \tconsole\t.log(data)\t \t<br />\n  }\t \t<br />\n} \t<br />\nIf you call this function, you'll get \t\u00a0some data\t\u00a0 printed to the console.\t<br />\nIf you try to move console.log(data) after the \t\u00a0if\t\u00a0, it still works:\t<br />\nfunction\t getData\t() \t{ \t<br />\n  \tif\t (\ttrue\t) {\t \t<br />\n    \tvar\t data = \t'some data'\t \t<br />\n  }\t \t<br />\n  \tconsole\t.log(data)\t \t<br />\n} \t<br />\nBut if you switch \t\u00a0var data\t\u00a0 to \t\u00a0let data\t\u00a0:\t<br />\nfunction\t getData\t() \t{ \t<br />\n  \tif\t (\ttrue\t) {\t \t<br />\n    \tlet\t data = \t'some data'\t \t<br />\n  }\t \t<br />\n  \tconsole\t.log(data)\t \t<br />\n} \t<br />\nYou'll get an error: \t\u00a0ReferenceError: data is not defined\t\u00a0.\t<br />\nThis is because \t\u00a0\tvar\t\u00a0\t is  function  scoped, and there's  a special  thing\t<br />\nhappening  here, called  hoisting.  In short,  the \t\u00a0var\t\u00a0 declaration  is moved  to\t<br />\nthe top  of  the  closest  function  by JavaScript,  before it runs  the code.  More  or<br />\nless this is what the function looks like to JS, internally:52<br />\n<br />\nfunction\t getData\t() \t{ \t<br />\n  \tvar\t data\t \t<br />\n  \tif\t (\ttrue\t) {\t \t<br />\n    data = \t'some data'\t \t<br />\n  }\t \t<br />\n  \tconsole\t.log(data)\t \t<br />\n} \t<br />\nThis is why  you can also \t\u00a0console.log(data)\t\u00a0 at  the  top  of a function,  even\t<br />\nbefore it's declared, and you'll get \t\u00a0undefined\t\u00a0 as a value for that variable:\t<br />\nfunction\t getData\t() \t{ \t<br />\n  \tconsole\t.log(data)\t \t<br />\n  \tif\t (\ttrue\t) {\t \t<br />\n    \tvar\t data = \t'some data'\t \t<br />\n  }\t \t<br />\n} \t<br />\nbut if you  switch  to \t\u00a0let\t\u00a0,  you 'll get  an error \t\u00a0ReferenceError:  data is not\t<br />\ndefined\t\u00a0, because hoisting does not happen to \t\u00a0let\t\u00a0 declarations.\t<br />\n\u00a0const\t\u00a0 follows the same rules as \t\u00a0let\t\u00a0: it's block scoped.\t<br />\nIt can  be tricky  at first,  but once you  realize  this difference,  then you'll  see<br />\nwhy \t\u00a0var\t\u00a0 is  considered  a bad  practice  nowadays  compared  to \t\u00a0let\t\u00a0: they  do\t<br />\nhave  fewer moving  parts, and their  scope  is limited  to the  block , which  also<br />\nmakes  them very good  as loop  variables,  because they cease  to exist  after  a<br />\nloop has ended:\t<br />\nfunction\t doLoop\t() \t{ \t<br />\n  \tfor\t (\tvar\t i = \t0; i &lt; \t10\t; i++) {\t \t<br />\n    \tconsole\t.log(i)\t \t<br />\n  }\t \t<br />\n  \tconsole\t.log(i)\t \t<br />\n} <br />\n <br />\ndoLoop()\t \t<br />\nWhen you exit the loop, \t\u00a0i\u00a0 will be a valid variable with value 10.53<br />\n<br />\nIf you  switch  to \t\u00a0let\t\u00a0, if  you  try to \t\u00a0console.log(i)\t\u00a0 w ill  result  in an error\t<br />\n\u00a0ReferenceError: i is not defined\t\u00a0.54<br />\n<br />\nConclusion<br />\nThanks a lot for reading this book.<br />\nFor more, head over to \tflaviocopes.com\t.\t<br />\nSend any feedback, errata or opinions at \tflavio@flaviocopes.com55",
    "created_at": "2024-08-30T14:47:10+00:00",
    "updated_at": "2024-08-30T14:47:10+00:00",
    "published_at": "2023-04-23T13:09:45+00:00",
    "published_by": ["Flavio Copes"],
    "annotations": [],
    "mimetype": "application/pdf",
    "reading_time": 40,
    "domain_name": "flaviocopes.pages.dev",
    "http_status": "200",
    "headers": {
      "date": "Fri, 30 Aug 2024 14:47:10 GMT",
      "content-type": "application/pdf",
      "content-length": "591790",
      "connection": "keep-alive",
      "access-control-allow-origin": "*",
      "cache-control": "public, max-age=0, must-revalidate",
      "etag": "\"f0f196d204a4b68ac35ce07ab3471561\"",
      "referrer-policy": "strict-origin-when-cross-origin",
      "x-content-type-options": "nosniff",
      "report-to": "{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=WWxRz6z9SVnZZWLwJGQ6mwt6uLMpXTqtUa9Dud3ComnOYayNzOjEeLuyJfFxT2/iVhEYswAYBbUkXWC1V+LZT6ybiVeAH07pDXab3DJAcsMywn8c3LWe/2qGehqyHDSnG5qp4RdEixU1OxlqdGVl4Lgv4EM=\"}],\"group\":\"cf-nel\",\"max_age\":604800}",
      "nel": "{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}",
      "server": "cloudflare",
      "cf-ray": "8bb59311edf376a7-LHR",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": [],
    "is_public": false,
    "id": 97,
    "title": "How to Build a Task Manager CLI Tool with Node.js",
    "url": "https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/",
    "given_url": "https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/",
    "content": "<p>Hello everyone \ud83d\udc4b In this tutorial, you'll learn how to make a simple Task Manager CLI (Command Line Interface) tool. This means you can use commands to Create, View, Update, or Delete your todos.</p><p>We will be building this CLI tool using NodeJS. We'll also use MongoDB as the database to store all our to-dos. Finally, we'll use a few helpful packages from npm:</p>\n<ul><li><strong><a href=\"https://www.npmjs.com/package/commander\">commander</a></strong>: This helps us to build the CLI tool.</li>\n<li><strong><a href=\"https://www.npmjs.com/package/chalk\">chalk</a></strong>: This makes messages in the terminal colorful and easy to read.</li>\n<li><strong><a href=\"https://www.npmjs.com/package/inquirer\">inquirer</a></strong>: This lets us ask the user for input.</li>\n<li><strong><a href=\"https://www.npmjs.com/package/ora\">ora</a></strong>: This makes the terminal show nice spinning animations.</li>\n</ul><p>Before we dive in, I want you to know that you can find the complete code for this project on GitHub. If you're ever unsure about something in the code, you can always refer to the final version there.</p>\n<p>Here is the link to the Repository: <a href=\"https://github.com/KrishJ4856/task-manager-cli-fcc\">Task Manager CLI Tool Repo</a>.</p>\n<h2 id=\"table-of-contents-\">Table Of Contents:</h2>\n<ul><li><a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#project-setup\">Project Setup</a>\n1. <a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#how-to-create-the-package-json-file\">How to create the <code>package.json</code> file</a>\n2. <a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#how-to-install-dependencies\">How to install dependencies</a>\n3. <a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#how-to-convert-commonjs-modules-to-es-modules\">How to convert CommonJS modules to ES modules</a>\n4. <a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#how-to-create-the-folder-structure\">How to create the folder structure</a></li>\n<li><a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#how-to-connect-to-the-database\">How to Connect to the Database</a>\n1. <a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#how-to-obtain-a-mongodb-connection-string\">How to obtain a MongoDB connection string</a>\n2. <a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#code-for-connecting-to-the-database\">Code for connecting to the database</a></li>\n<li><a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#how-to-create-a-mongoose-model\">How to Create a Mongoose Model</a></li>\n<li><a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#working-on-crud-operations\">Working on CRUD Operations</a>\n1. <a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#how-to-create-todos\">How to create Todos</a>\n2. <a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#how-to-read-todos\">How to reading Todos</a>\n3. <a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#how-to-delete-todos\">How to deleting Todos</a>\n4. <a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#how-to-update-todos\">How to update Todos</a></li>\n<li><a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#how-to-write-the-cli-entry-point-using-commander\">How to Write the CLI Entry Point using Commander</a></li>\n<li><a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#how-to-test-the-cli-tool\">How to Test the CLI tool</a></li>\n<li><a href=\"https://www.freecodecamp.org/news/nodejs-tutorial-build-a-task-manager-cli-tool/#conclusion\">Conclusion</a></li>\n</ul><h1 id=\"project-setup\">Project Setup</h1>\n<p>Welcome to the first section of this handbook! Here, we will be setting up our project.</p>\n<p>This involves a few simple steps: creating a new directory, setting up the <code>package.json</code> file, and installing necessary npm packages like chalk, inquirer, commander, and others we'll talk about soon. We'll also organize the project by creating folders.</p>\n<p>Before we dive in, let's ensure you have NodeJS installed on your system. You can get the latest LTS version from this website: <a href=\"https://nodejs.org/en\">https://nodejs.org/en</a>.</p>\n<p>To check if Node is properly installed, type this command: <code>node --version</code>. If you see a version number, you're all set! If not, you need to troubleshoot the errors.</p>\n<p>Once NodeJS is up and running, create a new folder named \"todo.\" You can use your favorite code editor (I prefer Visual Studio Code) or follow these steps in your terminal:</p>\n<ol><li>Make a new folder: <code>mkdir todo</code></li>\n<li>Go inside the folder: <code>cd todo</code></li>\n<li>Open it in your code editor: <code>code .</code></li>\n</ol><h2 id=\"how-to-create-the-package-json-file\">How to Create the <code>package.json</code> File</h2>\n<p>The first and foremost step is setting up the <code>package.json</code> file. But don't worry about doing it manually. You can save time by using this command:</p>\n<pre><code class=\"language-bash\">npm init --yes</code></pre>\n<p>Once this step is done, let's move on to the next step and get all the necessary things for our project.</p>\n<h2 id=\"how-to-install-dependencies\">How to Install Dependencies</h2>\n<p>To build this project, we'll need some packages. Just run this simple command to get them all:</p>\n<pre><code class=\"language-bash\">npm i commander inquirer chalk ora mongoose nanoid dotenv</code></pre>\n<h2 id=\"how-to-convert-commonjs-modules-to-es-modules\">How to Convert CommonJS Modules to ES Modules</h2>\n<p>Before you continue, let's make a little change in the <code>package.json</code> file. Remove this line: <code>\"main\": \"index.js\"</code>, and add these two lines instead:</p>\n<pre><code class=\"language-json\">\"exports\": \"./index.js\",\n \"type\": \"module\",</code></pre>\n<p>With these changes, we're converting our project from CommonJS Modules to ES Modules. This means we'll use <code>import</code> instead of <code>require()</code> to bring in modules, and <code>export</code> instead of <code>module.exports</code> to share things between files.</p>\n<p>If you want to dive deeper into different types of modules in JavaScript and how they work, check out this tutorial on FreeCodeCamp: <a href=\"https://www.freecodecamp.org/news/modules-in-javascript/\">Modules in JavaScript - CommonJS and ESmodules Explained.</a></p>\n<h2 id=\"how-to-create-the-folder-structure\">How to Create the Folder Structure</h2>\n<p>Now, let's organize our project by setting up a smart folder structure. This means we'll make folders to neatly hold our JavaScript files. This step's really important. It makes things easy to manage and develops smoothly.</p>\n<p>We're creating 3 folders and 2 files in the main folder:</p>\n<p><strong>First folder:</strong> <code>commands</code>. Inside this folder, you'll create 4 files. The names of the files and the description of the code they will contain is mentioned below:</p>\n<ul><li><code>addTask.js</code>: Code for Creating a new todo.</li>\n<li><code>deleteTask.js</code>: Code for Deleting a todo.</li>\n<li><code>readTask.js</code>: Code for Displaying all the todos.</li>\n<li><code>updateTask.js</code>: Code for Updating a todo.</li>\n</ul><p><strong>Second folder:</strong> <code>db</code>. Inside this folder, add a file named <code>connectDB.js</code>. This file will contain the code for connecting to the MongoDB database and disconnecting when needed.</p>\n<p><strong>Third folder:</strong> <code>schema</code>. Inside it, make a file named <code>TodoSchema.js</code>. This file stores the Mongoose Schema and Model. Basically, a blue print for our tasks, that is how our tasks will look.</p>\n<p><strong>First file:</strong> <code>.env</code>. Create this file inside the root directory / main folder of the project. This is where you'll put your MongoDB Connection string.</p>\n<p><strong>Second file:</strong> Create the <code>index.js</code> file in the root directory itself which will serve as the entry point of our project. It's like the project's front \u2013 where everything starts.</p>\n<p>Once we are done, your project's folders should look something like this:</p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img src=\"https://www.freecodecamp.org/news/content/images/2023/08/image-141.png\" class=\"kg-image\" alt=\"Image showing the folder structure for the project\" width=\"263\" height=\"535\" referrerpolicy=\"no-referrer\" /><figcaption>Project folder structure</figcaption></figure><h1 id=\"how-to-connect-to-the-database\">How to Connect to the Database</h1>\n<p>Now that you've successfully set up the project, it's time to dive into the exciting part.</p>\n<h2 id=\"how-to-obtain-a-mongodb-connection-string\">How to Obtain a MongoDB Connection String</h2>\n<p>To keep track of all our todos, we need a place to store them. That's where MongoDB Atlas comes in. It's like a special service that handles databases for us. The best part? You can start using it for free (no credit card needed).</p>\n<p>To connect to it, all you need is something called a connection string. If MongoDB Atlas is new to you, don't worry. Check out this easy-to-follow article: <a href=\"https://www.freecodecamp.org/news/get-started-with-mongodb-atlas/\">MongoDB Atlas Tutorial - How to Get Started</a>. It gives you just enough info to start using Atlas. By the time you're done, you'll know how to get what you need, including the connection string.</p>\n<p>Once you have that connection string, create a new thing called an \"environment variable.\" It's like a secret code your project uses. Open the <code>.env</code> file and make a line like this: <code>MONGO_URI=</code>. After the <code>=</code>, put in your connection string.</p>\n<p>Remember: Replace <code>&lt;password&gt;</code> with your actual password and <code>&lt;username&gt;</code> with the username of your database admin in the connection string. Also, add <code>todos</code> between <code>/?</code> in the string. When you're done, your <code>.env</code> file should look something like this:</p>\n<pre><code class=\"language-text\">MONGO_URI=mongodb+srv://&lt;username&gt;:&lt;password&gt;@cluster0.k5tmsld.mongodb.net/todos?retryWrites=true&amp;w=majority</code></pre>\n<h2 id=\"code-for-connecting-to-the-database\">Code for Connecting to the Database</h2>\n<p>Now, let's dive into the code that connects our tool to the MongoDB database. Open up the <code>./db/connectDB.js</code> file and let's write some code to make this connection happen.</p>\n<p>First things first, we need to bring in the <code>dotenv</code> package that we grabbed earlier when we were setting up the project and invoke the <code>config()</code> method on <code>dotenv</code>. This helps us load environment variables from the <code>.env</code> file. Here's how you do it:</p>\n<pre><code class=\"language-javascript\">import dotenv from 'dotenv'\ndotenv.config()</code></pre>\n<p>Next up, we want to import a few more packages that we'll use here. These are <code>mongoose</code>, <code>ora</code>, and <code>chalk</code>:</p>\n<pre><code class=\"language-javascript\">import mongoose from 'mongoose'\nimport ora from 'ora'\nimport chalk from 'chalk'</code></pre>\n<p><strong>Note:</strong> <code>mongoose</code> is an Object Data Modeling (ODM) library for MongoDB. It provides a higher-level abstraction making it easier to do things like adding, reading, updating, and deleting stuff from the MongoDB database.</p>\n<p>Now, let's get into the real action. We'll define two functions here: <code>connectDB()</code> and <code>disconnectDB()</code>.</p>\n<p>The <code>connectDB()</code> function will contain the code to help connect our NodeJS Application to the M0ngoDB Database using <code>mongoose</code>. It's like a phone call connecting them. If we don't establish a connection first, our app won't be able to interact with the database and perform the various CRUD operations.</p>\n<p>The <code>disconnectDB()</code> function does the opposite. It's like hanging up the phone after our app is done talking to the database. If we don't disconnect, it's like keeping the call going even after we're done.</p>\n<p>Failing to disconnect from the database after we are done interacting with it could cause resource leaks. These may cause your app to slow down or potentially crash over time.</p>\n<p>Let me show you the code for both the functions:</p>\n<pre><code class=\"language-javascript\">export async function connectDB(){\n    try {\n        const spinner = ora('Connecting to the database...').start()\n        await mongoose.connect(process.env.MONGO_URI)\n        spinner.stop()\n        console.log(chalk.greenBright('Successfully connected to database!!!'))   \n    } catch (error) {\n        console.log(chalk.redBright('Error: '), error);\n        process.exit(1) \n    }\n}\nexport async function disconnectDB(){\n    try {\n        await mongoose.disconnect()\n        console.log(chalk.greenBright('Disconnected from the database.'))\n    } catch(err) {\n        console.log(chalk.redBright('Error: '), error);\n        process.exit(1) \n    }\n}</code></pre>\n<p>This is a lot of code to digest at one time, so let me explain this for you:</p>\n<p>In the <code>connectDB()</code> function, the line <code>mongoose.connect(process.env.MONGO_URI)</code> helps us actually connect to the database using the connection string.</p>\n<p>Remember the <code>.env</code> file? We're using its info here. To load the <code>MONGO_URI</code> variable, we use the <code>dotenv</code> package and call the <code>config()</code> function and then we can access it using <code>process.env.MONGO_URI</code>.</p>\n<p>Since <code>mongoose.connect()</code> returns a promise, we use the <code>await</code> keyword before it to make sure we proceed only when this returned promise gets resolved.</p>\n<p>It is possible to encounter some errors while running this code, so we have wrapped the entire code in a <code>try...catch()</code> block to make sure any errors which pop up are handled properly in the <code>catch()</code> block.</p>\n<p>The <code>ora</code> package helps us show a spinner while we connect to the database. Once successfully connected, we stop the spinner and show a happy message in green using <code>chalk</code>.</p>\n<p>If you notice, we are doing the same thing in the <code>disconnectDB()</code> function. But, instead of connecting, we disconnect from the database using <code>mongoose.disconnect()</code>. We wrap it in a similar try-catch block, and again we show colorful messages using <code>chalk</code>.</p>\n<p>We use <code>export</code> before these functions to let other parts of the project use them. Don't forget to add these two temporary lines at the end of the file for now:</p>\n<pre><code class=\"language-javascript\">connectDB()\ndisconnectDB()</code></pre>\n<p>Now, you can run the <code>connectDB.js</code> file using the command: <code>node ./db/connectDB.js</code> and expect to see this in the console:</p>\n<figure class=\"kg-card kg-image-card kg-width-wide kg-card-hascaption\"><img src=\"https://www.freecodecamp.org/news/content/images/2023/08/rec1.gif\" class=\"kg-image\" alt=\"GIF showing the output messages shown in the terminal when the connectDB.js file is executed\" width=\"1900\" height=\"706\" referrerpolicy=\"no-referrer\" /><figcaption>Output seen on the terminal when <code>connectDB.js</code> file is executed. It shows how our code successfully connects to the database and disconnects from it showing appropriate console messages when we invoke the <code>connectDB()</code> and <code>disconnectDB()</code> methods.</figcaption></figure><p>Connecting to the database is a big step, but you're making great progress! Before moving ahead, make sure you remove those 2 lines you added at the end because they were added just to check if our connection and disconnection functions are working as expected.</p>\n<h1 id=\"how-to-create-a-mongoose-model\">How to Create a Mongoose Model</h1>\n<p>A Mongoose model is like a tool that helps us talk to the database. With it, we can easily do things like add, read, update, and delete tasks. It's like a helpful assistant that understands how to communicate with the database.</p>\n<p>To make this model, we need something called a Schema. It basically defines what each task should look like. Think of it as a blueprint or a set of instructions that guides how each task is created, what information it should have, and how that information is organized. It's like setting rules for how our tasks are stored in the database.</p>\n<p>We're going to build this Schema in the <code>./schema/TodoSchema.js</code> file. Open it up, and let's dive in. First, we need two special tools: <code>mongoose</code> and <code>nanoid</code>. We'll use <code>nanoid</code> to make short and unique IDs for each task.</p>\n<p>Type these lines to import the tools:</p>\n<pre><code class=\"language-javascript\">import mongoose from 'mongoose'\nimport {nanoid} from 'nanoid'</code></pre>\n<p>Now, we use the <code>mongoose.Schema()</code> method to create our Schema. Here's the code for it:</p>\n<pre><code class=\"language-javascript\">const TodoSchema = new mongoose.Schema({\n    name: {\n        type: String,\n        required: true,\n        trim: true\n    },\n    detail: {\n        type: String,\n        required: true,\n        trim: true\n    },\n    status: {\n        type: String,\n        required: true,\n        enum: ['completed', 'pending'],\n        default: 'pending',\n        trim: true\n    },\n    code: {\n        type: String,\n        required: true,\n        default: 'code',\n        trim: true\n    }\n}, {timestamps: true})</code></pre>\n<p>Any task created using this Schema will have the following properties:</p>\n<ul><li><code>name</code>: This is a short title for the task. The <code>type: String</code> emphasizes that it can only be text (a String). The <code>required: true</code> specifies that we have to provide this when creating a task and the <code>trim: true</code> specifies that any extra spaces at the beginning or at the end of the task's name will be removed before saving it in the database.</li>\n<li><code>detail</code>: This is a description of the task. It has exactly the same properties as <code>name</code>.</li>\n<li><code>status</code>: This shows if the task is done or not. The <code>enum: ['completed', 'pending']</code> property specifies that it can only be <code>completed</code> or <code>pending</code>. The <code>default: 'pending'</code> property specifies that if you do not set the <code>status</code> property while creating the task, it is assumed to be <code>pending</code>.</li>\n<li><code>code</code>: This is a short and unique ID for the task. We are giving it a default value of <code>code</code>. This value is just a placeholder and doesn't have any real significance in terms of identifying the task. Don't worry, we'll change it soon.</li>\n<li>The <code>{timestamps: true}</code> is a configuration option that automatically adds timestamp fields like <code>createdAt</code> and <code>updatedAt</code> to the tasks when they are created or modified.</li>\n</ul><p>We have successfully defined our Schema \u2013 but you may wonder if the <code>code</code> property was supposed to be unique for every task. Currently it stores the same value, that is \"<strong>code</strong>\", for every single task. Don't worry, we'll fix that. Add this code at the end:</p>\n<pre><code class=\"language-javascript\">TodoSchema.pre('save', function(next){\n    this.code = nanoid(10)\n    next()\n})</code></pre>\n<p>Here, <code>TodoSchema.pre('save', function(){....})</code> helps us defining a pre-save hook/function which runs every time before a task gets saved in the database.</p>\n<p>Inside the function, we use <code>nanoid(10)</code> to create a unique, 10 character long ID for the task and put this generated id in the <code>code</code> field of the task (we can actually access any property/field of the task using the <code>this</code> keyword).</p>\n<p>The last line of code: <code>next()</code> basically tells the computer that we are done and it can finally save the document now. With this, we generate a unique ID for every single task created using the <code>nanoid</code> package.</p>\n<p>Lastly, we'll make a <code>Todos</code> model using this <code>TodoSchema</code> blueprint and export it. This is how:</p>\n<pre><code class=\"language-javascript\">const Todos = mongoose.model('Todos', TodoSchema)\nexport default Todos</code></pre>\n<p>And there you go! We've built our Schema and Model. Now let's proceed to the next section of this tutorial.</p>\n<h1 id=\"how-to-work-on-crud-operations\">How to Work on CRUD Operations</h1>\n<p>Congrats for having successfully followed up till here. So far, we have done 3 things:</p>\n<ol><li>We've set up the project</li>\n<li>We've connected to the MongoDB database, and</li>\n<li>We've created the Mongoose Model</li>\n</ol><p>Up next, we will be working on the various CRUD operations like Creating, Reading, Updating, and Deleting the tasks from our database.</p>\n<h2 id=\"how-to-create-todos\">How to Create Todos</h2>\n<p>Now, let's start with creating tasks in our project. At first, I planned for a simple process where you add one task to the database at a time. This means when you tell the tool to create a task, it asks you once for the task's details\u2014like the name and description\u2014and then it saves the task.</p>\n<p>But then I realized, what if someone wants to add many tasks quickly? Doing it one by one isn't cool. There are two issues:</p>\n<ol><li>If you have, say, 5 tasks in your mind, you'd have to type the create command 5 times\u2014one for each task.</li>\n<li>After entering task details, you wait a bit because saving stuff to the database can take time, especially if the internet is slow.</li>\n</ol><p>These problems aren't fun at all! To fix this, we need a way to add multiple tasks in one go. Here's how we'll do it:</p>\n<p>After you put in the task's name and description, we'll ask if you want to add more tasks. If you enter yes, we continue the process from the start (asking you to again enter the name and description of the next task). But if you enter no, the question prompting process will stop and all the entered tasks get saved to the database together. This way, you can create many tasks without the hassle of doing it one by one. It's all about making things smooth for you.</p>\n<p>We'll be writing some code in the <code>./commands/addTask.js</code> file. This is where the magic happens. Let's break it down step by step:</p>\n<p>First, we import the necessary packages and functions we've created earlier. You can add these lines of code to do that:</p>\n<pre><code class=\"language-javascript\">import inquirer from \"inquirer\";\nimport { connectDB, disconnectDB } from '../db/connectDB.js'\nimport Todos from \"../schema/TodoSchema.js\";\nimport ora from \"ora\";\nimport chalk from \"chalk\";</code></pre>\n<p>Now, we create an asynchronous function called <code>input()</code> to gather the task's name and details from the user. Here's how it goes:</p>\n<pre><code class=\"language-javascript\">async function input(){\n    const answers = await inquirer.prompt([\n        { name: 'name', message: 'Enter name of the task:', type: 'input' },\n        { name: 'detail', message: 'Enter the details of the task:', type: 'input' },\n    ])\n    return answers\n}</code></pre>\n<p>In simple terms, <code>input()</code> uses <code>inquirer</code> to ask the user for the task's name and details. The answers are then returned as an object.</p>\n<p>But wait, you might wonder what <code>inquirer.prompt()</code> is doing. It's a method in the <code>inquirer</code> package that asks questions and waits for responses. You provide an array of question objects, each containing details like the message to display to the user and the type of question. The function returns a Promise, so we use <code>await</code> to wait for the user's answers which get's returned as an object.</p>\n<p>Here, <code>{ name: 'name', message: 'Enter name of the task:', type: 'input' }</code> is the first question that will be asked to the user. The <code>message</code> property contains the question that will be displayed to the user. In our case, it is: <code>Enter the name of the task</code>. The user will be prompted to input some text (a String), since this question is of <code>type: 'input'</code>. The <code>name: 'name'</code> signifies that the user's answer to this question will be assigned to a property named \u2013 <code>name</code> in the answer's object.</p>\n<p>The next object is the second question that will be asked to the user. In this case, a message will be displayed in the terminal: <code>Enter the details of the task</code> and the user's response will be assigned to a property called <code>detail</code> in the answer's object.</p>\n<p>To see how the above code works, you can add these 2 lines of code at the end of the file:</p>\n<pre><code class=\"language-javascript\">const output = await input()\nconsole.log(output)</code></pre>\n<p>Now, save the file and run the code using the command: <code>node ./commands/addTask.js</code>. This is what you will see when you run the code:</p>\n<figure class=\"kg-card kg-image-card kg-width-wide kg-card-hascaption\"><img src=\"https://www.freecodecamp.org/news/content/images/2023/08/image-166.png\" class=\"kg-image\" alt=\"Image of the terminal showing what `inquirer.prompt()` function returns as output.\" srcset=\"https://www.freecodecamp.org/news/content/images/size/w600/2023/08/image-166.png 600w, https://www.freecodecamp.org/news/content/images/size/w1000/2023/08/image-166.png 1000w, https://www.freecodecamp.org/news/content/images/2023/08/image-166.png 1003w\" width=\"1003\" height=\"260\" referrerpolicy=\"no-referrer\" /><figcaption>Output seen on terminal when we just invoke the <code>input()</code> method and execute the code. It shows how <code>inquirer.js</code> returns user's answers after the question prompting process.</figcaption></figure><p>We can now proceed with the rest of the code and you can remove the last 2 lines which you just added.</p>\n<p>Now, let's create a function named <code>askQuestions()</code> to gather multiple tasks. This is how it looks:</p>\n<pre><code class=\"language-javascript\">const askQuestions = async() =&gt; {\n    const todoArray = []\n    let loop = false\n    do{\n        const userRes = await input()\n        todoArray.push(userRes)\n        const confirmQ = await inquirer.prompt([{ name: 'confirm', message: 'Do you want to add more tasks?', type: 'confirm' }])\n        if(confirmQ.confirm){\n            loop = true\n        } else {\n            loop = false\n        }\n    } while(loop)\n    return todoArray\n}</code></pre>\n<p>In <code>askQuestions()</code>, we set up a loop that keeps asking for tasks until the user decides to stop. We gather each task from the user by calling the <code>input()</code> function, and the returned user's response gets pushed to the <code>todoArray</code>.</p>\n<p>Then, we ask if the user wants to add more tasks using a confirmation question. If they say yes, we set <code>loop</code> to <code>true</code> and the loop continues \u2013 otherwise, <code>loop</code> becomes <code>false</code>, and the loop ends. Finally, we return the array of tasks, that is <code>todoArray</code>.</p>\n<p>You can test this by adding these lines of code at the end of the file:</p>\n<pre><code class=\"language-javascript\">const output = await askQuestions()\nconsole.log(output)</code></pre>\n<p>When you run the file using <code>node ./commands/addTask.js</code>, you'll see a similar result to what you see here:</p>\n<figure class=\"kg-card kg-image-card kg-width-wide kg-card-hascaption\"><img src=\"https://www.freecodecamp.org/news/content/images/2023/08/image-167.png\" class=\"kg-image\" alt=\"Image of the terminal showing the array of tasks/todos returned by `askQuestions()` function\" srcset=\"https://www.freecodecamp.org/news/content/images/size/w600/2023/08/image-167.png 600w, https://www.freecodecamp.org/news/content/images/2023/08/image-167.png 941w\" width=\"941\" height=\"533\" referrerpolicy=\"no-referrer\" /><figcaption>Output seen on terminal when we invoke the <code>askQuestions()</code> method and execute the code. It shows the array of tasks returned by the method when the user does not want to continue adding more tasks.</figcaption></figure><p>We are almost there! Before proceeding, do not forget to remove the last 2 lines you added just now. After you've done that, let's move ahead.</p>\n<p>Up to this point, we have successfully managed to collect all the tasks the user wants to create.</p>\n<p>Now, let's define the last piece of the puzzle: the <code>addTask()</code> function. This function brings everything together and completes the task creation process. Here's the full code:</p>\n<pre><code class=\"language-javascript\">export default async function addTask() {\n    try {\n        // calling askQuestions() to get array of todo's\n        const userResponse = await askQuestions()\n        // connecting to the database\n        await connectDB()\n        // Displaying a spinner with the following text message using ora \n        let spinner = ora('Creating the todos...').start()\n        // looping over every todo in the userResponse array\n        // and saving each todo in the database\n        for(let i=0; i&lt;userResponse.length; i++){\n            const response = userResponse[i]\n            await Todos.create(response)\n        }\n        // Stopping the spinner and displaying the success message\n        spinner.stop()\n        console.log(\n            chalk.greenBright('Created the todos!')\n        )\n        // disconnecting the database\n        await disconnectDB()\n    } catch (error) {\n        // Error Handling\n        console.log('Something went wrong, Error: ', error)\n        process.exit(1)\n    }\n}</code></pre>\n<p>The <code>addTask()</code> function starts by calling the <code>askQuestions()</code> function to gather the array of tasks and assigning it to the <code>userResponse</code> variable. Then, it connects to the database using <code>connectDB()</code>, displays a spinner using <code>ora</code> to show the task creation process, loops through each task in the array, and saves it to the database using <code>Todos.create(response)</code>.</p>\n<p>Once all tasks are saved, the spinner stops, a success message is shown, and then it disconnects from the database using <code>disconnectDB()</code>.</p>\n<p>The entire code is wrapped in a <code>try...catch</code> block to handle any potential errors gracefully.</p>\n<p>With this code, you've completed the task creation process. Nice work! This was probably the most complex piece of code in the entire project. Future operations such as reading, deleting and updating tasks are going to be fairly simple and easy by comparison. With that said, let's move to performing the Read operation.</p>\n<h2 id=\"how-to-read-todos\">How to Read Todos</h2>\n<p>Now we'll explore how to read tasks from the MongoDB database. The process is straightforward, and I'll guide you through the entire code in the <code>./commands/readTask.js</code> file:</p>\n<p>First, let's import the necessary packages and functions at the beginning of the file:</p>\n<pre><code class=\"language-javascript\">// Importing packages and functions\nimport { connectDB, disconnectDB } from '../db/connectDB.js'\nimport Todos from '../schema/TodoSchema.js'\nimport chalk from 'chalk'\nimport ora from 'ora'</code></pre>\n<p>Now, let's define an asynchronous function named <code>readTask()</code> which encapsulates the logic for reading tasks. The whole function is wrapped in a try...catch block for handling any potential errors:</p>\n<pre><code class=\"language-javascript\">export default async function readTask(){\n    try {\n        // connecting to the database\n        await connectDB()\n        // starting the spinner\n        const spinner = ora('Fetching all todos...').start()\n        // fetching all the todos from the database \n        const todos = await Todos.find({})\n        // stopping the spinner\n        spinner.stop()\n        // check if todos exist or not\n        if(todos.length === 0){\n            console.log(chalk.blueBright('You do not have any tasks yet!'))\n        } else {\n            todos.forEach(todo =&gt; {\n                console.log(\n                    chalk.cyanBright('Todo Code: ') + todo.code + '\\n' + \n                    chalk.blueBright('Name: ') + todo.name + '\\n' + \n                    chalk.yellowBright('Description: ') + todo.detail + '\\n'\n                )\n            })\n        }\n        // disconnect from the database\n        await disconnectDB()\n    } catch (error) {\n        // Error Handling\n        console.log('Something went wrong, Error: ', error)\n        process.exit(1)\n    }\n}\nreadTask()</code></pre>\n<p>Now, let's break down the code step by step:</p>\n<ol><li>We establish a connection to the MongoDB database using <code>await connectDB()</code>.</li>\n<li>We start a spinner using <code>ora</code> to indicate that we are fetching all the todos.</li>\n<li>We fetch all the todos from the database using <code>Todos.find({})</code>. Once the process is complete, the <code>todos</code> variable will contain either an empty array (if no tasks exists in the database) or an array of tasks.</li>\n<li>After fetching is complete, we stop the spinner using <code>spinner.stop()</code>.</li>\n<li>We check whether there are any todos by checking if <code>todos.length</code> is equal to 0. If it is, we display a message in blue saying \"You do not have any tasks yet!\". If there are todos in the array (which means that the length of the array is not equal to 0), we loop through each todo in the array and print its code, name, and description using <code>chalk</code> for color formatting.</li>\n<li>Finally, we disconnect from the database using <code>await disconnectDB()</code>.</li>\n</ol><p>In the last line of code, we call the <code>readTask()</code> function. This is only for testing purposes, and you can remove this line as instructed.</p>\n<p>To run the code, use the command: <code>node ./commands/readTask.js</code>. When you execute this, you'll see something similar to the output shown here:</p>\n<p>Note: I had created some random tasks before, so when I run the <code>readTask.js</code> file, I get to see this in my terminal:</p>\n<figure class=\"kg-card kg-image-card kg-width-wide kg-card-hascaption\"><img src=\"https://www.freecodecamp.org/news/content/images/2023/08/Untitled-video---Made-with-Clipchamp--1-.gif\" class=\"kg-image\" alt=\"GIF showing the output which is displayed in the terminal as a result of running the `readTask.js` file\" width=\"1280\" height=\"720\" referrerpolicy=\"no-referrer\" /><figcaption>Output seen on terminal when <code>readTask.js</code> file is executed. It shows how the code successfully reads all the tasks from the database and prints it out in the terminal.</figcaption></figure><p>Before we proceed, don't forget to remove the last line of code in the <code>readTask.js</code> file because we won't be needing it in the future.</p>\n<p>With this code, you've successfully implemented the read functionality for your task manager CLI tool. Great job! In the upcoming sections, we'll explore how to delete and update tasks.</p>\n<h2 id=\"how-to-delete-todos\">How to Delete Todos</h2>\n<p>This section of the tutorial covers the simple process of deleting todos from the database. The logic is straightforward: users enter the Todo code of the todo they want to delete, and we remove that todo from the database.</p>\n<p>Let's delve into the code to make this happen in the <code>./commands/deleteTask.js</code> file.</p>\n<p>The first step is to import necessary packages and functions at the beginning of the file, including inquirer, <code>Todos</code> model, connectDB(), disconnectDB(), ora, and chalk.</p>\n<pre><code class=\"language-javascript\">// Importing packages and functions\nimport inquirer from \"inquirer\";\nimport Todos from '../schema/TodoSchema.js'\nimport {connectDB, disconnectDB} from '../db/connectDB.js'\nimport ora from \"ora\";\nimport chalk from \"chalk\";</code></pre>\n<p>Up next, we will define an asynchronous function called <code>getTaskCode()</code>. The role of this function is to prompt the user to enter the code of the todo they want to delete using <code>inquirer</code>. The function then trims the code entered by the user using the <code>trim()</code> method and returns the trimmed code. The trimming process is necessary to remove the leading or trailing whitespace which the code might contain.</p>\n<p>Here is the code for the <code>getTaskCode()</code> function:</p>\n<pre><code class=\"language-javascript\">export async function getTaskCode(){\n    try {\n        // Prompting the user to enter the todo code\n        const answers = await inquirer.prompt([\n            {name: 'code', 'message': 'Enter the code of the todo: ', type: 'input'},\n        ])\n        // Trimming user's response so that the todo code does not contain any starting or trailing white spaces\n        answers.code = answers.code.trim()\n        return answers\n    } catch (error) {\n        console.log('Something went wrong...\\n', error)\n    }\n}</code></pre>\n<p>Now we will define the main function named <code>deleteTask()</code>. The entire code is below:</p>\n<pre><code class=\"language-javascript\">export default async function deleteTask(){\n    try {\n        // Obtaining the todo code provided by user\n        const userCode = await getTaskCode()\n        // Connecting to the database\n        await connectDB()\n        // Starting the spinner\n        const spinner = ora('Finding and Deleting the todo...').start()\n        // Deleting the task\n        const response = await Todos.deleteOne({code: userCode.code})\n        // Stopping the spinner\n        spinner.stop()\n        // Checking the delete operation\n        if(response.deletedCount === 0){\n            console.log(chalk.redBright('Could not find any todo matching the provided name. Deletion failed.'))\n        } else {\n            console.log(chalk.greenBright('Deleted Task Successfully'))\n        }\n        // Disconnecting from the database\n        await disconnectDB()\n    } catch (error) {\n        // Error Handling\n        console.log('Something went wrong, Error: ', error)\n        process.exit(1)\n    }\n}</code></pre>\n<p>Let's break down this code step-by-step:</p>\n<ol><li>We obtain the response object which includes the todo code entered by the user by calling the <code>getTaskCode()</code> function defined above. We then assign this object to the <code>userCode</code> variable.</li>\n<li>We connect to the database using <code>await connectDB()</code>.</li>\n<li>We start a spinner using <code>ora</code> to indicate that we're finding and deleting the todo.</li>\n<li>We use <code>Todos.deleteOne({ code: userCode.code })</code> to search for and delete the todo with a matching code. The response will indicate if any document was deleted or not.</li>\n<li>After the operation is complete, we stop the spinner using <code>spinner.stop()</code>.</li>\n<li>We use an if...else condition to check the <code>deletedCount</code> property in the response. If it's 0, we print a message indicating that the task with the provided code wasn't found and deletion failed. If <code>deletedCount</code> is greater than 0, we print a success message.</li>\n<li>We disconnect from the database using <code>await disconnectDB()</code>.</li>\n</ol><p>If I call the function: <code>deleteTask()</code> and then proceed to run the code using <code>node /commands/deleteTask.js</code> command, I get to see this in my console:</p>\n<figure class=\"kg-card kg-image-card kg-width-wide kg-card-hascaption\"><img src=\"https://www.freecodecamp.org/news/content/images/2023/08/Untitled-video---Made-with-Clipchamp--1---1-.gif\" class=\"kg-image\" alt=\"GIF showing the output which is displayed in the terminal as a result of running the `deleteTask.js` file\" width=\"1280\" height=\"720\" referrerpolicy=\"no-referrer\" /><figcaption>Output seen on terminal when<code>deleteTask.js</code> file is executed. It shows how the code successfully deletes a single task from the database.</figcaption></figure><p>As you can see in the above GIF, the code will prompt you to enter a Todo code for the task you want to delete. Upon deletion, you'll receive a confirmation message in the console. When we read all our tasks after the deletion process, we don't get to see the deleted task. This implies that our code is successful in doing what it is supposed to do!</p>\n<h2 id=\"how-to-update-todos\">How to Update Todos</h2>\n<p>In this section, we will be looking at the code to update a specific todo. Updating a todo is a bit more involved compared to the previous operations. The process unfolds as follows:</p>\n<ol><li>Prompt the user to input the code of the todo to be updated.</li>\n<li>Connect to the database.</li>\n<li>Find the task whose code property matches the user's input.</li>\n<li>If the task doesn't exist, display a message indicating the failure to find a matching todo.</li>\n<li>If the task exists, prompt the user to update the <code>name</code>, <code>description</code> and <code>status</code> of the task.</li>\n<li>If the user sets the status property of a task to \"completed,\" then that task is deleted. If set to \"pending,\" the task's name and description are updated in the database.</li>\n<li>Display a success message in the console after the update operation.</li>\n</ol><p>Let's start coding! The first thing you need to do is to import all the packages and functions we will need to perform this job.</p>\n<pre><code class=\"language-javascript\">// Importing packages and functions\nimport {connectDB, disconnectDB} from '../db/connectDB.js'\nimport { getTaskCode } from './deleteTask.js'\nimport inquirer from 'inquirer'\nimport Todos from '../schema/TodoSchema.js'\nimport ora from 'ora'\nimport chalk from 'chalk'</code></pre>\n<p>Before we start working on our <code>updateTask()</code> function, we will create a small function in the same file named <code>askUpdateQ()</code>. The role of this function is to prompt the user to enter the updated values of the task like the task name, description, and status. At the end, this function will return the response object.</p>\n<p>Here is the code for it:</p>\n<pre><code class=\"language-javascript\">async function askUpdateQ(todo){\n    try {\n        // Prompting the user to update the todo data\n        const update = await inquirer.prompt([\n            {name: 'name', message: 'Update the name?', type: 'input', default: todo.name},\n            {name: 'detail', message: 'Update the Description?', type: 'input', default: todo.detail},\n            {name: 'status', message: 'Update the status', type: 'list', choices: ['pending', 'completed'], default: todo.status}\n        ])\n        return update\n    } catch (error) {\n        console.log('Something went wrong... \\n', error)\n    }\n}</code></pre>\n<p>Two things are to be noted here:</p>\n<ol><li><code>todo</code> is the original task object (the task which the user wants to update). This will be passed to the <code>askUpdateQ()</code> function by the <code>updateTask()</code> function.</li>\n<li>Each question object within the array passed to <code>inquirer.prompt()</code> contains a default property set to the original values of the task. This ensures that if the user skips a question, the default value remains unchanged.</li>\n</ol><p>With that said, now let's look at the code for the <code>updateTask()</code> function:</p>\n<pre><code class=\"language-javascript\">export default async function updateTask(){\n    try {\n        // Obtaining the task code entered by user by calling getTaskCode() method\n        const userCode = await getTaskCode()\n        // Connecting to the database\n        await connectDB()\n        // Starting the spinner\n        const spinner = ora('Finding the todo...').start()\n        // Finding the todo which the user wants to update\n        const todo = await Todos.findOne({code: userCode.code})\n        // Stopping the spinner\n        spinner.stop()\n        // Checking if the todo exists or not\n        if(!todo){\n            console.log(chalk.redBright('Could not find a Todo with the code you provided.'))\n        } else{\n            console.log(chalk.blueBright('Type the updated properties. Press Enter if you don\\'t want to update the data.'))\n            // Get the user's response of the updated data by calling askUpdateQ() method\n            const update = await askUpdateQ(todo)\n            // If user marked status as completed, we delete the todo else we update the data\n            if(update.status === 'completed'){\n                // Changing spinner text and starting it again\n                spinner.text = 'Deleting the todo...'\n                spinner.start()\n                // Deleting the todo\n                await Todos.deleteOne({_id : todo._id})\n                // Stopping the spinner and display the success message\n                spinner.stop()\n                console.log(chalk.greenBright('Deleted the todo.'))\n            } else {\n                // Update the todo\n                spinner.text = 'Updating the todo'\n                spinner.start()\n                await Todos.updateOne({_id: todo._id}, update, {runValidators: true})\n                spinner.stop()\n                console.log(chalk.greenBright('Updated the todo.'))\n            }\n        }\n        // Disconnecting from the database\n        await disconnectDB()\n    } catch (error) {\n        // Error Handling\n        console.log('Something went wrong, Error: ', error)\n        process.exit(1)\n    }\n}</code></pre>\n<p>Here's a breakdown of the above code:</p>\n<ol><li>Obtain the code of the task which the user wants to update. For this, we are utilizing the <code>getTaskCode()</code> function defined in the <code>./commands/deleteTask.js</code> file. We simply call the function and assign the returned response object to the <code>userCode</code> variable.</li>\n<li>Connect to the database using <code>await connectDB()</code>.</li>\n<li>Start a spinner to indicate that the code is finding the todo.</li>\n<li>Use <code>Todos.findOne({ code: userCode.code })</code> to find the task the user wants to update and assign it to the <code>todo</code> variable. We are doing this because we will need the original values of the task.</li>\n<li>Stop the spinner.</li>\n<li>If no matching task is found, display a message using <code>chalk</code> indicating that the task wasn't found.</li>\n<li>If the task is found, prompt the user to input updated properties by calling the <code>askUpdateQ()</code> function and pass the <code>todo</code> object (original task) in the function. Assign the returned object to <code>update</code> variable.</li>\n<li>If the user marks the status as \"completed,\" the task is deleted from the database using <code>deleteOne()</code>. If marked as \"pending,\" the task's name and description are updated using <code>updateOne()</code>.\n<p><code>updateOne()</code> method takes in 3 parameters \u2013 Query Object, Update Object, and the Options object. Here, <code>{_id: todo._id}</code> is the Query Object. Mongoose searches the entire collection for a task whose <code>id</code> property matches with <code>todo_.id</code>. On finding the task, it replaces the task with the update object, that is <code>update</code> in our case. The third parameter, <code>{ runValidators: true }</code>, ensures that Mongoose validates the <code>update</code> object against the schema's rules before executing it. If the validation fails, the update will be rejected, and you'll receive an error. If the validation is successful, the document will be updated successfully in the database.</p>\n<p>Both in case of the Delete and Update Operation, we change the text of the spinner using <code>spinner.text</code> and start it before performing the operation and once the operation is completed, we stop the spinner.</p>\n</li>\n<li>Display appropriate success messages in the console based on the operation performed.</li>\n<li>Disconnect from the database using <code>await disconnectDB()</code>.</li>\n</ol><p>If I call the <code>updateTask()</code> function and run the code using the command: <code>node ./commands/updateTask.js</code>, I get to see something like this in my console:</p>\n<figure class=\"kg-card kg-image-card kg-width-wide kg-card-hascaption\"><img src=\"https://www.freecodecamp.org/news/content/images/2023/08/update.gif\" class=\"kg-image\" alt=\"GIF showing the output which is displayed in the terminal as a result of running the `updateTask.js` file\" width=\"1280\" height=\"720\" referrerpolicy=\"no-referrer\" /><figcaption>Output seen on terminal when <code>updateTask.js</code> file is executed. It shows how the code successfully fetches the original task and successfully replaces it with the updated values provided by the user.</figcaption></figure><p>With this, you've successfully implemented all CRUD operations. Now, let's use the <code>commander</code> library to bring everything together and create a fully functional CLI tool.</p>\n<h1 id=\"how-to-write-the-cli-entry-point-using-commander\">How to Write the CLI Entry Point using Commander</h1>\n<p>In the final stages of our project, we're going to leverage the power of the <code>commander</code> library to craft a user-friendly CLI interface. With <code>commander</code>, we can neatly define different commands \u2013 such as read, add, update, and delete \u2013 in an organized and intuitive manner.</p>\n<p>Our code will reside in the <code>index.js</code> file, which serves as the entry point of our application. Below is the complete code:</p>\n<pre><code class=\"language-javascript\">#!/usr/bin/env node\n// Importing the required functions for each command\nimport addTask from './commands/addTask.js'\nimport deleteTask from './commands/deleteTask.js'\nimport readTask from './commands/readTask.js'\nimport updateTask from './commands/updateTask.js'\n// Importing the Command class from Commander.js library\nimport { Command } from 'commander'\n// Creating an instance of the Command class\nconst program = new Command()\n// Setting the name and description of the CLI tool\nprogram\n.name('todo')\n.description('Your terminal task manager!')\n.version('1.0.0')\n// Defining a command called 'add'\nprogram\n.command('add')\n.description('Create a new todo.')\n.action(addTask)\n// Defining a command called 'read'\nprogram\n.command('read')\n.description('Reads all the todos.')\n.action(readTask)\n// Defining a command called 'update'\nprogram\n.command('update')\n.description('Updates a todo.')\n.action(updateTask)\n// Defining a command called 'delete'\nprogram\n.command('delete')\n.description('Deletes a todo.')\n.action(deleteTask)\n// Parsing the command-line arguments and executing the corresponding actions\nprogram.parse()</code></pre>\n<ol><li>The very first line, <code>#!/usr/bin/env node</code>, is a \"shebang.\" It informs the system to execute the script using the Node.js interpreter. This enables us to run the script directly from the command line without explicitly typing <code>node</code> before the script filename.</li>\n<li>Next, we import all the required functions that contain the logic for each command.</li>\n<li>The line <code>import { Command } from 'commander'</code> imports the <code>Command</code> class from the Commander.js library. The subsequent line, <code>const program = new Command()</code>, creates an instance of the <code>Command</code> class. This instance is essential for defining and managing commands for our CLI tool.</li>\n<li>We then set the CLI tool's information. The <code>.name()</code>, <code>.description()</code>, and <code>.version()</code> methods set the name, description, and version of our CLI tool. These details are displayed when users invoke the tool with specific flags such as <code>--help</code> or <code>--version</code>.</li>\n<li>Next, we define the various commands. Each <code>program.command()</code> block defines a command for our CLI tool. Within each block, the command's name is set using a string argument (for example, <code>'add'</code>, <code>'read'</code>). The <code>.description()</code> method provides the command's description, while the <code>.action()</code> method associates a function (for example, <code>addTask</code>, <code>readTask</code>) with a specific command. When a user enters a command in the terminal, this associated function is executed.</li>\n<li>The <code>program.parse()</code> line is essential for parsing the command-line arguments provided by the user. Based on the command entered, Commander.js will execute the associated action function.</li>\n</ol><h1 id=\"how-to-test-the-cli-tool\">How to Test the CLI Tool</h1>\n<p>We're now nearly at the finish line of creating our Task Manager CLI tool! Before we can install and utilize the tool, we just need to make a small adjustment to the <code>package.json</code> file. Simply add the following entry to the JSON file:</p>\n<pre><code class=\"language-json\">\"bin\": {\n  \"todo\": \"index.js\"\n}</code></pre>\n<p>If you've ever built a CLI tool and wish for users to access it from the command line in a manner similar to commands like <code>node</code> or <code>npm</code>, then the \"bin\" property comes into play.</p>\n<p>The \"bin\" property in the <code>package.json</code> file enables you to specify commands that become globally accessible once your package is installed. In simpler terms, it lets you create shortcuts for running specific scripts or functions from the command line.</p>\n<p>The provided code instructs Node.js to execute the script defined in <code>index.js</code> whenever someone enters <code>todo</code> in the terminal. In essence, this transforms your script into a globally accessible command-line tool.</p>\n<p>The final step before you can start using the tool is to install it globally on your system! Run the following command to do so:</p>\n<pre><code class=\"language-text\">npm i -g .</code></pre>\n<h1 id=\"conclusion\">Conclusion</h1>\n<p>Congratulations if you've followed along this far! You're now fully equipped to begin using your Task Manager CLI tool.</p>\n<p>Here are the commands you can use to operate the tool:</p>\n<ul><li><code>todo add</code> \u00a0\u2013 Create a new task</li>\n<li><code>todo read</code> \u2013 Read all your pending tasks</li>\n<li><code>todo update</code> \u2013 Update a specific task</li>\n<li><code>todo delete</code> \u2013 Delete a task</li>\n</ul><p>You can also use these 2 options using the tool:</p>\n<ul><li><code>todo --version</code> or <code>todo -V</code> \u2013 To know the version number of this tool</li>\n<li><code>todo --help</code> or <code>todo -h</code> \u2013 To display help for command</li>\n</ul><p>And that wraps up this handbook. I hope you've found it enjoyable and informative.</p>\n<p>I encourage you to share your learning journey on Twitter and LinkedIn using the hashtag #LearnInPublic. Also, be sure to follow freeCodeCamp for more informative coding tutorials.</p>\n<p>If you are facing any issues while following along with this tutorial, you can always refer to the entire code available on GitHub - <a href=\"https://github.com/KrishJ4856/task-manager-cli-fcc\">Task Manager CLI GitHub Repo</a>. You can also connect with me on Twitter (X) - <a href=\"https://twitter.com/Krish4856\">@Krish4856</a>. My DM's are open!</p>\n<p>See you next time! \ud83d\udc4b \u2764\ufe0f \u2728</p>",
    "created_at": "2024-08-29T06:42:37+00:00",
    "updated_at": "2024-08-29T06:42:37+00:00",
    "published_at": "2023-08-29T00:00:00+00:00",
    "published_by": ["Krish Jaiswal"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 34,
    "domain_name": "www.freecodecamp.org",
    "preview_picture": "https://www.freecodecamp.org/news/content/images/2023/08/Add-a-heading--1-.png",
    "http_status": "200",
    "headers": {
      "date": "Thu, 29 Aug 2024 06:42:37 GMT",
      "content-type": "text/html; charset=utf-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "access-control-allow-origin": "*",
      "access-control-allow-headers": "*",
      "access-control-allow-credentials": "true",
      "access-control-allow-private-network": "true",
      "content-disposition": "inline; filename=\"index.html\"",
      "etag": "W/\"586908e7301e36d4423dda3c149ba2b9c2ff17ec\"",
      "vary": "Accept-Encoding",
      "x-frame-options": "SAMEORIGIN",
      "x-xss-protection": "1; mode=block",
      "x-content-type-options": "nosniff",
      "referrer-policy": "no-referrer-when-downgrade",
      "content-security-policy": "default-src 'self' http: https: data: blob: 'unsafe-inline' 'unsafe-eval'; frame-ancestors 'self';",
      "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
      "cf-cache-status": "DYNAMIC",
      "report-to": "{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=mT8Mn/P4dUPjwoyYb7n2vR+Z0ZYDmJ4Rdjzxxs9/OYX8gpCeere1PCyXedcK4Pd5HEVLk4yItXYG82V/3YSCjvH2hAbZ218HyFkzlcS3HVVIFi712G8nKbQQvGhX9CJXORv8bB+MRcN5L08nfgOHqyW1\"}],\"group\":\"cf-nel\",\"max_age\":604800}",
      "nel": "{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}",
      "server": "cloudflare",
      "cf-ray": "8baa8fe83cf5779d-LHR",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": [],
    "is_public": false,
    "id": 96,
    "title": "GitHub - lirantal/nodejs-cli-apps-best-practices: The largest Node.js CLI Apps best practices list \u2728",
    "url": "https://github.com/lirantal/nodejs-cli-apps-best-practices",
    "given_url": "https://github.com/lirantal/nodejs-cli-apps-best-practices",
    "content": "<div id=\"js-flash-container\" class=\"flash-container\" data-turbo-replace=\"\"><template class=\"js-flash-template\"><div class=\"flash flash-full {{ className }}\"><p>{{ message }}</p></div>\n</template></div><div class=\"application-main\" data-commit-hovercards-enabled=\"\" data-discussion-hovercards-enabled=\"\" data-issue-and-pr-hovercards-enabled=\"\"><main id=\"js-repo-pjax-container\"><div id=\"repository-container-header\" class=\"pt-3 hide-full-screen c8\" data-turbo-replace=\"\"><div class=\"d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5 c6\"><p> / <strong itemprop=\"name\" class=\"mr-2 flex-self-stretch\"><a data-pjax=\"#repo-content-pjax-container\" data-turbo-frame=\"repo-content-turbo-frame\" href=\"https://github.com/lirantal/nodejs-cli-apps-best-practices\">nodejs-cli-apps-best-practices</a></strong> Public</p><div id=\"repository-details-container\" class=\"flex-shrink-0 c5\" data-turbo-replace=\"\"><ul class=\"pagehead-actions flex-shrink-0 d-none d-md-inline c4\"><li><a href=\"https://github.com/login?return_to=%2Flirantal%2Fnodejs-cli-apps-best-practices\" rel=\"nofollow\" id=\"repository-details-watch-button\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/lirantal/nodejs-cli-apps-best-practices&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"cd740f534d3fca2c1531cf4a778e20938456fba80494751769d8ec299aa9988a\" aria-label=\"You must be signed in to change notification settings\" data-view-component=\"true\" class=\"btn-sm btn\">Notifications</a> You must be signed in to change notification settings</li>\n<li><a id=\"fork-button\" href=\"https://github.com/login?return_to=%2Flirantal%2Fnodejs-cli-apps-best-practices\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:230675887,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/lirantal/nodejs-cli-apps-best-practices&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"12d947fcbf31822178ab9106833c32ebd81455abda36a2532433fdc11b601e17\" data-view-component=\"true\" class=\"btn-sm btn\">Fork 146</a></li>\n<li>\n<p><a href=\"https://github.com/login?return_to=%2Flirantal%2Fnodejs-cli-apps-best-practices\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:230675887,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/lirantal/nodejs-cli-apps-best-practices&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"95cb5e0e7e69fcd737eeac19fb6dd4a2281efb5a39a687cf2c17b1105d741fa3\" aria-label=\"You must be signed in to star a repository\" data-view-component=\"true\" class=\"tooltipped tooltipped-sw btn-sm btn\"> Star 3.5k</a></p>\n</li>\n</ul></div></div><div class=\"d-block d-md-none mb-2 px-3 px-md-4 px-lg-5\" id=\"responsive-meta-container\" data-turbo-replace=\"\"><p class=\"f4 mb-3\">The largest Node.js CLI Apps best practices list \u2728</p><h3 class=\"sr-only\">License</h3><p><a href=\"https://github.com/lirantal/nodejs-cli-apps-best-practices/blob/main/LICENSE\" class=\"Link--muted\" data-analytics-event=\"{&quot;category&quot;:&quot;Repository Overview&quot;,&quot;action&quot;:&quot;click&quot;,&quot;label&quot;:&quot;location:sidebar;file:license&quot;}\"> CC-BY-SA-4.0 license</a></p><p><a class=\"Link--secondary no-underline mr-3\" href=\"https://github.com/lirantal/nodejs-cli-apps-best-practices/stargazers\"> 3.5k stars</a> <a class=\"Link--secondary no-underline mr-3\" href=\"https://github.com/lirantal/nodejs-cli-apps-best-practices/forks\"> 146 forks</a> <a class=\"Link--secondary no-underline mr-3 d-inline-block\" href=\"https://github.com/lirantal/nodejs-cli-apps-best-practices/branches\"> Branches</a> <a class=\"Link--secondary no-underline d-inline-block\" href=\"https://github.com/lirantal/nodejs-cli-apps-best-practices/tags\"> Tags</a> <a class=\"Link--secondary no-underline d-inline-block\" href=\"https://github.com/lirantal/nodejs-cli-apps-best-practices/activity\"> Activity</a></p><div class=\"d-flex flex-wrap gap-2\"><p><a href=\"https://github.com/login?return_to=%2Flirantal%2Fnodejs-cli-apps-best-practices\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:230675887,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/lirantal/nodejs-cli-apps-best-practices&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"95cb5e0e7e69fcd737eeac19fb6dd4a2281efb5a39a687cf2c17b1105d741fa3\" aria-label=\"You must be signed in to star a repository\" data-view-component=\"true\" class=\"tooltipped tooltipped-sw btn-sm btn btn-block\"> Star</a></p><p><a href=\"https://github.com/login?return_to=%2Flirantal%2Fnodejs-cli-apps-best-practices\" rel=\"nofollow\" id=\"files-overview-watch-button\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/lirantal/nodejs-cli-apps-best-practices&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"cd740f534d3fca2c1531cf4a778e20938456fba80494751769d8ec299aa9988a\" aria-label=\"You must be signed in to change notification settings\" data-view-component=\"true\" class=\"btn-sm btn btn-block\">Notifications</a> You must be signed in to change notification settings</p></div></div></div>\n</main></div><p> You can\u2019t perform that action at this time.</p><template id=\"site-details-dialog\"><details class=\"details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm\" open=\"open\"></details></template><template id=\"snippet-clipboard-copy-button\">\n</template><template id=\"snippet-clipboard-copy-button-unpositioned\">\n</template>",
    "created_at": "2024-08-28T20:39:10+00:00",
    "updated_at": "2024-08-28T20:39:10+00:00",
    "published_by": ["lirantal"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 0,
    "domain_name": "github.com",
    "preview_picture": "https://repository-images.githubusercontent.com/230675887/e9445980-589a-11ea-82f0-03e1e147ef1c",
    "http_status": "200",
    "headers": {
      "server": "GitHub.com",
      "date": "Wed, 28 Aug 2024 20:39:10 GMT",
      "content-type": "text/html; charset=utf-8",
      "vary": "X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, Accept-Encoding, Accept, X-Requested-With",
      "etag": "W/\"6c51963a36ac4603cfbaff2bd6139578\"",
      "cache-control": "max-age=0, private, must-revalidate",
      "strict-transport-security": "max-age=31536000; includeSubdomains; preload",
      "x-frame-options": "deny",
      "x-content-type-options": "nosniff",
      "x-xss-protection": "0",
      "referrer-policy": "no-referrer-when-downgrade",
      "content-security-policy": "default-src 'none'; base-uri 'self'; child-src github.com/assets-cdn/worker/ github.com/webpack/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com api.githubcopilot.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com/v1/engines/github-completion/completions proxy.enterprise.githubcopilot.com/v1/engines/github-completion/completions *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.com/assets-cdn/worker/ github.com/webpack/ github.com/assets/ gist.github.com/assets-cdn/worker/",
      "set-cookie": "_gh_sess=dPUgQgdfLAZ4UQDfv+Sa1iHZnzsuEzZQJ41zKamjQ24tOPT5EnxdqbuVpPRVQ5xaNTAb8U6kQK6w8/Jz9m3AE44b2rFiTMhl1lSHaEq9BuX0tvAE+LVJ7+0I4bpt6sMJMi/Pq5aVW7gIQhzuw8C6p97MncPo/fgYiqK2Uaadx5RFddNqnabPH8tR4g/RRI+DtpMcZ0za661YDGOl4fpPL2LPcqfHY8xLcyJn633J7mN9jsalqocuXnH5IuBxq+Q0EQmrygVmgcH7IMHbKSw8sw==--KGxlIKh+P4NKgSUp--7Rrc1jMo8n/788yPxT0FDA==; Path=/; HttpOnly; Secure; SameSite=Lax, _octo=GH1.1.814461926.1724877549; Path=/; Domain=github.com; Expires=Thu, 28 Aug 2025 20:39:09 GMT; Secure; SameSite=Lax, logged_in=no; Path=/; Domain=github.com; Expires=Thu, 28 Aug 2025 20:39:09 GMT; HttpOnly; Secure; SameSite=Lax",
      "accept-ranges": "bytes",
      "transfer-encoding": "chunked",
      "x-github-request-id": "8534:6A8FC:5CA93CC:5E5BBEC:66CF8AED"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": [],
    "is_public": false,
    "id": 95,
    "title": "GitHub - goldbergyoni/nodebestpractices: :white_check_mark: The Node.js best practices list (July 2024)",
    "url": "https://github.com/goldbergyoni/nodebestpractices",
    "given_url": "https://github.com/goldbergyoni/nodebestpractices",
    "content": "<div id=\"js-flash-container\" class=\"flash-container\" data-turbo-replace=\"\"><template class=\"js-flash-template\"><div class=\"flash flash-full {{ className }}\"><p>{{ message }}</p></div>\n</template></div><div class=\"application-main\" data-commit-hovercards-enabled=\"\" data-discussion-hovercards-enabled=\"\" data-issue-and-pr-hovercards-enabled=\"\"><main id=\"js-repo-pjax-container\"><div id=\"repository-container-header\" class=\"pt-3 hide-full-screen c8\" data-turbo-replace=\"\"><div class=\"d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5 c6\"><p> / <strong itemprop=\"name\" class=\"mr-2 flex-self-stretch\"><a data-pjax=\"#repo-content-pjax-container\" data-turbo-frame=\"repo-content-turbo-frame\" href=\"https://github.com/goldbergyoni/nodebestpractices\">nodebestpractices</a></strong> Public</p><div id=\"repository-details-container\" class=\"flex-shrink-0 c5\" data-turbo-replace=\"\"><ul class=\"pagehead-actions flex-shrink-0 d-none d-md-inline c4\"><li><a href=\"https://github.com/login?return_to=%2Fgoldbergyoni%2Fnodebestpractices\" rel=\"nofollow\" id=\"repository-details-watch-button\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/goldbergyoni/nodebestpractices&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"8d0248e986fa837b0e387f0747559bfc6bfeae876b1cf8fb716bba2543c442b0\" aria-label=\"You must be signed in to change notification settings\" data-view-component=\"true\" class=\"btn-sm btn\">Notifications</a> You must be signed in to change notification settings</li>\n<li><a id=\"fork-button\" href=\"https://github.com/login?return_to=%2Fgoldbergyoni%2Fnodebestpractices\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:103633984,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/goldbergyoni/nodebestpractices&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"eef0e9ea9b374149a5d3c91696319ecca106d831e4f0c3307ef18e3e86fc6956\" data-view-component=\"true\" class=\"btn-sm btn\">Fork 10k</a></li>\n<li>\n<p><a href=\"https://github.com/login?return_to=%2Fgoldbergyoni%2Fnodebestpractices\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:103633984,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/goldbergyoni/nodebestpractices&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"60c7adf7aa25666e914d7223031d5dd1bf8f21967051a57c97bec0f8cd61e5a8\" aria-label=\"You must be signed in to star a repository\" data-view-component=\"true\" class=\"tooltipped tooltipped-sw btn-sm btn\"> Star 99k</a></p>\n</li>\n</ul></div></div><div class=\"d-block d-md-none mb-2 px-3 px-md-4 px-lg-5\" id=\"responsive-meta-container\" data-turbo-replace=\"\"><p class=\"f4 mb-3\">\u2705 The Node.js best practices list (July 2024)</p><p><a title=\"https://twitter.com/nodepractices/\" role=\"link\" target=\"_blank\" class=\"text-bold\" rel=\"noopener noreferrer\" href=\"https://twitter.com/nodepractices/\">twitter.com/nodepractices/</a></p><h3 class=\"sr-only\">License</h3><p><a href=\"https://github.com/goldbergyoni/nodebestpractices/blob/master/LICENSE\" class=\"Link--muted\" data-analytics-event=\"{&quot;category&quot;:&quot;Repository Overview&quot;,&quot;action&quot;:&quot;click&quot;,&quot;label&quot;:&quot;location:sidebar;file:license&quot;}\"> CC-BY-SA-4.0 license</a></p><p><a class=\"Link--secondary no-underline mr-3\" href=\"https://github.com/goldbergyoni/nodebestpractices/stargazers\"> 99k stars</a> <a class=\"Link--secondary no-underline mr-3\" href=\"https://github.com/goldbergyoni/nodebestpractices/forks\"> 10k forks</a> <a class=\"Link--secondary no-underline mr-3 d-inline-block\" href=\"https://github.com/goldbergyoni/nodebestpractices/branches\"> Branches</a> <a class=\"Link--secondary no-underline d-inline-block\" href=\"https://github.com/goldbergyoni/nodebestpractices/tags\"> Tags</a> <a class=\"Link--secondary no-underline d-inline-block\" href=\"https://github.com/goldbergyoni/nodebestpractices/activity\"> Activity</a></p><div class=\"d-flex flex-wrap gap-2\"><p><a href=\"https://github.com/login?return_to=%2Fgoldbergyoni%2Fnodebestpractices\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:103633984,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/goldbergyoni/nodebestpractices&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"60c7adf7aa25666e914d7223031d5dd1bf8f21967051a57c97bec0f8cd61e5a8\" aria-label=\"You must be signed in to star a repository\" data-view-component=\"true\" class=\"tooltipped tooltipped-sw btn-sm btn btn-block\"> Star</a></p><p><a href=\"https://github.com/login?return_to=%2Fgoldbergyoni%2Fnodebestpractices\" rel=\"nofollow\" id=\"files-overview-watch-button\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/goldbergyoni/nodebestpractices&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"8d0248e986fa837b0e387f0747559bfc6bfeae876b1cf8fb716bba2543c442b0\" aria-label=\"You must be signed in to change notification settings\" data-view-component=\"true\" class=\"btn-sm btn btn-block\">Notifications</a> You must be signed in to change notification settings</p></div></div></div>\n</main></div><p> You can\u2019t perform that action at this time.</p><template id=\"site-details-dialog\"><details class=\"details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm\" open=\"open\"></details></template><template id=\"snippet-clipboard-copy-button\">\n</template><template id=\"snippet-clipboard-copy-button-unpositioned\">\n</template>",
    "created_at": "2024-08-28T20:27:30+00:00",
    "updated_at": "2024-08-28T20:27:30+00:00",
    "published_by": ["goldbergyoni"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 0,
    "domain_name": "github.com",
    "preview_picture": "https://opengraph.githubassets.com/e529aaed0be5ab1f8fad456003b462459ab0042a7276e3036ddd8cd97dabb317/goldbergyoni/nodebestpractices",
    "http_status": "200",
    "headers": {
      "server": "GitHub.com",
      "date": "Wed, 28 Aug 2024 20:27:29 GMT",
      "content-type": "text/html; charset=utf-8",
      "vary": "X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, Accept-Encoding, Accept, X-Requested-With",
      "etag": "W/\"8fcc7178671cabb232c2b4f2d5df3622\"",
      "cache-control": "max-age=0, private, must-revalidate",
      "strict-transport-security": "max-age=31536000; includeSubdomains; preload",
      "x-frame-options": "deny",
      "x-content-type-options": "nosniff",
      "x-xss-protection": "0",
      "referrer-policy": "no-referrer-when-downgrade",
      "content-security-policy": "default-src 'none'; base-uri 'self'; child-src github.com/assets-cdn/worker/ github.com/webpack/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com api.githubcopilot.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com/v1/engines/github-completion/completions proxy.enterprise.githubcopilot.com/v1/engines/github-completion/completions *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.com/assets-cdn/worker/ github.com/webpack/ github.com/assets/ gist.github.com/assets-cdn/worker/",
      "set-cookie": "_gh_sess=Frn0axdl53ngD5AHcgo4ACExAWCURCPWHkWhyhHSq4gaigjNlg+rT/11Mzuc8t/fqqFbGb1gKsz4ITFEVD/rC3CIniiBpwF7ANiGlZ6QEDBYWaXfekPLb2BYLttHtNBG8MMyeyKc/4W31OmgeePuvIpyDzvvciur7VWZ2INLdftPuR8xGAtpNEa/lbt3ePlvRIEDT0KF4ECSuOv1K9LSSNoqkQ+m1Wp89qHm1QjcvlEusWP/MEjTaU1H+BYQDW7FWieXoRPXCS/EeznC1Ol0uw==--QdxmJB5W7ljGjW1T--s0stlfYw0pwUHpqVA05Vsw==; Path=/; HttpOnly; Secure; SameSite=Lax, _octo=GH1.1.1603593280.1724876848; Path=/; Domain=github.com; Expires=Thu, 28 Aug 2025 20:27:28 GMT; Secure; SameSite=Lax, logged_in=no; Path=/; Domain=github.com; Expires=Thu, 28 Aug 2025 20:27:28 GMT; HttpOnly; Secure; SameSite=Lax",
      "accept-ranges": "bytes",
      "transfer-encoding": "chunked",
      "x-github-request-id": "A002:1C4D43:2F4E0F:303498:66CF8830"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["tutorial", "js", "beginner", "compiler"],
    "is_public": false,
    "id": 94,
    "title": "Compile TS to JS: A Beginner's Guide",
    "url": "https://daily.dev/fr-fr/blog/compile-ts-to-js-a-beginners-guide",
    "given_url": "https://daily.dev/fr-fr/blog/compile-ts-to-js-a-beginners-guide",
    "content": "<p>If you're new to TypeScript and wondering how to turn your TS code into JS, you're in the right place. This beginner's guide will walk you through the basics of TypeScript, a powerful tool that enhances JavaScript with types, and show you how to compile TS to JS, making your code ready for any web browser. Here's what we'll cover:</p><ul><li><strong>Installing <a href=\"https://www.typescriptlang.org/\" target=\"_blank\" class=\"c1\">TypeScript</a></strong>: Get your development environment ready.</li>\n<li><strong>Writing TypeScript Code</strong>: Learn the syntax and write your first program.</li>\n<li><strong><a href=\"https://daily.dev/blog/npm-tsc-and-typescript-projects\" class=\"c1\">Compiling TS to JS</a></strong>: Use the <a href=\"https://www.npmjs.com/package/typescript\" target=\"_blank\" class=\"c1\">TypeScript compiler</a> to transform your code.</li>\n<li><strong>Running and Debugging</strong>: Execute your JavaScript and troubleshoot any issues.</li>\n<li><strong>Exploring Advanced Features</strong>: Dive into generics, decorators, and more to unlock the full potential of TypeScript.</li>\n</ul><p>By the end of this guide, you'll have a solid foundation to start using TypeScript in your projects, enhancing the reliability and maintainability of your JavaScript code. Let's get started!</p><h3 id=\"relationship-to-javascript\" tabindex=\"-1\">Relationship to JavaScript</h3><p>Think of TypeScript as a buddy to JavaScript. It has everything JavaScript does, plus a bit more. The extra bit is mainly about types - TypeScript checks that you're using the right types of data everywhere in your code, something JavaScript doesn't do.</p><p>This means you can use your normal JavaScript code in TypeScript without changing anything. But, with TypeScript, you get extra checks that help find and fix mistakes before they cause problems.</p><h3 id=\"key-benefits\" tabindex=\"-1\">Key Benefits</h3><p>Here's why TypeScript is pretty great:</p><ul><li><strong>Static Typing</strong> - You can tell TypeScript exactly what type of data you expect in parts of your code, helping spot mistakes early.</li>\n<li><strong>Enhanced Tooling</strong> - TypeScript works really well with code editors, giving you features like auto-complete and error detection that make coding faster and less error-prone.</li>\n<li><strong>Better Readability</strong> - Adding types to your code acts like comments that explain what the code is supposed to do, making it easier for you and others to understand.</li>\n<li><strong>Increased Reliability</strong> - With TypeScript catching errors early and making sure your code is consistent, your projects are less likely to have bugs.</li>\n<li><strong>Gradual Adoption</strong> - You don't have to switch everything to TypeScript at once. You can start using it bit by bit in your existing JavaScript projects.</li>\n</ul><h2 id=\"setting-up-the-development-environment\" tabindex=\"-1\">Setting Up the Development Environment</h2><h3 id=\"installing-node.js-and-npm\" tabindex=\"-1\">Installing <a href=\"https://nodejs.org/en/download\" target=\"_blank\" class=\"c1\">Node.js</a> and npm</h3><p><img src=\"https://cdn.prod.website-files.com/5e0f1144930a8bc8aace526c/663c748c1a1b2217a3039b12_nodejs.org-490737b949f14dc10389369a78163f01.jpeg\" alt=\"Node.js\" class=\"c2\" referrerpolicy=\"no-referrer\" /></p><p>Before you dive into TypeScript, you need to set up Node.js and npm on your computer. Here's how:</p><ul><li>Visit <a href=\"https://nodejs.org/en/\" target=\"_blank\" class=\"c1\">nodejs.org</a> and download the LTS (Long Term Support) version of <a href=\"https://nodejs.org/en/download\" target=\"_blank\" class=\"c1\">Node.js</a> for your system. This step also installs npm, which is a tool you'll use to manage packages like TypeScript.</li>\n<li>After installing, open your terminal or command prompt and type these commands to make sure Node.js and npm are ready to go:</li>\n</ul><pre>node -v\nnpm -v \n</pre><p>If you see version numbers appear, you're all set.</p><h3 id=\"installing-typescript\" tabindex=\"-1\">Installing TypeScript</h3><p>Now that you have npm, <a href=\"https://app.daily.dev/posts/oYSt8BaBd\" class=\"c1\">installing TypeScript</a> is easy. Just type this command:</p><pre>npm install -g typescript\n</pre><p>This command installs the TypeScript compiler (basically a tool called <code>tsc</code> that turns your TypeScript code into JavaScript) on your computer.</p><p>To check if it worked, type:</p><pre>tsc --version\n</pre><p>If you see a version number, then TypeScript is ready to use.</p><p>That's it for the setup! You now have Node.js, npm, and TypeScript installed, which are the basic tools you need to start working on a TypeScript project.</p><h2 id=\"your-first-typescript-program\" tabindex=\"-1\">Your First TypeScript Program</h2><p>Let's dive into making a simple <a href=\"https://daily.dev/blog/type-js-essentials-for-developers\" class=\"c1\">TypeScript program</a>. We'll see how it looks and learn to change it into JavaScript.</p><h3 id=\"basic-typescript-syntax\" tabindex=\"-1\">Basic TypeScript Syntax</h3><p>TypeScript adds rules about what kind of data you can use in your code, on top of what JavaScript already does. This helps catch mistakes early.</p><p>Here's a basic example of TypeScript code:</p><pre>function greet(name: string) {\n  return \"Hello \" + name;\n}\nlet message = greet(\"John\");\n</pre><ul><li><code>name: string</code> means that the <code>name</code> must always be text.</li>\n<li><code>string</code> after <code>function</code> tells us what the function gives back, which is also text.</li>\n<li>We use <code>let</code> to say there's a new piece of data named <code>message</code>.</li>\n</ul><p>TypeScript has several types like:</p><ul><li><code>number</code> for any kind of number</li>\n<li><code>string</code> for text</li>\n<li><code>boolean</code> for true or false</li>\n<li><code>any</code> for when the type doesn't matter</li>\n</ul><h3 id=\"compiling-with-tsc\" tabindex=\"-1\">Compiling with tsc</h3><p>To change our TypeScript code into JavaScript, we use a command:</p><pre>tsc greet.ts\n</pre><p>This creates a new file named <code>greet.js</code> that looks like:</p><pre class=\"language-js\">function greet(name) {\n    return \"Hello \" + name;\n}\nvar message = greet(\"John\");\n</pre><p>You'll see the type instructions are gone.</p><p>You can set up rules for how to compile your code in a file named <code>tsconfig.json</code>. For instance, to put all the JavaScript files into a folder named <code>build</code>, you'd write:</p><pre class=\"language-json\">\"outDir\": \"./build\" \n</pre><h3 id=\"running-compiled-javascript\" tabindex=\"-1\">Running Compiled JavaScript</h3><p>To run the JavaScript version of our program, type:</p><pre>node build/greet.js\n</pre><p>This lets us run the program we wrote in TypeScript, but now it's in the form of regular JavaScript.</p><h2 id=\"debugging-and-troubleshooting\" tabindex=\"-1\">Debugging and Troubleshooting</h2><p>When you're working with TypeScript, sometimes things don't go as planned. Here's how to find and fix problems.</p><p>You might run into a few usual issues when compiling TypeScript to JavaScript:</p><ul><li><strong>Type mismatches</strong> - This happens if you try to use a number where your code expects text, or vice versa. For example:</li>\n</ul><pre>let name: string;\nname = 5; // Error, can't use a number here\n</pre><p>To solve this, make sure the data types match. If it's not important, you can use <code>any</code> to avoid specifying a type.</p><ul><li><strong>Undefined variables</strong> - If you use a variable that you haven't set up yet, you'll get an error:</li>\n</ul><pre>console.log(someVariable); // Error, because someVariable doesn't exist\n</pre><p>Check your spelling and make sure you've set up your variables before using them.</p><ul><li><strong>Syntax errors</strong> - These are just mistakes in how you wrote your code, like missing a comma or a bracket. The error messages will help you find where you went wrong.</li>\n</ul><h3 id=\"debugging-with-source-maps\" tabindex=\"-1\">Debugging with <a href=\"https://firefox-source-docs.mozilla.org/devtools-user/debugger/how_to/use_a_source_map/index.html\" target=\"_blank\" class=\"c1\">Source Maps</a></h3><p><img src=\"https://cdn.prod.website-files.com/5e0f1144930a8bc8aace526c/663c748c1a1b2217a3039b0a_firefox-source-docs.mozilla.org-e00bc75eae1b1375c253ce92aa28e638.jpeg\" alt=\"Source Maps\" class=\"c2\" referrerpolicy=\"no-referrer\" /></p><p>Source maps help you debug your TypeScript by connecting the dots back to your original <code>.ts</code> files, not the compiled <code>.js</code> ones.</p><p>To use them:</p><ul><li>Compile TypeScript with the <code>--sourcemap</code> option</li>\n<li>Or, in your <code>tsconfig.json</code>, set <code>\"sourceMap\": true</code></li>\n<li>Your debugger will now show your <code>.ts</code> files, making it easier to find and fix problems.</li>\n</ul><p>With source maps, you can see your original TypeScript code while debugging, making it much simpler to understand what's going on.</p><h2 id=\"advanced-features\" tabindex=\"-1\">Advanced Features</h2><p>TypeScript has some cool extra tools that make it even more powerful than regular JavaScript. These tools help you write code that can do more things and work in different ways.</p><p>When you turn TypeScript code with these extra tools into JavaScript, the special TypeScript parts are taken out. But the abilities those tools gave your code are still there in the JavaScript version, so browsers can run it without any trouble.</p><h3 id=\"generics\" tabindex=\"-1\">Generics</h3><p>Generics let your functions and classes handle many types of data in a smart way.</p><p>For example, you can make a function that can return any type of data you give it:</p><pre>function identity&lt;T&gt;(arg: T): T {\n  return arg;\n}\nlet output = identity&lt;string&gt;(\"Hello world\");\n</pre><p>Here <code>T</code> is like a placeholder for any type of data. When turned into JavaScript, generics are removed, leaving just:</p><pre class=\"language-js\">function identity(arg) {\n  return arg; \n}\nlet output = identity(\"Hello world\");\n</pre><p>Generics help you write code that can be used in many ways, while still keeping the JavaScript simple.</p><h3 id=\"decorators\" tabindex=\"-1\">Decorators</h3><p>Decorators let you change or add to how classes work in an easy way.</p><p>For example, you can make a decorator that tells you whenever a method is used:</p><pre>function Log(target, propertyKey, descriptor) {\n  let original = descriptor.value;\n  descriptor.value = function(...args) {\n    console.log(\"Method called\");\n    return original.apply(this, args);\n  }\n  return descriptor;\n}\nclass Calculator {\n  @Log\n  add(a, b) {\n    return a + b;\n  }\n}\n</pre><p>The <code>@Log</code> decorator changes the <code>add()</code> method to print a message every time it's used. After compiling, decorators are gone but they leave behind useful changes to how classes work.</p><h3 id=\"union-types\" tabindex=\"-1\">Union Types</h3><p>Union types let you use different types of data for the same value.</p><p>For example, you might have a function that can take either a number or a string:</p><pre>function printId(id: number | string) {\n  console.log(\"Your ID is: \" + id); \n}\nprintId(101); // Okay  \nprintId(\"202\"); // Okay\n</pre><p>The <code>number | string</code> means <code>id</code> can be a number or a string. In JavaScript, this turns into normal code without type checks:</p><pre class=\"language-js\">function printId(id) {\n  console.log(\"Your ID is: \" + id);  \n}\nprintId(101);\nprintId(\"202\"); \n</pre><p>So, union types let your code accept different kinds of inputs, while still making sure it works as regular JavaScript.</p><p>Overall, TypeScript\u2019s extra tools give you new ways to write code that is reusable and flexible, all while making sure it turns into JavaScript that works everywhere. They're great for writing code that can do a lot of different things.</p><h2 id=\"tools-and-ides\" tabindex=\"-1\">Tools and IDEs</h2><p><a href=\"https://daily.dev/blog/visual-studio-code-read-this-before-you-get-started\" class=\"c1\">Visual Studio Code</a>, or VS Code, is a favorite tool for working with TypeScript. It's got some cool features that make coding easier:</p><h3 id=\"vs-code-extensions\" tabindex=\"-1\">VS Code Extensions</h3><p>VS Code can be made even better with add-ons called extensions. Here are a few good ones for TypeScript:</p><ul><li><strong>TypeScript Hero</strong> - Helps tidy up your imports and adds any that you forgot, making things neater.</li>\n<li><strong>TypeScript Importer</strong> - Finds and adds import statements for you, saving time.</li>\n<li><strong>Path Autocomplete</strong> - Completes the names of files for you so you don't make mistakes typing them.</li>\n</ul><h3 id=\"built-in-typescript-support\" tabindex=\"-1\">Built-in TypeScript Support</h3><p>VS Code comes with some great TypeScript features already built in:</p><ul><li><strong>IntelliSense</strong> - Helps you write code faster by completing it for you and showing info about the code you're using.</li>\n<li><strong>Error Checking</strong> - Points out mistakes and warnings while you're writing, so you can fix them on the spot.</li>\n<li><strong>Refactoring</strong> - Lets you change your code around easily, like renaming things or organizing them better.</li>\n<li><strong>Debugging</strong> - You can pause your code to see what's going on, step through it line by line, and check out data.</li>\n</ul><p>VS Code automatically compiles your TypeScript into JavaScript with <code>tsc</code>, which means you can test your code directly from the editor.</p><p>In short, VS Code and its extensions make working with TypeScript much smoother. You get help as you type, find and fix mistakes quickly, and can change your code easily when you need to. It's a free and simple option that's packed with features for TypeScript coding.</p><p>Other editors like WebStorm, Atom, and Sublime Text are also good for TypeScript if you add the right plugins. But VS Code stands out because it's free, not too heavy, and has everything you need for TypeScript built right in.</p><h2 id=\"conclusion\" tabindex=\"-1\">Conclusion</h2><p>Turning TypeScript into JavaScript is a key step in getting your code ready for the real world. If you've followed this guide from the start, you now know how to:</p><ul><li>Install TypeScript and get your computer ready for coding</li>\n<li>Write simple TypeScript code using types</li>\n<li>Use the <code>tsc</code> (<a href=\"https://www.npmjs.com/package/typescript\" target=\"_blank\" class=\"c1\">TypeScript compiler</a>) to change TypeScript code into JavaScript</li>\n<li>Run the JavaScript code you made with Node.js</li>\n<li>Find and fix problems in your code with the help of source maps</li>\n<li>Try out cool features like generics and decorators to do more with your code</li>\n</ul><p>As you keep learning TypeScript, you might want to try:</p><ul><li>Adding TypeScript to web projects using React or Angular</li>\n<li>Creating apps that use TypeScript both on the server side and in the browser</li>\n<li>Using tools like Webpack to get your TypeScript code ready for visitors</li>\n<li>Turning on stricter checks to catch more mistakes</li>\n<li>Using TypeScript with libraries from other people to help find errors</li>\n</ul><p>Learning TypeScript bit by bit can really make your code better, help your team work together smoothly, and make your apps more reliable. It's worth the effort for the benefits it brings.</p><p>We hope this guide made it easier for you to start with TypeScript and turning it into JavaScript. Happy coding on your TypeScript adventure!</p><h3 id=\"how-to-compile-from-ts-to-js%3F\" tabindex=\"-1\">How to compile from ts to js?</h3><p>To change TypeScript into JavaScript:</p><ul><li>Open a TS file in VS Code.</li>\n<li>Use the TypeScript build task (Ctrl+Shift+B) to run the compiler.</li>\n<li>Set the TypeScript build as the default task.</li>\n<li>Check the output for any issues.</li>\n</ul><p>The ts compiler will turn your TypeScript code into regular JavaScript that works in any web browser.</p><p>You can mix TypeScript files (.ts, .tsx) with your existing JavaScript files. Configure the ts compiler to put the JavaScript files it makes into your project's folder.</p><h3 id=\"can-i-learn-ts-without-learning-js%3F\" tabindex=\"-1\">Can I learn ts without learning js?</h3><p>No, it's important to know JavaScript first. TypeScript adds extra features like types to JavaScript, so understanding the basics of JavaScript is key to using TypeScript well.</p><h3 id=\"is-typescript-hard-to-learn-if-you-know-javascript%3F\" tabindex=\"-1\">Is <a href=\"https://www.typescriptlang.org/\" target=\"_blank\" class=\"c1\">TypeScript</a> hard to learn if you know JavaScript?</h3><p><img src=\"https://cdn.prod.website-files.com/5e0f1144930a8bc8aace526c/661f9eefa018e4688755f5c3_www.typescriptlang.org-8a1229142ae8bb207e307102fc17a1f8.jpeg\" alt=\"TypeScript\" class=\"c2\" referrerpolicy=\"no-referrer\" /></p><p>If you're already familiar with JavaScript, learning TypeScript won't be much harder. It's pretty similar but adds things like types and interfaces. The main ideas and how you write code are largely the same.</p><h2>Related posts</h2><ul><li><a href=\"https://daily.dev/blog/npm-tsc-essentials-for-developers/\" class=\"c1\">NPM TSC Essentials for Developers</a></li>\n<li><a href=\"https://daily.dev/blog/type-js-essentials-for-developers/\" class=\"c1\">Type JS Essentials for Developers</a></li>\n<li><a href=\"https://daily.dev/blog/typescript-transpiler-explained/\" class=\"c1\">Typescript Transpiler Explained</a></li>\n<li><a href=\"https://daily.dev/blog/babel-typescript-continuous-education/\" class=\"c1\">Babel TypeScript Continuous Education</a></li>\n</ul>",
    "created_at": "2024-08-28T10:40:25+00:00",
    "updated_at": "2024-08-28T10:40:35+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "en",
    "reading_time": 10,
    "domain_name": "daily.dev",
    "preview_picture": "https://cdn.prod.website-files.com/5e0f1144930a8bc8aace526c/66187f456c09767bbcfbb696_66174f46c6ca02a816e087f2-e2ca020634473a43aaeee147cbdbb830.jpeg",
    "http_status": "200",
    "headers": {
      "date": "Wed, 28 Aug 2024 10:40:25 GMT",
      "content-type": "text/html",
      "content-length": "62641",
      "connection": "keep-alive",
      "strict-transport-security": "max-age=31536000",
      "content-security-policy": "frame-ancestors 'self'",
      "x-frame-options": "SAMEORIGIN",
      "x-lambda-id": "84f5d20b-a06b-4a6b-ab52-61a1db9da958",
      "accept-ranges": "bytes",
      "age": "0",
      "x-served-by": "cache-iad-kiad7000120-IAD, cache-dub4354-DUB",
      "x-cache": "MISS, MISS",
      "x-cache-hits": "0, 0",
      "x-timer": "S1724841624.008282,VS0,VE1740",
      "vary": "Accept-Encoding,x-wf-forwarded-proto",
      "x-cluster-name": "eu-west-1-prod-hosting-red"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["js", "node", "formation"],
    "is_public": false,
    "id": 93,
    "title": "Du JavaScript C\u00f4t\u00e9 Serveur avec Node.js",
    "url": "https://laconsole.dev/formations/node/",
    "given_url": "https://laconsole.dev/formations/node/",
    "content": "<div class=\"prose prose-lg dark:prose-invert mt-8\"><h2 id=\"un-peu-dhistoire\">Un peu d\u2019histoire\u2026</h2><p>Node.js a \u00e9t\u00e9 cr\u00e9\u00e9 en 2009 \u00e0 San Francisco par <strong>Ryan Dahl</strong> et s\u2019est rapidement impos\u00e9 dans l\u2019\u00e9cosyst\u00e8me web comme une technologie incontournable. Node.js a activement contribu\u00e9 \u00e0 l\u2019\u00e9volution du JS vers un langage moderne et puissant, tel qu\u2019on le conna\u00eet.</p><h2 id=\"nodejs-en-bref\">Node.js, en bref</h2><p>Node.js est un environnement d\u2019ex\u00e9cution (aussi appel\u00e9 \u00ab runtime \u00bb) open source et cross-platform utilisant le moteur JavaScript V8 de Google. Son objectif initial \u00e9tait de cr\u00e9er un environnement qui permettrait aux d\u00e9veloppeurs web d\u2019utiliser le langage JavaScript c\u00f4t\u00e9 serveur, \u00e0 la place de langages tels que PHP ou Ruby.</p><p>Il est ainsi d\u00e9sormais possible d\u2019impl\u00e9menter avec un unique langage le frontend d\u2019une application mais aussi la <strong>logique m\u00e9tier</strong>, la <strong>persistance des donn\u00e9es</strong> ou encore la <strong>s\u00e9curit\u00e9</strong> d\u2019une application.</p><p>Il ajoute \u00e9galement des fonctionnalit\u00e9s que le JS standard n\u2019assure pas comme <strong>l\u2019acc\u00e8s au syst\u00e8me de fichiers en local</strong>.</p><p>Un autre de ses objectifs \u00e9tait de rem\u00e9dier aux limites de la programmation s\u00e9quentielle et des serveurs web (tels qu\u2019Apache) qui atteignaient rapidement leurs limites lorsqu\u2019ils devaient g\u00e9rer de tr\u00e8s nombreuses connexions simultan\u00e9es.</p><p>Gr\u00e2ce \u00e0 son fonctionnement <strong>non bloquant</strong> (asynchrone) et <strong>monothread</strong> (qu\u2019il est possible de transformer en multithreads), il permet de concevoir des applications en r\u00e9seau performantes, telles qu\u2019un serveur web, une API ou une t\u00e2che CRON.</p></div><p class=\"lg:text-lg mb-4 text-gray-500 dark:text-gray-400\">Avant de vous engager dans cette formation, assurez-vous d'avoir les acquis suivants :</p>",
    "created_at": "2024-08-28T10:39:29+00:00",
    "updated_at": "2024-08-28T10:39:40+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "fr",
    "reading_time": 1,
    "domain_name": "laconsole.dev",
    "preview_picture": "https://laconsole.dev/images/placeholder-social.png",
    "http_status": "200",
    "headers": {
      "date": "Wed, 28 Aug 2024 10:39:29 GMT",
      "content-type": "text/html; charset=utf-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "access-control-allow-origin": "*",
      "age": "0",
      "cache-control": "public, max-age=0, must-revalidate",
      "content-disposition": "inline; filename=\"node\"",
      "strict-transport-security": "max-age=63072000",
      "x-vercel-cache": "HIT",
      "x-vercel-id": "lhr1::8mbcr-1724841569752-79831d977a79",
      "cf-cache-status": "DYNAMIC",
      "report-to": "{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=BTdbjUO1cdx2rNHzG006RiFd5IrC/CeGXEMvnuQoQZ4qS57rUCDAgAreaTtSV1SlHXC4B15taRnk3o9b/7Zc7OPIptS+GaNtdALUR9xssZHkZS6DaUP/q3MEqJIEqq6EWqIi1XpQr8Oe80l5\"}],\"group\":\"cf-nel\",\"max_age\":604800}",
      "nel": "{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}",
      "server": "cloudflare",
      "cf-ray": "8ba3ad829badbef3-LHR",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["tuto", "dev", "flavio"],
    "is_public": false,
    "id": 92,
    "title": "The Valley of Code",
    "url": "https://thevalleyofcode.com/",
    "given_url": "https://thevalleyofcode.com/",
    "content": "<section class=\"top-0 sm:w-1/3 xs:w-1/2\"><header class=\"p-6 pl-0 sm:!pl-6 sticky top-0 sm:h-screen overflow-y-auto\">\n<div class=\"mt-6 text-zinc-700 dark:text-zinc-400\"><p class=\"mt-5 mb-5 font-mono text-sm\">/* your webdevelopmentmanual */</p></div>\n<div class=\"mt-0 font-mono text-xs space-y-1\"><p><a class=\"bg-green-500 text-white p-0.5\" href=\"https://thevalleyofcode.com/changelog\">[changelog]</a></p><p><a class=\"bg-green-500 text-white p-0.5\" href=\"https://thevalleyofcode.com/about\">[about]</a></p><p><a class=\"bg-[#e72696] text-white p-0.5\" href=\"https://thevalleyofcode.com/pro\">[valley pro]</a></p></div>\n<p></p><table class=\"text-sm tracking-[-0.5px]\"><tr><td>1:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#fundamentals\">Fundamentals</a></td>\n</tr><tr><td>2:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#html-and-css\">HTML and CSS</a></td>\n</tr><tr><td>3:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#tools\">Tools</a></td>\n</tr><tr><td>4:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#deployment\">Deployment</a></td>\n</tr><tr><td>5:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#javascript\">JavaScript</a></td>\n</tr><tr><td>6:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#typescript\">TypeScript</a></td>\n</tr><tr><td>7:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#more-css\">More CSS</a></td>\n</tr><tr><td>8:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#more-javascript\">More JavaScript</a></td>\n</tr><tr><td>9:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#dom-and-events\">DOM and Events</a></td>\n</tr><tr><td>10:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#networking\">Networking</a></td>\n</tr><tr><td>11:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#browser-api\">Browser API</a></td>\n</tr><tr><td>12:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#server-runtimes\">Server Runtimes</a></td>\n</tr><tr><td>13:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#http-servers\">HTTP Servers</a></td>\n</tr><tr><td>14:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#forms\">Forms</a></td>\n</tr><tr><td>15:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#databases\">Databases</a></td>\n</tr><tr><td>16:</td>\n<td><a class=\"text-zinc-700 dark:text-white hover:underline\" href=\"https://thevalleyofcode.com/#libraries-and-frameworks\">Libraries and frameworks</a></td>\n</tr></table>\n<div class=\"mt-10 text-zinc-700 dark:text-zinc-400 text-xs\"><p>Copyright 2024</p><p>The Valley of Code</p></div>\n</header></section><section class=\"w-full xs:w-1/2 sm:w-2/3\"><div class=\"pt-2 mb-20 -mt-10 mt-5 pt-2 mb-20\"><div><header class=\"mt-10\"><p>Fundamentals</p>\n<p>Welcome to The Valley of Code. Your journey in Web Development starts here. In the fundamentals section you'll learn the basic building blocks of the Internet, the Web and how its fundamental protocol (HTTP) works.</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/the-internet\" id=\"the-internet\" class=\"\">The Internet</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">The basics of computer networks and protocols, introducing URLs, DNS, TCP, and UDP<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/the-internet\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/the-internet/1-what-is-a-url\">What is a URL</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/the-internet/2-what-is-a-port\">What is a port</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/the-internet/3-the-dns-protocol\">The DNS protocol</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/the-internet/4-the-tcp-protocol\">The TCP protocol</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/the-internet/5-the-udp-protocol\">The UDP protocol</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/the-web\" id=\"the-web\" class=\"\">The Web</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">The key concepts of the web: HTTP, what is a Web browser, and what is a Web server<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/the-web\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/the-web/1-the-http-protocol\">The HTTP protocol</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/the-web/2-hyperlinks\">Hyperlinks</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/the-web/3-what-is-a-web-server\">What is a Web server</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/the-web/4-what-is-a-web-browser\">What is a Web browser</a></td>\n</tr></table></div></article></div></div></div><div><header class=\"mt-10\"><p>HTML and CSS</p>\n<p>This section introduces the basics of HTML and CSS: how we define content, and how we style it. There's much more about HTML and CSS and we'll learn more about both later. But here's an intro to both.</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/html\" id=\"html\" class=\"\">HTML</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Let's learn the basics of HTML<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/html\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/html/1-your-first-html-page\">Your first HTML page</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/html/2-text-tags\">Text tags</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/html/3-attributes\">Attributes</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/html/4-links\">Links</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/html/5-images\">Images</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/html/6-lists\">Lists</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/html/7-head-tags\">Head tags</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/html/8-container-tags\">Container tags</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\">DEMO <a class=\"hover:underline\" href=\"https://thevalleyofcode.com/html/9-demo-using-codepen\">Using CodePen</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\">DEMO <a class=\"hover:underline\" href=\"https://thevalleyofcode.com/html/10-demo-using-vs-code\">Using VS Code</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/css\" id=\"css\" class=\"\">CSS</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Let's learn the basics of CSS<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css/1-colors\">Colors</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css/2-more-selectors\">More selectors</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css/3-cascade\">Cascade</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css/4-specificity\">Specificity</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css/5-units\">Units</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css/6-advanced-selectors\">Advanced selectors</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css/7-typography\">Typography</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css/8-the-box-model\">The box model</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css/9-the-display-property\">The display property</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css/10-responsive-design\">Responsive design</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">11:</td>\n<td class=\"!p-0 !border-none\">DEMO <a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css/11-demo-create-a-simple-design-with-css\">Create a simple design</a></td>\n</tr></table></div></article></div></div></div><div><header class=\"mt-10\"><p>Tools</p>\n<p>We could do nothing without good tools. In this section I introduce a few very powerful tools you will use every day: VS Code, Git, and GitHub</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/vscode\" id=\"vs-code\" class=\"\">VS Code</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">VS Code is a very powerful editor with countless great features and 3rd party extensions to do basically anything<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vscode\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vscode/1-the-interface\">The interface</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vscode/2-opening-folders\">Opening folders</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vscode/3-editing\">Editing</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vscode/4-search\">Search</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vscode/5-source-control\">Source control</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vscode/6-extensions\">Extensions</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vscode/7-themes\">Themes</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vscode/8-recommended-extensions\">Recommended extensions</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vscode/9-the-command-palette\">The command palette</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vscode/10-shortcuts\">Shortcuts</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">11:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vscode/11-customization\">Customization</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">12:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vscode/12-terminal\">Terminal</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/git\" id=\"git\" class=\"\">Git</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">We use Git to save our code in snapshots that we can go back to whenever we want. And it lets people work together on code.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/git\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/git/1-installing-git\">Installing Git</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/git/2-initialize-a-repository\">Initialize a repository</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/git/3-commit-changes\">Commit changes</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/git/4-branches\">Branches</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/git/5-push-and-pull\">Push and pull</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/git/6-working-with-a-remote\">Working with a remote</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/git/7-solving-conflicts\">Solving conflicts</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/git/8-gitignore\">.gitignore</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/github\" id=\"github\" class=\"\">GitHub</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">GitHub is the de-facto centralized store for anything related to code, based upon Git. Not just that, it is an essential tool in collaboration, project management and deployment workflows.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/github\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/github/1-github-issues\">GitHub issues</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/github/2-social-coding\">Social coding</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/github/3-pull-requests\">Pull requests</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/github/4-project-management\">Project management</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/github/5-comparing-changes\">Comparing changes</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/github/6-webhooks-and-integrations\">Webhooks and integrations</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/github/7-what-happened-after-pushing\">What happens after pushing</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\">DEMO <a class=\"hover:underline\" href=\"https://thevalleyofcode.com/github/8-demo-create-a-github-account\">Create a GitHub account</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\">DEMO <a class=\"hover:underline\" href=\"https://thevalleyofcode.com/github/9-demo-github-desktop\">Using GitHub desktop</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\">DEMO <a class=\"hover:underline\" href=\"https://thevalleyofcode.com/github/10-demo-using-git-in-vs-code\">Using Git in VS Code</a></td>\n</tr></table></div></article></div></div></div><div><header class=\"mt-10\"><p>Deployment</p>\n<p>Deployment is the process of putting your code \"out there\", on the Internet, for everyone else to use. We commonly work on local machines, but when it is time to release, we deploy the code on a service or cloud server.</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/netlify\" id=\"netlify\" class=\"\">Netlify</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Netlify is a great deployment platform, ideal for simple sites.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/netlify\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/netlify/1-create-a-netlify-account\">Create a Netlify account</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\">DEMO <a class=\"hover:underline\" href=\"https://thevalleyofcode.com/netlify/2-demo-deploy-to-netlify\">Deploy to Netlify</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/vercel\" id=\"vercel\" class=\"\">Vercel</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Vercel is a great deployment platform, ideal for more complex sites.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vercel\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vercel/1-create-a-vercel-account\">Create a Vercel account</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\">DEMO <a class=\"hover:underline\" href=\"https://thevalleyofcode.com/vercel/2-demo-deploy-to-vercel\">Deploy to Vercel</a></td>\n</tr></table></div></article></div></div></div><div><header class=\"mt-10\"><p>JavaScript</p>\n<p>JavaScript is \"the Web programming language\" because it has one key feature: it is the only language that browsers understand. As a Web developer, it is essential that you learn this language very well.</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/js-basics\" id=\"basics\" class=\"\">Basics</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">The fundamentals of JavaScript<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-basics\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-basics/1-literals-identifiers-and-variables\">Literals, identifiers and variables</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-basics/2-comments\">Comments</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-basics/3-the-difference-between-let-const-var\">The difference between let, const and var</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-basics/4-types\">Types</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-basics/5-operators-and-expressions\">Operators and expressions</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-basics/6-lets-start-with-arithmetic-operators\">Let's start with arithmetic operators</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-basics/7-the-assignment-operator\">The assignment operator</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-basics/8-operators-precedence\">Operators precedence</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-basics/9-strings\">Strings</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-basics/10-numbers\">Numbers</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">11:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-basics/11-semicolons-white-space-case-sensitivity\">Semicolons, white space and sensitivity</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/js-arrays\" id=\"arrays\" class=\"\">Arrays</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Learn how to use arrays in JavaScript<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-arrays\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-arrays/1-number-of-items-in-an-array\">Number of items in an array</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-arrays/2-create-a-new-array-from-an-existing-array\">Create a new array from an existing array</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-arrays/3-adding-an-item-to-an-existing-array\">Adding an item to an existing array</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-arrays/4-adding-at-the-beginning-of-an-array\">Adding at the beginning of an array</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-arrays/5-adding-multiple-items-to-the-array\">Adding multiple items to the array</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-arrays/6-removing-an-item-from-an-array\">Removing an item from an array</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-arrays/7-modifying-an-existing-array-without-mutating-it\">Modifying an existing array without mutating it</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-arrays/8-arrays-of-arrays\">Arrays of arrays</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-arrays/9-filling-an-array\">Filling an array</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-arrays/10-array-destructuring\">Array destructuring</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">11:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-arrays/11-check-if-an-array-contains-a-specific-value\">Check if an array contains a specific value</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/js-conditionals\" id=\"conditionals\" class=\"\">Conditionals</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Decisions, decisions. Conditionals are how we do something, or something else.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-conditionals\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-conditionals/1-comparison-operators\">Comparison operators</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-conditionals/2-if-statements\">`if` statements</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-conditionals/3-how-to-use-else\">How to use `else`</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-conditionals/4-switch\">`switch`</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-conditionals/5-the-ternary-operator\">The ternary operator</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/js-loops\" id=\"loops\" class=\"\">Loops</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Loops are one key control flow structure of any programming language. JavaScript provides quite a few different ways to loop.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-loops\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-loops/1-the-for-loop\">The `for` loop</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-loops/2-the-dowhile-loop\">The `do-while` loop</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-loops/3-the-while-loop\">The `while` loop</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-loops/4-the-for-of-loop\">The `for-of` loop</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-loops/5-the-for-in-loop\">The `for-in` loop</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-loops/6-other-kinds-of-loops\">Other kinds of loops</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">We separate tiny portions of our code into a function so we can call this function multiple times, move it to a separate file, and much more.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-functions\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-functions/1-function-parameters\">Function parameters</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-functions/2-returning-values-from-a-function\">Returning values from a function</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-functions/3-arrow-functions\">Arrow functions</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-functions/4-nesting-functions\">Nesting functions</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-functions/5-immediately-invoked-functions\">Immediately-invoked functions</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-functions/6-recursive-functions\">Recursive functions</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/js-objects\" id=\"objects\" class=\"\">Objects</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Objects are a super powerful data structure we use all the time in JavaScript.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-objects\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-objects/1-how-to-create-an-object\">How to create an object</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-objects/2-object-properties\">Object properties</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-objects/3-passed-by-reference\">Objects are passed by reference</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-objects/4-methods\">Methods</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-objects/5-passing-objects\">Passing objects as function arguments or returning objects from a function</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-objects/6-using-this\">Accessing a property of the object inside a method using `this`</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-objects/7-object-destructuring\">Object destructuring</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-objects/8-cloning-objects\">Cloning objects</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-objects/9-sort-an-array-of-objects\">Sort an array of objects by a property value</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-objects/10-merging-two-objects-into-one\">Merging two objects into one</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">11:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-objects/11-apply-call-bind\">apply, call, bind</a></td>\n</tr></table></div></article></div></div></div><div><header class=\"mt-10\"><p>TypeScript</p>\n</header><div class=\"py-5 grid mb-10\"><header><p><a href=\"https://thevalleyofcode.com/typescript\" id=\"typescript\" class=\"\">TypeScript</a></p>\n</header><article class=\"mb-0\"><p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/typescript\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/typescript/1-first-typescript-program\">Your first TypeScript program</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/typescript/2-types\">Types</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/typescript/3-typing-functions\">Typing functions</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/typescript/4-type-errors\">The editor helps you with type errors</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/typescript/5-running-typescript-code\">Running TypeScript code</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/typescript/6-valid-types\">Valid types</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/typescript/7-type-aliases-and-interfaces\">Type aliases and interfaces</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/typescript/8-union-types\">Union types</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/typescript/9-typing-array-generics\">Typing arrays with generics</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/typescript/10-dx\">The DX of editing TypeScript</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">11:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/typescript/11-more\">There's more...</a></td>\n</tr></table></article></div></div><div><header class=\"mt-10\"><p>More CSS</p>\n<p>We saw the fundamentals of CSS previously. Let's now learn more CSS features.</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/css-grid\" id=\"css-grid\" class=\"\">CSS Grid</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">CSS Grid is the best way to organize content on a, guess what, grid.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-grid\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-grid/1-grid-template-columns-and-grid-template-rows\">grid-template-columns and grid-template-rows</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-grid/2-setting-columns-and-rows-dimensions\">Setting columns and rows dimensions</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-grid/3-adding-space-between-the-cells\">Gap between the cells</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-grid/4-spawning-items-on-multiple-columns-andor-rows\">Span items on multiple columns and/or rows</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-grid/5-minimum-width\">Minimum row width</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-grid/6-layout-using-grid-template-areas\">Layout using grid-template-areas</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\">DEMO <a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-grid/7-demo-simple-grid-layout\">Example: simple grid layout</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\">DEMO <a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-grid/8-demo-grid-layout-header-sidebar-content-and-footer\">Example: grid layout with header, sidebar, content and footer</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/css-flexbox\" id=\"flexbox\" class=\"\">Flexbox</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">If you need to organize items in a single row, on a single column, you might prefer using Flexbox over Grid.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-flexbox\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-flexbox/1-align-rows-or-columns\">Align rows or columns</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-flexbox/2-vertical-and-horizontal-alignment\">Vertical and horizontal alignment</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-flexbox/3-wrap\">Wrap</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-flexbox/4-moving-items-before-after-another-one-using-order\">Moving items before / after another one using order</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-flexbox/5-vertical-alignment-using-align-self\">Vertical alignment using align-self</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-flexbox/6-grow-or-shrink-an-item-if-necessary\">Grow or shrink an item if necessary</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\">DEMO <a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-flexbox/7-demo-create-a-layout-using-flexbox\">Create a layout using Flexbox</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/css-positioning\" id=\"positioning\" class=\"\">Positioning</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">We can use different positioning strategies in CSS. It is important you know them all well.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-positioning\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-positioning/1-relative-positioning\">Relative positioning</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-positioning/2-absolute-positioning\">Absolute positioning</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-positioning/3-fixed-positioning\">Fixed positioning</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/css-positioning/4-sticky-positioning\">Sticky positioning</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/tailwind-css\" id=\"tailwind-css\" class=\"\">Tailwind CSS</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Tailwind CSS is a library that lets you apply CSS to your project by adding a class to an HTML element rather than writing a CSS rule in a CSS file. It is a very popular technology, I love it, lots of people love it, you might love it too.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/tailwind-css\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/tailwind-css/1-box-model-properties\">Box model properties</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/tailwind-css/2-colors\">Colors</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/tailwind-css/3-typography\">Typography</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/tailwind-css/4-flexbox-and-grid-in-tailwind\">Flexbox and Grid in Tailwind</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/tailwind-css/5-modifiers\">Modifiers</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/tailwind-css/6-responsive-design-in-tailwind\">Responsive design in Tailwind</a></td>\n</tr></table></div></article></div></div></div><div><header class=\"mt-10\"><p>More JavaScript</p>\n<p>We previously learned the most essential JavaScript basics, including functions, objects, arrays. Now we will learn some more.</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Combine arrays, a very useful data structure, with the power of functions, to do awesome things.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-array-functions\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-array-functions/1-map\">map()</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-array-functions/2-filter\">filter()</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-array-functions/3-reduce\">reduce()</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-array-functions/4-sort\">sort()</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-array-functions/5-find-and-findindex\">find() and findIndex()</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-array-functions/6-foreach\">forEach()</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/js-oop\" id=\"oop-in-js\" class=\"\">OOP in JS</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">We learned about objects before. Now let's learn about object-oriented programming.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-oop\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-oop/1-classes\">Classes</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-oop/2-class-methods\">Class methods</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-oop/3-private-class-properties\">Private class properties</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-oop/4-constructors\">Constructors</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-oop/5-inheritance\">Inheritance</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-oop/6-prototypes\">Prototypes</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/js-async\" id=\"asynchronous\" class=\"\">Asynchronous</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">These days you can rarely write a JavaScript program without thinking about asynchronous code. You must understand this deeply.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-async\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-async/1-callbacks\">Callbacks</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-async/2-timers\">Timers</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-async/3-promises\">Promises</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-async/4-async-functions\">Async functions</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-async/5-chaining-promises\">Chaining promises</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-async/6-orchestrating-promises\">Orchestrating promises</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/js-scope-hoisting-event-loop\" id=\"scope-hoisting-event-loop\" class=\"\">Scope, hoisting, event loop</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">A bit more advanced concepts, but essentials to know if you want to write programs that run correctly as you want.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-scope-hoisting-event-loop\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-scope-hoisting-event-loop/1-global-scope\">Global scope</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-scope-hoisting-event-loop/2-function-scope\">Function scope</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-scope-hoisting-event-loop/3-block-scope\">Block scope</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-scope-hoisting-event-loop/4-shadowing\">Shadowing</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-scope-hoisting-event-loop/5-hoisting\">Hoisting</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-scope-hoisting-event-loop/6-closures\">Closures</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-scope-hoisting-event-loop/7-an-issue-with-var-variables-and-loops\">An issue with `var` variables and loops</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-scope-hoisting-event-loop/8-the-event-loop\">The event loop</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/js-es-modules\" id=\"es-modules\" class=\"\">ES Modules</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Learn how to import functions and variables from other files and libraries<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-es-modules\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-es-modules/1-using-import-and-export\">Using import and export</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-es-modules/2-mjs-files\">.mjs files</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-es-modules/3-default-exports\">Default exports</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-es-modules/4-multiple-exports\">Multiple exports</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-es-modules/5-renaming-exports\">Renaming exports</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-es-modules/6-using-the-script-tag\">Using the `script` tag</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/js-errors\" id=\"errors-and-exceptions\" class=\"\">Errors and exceptions</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Handling errors and exceptions is how you write programs that never crash badly but always print nice error messages in case something bad happens.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-errors\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-errors/1-types-of-errors\">Types of errors</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-errors/2-creating-exceptions\">Creating exceptions</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-errors/3-handling-exceptions\">Handling exceptions</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-errors/4-finally\">Finally</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-errors/5-nested-try-blocks\">Nested try blocks</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/js-built-in-objects\" id=\"built-in-objects\" class=\"\">Built-in objects</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">JavaScript offers a ton of useful function and built-in objects.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-built-in-objects\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-built-in-objects/1-the-global-object\">The global object</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-built-in-objects/2-object\">Object properties</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-built-in-objects/3-number\">Number</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-built-in-objects/4-string\">String</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-built-in-objects/5-math\">Math</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-built-in-objects/6-json\">JSON</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-built-in-objects/7-date\">Date</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-built-in-objects/8-intl\">Intl</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-built-in-objects/9-set-and-map\">Set and Map</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/js-more-operators\" id=\"more-operators\" class=\"\">More operators</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">There is an operator for everything. Almost.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-more-operators\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-more-operators/1-more-assignment-operators\">More assignment operators</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-more-operators/2-logical-operators\">Logical operators</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-more-operators/3-nullish-coalescing\">Nullish coalescing</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-more-operators/4-optional-chaining\">Optional chaining</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/js-more-operators/5-logical-nullish-assignment\">Logical nullish assignment</a></td>\n</tr></table></div></article></div></div></div><div><header class=\"mt-10\"><p>DOM and Events</p>\n<p>Using JavaScript we can \"hook\" into a Web page and change everything about it, and listen for events when something happens, so we can do whatever we want.</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/dom\" id=\"the-dom\" class=\"\">The DOM</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Learn how to use the DOM APIs with JavaScript.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/dom\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/dom/1-the-window-object\">The `window` object</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/dom/2-the-document-object\">The `document` object</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/dom/3-types-of-nodes\">Types of nodes</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/dom/4-traversing-the-dom\">Traversing the DOM</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/dom/5-editing-the-dom\">Editing the DOM</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/browser-events\" id=\"browser-events\" class=\"\">Browser events</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">We can listen for any kind of event using JavaScript, including browser-initiated events, or user-initiated events.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/browser-events\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/browser-events/2-handling-events\">Handling events</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/browser-events/3-the-domcontentloaded-event\">The `DOMContentLoaded` event</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/browser-events/4-the-event-object\">The `event` object</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/browser-events/5-mouse-events\">Mouse events</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/browser-events/6-keyboard-events\">Keyboard events</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/browser-events/7-preventdefault\">`preventDefault()`</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/browser-events/8-stopping-event-propagation\">Stopping event propagation</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/browser-events/9-bubbling-and-capturing\">Bubbling and capturing</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/browser-events/10-form-submit-event\">Form submit event</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/browser-events/11-input-fields-events\">Input fields events</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">11:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/browser-events/12-custom-events\">Creating custom events</a></td>\n</tr></table></div></article></div></div></div><div><header class=\"mt-10\"><p>Networking</p>\n<p>The fundamentals of HTTP networking, and how to use fetch(), and Request / Response</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/http\" id=\"http\" class=\"\">HTTP</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">The protocol of the Web: Hyper Text Transfer Protocol<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/http\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/http/1-an-http-request\">An HTTP request</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/http/2-http-methods\">HTTP Methods</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/http/3-http-status-codes\">HTTP Status Codes</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/http/4-http-clientserver-communication\">HTTP Client/Server communication</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/http/5-http-request-headers\">HTTP Request Headers</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/http/6-http-response-headers\">HTTP Response Headers</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/http/7-https\">HTTPS</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/http/8-http2\">HTTP/2</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/http/9-http3\">HTTP/3</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/fetch\" id=\"fetch\" class=\"\">Fetch</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">How to execute network requests using JavaScript. And how to inspect the Request and Response objects.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/fetch\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/fetch/1-introduction\">How to use Fetch</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/fetch/2-catching-errors\">Catching errors in network requests</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/fetch/3-the-response-object\">The Response object</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/fetch/4-getting-the-body-content\">Getting the body content</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/fetch/5-the-request-object\">The Request object</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/fetch/6-request-headers\">Request headers</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/fetch/7-post-requests\">POST requests</a></td>\n</tr></table></div></article></div></div></div><div><header class=\"mt-10\"><p>Browser API</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/cookies\" id=\"cookies\" class=\"\">Cookies</a></p>\n</header><article class=\"mb-0\"><p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/cookies\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/cookies/1-setting-cookies\">Setting cookies</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/cookies/2-setting-a-cookie-expiration-date\">Setting a cookie expiration date</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/cookies/3-setting-a-cookie-path\">Setting a cookie path</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/cookies/4-setting-a-cookie-domain\">Setting a cookie domain</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/cookies/5-cookies-security\">Cookies security</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/cookies/6-updating-a-cookie\">Updating a cookie</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/cookies/7-deleting-a-cookie\">Deleting a cookie</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/cookies/8-accessing-the-value-of-a-cookie\">Accessing the value of a cookie</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/cookies/9-checking-if-a-cookie-exists\">Checking if a cookie exists</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/cookies/10-inspecting-cookies\">Inspecting cookies</a></td>\n</tr></table></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/storage-api\" id=\"storage\" class=\"\">Storage</a></p>\n</header><article class=\"mb-0\"><p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/storage-api\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/storage-api/1-session-vs-local-storage\">Session vs local storage</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/storage-api/2-setting-an-item\">Setting an item</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/storage-api/3-getting-an-item\">Getting an item value</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/storage-api/4-removing-an-item\">Removing an item</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/storage-api/5-clearing-storage\">Clearing storage</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/storage-api/6-storage-size-limits\">Storage size limits</a></td>\n</tr></table></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/history-api\" id=\"history-api\" class=\"\">History API</a></p>\n</header><article class=\"mb-0\"><p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/history-api\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/history-api/1-navigating-the-history\">Navigating the history</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/history-api/2-add-an-entry-to-the-history\">Add an entry to the history</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/history-api/3-modify-history-entries\">Modify history entries</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/history-api/4-access-the-current-history-entry-state\">Access the current history entry state</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/history-api/5-the-popstate-event\">The `popstate` event</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/history-api/6-the-hashchange-event\">The `hashchange` event</a></td>\n</tr></table></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/indexeddb\" id=\"indexeddb\" class=\"\">IndexedDB</a></p>\n</header><article class=\"mb-0\"><p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/indexeddb\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/indexeddb/1-adding-the-idb-library\">Loading the idb library</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/indexeddb/2-creating-a-database-and-a-store\">Creating a database and a store</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/indexeddb/3-adding-data-into-a-store\">Adding data into a store</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/indexeddb/4-retrieving-data-from-a-store\">Retriving data from a store</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/indexeddb/5-deleting-data\">Deleting data</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/indexeddb/6-migrations\">Migrations</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/indexeddb/7-unique-keys\">Unique keys</a></td>\n</tr></table></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/geolocation-api\" id=\"geolocation\" class=\"\">Geolocation</a></p>\n</header><article class=\"mb-0\"><p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/geolocation-api\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/geolocation-api/1-getting-the-users-position\">Getting the user's position</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/geolocation-api/2-watching-the-position-for-changes\">Watching the position for changes</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/geolocation-api/3-if-the-user-denies-the-position\">If the user denies the position</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/geolocation-api/4-adding-more-options\">Adding more options</a></td>\n</tr></table></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/drag-and-drop-api\" id=\"drag-and-drop\" class=\"\">Drag and Drop</a></p>\n</header><article class=\"mb-0\"><p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/drag-and-drop-api\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/drag-and-drop-api/1-drop-targets\">Drop targets</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/drag-and-drop-api/2-drag-events\">Drag events</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/drag-and-drop-api/3-dragging-data\">Dragging data</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/drag-and-drop-api/4-set-get-the-effect\">Set / get the effect</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/drag-and-drop-api/5-the-data-being-transferred\">The data being transferred</a></td>\n</tr></table></article></div></div></div><div><header class=\"mt-10\"><p>Server Runtimes</p>\n<p>Server Runtimes are tools that let us run JavaScript on the server. In this section we'll learn about Node.js and Bun. Deno is another popular server runtime, but other more niche ones exist, mostly to power specific deployment platforms. Your takeaway is that there are several ways to run JavaScript on the server. Node.js is the most popular, Bun the most up-and-coming.</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/nodejs\" id=\"nodejs\" class=\"\">Node.js</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Node.js is the foundational runtime for server-side JavaScript. It was the one that created everything back in 2009.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/nodejs\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/nodejs/1-install-node\">Installing Node.js on your computer</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/nodejs/2-write-first-node-program\">How to write your first Node.js program</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/nodejs/3-import-other-files\">Importing other files</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/nodejs/4-use-npm\">Using npm to install packages</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/nodejs/5-use-built-in-modules\">Using built-in modules</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/bun\" id=\"bun\" class=\"\">Bun</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Bun is a new runtime for server-side JavaScript, optimized for speed and performance, and developer experience.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/bun\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/bun/1-installing-bun\">Installing Bun</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/bun/2-first-bun-program\">Running your first Bun program</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/bun/3-working-with-packages\">Working with packages</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/bun/4-built-in-features\">Bun's built-in features</a></td>\n</tr></table></div></article></div></div></div><div><header class=\"mt-10\"><p>HTTP Servers</p>\n<p>There are quite a few lightweight libraries/frameworks that build upon Server Runtimes to provide an easy to use set of features to build HTTP servers. We can call them microframeworks too. I picked Hono as the modern, feature-rich one</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/express\" id=\"express\" class=\"\">Express</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Express is historically the most popular Node.js framework, and while more modern alternatives exist, it is still a foundational framework you will find all the time, so it is worth learning it<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/1-introduction\">Introduction to Express</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/2-request-parameters\">Request parameters</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/3-send-response-to-client\">Send a response to the client</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/4-send-json-response\">Send a JSON response</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/5-handle-cookies\">Manage cookies</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/6-handle-http-headers\">Work with HTTP headers</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/7-handle-redirects\">Handling redirects</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/8-routing\">Routing</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/9-template-engines\">Template engines</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/10-middleware\">Middleware</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">11:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/11-static-assets\">Serving Static Assets with Express</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">12:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/12-send-files\">Send files to the client</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">13:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/13-sessions\">Sessions</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">14:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/14-validate-sanitize-input\">Validating and sanitizing input</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">15:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/express/15-handle-form-data\">Handling form data</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/hono\" id=\"hono\" class=\"\">Hono</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">A server-side lightweight Web Framework similar to Express but with modern features<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/hono\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/hono/1-introduction\">Your first Hono app</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/hono/2-request-object\">The Request object</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/hono/3-send-response-to-client\">Send a response to the client</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/hono/4-handle-cookies\">Manage cookies</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/hono/5-handle-http-headers\">Work with HTTP headers</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/hono/6-handle-redirects\">Handling redirects</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/hono/7-routing\">Routing</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/hono/8-jsx-templates\">JSX templates</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/hono/9-middleware\">Middleware</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/hono/10-hono-on-nodejs\">Hono on Node.js</a></td>\n</tr></table></div></article></div></div></div><div><header class=\"mt-10\"><p>Forms</p>\n<p>Of all the HTML tags, forms need their own section because of how important they are.</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/forms\" id=\"forms-101\" class=\"\">Forms 101</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">The basics of building and submitting forms<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/forms\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/forms/1-creating-a-form\">Creating a form</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/forms/2-submitting-a-form\">Submitting a form</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/forms/3-receiving-the-form-data\">Receiving the form data</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/forms/4-form-validation\">Form validation</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/forms/5-more-tags-useful-in-forms\">More tags useful in forms</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/form-fields\" id=\"form-fields\" class=\"\">Form fields</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">How to use all the built-in form fields you can think of!<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/form-fields\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/form-fields/1-form-submit-field\">Form submit field</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/form-fields/2-specialized-input-fields\">Specialized input fields</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/form-fields/3-checkboxes\">Checkboxes</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/form-fields/4-radio-buttons\">Radio buttons</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/form-fields/5-file-input-fields\">File input fields</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/form-fields/6-textarea\">Textarea</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/form-fields/7-select\">Select</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/form-fields/8-autocompleting-form-fields\">Autocompleting form fields</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/forms-js\" id=\"forms-and-javascript\" class=\"\">Forms and JavaScript</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">How to interact with forms using JavaScript<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/forms-js\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/forms-js/1-inspect-the-value-of-an-item\">Inspect the value of an item</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/forms-js/2-listen-to-events-on-input-fields\">Listen to events on input fields</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/forms-js/3-intercepting-a-form-submit-event-using-javascript\">Intercepting a form submit event using JavaScript</a></td>\n</tr></table></div></article></div></div></div><div><header class=\"mt-10\"><p>Databases</p>\n<p>We use databases to store and retrieve data dynamically. In this section we'll talk about relational databases.</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/sql\" id=\"sql\" class=\"\">SQL</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Introduction to SQL, the language we use to talk to a relational database. Focusing on Postgres<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/sql\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/sql/1-using-tableplus\">Using TablePlus</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/sql/2-create-postgres-database\">Create a Postgres database</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/sql/3-create-a-table\">Create a new table</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/sql/4-add-data-to-a-table-with-insert-into\">Add data to a table</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/sql/5-query-data-with-select\">Query data with SELECT</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/sql/6-delete-data\">Delete data from the database</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/sql/7-update-data-with-update\">Update data with UPDATE</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/sql/8-null-constraints\">Null constraints</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/sql/9-unique-and-primary-keys\">Unique and primary keys</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/sql/10-updating-a-table-structure\">Updating a table structure</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">11:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/sql/11-joins\">Joins</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/kysely\" id=\"kysely\" class=\"\">Kysely</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Kysely is an awesome library to use SQL easily using JavaScript<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/kysely\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/kysely/1-installation\">Installing Kysely</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/kysely/2-select\">Select queries</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/kysely/3-insert\">Inserting data</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/kysely/4-delete\">Deleting data</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/kysely/5-update\">Updating data</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/kysely/6-joins\">Joins</a></td>\n</tr></table></div></article></div></div></div><div><header class=\"mt-10\"><p>Libraries and frameworks</p>\n<p>UI libraries are tools that we use to abstract the browser DOM API and event handling, to help us create User Interfaces more easily.</p>\n</header><div class=\"py-5 grid md:grid-cols-2 gap-10\"><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/react\" id=\"react\" class=\"\">React</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Learn the most popular JavaScript library used to build UIs<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\">DEMO <a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/1-demo-setting-up-a-react-project-with-vite\">Setting up a React project with Vite</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/2-react-components\">React Components</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/3-introduction-to-jsx\">Introduction to JSX</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/4-using-jsx-to-compose-ui\">Using JSX to compose UI</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/5-the-difference-between-jsx-and-html\">The difference between JSX and HTML</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/6-embedding-javascript-in-jsx\">Embedding JavaScript in JSX</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/7-handling-user-events\">Handling user events</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/8-managing-state\">Managing state</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/9-component-props\">Component props</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/10-data-flow\">Data flow</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">11:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/11-lifecycle-events\">Lifecycle events</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">12:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/12-managing-forms-in-react\">Managing forms in React</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">13:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/13-install-the-react-developer-tools\">Install the React Developer Tools</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">14:</td>\n<td class=\"!p-0 !border-none\">DEMO <a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/14-demo-installing-tailwind-css-in-a-react-app\">Installing Tailwind CSS in a React app</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">15:</td>\n<td class=\"!p-0 !border-none\">DEMO <a class=\"hover:underline\" href=\"https://thevalleyofcode.com/react/15-demo-build-a-counter-in-react\">Build a counter in React</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/alpine\" id=\"alpinejs\" class=\"\">Alpine.js</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Alpine.js is a great library to bring pages to life with client-side interactions, without the need to write a lot of custom JavaScript or use a more heavy UI library.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/alpine\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/alpine/1-installation\">Installing Alpine</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/alpine/2-alpine-basics\">The basics of Alpine</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/alpine/3-events\">Events</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/alpine/4-define-data\">Defining data</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/alpine/5-loop\">Looping</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/alpine/6-bind-input\">Binding user input to variables</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/alpine/7-watch-variables\">Watching variables change</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/alpine/8-stores\">Stores</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/htmx\" id=\"htmx\" class=\"\">htmx</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Learn this very interesting library that lets you build dynamic Web applications with client/server communication without writing any JavaScript<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/htmx\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/htmx/1-why-htmx\">Why htmx</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/htmx/2-core-idea-of-htmx\">The core idea of htmx</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/htmx/3-install-htmx\">Installing htmx</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/htmx/4-get-request\">Doing a GET request</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/htmx/5-swap\">Swap</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/htmx/6-post-request\">POST request</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/htmx/7-targets\">Targets</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/htmx/8-loading-indicator\">Loading indicator</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/htmx/9-confirm-and-prompts\">Confirming actions, and prompts</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/htmx/10-triggers\">Triggers</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">11:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/htmx/11-request-headers\">Request headers</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">12:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/htmx/12-response-headers\">Response headers</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">13:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/htmx/13-events\">Events</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/astro\" id=\"astro\" class=\"\">Astro</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Astro is a great tool, ideal for building websites and in particular content sites, but not limiting you to that.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/astro\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/astro/1-first-astro-site\">Your first Astro site</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/astro/2-astro-site-structure\">The structure of an Astro site</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/astro/3-astro-components\">Astro components</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/astro/4-adding-more-pages\">Adding more pages</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/astro/5-dynamic-routing\">Dynamic routing</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/astro/6-markdown-in-astro\">Markdown in Astro</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/astro/7-images\">Images</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/astro/8-collections\">Content collections</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/astro/9-css\">CSS in Astro</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">10:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/astro/10-javascript\">JavaScript in Astro</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">11:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/astro/11-view-transitions\">Client-side routing and view transitions</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">12:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/astro/12-ssr\">SSR in Astro</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">13:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/astro/13-api-endpoints\">API endpoints in Astro</a></td>\n</tr></table></div></article></div><div class=\"mb-10\"><header><p><a href=\"https://thevalleyofcode.com/remix\" id=\"remix\" class=\"\">Remix</a></p>\n</header><article class=\"mb-0\"><div class=\"pt-5 pb-0 white col\">Remix is an excellent Web Application Framework I would use when building complex React-based applications.<p></p><table class=\"text-blue-400 font-mono tracking-[-1px] !border-none\"><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">0:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/remix\">Introduction</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">1:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/remix/1-create-your-first-remix-app\">Create your first Remix app</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">2:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/remix/2-the-root-route\">The root route</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">3:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/remix/3-file-based-routing\">File based routing</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">4:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/remix/4-linking-your-pages\">Linking your pages</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">5:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/remix/5-styling-with-css-and-tailwind\">Styling with CSS and Tailwind</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">6:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/remix/6-create-a-navigation\">Create a navigation</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">7:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/remix/7-dynamic-routes-and-nested-routes\">Dynamic routes and nested routes</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">8:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/remix/8-connecting-a-database\">Connecting a database</a></td>\n</tr><tr class=\"!border-none\"><td class=\"!p-0 !border-none\">9:</td>\n<td class=\"!p-0 !border-none\"><a class=\"hover:underline\" href=\"https://thevalleyofcode.com/remix/9-data-mutations-using-forms-and-actions\">Data mutations using forms and actions</a></td>\n</tr></table></div></article></div></div></div></div></section>",
    "created_at": "2024-08-28T10:09:52+00:00",
    "updated_at": "2024-08-28T10:10:00+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "en",
    "reading_time": 15,
    "domain_name": "thevalleyofcode.com",
    "preview_picture": "https://thevalleyofcode.com/images/og.png",
    "http_status": "200",
    "headers": {
      "date": "Wed, 28 Aug 2024 10:09:51 GMT",
      "content-type": "text/html; charset=UTF-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "accept-ranges": "bytes",
      "cache-control": "public, max-age=0",
      "last-modified": "Tue, 06 Aug 2024 10:01:27 GMT",
      "cf-cache-status": "DYNAMIC",
      "report-to": "{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=Pue6XUKn9m89AJfnENMgCKgAS6NmntyXuLNeujUUNPogYmPvzz/zPzLsM392sJuLFm6lA4nspZ4cY7S+sR6Fh3C7safDuXUawWMI5RRQSUsv1uBSqN0rKsltoKcglzPo7jee5Tdk37hsJwvZi1n1BxCB\"}],\"group\":\"cf-nel\",\"max_age\":604800}",
      "nel": "{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}",
      "server": "cloudflare",
      "cf-ray": "8ba38217dfe9bf0a-LHR",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["books", "tuto", "dev"],
    "is_public": false,
    "id": 91,
    "title": "Books | Flavio Copes",
    "url": "https://flaviocopes.com/books/",
    "given_url": "https://flaviocopes.com/books/",
    "content": "<div class=\"mb-6 border-b-[1px]\"><p class=\"mb-8\">Download my 17 books \ud83d\udc47</p><p class=\"mb-8\">Then, <a href=\"https://flaviocopes.com/courses\">check out my courses list</a>. I am organizing a bunch of super interesting courses in the near future!</p></div><ul><li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>C Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/c-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>Command Line Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/cli-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>CSS Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/css-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>Express Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/express-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>Git Cheat Sheet</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/git-cheat-sheet.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>Go Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/go-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>HTML Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/html-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>JS Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/js-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>Laravel Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/laravel-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>Next.js Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/next-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>Node.js Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/node-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>PHP Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/php-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>Python Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/python-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>React Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/react-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>SQL Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/sql-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>Svelte Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/svelte-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n<li class=\"mb-3 grid grid-cols-[1fr] items-start md:grid-cols-[1fr_auto] md:gap-2\">\n<p>Swift Handbook</p>\n<p><a href=\"https://flaviocopes.pages.dev/books/swift-handbook.pdf\" target=\"_blank\" class=\"\">Download PDF</a></p>\n</li>\n</ul>",
    "created_at": "2024-08-28T10:09:32+00:00",
    "updated_at": "2024-08-28T10:09:43+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "en",
    "reading_time": 0,
    "domain_name": "flaviocopes.com",
    "preview_picture": "https://flaviocopes.com/images/og.png",
    "http_status": "200",
    "headers": {
      "date": "Wed, 28 Aug 2024 10:09:31 GMT",
      "content-type": "text/html; charset=UTF-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "age": "7418",
      "cache-control": "public,max-age=0,must-revalidate",
      "cache-status": "\"Netlify Edge\"; hit",
      "strict-transport-security": "max-age=31536000",
      "vary": "Accept-Encoding",
      "x-nf-request-id": "01J6C7CFSQ74X6EY4GV4WVH7RF",
      "cf-cache-status": "DYNAMIC",
      "report-to": "{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=6wLJzuMXKwR8/66bW9corp1o6hhY1bxQklZn2RhIFbZyngrATKba+FrHHzcFw4NHH6s8bIvK1dsRz2IjbHohJb76m4HGLkQ74mApmNU8qBVP6SAm/+zXHfR5LJw9qa25WiKMKpqwXn7GvdZi+Kk=\"}],\"group\":\"cf-nel\",\"max_age\":604800}",
      "nel": "{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}",
      "server": "cloudflare",
      "cf-ray": "8ba3819e5d366431-LHR",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["javascript", "typescript", "begin"],
    "is_public": false,
    "id": 90,
    "title": "How to create a new TypeScript project - Hard Wired",
    "url": "https://www.hardwired.dev/2024/05/25/how-to-create-a-new-typescript-project/",
    "given_url": "https://www.hardwired.dev/2024/05/25/how-to-create-a-new-typescript-project/",
    "content": "<p>TypeScript compared to JavaScript is a little bit more complex. If you do server-side JavaScript, you just call <code>node your-script.js</code> and it runs. When you want to use TypeScript, you need to install a few things and do a few steps to make your code runnable.</p>\n<blockquote>\n<p>Make sure you have installed the latest version of <code>nodejs</code> on your system.</p>\n</blockquote>\n<p>Create your project folder, change the current working directory, and install <code>typescript</code> as your development dependency.</p>\n<pre><code class=\"language-bash\">npm i -D typescript</code></pre>\n<p>Initialize your <code>nodejs</code> project.</p>\n<pre><code class=\"language-bash\">npm init</code></pre>\n<p>Then use <code>npx</code> to initialize a new <code>typescript</code> project.</p>\n<pre><code class=\"language-bash\">npx tsc --init</code></pre>\n<p>A bunch of files should be in your project:</p>\n<ul><li>package.json</li>\n<li>package-lock.json</li>\n<li>tsconfig.json</li>\n</ul><p>Edit <code>tsconfig.json</code>, find <code>outDir</code>, and change it if you do not want compiled files in your root directory. Change it to the <code>build</code> folder.</p>\n<pre><code class=\"language-json\">...\noutDir\": \"./build\",   /* Specify an output folder for all emitted files. */\n...</code></pre>\n<p>Now it's time to create your first TypeScript code.</p>\n<p>Create a file <code>index.ts</code> and just put some random code.</p>\n<pre><code class=\"language-typescript\">async function main() {\n    const i: number = 1;\n    console.log('Random stuff', i);\n}\nmain()</code></pre>\n<p>Save it and then you can do a manual compilation.</p>\n<pre><code class=\"language-bash\">npx tsc</code></pre>\n<p>This compiles your project and the output will be stored in the <code>build</code> folder. You will find the file <code>index.js</code> there. Do a test run with <code>node ./build/index.js</code>.</p>\n<p>In the console, you should see:</p>\n<pre><code class=\"language-bash\">Random stuff 1</code></pre>\n<p>You can use <code>npx tsc -w</code> to activate watch mode. When you change anything in your project, it will be recompiled automatically.</p>\n<p>To make it a little bit easier, you can edit the <code>scripts</code> property in <code>package.json</code> to merge compilation and run into one command.</p>\n<pre><code class=\"language-json\">...\n\"scripts\": {\n        \"start\": \"npx tsc &amp;&amp; node ./build/index.js\"\n},\n...</code></pre>\n<p>When you call <code>npm run start</code>, your project will be compiled and run.</p>\n<p>During code development, you should use a linter to check your code using certain rules to avoid code inconsistency. An easy way is to use <code>Google TypeScript Style</code>.</p>\n<p>Install <code>gts</code> as a development dependency.</p>\n<pre><code class=\"language-bash\">npm i -D gts</code></pre>\n<p>Then initialize <code>gts</code> with <code>npx</code>.</p>\n<pre><code class=\"language-bash\">npx gts init</code></pre>\n<p>It will ask you some questions. If your <code>typescript</code> version is higher than suggested, just say no. Then you will be asked about updating <code>tsconfig.json</code>, say yes.</p>\n<p>Some big changes will be made.</p>\n<p>The <code>src</code> folder will be created with an <code>index.ts</code> file in it. Remove your old <code>index.ts</code> from the root folder.</p>\n<p>In <code>package.json</code>, update your start script.</p>\n<pre><code class=\"language-json\">...\n\"start\": \"npx tsc &amp;&amp; node ./build/src/index.js\",\n...</code></pre>\n<blockquote>\n<p>Make sure you have <code>eslint</code> support activated in your editor</p>\n</blockquote>\n<p>You will get an <code>index.ts</code> example file in the <code>src</code> directory. It is all wrong. If you have <code>eslint</code> support activated in your editor, it should scream at you with lots of errors.</p>\n<pre><code class=\"language-typescript\">console.log(\"Try npm run lint/fix!\");\nconst longString = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ut aliquet diam.';\nconst trailing = 'Semicolon'\n            const why={am:'I tabbed?'};\nconst iWish = \"I didn't have a trailing space...\"; \nconst sicilian = true;;\nconst vizzini = (!!sicilian) ? !!!sicilian : sicilian;\nconst re = /foo   bar/;\nexport function doSomeStuff(withThis: string, andThat: string, andThose: string[]) {\n    //function on one line\n    if(!Boolean(andThose.length)) {return false;}\n    console.log(withThis);\n    console.log(andThat);\n    console.dir(andThose);\n    console.log(longString, trailing, why, iWish, vizzini, re);\n    return;\n}\n// TODO: more examples</code></pre>\n<p>Just run <code>npm run fix</code> to let <code>gts</code> fix your code. You will get this:</p>\n<pre><code class=\"language-typescript\">console.log('Try npm run lint/fix!');\nconst longString =\n  'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ut aliquet diam.';\nconst trailing = 'Semicolon';\nconst why = {am: 'I tabbed?'};\nconst iWish = \"I didn't have a trailing space...\";\nconst sicilian = true;\nconst vizzini = sicilian ? !sicilian : sicilian;\nconst re = /foo {3}bar/;\nexport function doSomeStuff(\n  withThis: string,\n  andThat: string,\n  andThose: string[]\n) {\n  //function on one line\n  if (!andThose.length) {\n    return false;\n  }\n  console.log(withThis);\n  console.log(andThat);\n  console.dir(andThose);\n  console.log(longString, trailing, why, iWish, vizzini, re);\n  return;\n}\n// TODO: more examples</code></pre>\n<p>If it is working, you have just created your <code>typescript</code> project with a linter. It is a good thing to configure your code editor to perform <code>npm run fix</code> with every save.</p>\n<p>Enjoy TypeScript coding.</p>\n<p id=\"pvc_stats_2197\" class=\"pvc_stats total_only pvc_load_by_ajax_update\" data-element-id=\"2197\"><em class=\"pvc-stats-icon small\" aria-hidden=\"true\"></em> <img width=\"16\" height=\"16\" alt=\"Loading\" src=\"https://www.hardwired.dev/wp-content/plugins/page-views-count/ajax-loader-2x.gif\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n<div class=\"twitter-share\"><a href=\"https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2024%2F05%2F25%2Fhow-to-create-a-new-typescript-project%2F&amp;via=hessevalentino\" class=\"twitter-share-button\">Tweet</a></div>",
    "created_at": "2024-08-28T09:49:37+00:00",
    "updated_at": "2024-08-28T09:49:42+00:00",
    "published_at": "2024-05-25T06:01:43+00:00",
    "published_by": ["John Doe"],
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "cs",
    "reading_time": 3,
    "domain_name": "www.hardwired.dev",
    "preview_picture": "https://www.hardwired.dev/wp-content/uploads/2022/10/logo_retina.png",
    "http_status": "200",
    "headers": {
      "date": "Wed, 28 Aug 2024 09:49:36 GMT",
      "server": "Apache",
      "link": "<https://www.hardwired.dev/wp-json/>; rel=\"https://api.w.org/\", <https://www.hardwired.dev/wp-json/wp/v2/posts/2197>; rel=\"alternate\"; title=\"JSON\"; type=\"application/json\", <https://www.hardwired.dev/?p=2197>; rel=shortlink",
      "vary": "User-Agent,Accept-Encoding",
      "upgrade": "h2,h2c",
      "connection": "Upgrade",
      "cache-control": "max-age=300",
      "expires": "Wed, 28 Aug 2024 09:54:36 GMT",
      "transfer-encoding": "chunked",
      "content-type": "text/html; charset=UTF-8"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["gtd", "speadsheet"],
    "is_public": false,
    "id": 89,
    "title": "No title found",
    "url": "https://www.reddit.com/r/gtd/comments/14y8i93/my_spreadsheetbased_getting_things_done/",
    "given_url": "https://www.reddit.com/r/gtd/comments/14y8i93/my_spreadsheetbased_getting_things_done/",
    "content": "<p>You've been blocked by network security.</p><div class=\"text-16 text-neutral-content-weak pt-md\">To continue, log in to your Reddit account or use your developer token<p>If you think you've been blocked by mistake, file a ticket below and we'll look into it.</p><p><a class=\"items-center justify-center button button-medium inline-flex px-[var(--rem14)] button-primary\" href=\"https://www.reddit.com/login/\">Log in</a> <a class=\"items-center justify-center button button-medium inline-flex px-[var(--rem14)] button-secondary\" href=\"https://support.reddithelp.com/hc/en-us/requests/new?ticket_form_id=21879292693140\">File a ticket</a></p></div>",
    "created_at": "2024-07-19T12:48:35+00:00",
    "updated_at": "2024-07-19T12:48:48+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "reading_time": 0,
    "domain_name": "www.reddit.com",
    "http_status": "403",
    "headers": {
      "connection": "close",
      "content-length": "190240",
      "retry-after": "0",
      "content-type": "text/html",
      "cache-control": "private, no-store",
      "accept-ranges": "bytes",
      "date": "Fri, 19 Jul 2024 12:48:34 GMT",
      "via": "1.1 varnish",
      "strict-transport-security": "max-age=31536000; includeSubdomains",
      "x-content-type-options": "nosniff",
      "x-frame-options": "SAMEORIGIN",
      "x-xss-protection": "1; mode=block",
      "set-cookie": "edgebucket=ZsMDFgNIVuB025n7JD; Domain=reddit.com; Max-Age=63071999; Path=/;  secure",
      "server": "snooserv",
      "report-to": "{\"group\": \"w3-reporting-nel\", \"max_age\": 14400, \"include_subdomains\": true,  \"endpoints\": [{ \"url\": \"https://w3-reporting-nel.reddit.com/reports\" }]}, {\"group\": \"w3-reporting\", \"max_age\": 14400, \"include_subdomains\": true, \"endpoints\": [{ \"url\": \"https://w3-reporting.reddit.com/reports\" }]}, {\"group\": \"w3-reporting-csp\", \"max_age\": 14400, \"include_subdomains\": true, \"endpoints\": [{ \"url\": \"https://w3-reporting-csp.reddit.com/reports\" }]}",
      "nel": "{\"report_to\": \"w3-reporting-nel\", \"max_age\": 14400, \"include_subdomains\": false, \"success_fraction\": 1.0, \"failure_fraction\": 1.0}"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["javascript", "vanilla", "tips"],
    "is_public": false,
    "id": 88,
    "title": "Daily Developer Tips",
    "url": "https://gomakethings.com/articles/",
    "given_url": "https://gomakethings.com/articles/",
    "content": "Daily Developer Tips | Go Make Things\n<p><a class=\"screen-reader screen-reader-focusable\" href=\"https://gomakethings.com/articles/#main\">Skip to main content</a> <a class=\"screen-reader screen-reader-focusable\" href=\"mailto:chris@gomakethings.com?subject=Go%20Make%20Things:%20Accessibility%20Feedback\">Accessibility Feedback</a></p>\n<header class=\"container container-large margin-bottom-large\"><main id=\"main\" tabindex=\"-1\"><div class=\"container\"><article><p><strong>Hate the complexity of modern front\u2011end web development?</strong> I send out a short email each weekday on how to build a simpler, more resilient web. Join over 14k others.</p><form action=\"https://gomakethings.com/api/subscribe.php\" method=\"post\">\n<p><label for=\"first_name\">If you're human, leave this blank</label> </p>\n<div class=\"row\"><p><label class=\"screen-reader\" for=\"email\" hidden=\"hidden\">Enter your email address to get Daily Developer Tips emails</label> </p></div>\n</form><blockquote><div>This has easily been the most valuable newsletter I have ever subscribed to. Thank you very much for sharing and educating!<cite>- <a href=\"http://develop.calebstauffer.com/\">Caleb Stauffer</a></cite></div></blockquote><p><mark>\u2600\ufe0f\ud83e\udde0 <em><strong>Summer of Learning Sale!</strong> Join the <a href=\"https://leanwebclub.com\">Lean Web Club</a> today and get 1 month free, plus 30% off for the first three months after that. <a href=\"https://leanwebclub.com\">Click here to join for free now!</a></em></mark></p></article><h2>July 2024</h2><h2>June 2024</h2><h2>May 2024</h2></div>\n</main></header>",
    "created_at": "2024-07-02T06:14:02+00:00",
    "updated_at": "2024-07-02T06:14:13+00:00",
    "published_at": "2024-07-01T00:00:00+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "reading_time": 0,
    "domain_name": "gomakethings.com",
    "preview_picture": "https://gomakethings.com/img/og.png",
    "http_status": "200",
    "headers": {
      "server": "nginx",
      "date": "Tue, 02 Jul 2024 06:14:01 GMT",
      "content-type": "text/html; charset=utf-8",
      "content-length": "45682",
      "connection": "keep-alive",
      "vary": "Accept-Encoding, Accept-Encoding",
      "last-modified": "Tue, 02 Jul 2024 04:00:47 GMT",
      "accept-ranges": "bytes",
      "cache-control": "max-age=0",
      "expires": "Tue, 02 Jul 2024 06:14:01 GMT",
      "x-ua-compatible": "IE=edge",
      "x-content-type-options": "nosniff"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "dash", "jinja2"],
    "is_public": false,
    "id": 87,
    "title": "Passing dash_html_components into a Jinja template",
    "url": "https://stackoverflow.com/questions/50827099/passing-dash-html-components-into-a-jinja-template",
    "given_url": "https://stackoverflow.com/questions/50827099/passing-dash-html-components-into-a-jinja-template",
    "content": "<div class=\"user-details\"><a href=\"https://stackoverflow.com/users/5033146/nils\">Nils</a>\n<div class=\"-flair\">2,7051616 silver badges3131 bronze badges</div></div><div class=\"user-details\" itemprop=\"author\" itemscope=\"itemscope\" itemtype=\"http://schema.org/Person\"><a href=\"https://stackoverflow.com/users/7586914/deko\">deko</a>deko\n<div class=\"-flair\">33733 silver badges1212 bronze badges</div></div><h2 class=\"mb0\" data-answercount=\"2\">2 Answers 2</h2><div class=\"user-details\" itemprop=\"author\" itemscope=\"itemscope\" itemtype=\"http://schema.org/Person\"><a href=\"https://stackoverflow.com/users/13278594/paul-wilson\">Paul Wilson</a>Paul Wilson\n<div class=\"-flair\">56055 silver badges1717 bronze badges</div></div><div class=\"user-details\" itemprop=\"author\" itemscope=\"itemscope\" itemtype=\"http://schema.org/Person\"><a href=\"https://stackoverflow.com/users/3385948/sean-mccarthy\">Sean McCarthy</a>Sean McCarthy\n<div class=\"-flair\">5,32899 gold badges4242 silver badges6767 bronze badges</div></div>",
    "created_at": "2024-06-11T06:33:06+00:00",
    "updated_at": "2024-06-11T06:33:14+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 0,
    "domain_name": "stackoverflow.com",
    "preview_picture": "https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=73d79a89bded",
    "http_status": "200",
    "headers": {
      "date": "Tue, 11 Jun 2024 06:33:06 GMT",
      "content-type": "text/html; charset=utf-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "cache-control": "private",
      "vary": "Accept-Encoding",
      "strict-transport-security": "max-age=15552000",
      "x-frame-options": "SAMEORIGIN",
      "x-request-guid": "b13c9dd0-b231-49ee-b63c-fd25c76ee248",
      "set-cookie": "prov=98226259-e49c-4c92-b3a6-379336088f10; expires=Wed, 11 Jun 2025 06:33:06 GMT; domain=.stackoverflow.com; path=/; secure; samesite=none; httponly, __cf_bm=gXVx2ncZQdnYlhPBVLG5YsS_zUs5RP1LfsPUUhormc8-1718087586-1.0.1.1-aTTYoCEVa9roicd8Pg1Bmyw1abuYW5QwtbhxjkUIp6wGJmPC.TZwjbhwDibtDjG2cn4Wvh1sSdP1OObDnzGwaQ; path=/; expires=Tue, 11-Jun-24 07:03:06 GMT; domain=.stackoverflow.com; HttpOnly; Secure; SameSite=None, __cflb=0H28vFHtoAR1ohjxFffpsanyHA9PyT2QKHrs5MijwX2; SameSite=None; Secure; path=/; expires=Wed, 12-Jun-24 05:33:06 GMT; HttpOnly",
      "feature-policy": "microphone 'none'; speaker 'none'",
      "content-security-policy": "upgrade-insecure-requests; frame-ancestors 'self' https://stackexchange.com",
      "cf-cache-status": "DYNAMIC",
      "x-dns-prefetch-control": "off",
      "server": "cloudflare",
      "cf-ray": "891f9154e8df99c0-CDG"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "dash", "jinja2"],
    "is_public": false,
    "id": 86,
    "title": "Using Dash in Flask App, extend base.html using Jinja2",
    "url": "https://community.plotly.com/t/using-dash-in-flask-app-extend-base-html-using-jinja2/43298/3?_escaped_fragment_=",
    "origin_url": "https://community.plotly.com/t/using-dash-in-flask-app-extend-base-html-using-jinja2/43298/3",
    "given_url": "https://community.plotly.com/t/using-dash-in-flask-app-extend-base-html-using-jinja2/43298/3",
    "content": "<p><a itemprop=\"url\" href=\"https://community.plotly.com/u/phuonghao145\">phuonghao145</a>\n              \n              \n                  \n              3</p><div class=\"post\" itemprop=\"text\"><p>Hello,</p><p>Did you fixed your problem or no? because i also faces same issue from last couple of days and can\u2019t understand what actual going on so please help me.</p></div>",
    "created_at": "2024-06-11T06:31:54+00:00",
    "updated_at": "2024-06-11T06:32:03+00:00",
    "published_at": "2021-08-27T07:43:39+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 0,
    "domain_name": "community.plotly.com",
    "preview_picture": "https://global.discourse-cdn.com/business7/uploads/plot/original/3X/e/d/edee92f62a7850759331e74e8f18bd2f7e9c26f2.jpeg",
    "http_status": "200",
    "headers": {
      "server": "nginx",
      "date": "Tue, 11 Jun 2024 06:31:54 GMT",
      "content-type": "text/html; charset=utf-8",
      "transfer-encoding": "chunked",
      "vary": "Accept-Encoding, Accept",
      "x-frame-options": "SAMEORIGIN",
      "x-xss-protection": "0",
      "x-content-type-options": "nosniff",
      "x-download-options": "noopen",
      "x-permitted-cross-domain-policies": "none",
      "referrer-policy": "strict-origin-when-cross-origin",
      "x-discourse-route": "topics/show",
      "last-modified": "Tue, 05 Oct 2021 15:33:47 GMT",
      "cross-origin-opener-policy": "same-origin-allow-popups",
      "cache-control": "no-cache, no-store",
      "content-security-policy": "upgrade-insecure-requests; base-uri 'self'; object-src 'none'; script-src 'nonce-rTiD7uJ2WFu4J8lD2vLZggUhy' 'strict-dynamic'; frame-ancestors 'self'; manifest-src 'self'",
      "x-discourse-cached": "skip",
      "set-cookie": "_forum_session=onDGFAkOZSLaUbaspJU8zkzOkTvEmZJTx9ptG+w+XhJ3PMItIyk2BUj97wfA4NZE20GbZ52kk7wzEuRc9yM0kVznNBrzO6EDN/fzdgcdAu8WcACt7l40zYTVwy2nANmVe4oS9p+pi0avPDa6+BAc/w9LyVFLfPQFwQDashTfW+9r3M1npF6a1PkuUhP4bD15waCgWJN2s3TdwpZUwzteN2nlXViMN4AZPYhcp4iBcrBwhJbkxs6uRKb/RBAeZm0kQFxzG8eHYGFaJjULE8d6bVo1fWrQ8BGfuKCZC47RTxFD4Eb6DmDLa6dn63pgXw6zJNKVBhBkbYczu8Z+ZNXdfL0DyHfgcwfT5BbUDVkhBVCjjQ==--1rbaFkmFBLph2xOf--uZZpeBcmsVv1MLZfd6hgxg==; path=/; secure; HttpOnly; SameSite=Lax; Secure",
      "x-request-id": "05cdbe14-7582-4e6b-8cf6-ead39dc4d9ef",
      "x-discourse-trackview": "1",
      "cdck-proxy-id": "app-router-tiehunter02.sea2, app-balancer-tieinterceptor1b.sea2",
      "strict-transport-security": "max-age=31536000"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["git"],
    "is_public": false,
    "id": 85,
    "title": "Notre guide pour apprendre Git \u2022 Delicious Insights",
    "url": "https://delicious-insights.com/fr/articles-et-tutos/apprendre-git/",
    "given_url": "https://delicious-insights.com/fr/articles-et-tutos/apprendre-git/",
    "content": "<header><p>Chez <a href=\"https://delicious-insights.com/fr/\">Delicious Insights</a> on a une expertise Git reconnue, notamment avec notre formation <a href=\"https://delicious-insights.com/fr/formations/git-total/\">Git Total</a>. Les ann\u00e9es passant on a \u00e9crit pas mal de choses sur diff\u00e9rents sujets, on avait m\u00eame un site \u201cgit-attitude\u201d d\u00e9di\u00e9. Ce qui manquait et qu\u2019on nous a r\u00e9guli\u00e8rement demand\u00e9, c\u2019est un fil conducteur pour parcourir nos articles (mais pas que) et apprendre Git. En r\u00e9sum\u00e9 un guide d\u2019apprentissage de Git. Il est donc temps qu\u2019on s\u2019y colle\u00a0!</p>\n</header><section class=\"no-internal-nav\"><p>On va droit au but et on commence avec de la configuration\u00a0:</p><h2 id=\"installation-et-configuration\" tabindex=\"-1\">Installation et configuration</h2><p>Pour l\u2019installation, on propose <a href=\"https://installations.delicious-insights.com/software/git.html\">un guide qu\u2019on met r\u00e9guli\u00e8rement \u00e0 jour</a>.</p><p>Ensuite il faut apporter quelques touches de personnalisation pour optimiser le comportement de Git. On paie ici le prix de la r\u00e9tro-compatibilit\u00e9 souhait\u00e9e par la communaut\u00e9. En gros toutes les nouveaut\u00e9s qui modifient des comportements de Git sont de base d\u00e9sactiv\u00e9es et doivent \u00eatre consciemment activ\u00e9es via la configuration.</p><p>Notre objectif ici n\u2019est pas de te d\u00e9crire le fonctionnement ni m\u00eame le d\u00e9tail de la conf, pour \u00e7a tu as acc\u00e8s \u00e0 <a href=\"https://gist.github.com/tdd/470582\">notre configuration partag\u00e9e</a> qu\u2019on a gentiment document\u00e9e, et sinon l\u2019article (qui commence \u00e0 dater un poil) \u00ab\u00a0<a href=\"https://delicious-insights.com/fr/articles/configuration-git/\">Une configuration Git aux petits oignons</a>\u00a0\u00bb.</p><p>Si tu es utilisateur\u00b7rice du terminal (hors ZSH) tu voudras probablement le <em>tuner</em> pour avoir certaines informations dans le prompt sans avoir \u00e0 faire par exemple un <code>git status</code>. Voici l\u2019article qui va bien\u00a0: \u00ab\u00a0<a href=\"https://delicious-insights.com/fr/articles/prompt-git-qui-dechire/\">Un prompt Git qui d\u00e9chire</a>\u00a0\u00bb.</p><p>Comme on est sympas on t\u2019a fait <a href=\"https://installations.delicious-insights.com/software/git.html#comment-configurer-tout-%C3%A7a-vite-fait-\">un petit script</a> qui permet de g\u00e9rer la configuration et la personnalisation du prompt. On ne garantit pas qu\u2019il marche pour tout le monde, alors au pire, tu suis la proc\u00e9dure des articles r\u00e9f\u00e9renc\u00e9s pr\u00e9c\u00e9demment.</p><p>Pour travailler avec un serveur Git, il est important de pouvoir automatiser la connexion. Pour \u00e7a on passe par ce qu\u2019on appelle des cl\u00e9s asym\u00e9triques. Pour tout savoir l\u00e0-dessus, lis donc l\u2019article \u00ab\u00a0<a href=\"https://delicious-insights.com/fr/articles/comprendre-et-maitriser-les-cles-ssh/\">Comprendre et ma\u00eetriser les cl\u00e9s SSH</a>\u00a0\u00bb, un de nos plus gros succ\u00e8s\u00a0!</p><h2 id=\"apprendre-git\" tabindex=\"-1\">Apprendre Git</h2><p>Git est tr\u00e8s utilis\u00e9, populaire, tout \u00e7a tout \u00e7a\u2026 Du coup on trouve pl\u00e9thore de docs plus ou moins bien fichues, mais il reste parfois des zones d\u2019ombre, ou simplement certains sujets qui sont mal trait\u00e9s \u00e0 notre go\u00fbt. C\u2019est \u00e7a qui a motiv\u00e9 l\u2019\u00e9criture de la plupart de nos articles.</p><h3 id=\"avant-de-foncer-t%C3%AAte-baiss%C3%A9e%E2%80%A6\" tabindex=\"-1\">Avant de foncer t\u00eate baiss\u00e9e\u2026</h3><p>\u2026 je te fais quelques recommandations pour pr\u00e9parer ton apprentissage.</p><p>Git est un support, un outil dont il faut <strong>retenir avant tout les concepts fonctionnels</strong>. Les aspects techniques sont secondaires, tout comme les commandes. Tu les retrouveras d\u00e8s lors que tu auras bien en t\u00eate \u00e0 quoi te sert Git et ce que tu souhaites en faire.</p><p>Pour bien apprendre, voici les \u00e9tapes cl\u00e9s qu\u2019on te recommande\u00a0:</p><ol><li>Comprendre les concepts cl\u00e9s et tes attentes :</li>\n</ol><ul><li>les zones, les \u00e9tats des fichiers</li>\n<li>ce que tu veux mettre dans une r\u00e9vision/un commit (un ou plusieurs fichiers, une partie des modifs d\u2019un fichier\u2026)</li>\n<li>ce que tu veux retranscrire dans un historique (\u00e0 quoi doit ressembler \u00abgraphiquement\u00bb l\u2019histoire de ton projet, et pourquoi\u00a0?)</li>\n<li>isoler / parall\u00e9liser du travail (int\u00e9r\u00eat fonctionnel des branches)</li>\n<li>travailler seul\u00b7e ou \u00e0 plusieurs</li>\n</ul><ol start=\"2\"><li>Les commandes de base</li>\n</ol><ul><li>pour construire un commit, un historique (<code>add</code>, <code>commit</code>, <code>restore</code>)</li>\n<li>pour analyser un historique (\u00e9tat des fichiers <code>status</code>, modifications apport\u00e9es <code>diff</code>, lecture de l\u2019historique <code>log</code>)</li>\n<li>pour manipuler les branches (visualiser, cr\u00e9er <code>branch</code>, travailler <code>switch</code>/<code>restore</code>, fermer et int\u00e9grer un travail <code>merge</code>)</li>\n<li>pour modifier un historique (derniers commits <code>reset</code>, ou plus large <code>rebase</code>)</li>\n</ul><ol start=\"3\"><li>Plus dans le d\u00e9tail des commandes (options avanc\u00e9es, astuces\u2026)</li>\n</ol><h3 id=\"maintenant%2C-les-ressources-utiles\" tabindex=\"-1\">Maintenant, les ressources utiles</h3><p>Pour la base, tu peux regarder notre cours vid\u00e9o gratuit \u00ab\u00a0<a href=\"https://cours-video.delicious-insights.com/git-concepts\">Les concepts cl\u00e9s de Git</a>\u00a0\u00bb, que tu peux aussi retrouver sur notre cha\u00eene Youtube \u00ab\u00a0<a href=\"https://www.youtube.com/channel/UCjSaKLyIlY9oUdT0PN4KduQ\">Apprendre Git</a>\u00a0\u00bb.</p><p>Une fois que tu as compris l\u2019essentiel des m\u00e9canismes de base inh\u00e9rents \u00e0 Git, tu vas devoir apprendre les commandes usuelles. Tu peux alors choisir diff\u00e9rentes approches\u00a0:</p><ul><li>Un d\u00e9marrage rapide avec le \u201c<a href=\"https://git-scm.com/docs/everyday\">everyday Git</a>\u201d qui r\u00e9sume les commandes les plus couramment utilis\u00e9es ou avec <a href=\"http://ndpsoftware.com/git-cheatsheet.html\">cette \u201ccheatsheet\u201d dynamique imabattable</a>\u00a0!</li>\n<li>Tu peux parcourir le \u00ab\u00a0<a href=\"https://git-scm.com/book/fr/v2\">Pro Git Book</a>\u00a0\u00bb, documentation fonctionnelle officielle.</li>\n<li>Ou tu peux tenter d\u2019apprendre \u00e0 l\u2019aide d\u2019un <a href=\"http://gitimmersion.com/\">tutoriel, en mode pas \u00e0 pas</a>.</li>\n</ul><p>Si tu veux manipuler et visualiser certains comportements de Git, on te propose 2 ressources g\u00e9niales\u00a0:</p><ul><li><a href=\"https://onlywei.github.io/explain-git-with-d3/\">Explain Git With D3</a></li>\n<li><a href=\"http://pcottle.github.io/learnGitBranching/\">Learn Git Branching</a></li>\n</ul><h3 id=\"apprendre-plus-et-mieux\" tabindex=\"-1\">Apprendre plus et mieux</h3><p>Apr\u00e8s \u00e7a tu vas probablement vouloir creuser certains sujets essentiels\u00a0:</p><p><strong>Comment visualiser mon historique et y trouver une info pr\u00e9cise</strong>, l\u2019\u00e9volution d\u2019une m\u00e9thode sur la semaine \u00e9coul\u00e9e, les derniers commits d\u2019un membre de l\u2019\u00e9quipe\u2026 \u00c7a, c\u2019est li\u00e9 au log Git. Tu peux donc regarder l\u2019article suivant, et m\u00eame si tu n\u2019es pas utilisateur\u00b7rice du terminal, tu y d\u00e9couvriras l\u2019\u00e9tendue de la puissance du log\u00a0: \u00ab\u00a0<a href=\"https://delicious-insights.com/fr/articles/git-log/\">git log : qui suis-je ? D\u2019o\u00f9 viens-je ? O\u00f9 vais-je ?</a>\u00a0\u00bb.</p><p><strong>Comment manipuler mon historique</strong>, en commen\u00e7ant par apprendre \u00e0 d\u00e9faire les choses, mais sans angoisse, car avec Git on ne supprime jamais vraiment les commits\u2026 L\u00e0 tu peux regarder du c\u00f4t\u00e9 soit de notre article \u00ab\u00a0<a href=\"https://delicious-insights.com/fr/articles/git-reset/\">Git reset\u00a0: rien ne se perd, tout se transforme</a>\u00a0\u00bb (j\u2019ai \u00e9galement fait une pr\u00e9sentation sur ce sujet \u00e0 Paris Web, dont <a href=\"https://www.paris-web.fr/2019/conferences/git-reset-rien-ne-se-perd-tout-se-transforme.php\">voici la vid\u00e9o</a>), soit de notre cours vid\u00e9o \u00ab\u00a0<a href=\"https://cours-video.delicious-insights.com/git-undo\">\u201cGit Undo\u201d ou le savoir-d\u00e9faire</a>\u00a0\u00bb qui d\u00e9crit tout \u00e7a avec des sch\u00e9mas anim\u00e9s qui favorisent mieux ta compr\u00e9hension.</p><p>Quand tu seras serein\u00b7e avec le fait de d\u00e9faire des choses dans Git, tu vas probablement vouloir passer \u00e0 la vitesse sup\u00e9rieure et manipuler de mani\u00e8re plus large ton historique avec la commande <code>rebase</code>. Vu que plein de gens ne saisissent pas la diff\u00e9rence avec les fusions, on a un article \u00ab\u00a0<a href=\"https://delicious-insights.com/fr/articles/bien-utiliser-git-merge-et-rebase/\">Bien utiliser Git merge et rebase</a>\u00a0\u00bb qui parle de tout \u00e7a, et encore une fois sa version plus aboutie <a href=\"https://cours-video.delicious-insights.com/git-merge-vs-rebase\">en cours vid\u00e9o</a>.</p><h2 id=\"workflows\" tabindex=\"-1\">Workflows</h2><p><strong>Attention, divulg\u00e2cheur\u00a0:</strong> je n\u2019ai pas la pr\u00e9tention ici de te d\u00e9crire comment travailler sur tes projets. L\u2019id\u00e9e est plut\u00f4t de te donner certaines cl\u00e9s pour les analyser et choisir la meilleure organisation en cons\u00e9quence. En r\u00e9sum\u00e9, l\u2019id\u00e9e est d\u2019avant tout de <strong>te faire r\u00e9fl\u00e9chir</strong> sans contrainte li\u00e9e \u00e0 un outil, mais plut\u00f4t en te disant que l\u2019outil doit s\u2019adapter \u00e0 ce que tu estimes \u00eatre une gestion de projet optimale (et \u00e7a tombe bien, c\u2019est comme \u00e7a que Git a \u00e9t\u00e9 pens\u00e9 \ud83d\ude01).</p><p>Les articles qui suivent peuvent \u00eatre pris en totalit\u00e9 ou ind\u00e9pendamment les uns des autres. Ils ne sont pas toujours parfaitement \u00e0 jour et ne nous satisfont pas forc\u00e9ment pleinement, mais c\u2019est le sujet qui veut \u00e7a\u2026</p><ul><li><a href=\"https://delicious-insights.com/fr/articles/git-workflows-generality/\">Workflow Git\u00a0: objectifs et principes g\u00e9n\u00e9raux</a></li>\n<li><a href=\"https://delicious-insights.com/fr/articles/git-workflows-parallel-features/\">D\u00e9velopper des fonctionnalit\u00e9s en parall\u00e8le</a></li>\n<li><a href=\"https://delicious-insights.com/fr/articles/git-workflows-releases\">Livrer et maintenir des versions publiques</a></li>\n<li><a href=\"https://delicious-insights.com/fr/articles/git-workflows-fix-bugs\">Corriger des bugs</a></li>\n<li><a href=\"https://delicious-insights.com/fr/articles/git-workflows-conventions\">D\u00e9finir les conventions d\u2019un projet</a></li>\n</ul><p>M\u00eame si on d\u00e9conseille g\u00e9n\u00e9ralement de prendre un \u00ab\u00a0workflow Git\u00a0\u00bb existant, \u00e7a reste int\u00e9ressant de voir certaines approches connues, ne serait-ce que pour juger du bon et du mauvais. Atlassian a fait <a href=\"https://www.atlassian.com/fr/git/tutorials/comparing-workflows\">un tr\u00e8s bon article sur ce sujet</a>, qui parle notamment du tr\u00e8s populaire \u00ab\u00a0<a href=\"https://nvie.com/posts/a-successful-git-branching-model/\">Git Flow</a>\u00a0\u00bb \ud83d\ude31.</p><h2 id=\"les-bonus-appr%C3%A9ciables\" tabindex=\"-1\">Les bonus appr\u00e9ciables</h2><h3 id=\"les-hooks\" tabindex=\"-1\">Les hooks</h3><p>Les hooks sont essentiels pour nous permettre tout un tas d\u2019automatisations en vue d\u2019augmenter la qualit\u00e9 de nos projets et de nous rattraper par le col en cas d\u2019erreur flagrantes. L\u2019article suivant d\u00e9crit les grands principes qui les r\u00e9gissent\u00a0: \u00ab\u00a0<a href=\"https://delicious-insights.com/fr/articles/git-hooks/\">Git Hooks ou la revanche du crochet Git</a>\u00a0\u00bb.</p><p>Un autre article compl\u00e9mentaire te donne un exemple d\u2019automatisation c\u00f4t\u00e9 client (sur ta machine, avant envoi au serveur)\u00a0: \u00ab\u00a0<a href=\"https://delicious-insights.com/fr/articles/git-hooks-commit/\">Hook\u2019il est mon beau commit ?</a>\u00a0\u00bb.</p><p>Par ailleurs, j\u2019ai l\u00e0 aussi fait une pr\u00e9sentation d\u00e9di\u00e9e \u00e0 Paris Web, que j\u2019ai fac\u00e9tieusement intitul\u00e9e \u00ab\u00a0<a href=\"https://www.paris-web.fr/2018/conferences/sponsor---capitaine-flemme.php\">Capitaine Flemme</a>\u00a0\u00bb\u00a0: suis le lien pour en regarder la captation vid\u00e9o.</p><h2 id=\"submodules-et-subtrees%2C-parce-que-ta-vie-est-triste\" tabindex=\"-1\">Submodules et subtrees, parce que ta vie est triste</h2><p>Quand tu es puni\u00b7e et qu\u2019on t\u2019oblige \u00e0 travailler avec les submodules, tu ne t\u2019y retrouves pas ou peu, m\u00eame apr\u00e8s plusieurs ann\u00e9es, simplement parce que les submodules, c\u2019est compliqu\u00e9 pour r\u00e9pondre \u00e0 des besoins tr\u00e8s sp\u00e9cifiques. Nous aussi on a souffert quelques ann\u00e9es avec \u00e7a, \u00e0 se (re)prendre r\u00e9guli\u00e8rement les pieds dans le tapis avec des manips oubli\u00e9es\u2026 Du coup on a \u00e9crit un roman pour tenter de mieux comprendre tout \u00e7a et d\u2019\u00e9viter au mieux les pi\u00e8ges\u00a0: \u00ab\u00a0<a href=\"https://delicious-insights.com/fr/articles/git-submodules/\">Comprendre et ma\u00eetriser les submodules Git</a>\u00a0\u00bb.</p><p>Mais en r\u00e9alit\u00e9, dans 99% des cas, quand on t\u2019a impos\u00e9 les submodules, c\u2019est pour de mauvaises raisons\u00a0! Soit parce qu\u2019on n\u2019a pas compris qu\u2019on peut faire pareil avec un gestionnaire de d\u00e9pendances comme npm, bundler, composer, conan\u2026 ou parce qu\u2019on n\u2019a pas trop le choix en raison de l\u2019architecture du projet, mais la plupart du temps on pourrait g\u00e9rer \u00e7a avec les subtrees \u00e0 la place. C\u2019est juste qu\u2019on ne les conna\u00eet pas parce qu\u2019ils ne sont pas d\u00e9crits dans la doc\u2019 officielle\u00a0: \u00ab\u00a0<a href=\"https://delicious-insights.com/fr/articles/git-subtrees/\">Comprendre et ma\u00eetriser les subtrees Git</a>\u00a0\u00bb.</p><p>Et franchement, si tu n\u2019as absolument pas le choix, tu t\u2019en sortiras de toutes fa\u00e7ons mieux avec la commande tierce-partie <a href=\"https://github.com/ingydotnet/git-subrepo#readme\"><code>git subrepo</code></a>.</p><h2 id=\"en-vrac\" tabindex=\"-1\">En vrac</h2><p>Voici 2 articles pour finir qui te d\u00e9crivent des fonctionnalit\u00e9s de Git un peu \u00e0 la marge mais qui pourraient t\u2019\u00eatre utiles\u00a0:</p><ul><li><a href=\"https://delicious-insights.com/fr/articles/git-bisect/\">Git bisect\u00a0: d\u00e9busquer rapidement l\u2019origine d\u2019un bug</a></li>\n<li><a href=\"https://delicious-insights.com/fr/articles/git-rerere/\">N\u2019arbitrez vos conflits Git qu\u2019une fois gr\u00e2ce \u00e0 rerere</a></li>\n</ul><p><em>(La photo de boussole qui sert de base \u00e0 la vignette de cet article est de <a href=\"https://unsplash.com/@aaronburden\">Aaron Burden</a> sur <a href=\"https://unsplash.com/\">Unsplash</a>.)</em></p></section><div class=\"screencastPimp\"><div class=\"screencastLogo\"><a href=\"https://cours-video.delicious-insights.com/git-merge-vs-rebase\" target=\"_blank\" rel=\"noopener\"><img src=\"https://delicious-insights.com/assets/images/logo/delicious-screencasts.png\" alt=\"Delicious Screencasts\" referrerpolicy=\"no-referrer\" /></a></div><div class=\"screencastPitch\"><h3>D\u00e9couvrez notre cours vid\u00e9o\u00a0: <a href=\"https://cours-video.delicious-insights.com/git-merge-vs-rebase\" target=\"_blank\" rel=\"noopener\">Bien utiliser Git merge vs. rebase</a> \ud83d\udda5</h3><p>Produire un historique coh\u00e9rent et utile n\u00e9cessite de savoir aussi bien nettoyer notre travail que fusionner des branches. Les commandes rebase et merge se compl\u00e8tent parfaitement quand on sait bien les utiliser\u2026</p></div></div>",
    "created_at": "2024-04-14T20:23:02+00:00",
    "updated_at": "2024-04-14T20:23:04+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr",
    "reading_time": 8,
    "domain_name": "delicious-insights.com",
    "preview_picture": "https://delicious-insights.com/fr/articles-et-tutos/apprendre-git/art-git-guide.jpg",
    "http_status": "200",
    "headers": {
      "accept-ranges": "bytes",
      "age": "0",
      "cache-control": "public,max-age=0,must-revalidate",
      "cache-status": "\"Netlify Edge\"; fwd=miss",
      "content-length": "29455",
      "content-type": "text/html; charset=UTF-8",
      "date": "Sun, 14 Apr 2024 20:23:02 GMT",
      "etag": "\"3ed5796b82428447464dd0ba6a2de4e3-ssl\"",
      "server": "Netlify",
      "strict-transport-security": "max-age=31536000",
      "x-nf-request-id": "01HVF4E36CZN50B2KH35JHDY2R"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["git"],
    "is_public": false,
    "id": 84,
    "title": "Anatomie d\u2019un commit Git \u2022 Delicious Insights",
    "url": "https://delicious-insights.com/fr/articles-et-tutos/git-commit-detail/",
    "given_url": "https://delicious-insights.com/fr/articles-et-tutos/git-commit-detail/",
    "content": "<header><p>Et si on prenait l\u2019\u00e9l\u00e9ment constituant de base Git, le commit, et qu\u2019on le d\u00e9cortiquait pour d\u00e9couvrir son anatomie\u00a0? Je vous propose dans cet article d\u2019autopsier un commit pour comprendre tout un tas d\u2019autres m\u00e9canismes qui en d\u00e9coulent\u00a0! \u00c0 vos scalpels\u00a0!</p>\n<p>Avant cet article vous voudrez peut-\u00eatre explorer <a href=\"https://delicious-insights.com/fr/articles/git-zones\">le fonctionnement des zones</a> ou encore apprendre \u00e0 <a href=\"https://delicious-insights.com/fr/articles/git-add\">ma\u00eetriser la commande <em>add</em></a>.</p>\n</header><section class=\"no-internal-nav\"><h2 id=\"vous-pr%C3%A9f%C3%A9rez-une-vid%C3%A9o-%3F\" tabindex=\"-1\">Vous pr\u00e9f\u00e9rez une vid\u00e9o ?</h2><p>Si vous \u00eates du genre \u00e0 pr\u00e9f\u00e9rer regarder que lire pour apprendre, on a pens\u00e9 \u00e0 vous\u00a0:</p><iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/5wc-MFuI81I\" title=\"Lecteur vid\u00e9o YouTube\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" class=\"c1\">[embedded content]</iframe><h2 id=\"r%C3%B4le-d%E2%80%99un-commit\" tabindex=\"-1\">R\u00f4le d\u2019un commit</h2><p>Avant d\u2019attaquer la d\u00e9coupe, il me semble n\u00e9cessaire de faire un pas de c\u00f4t\u00e9 et d\u2019analyser <strong>les intentions que servent un commit</strong>.</p><p>Un commit est une unit\u00e9 de travail participant \u00e0 un projet, une brique de l\u2019\u00e9difice projet. On parle souvent de <strong>commit \u00ab\u00a0atomique\u00a0\u00bb</strong> pour <strong>une unit\u00e9 de travail coh\u00e9rente</strong>, repr\u00e9sentant \u00ab\u00a0un tout\u00a0\u00bb. C\u2019est l\u2019usage recommand\u00e9, m\u00eame s\u2019il ne peut \u00eatre contraint. La meilleure repr\u00e9sentation qu\u2019on puisse s\u2019en faire est la r\u00e9alisation pleine d\u2019une t\u00e2che d\u00e9crite par la gestion de projet (cette t\u00e2che \u00e9tant la plus petite possible).</p><p>Le commit a la charge d\u2019enregistrer <strong>les modifications</strong>* sur les fichiers et r\u00e9pertoires ainsi que les informations utiles \u00e0 un suivi, ce qu\u2019on appelle <strong>les m\u00e9tadonn\u00e9es</strong>\u00a0:</p><ul><li>L\u2019identit\u00e9 de l\u2019<strong>auteur</strong>\u00a0: nom, e-mail\u00a0;</li>\n<li>Le <strong>message</strong> renseign\u00e9 par l\u2019auteur, cens\u00e9 d\u00e9crire le contenu des modifications apport\u00e9es\u00a0;</li>\n<li>La <strong>date de cr\u00e9ation</strong> du commit par l\u2019auteur\u00a0;</li>\n<li>L\u2019identit\u00e9 du <strong>commiteur</strong>\u00a0: nom, e-mail (g\u00e9n\u00e9ralement identiques \u00e0 l\u2019auteur)\u00a0;</li>\n<li>La <strong>date de r\u00e9alisation</strong> du commit par le commiteur\u00a0;</li>\n<li>Les \u00e9ventuelles <strong>r\u00e9f\u00e9rences des commits parents</strong>\u00a0;</li>\n<li>Une <a href=\"https://git-scm.com/book/fr/v2/Utilitaires-Git-Signer-votre-travail\">signature GPG</a>, optionnelle.</li>\n</ul><p>On distingue les r\u00f4les d\u2019auteur et commiteur pour assurer un suivi efficace dans des cas comme\u00a0:</p><ul><li>le r\u00e9emploi d\u2019un commit d\u2019un endroit \u00e0 un autre (<em>patch</em>, <em>cherry-pick</em>)\u00a0;</li>\n<li>la modification d\u2019un commit (<em>amend</em>, <em>rebase</em>)\u00a0;</li>\n<li>la r\u00e9alisation d\u2019une commit en <em>pair-programming</em>.</li>\n</ul><p>On garantit ainsi cette distinction entre la personne qui a r\u00e9alis\u00e9 la t\u00e2che et celle qui a cr\u00e9\u00e9 le commit.</p><p><em>*Techniquement Git ne stocke pas les modifications mais des instantan\u00e9s complets des fichiers.</em></p><p>Note\u00a0: si vous utilisez les notes Git (c\u2019est-\u00e0-dire <code>git notes</code>), leurs informations ne sont pas stock\u00e9es dans le commit, mais dans un objet <em>commitish</em> d\u00e9di\u00e9 faisant r\u00e9f\u00e9rence au commit.</p><p><strong>En r\u00e9sum\u00e9, le r\u00f4le du commit est d\u2019enregistrer un lot de travail, d\u2019indiquer qui l\u2019a r\u00e9alis\u00e9, \u00e0 quel moment et \u00e0 partir de quel \u00e9tat du projet.</strong></p><h3 id=\"unchain-my-heart-commits-%F0%9F%8E%B6\" tabindex=\"-1\"><em>Unchain my <span class=\"c2\">heart</span> commits</em> \ud83c\udfb6</h3><p>Poussons un peu plus loin que le simple commit et parlons des commits et des liens qu\u2019ils entretiennent. Lorsqu\u2019on construit un historique Git, on cr\u00e9e une s\u00e9rie de commits qui se r\u00e9f\u00e9rencent par lien de parentalit\u00e9. Vous voyez ces sch\u00e9mas qui nous montrent des fl\u00e8ches qu\u2019on peut croire dans le \u00ab\u00a0mauvais\u00a0\u00bb sens\u00a0?</p><p><img src=\"https://delicious-insights.com/assets/images/articles/git-commits-animated.svg\" alt=\"Encha\u00eenement de cr\u00e9ation des commits\" referrerpolicy=\"no-referrer\" /></p><p>En r\u00e9alit\u00e9, chaque fl\u00e8che exprime la r\u00e9f\u00e9rence parente d\u00e9tenue par le commit dont elle part. C\u2019est un point absolument fondamental \u00e0 la bonne compr\u00e9hension de certaines m\u00e9caniques de Git\u00a0: <strong>un historique Git est exprim\u00e9 par le cha\u00eenage des commits entre eux</strong>. Si on creuse encore plus loin, on s\u2019aper\u00e7oit m\u00eame que <strong>tout le fonctionnement de Git est bas\u00e9 sur des r\u00e9f\u00e9rences d\u2019objets Git entre eux</strong> (branches, HEAD, <em>commitishs</em>, blobs, <em>trees</em>, etc). Mais \u00e7a sort du p\u00e9rim\u00e8tre de cet article.</p><h2 id=\"autopsie\" tabindex=\"-1\">Autopsie</h2><p>\u00c7a, c\u2019\u00e9tait en surface. Sortons maintenant le scalpel et d\u00e9couvrons la mani\u00e8re dont est compos\u00e9 mon commit, et pourquoi\u00a0?</p><p>Je pars de l\u2019exemple d\u2019un projet initialis\u00e9 avec les r\u00e9pertoires <code>src</code> et <code>log</code> et les fichiers <code>.gitignore</code> et <code>README.md</code>.</p><pre class=\"language-git\">.\u251c\u2500\u2500 .gitignore\u251c\u2500\u2500 README.md\u251c\u2500\u2500 log\u2502   \u2514\u2500\u2500 .keep\u2514\u2500\u2500 src\u2514\u2500\u2500 .keep</pre><p>Le commit initial est d\u00e9j\u00e0 r\u00e9alis\u00e9 via la commande <code>git commit -m 'Initial commit'</code> et poss\u00e8de l\u2019identifiant <code>b4cf8aec80f87ac6a1e21e47ffc42dd4ec53ef2a</code>.</p><p>Pour analyser un objet de type commit (ou <em>commitish</em>) je peux utiliser la commande <code>show</code> en lui passant la r\u00e9f\u00e9rence de l\u2019objet (ou toute autre r\u00e9f\u00e9rence dont la r\u00e9solution revient au m\u00eame)\u00a0:</p><pre class=\"language-git\">&gt; git show b4cf8aec80f87ac6a1e21e47ffc42dd4ec53ef2acommit b4cf8aeAuthor: Maxime Br\u00e9hin &lt;maxime@delicious-insights.com&gt;Date:   Thu Jan 20 15:28:17 2022 +0100Initial commit\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500added: .gitignore\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500@ .gitignore:1 @tmp/*log/**.tmp*.swap\\ No newline at end of file\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500added: README.md\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500@ README.md:1 @This is a demo projet.\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500added: log/.keep\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500added: src/.keep\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500</pre><p>Note\u00a0: mon affichage est enrichi dans le terminal par l\u2019utilitaire <a href=\"https://github.com/so-fancy/diff-so-fancy\">diff-so-fancy</a>.</p><p>J\u2019obtiens les informations g\u00e9n\u00e9rales constituant mon commit\u00a0: les m\u00e9tadonn\u00e9es principales (auteur, date, message) et les modifications\u00a0:</p><ul><li>ajout du fichier <code>.gitignore</code> et d\u00e9tail de son contenu\u00a0;</li>\n<li>ajout du fichier <code>README.md</code> et d\u00e9tail de son contenu\u00a0;</li>\n<li>ajout du fichier vide <code>log/.keep</code> (pour enregistrer la pr\u00e9sence du r\u00e9pertoire <code>log</code>)\u00a0;</li>\n<li>ajout du fichier vide <code>src/.keep</code> (pour enregistrer la pr\u00e9sence du r\u00e9pertoire <code>src</code>).</li>\n</ul><p>Je ne vais cependant pas m\u2019arr\u00eater l\u00e0, car la commande <code>show</code> ne fournit pas les d\u00e9tails que je souhaite vous montrer. L\u2019ensemble des objets techniques Git qui nous int\u00e9ressent sont stock\u00e9s dans le r\u00e9pertoire <code>.git/objects/</code>. Mais je me casserais le nez \u00e0 essayer d\u2019y acc\u00e9der directement car ils font l\u2019objet d\u2019optimisations sur le disque et sont illisibles tels quels. Je vais donc utiliser la commande de plomberie* <code>cat-file</code> pour afficher le contenu-m\u00eame des objets techniques associ\u00e9s qui m\u2019int\u00e9ressent, \u00e0 commencer par mon commit.</p><p><em>* Git offre environ 110 commandes r\u00e9parties en 2 grandes cat\u00e9gories\u00a0: la porcelaine (\u2248 40) et la plomberie (le reste). Presque tout le monde se contente d\u2019utiliser la porcelaine, la plomberie \u00e9tant g\u00e9n\u00e9ralement r\u00e9serv\u00e9e a du script ou des besoins tr\u00e8s sp\u00e9cifiques.</em></p><pre class=\"language-git\">&gt; git cat-file -p b4cf8aec80f87ac6a1e21e47ffc42dd4ec53ef2atree 6df8433ebd2517c43aff68ff14e726cd788ad84dauthor Maxime Br\u00e9hin &lt;maxime@delicious-insights.com&gt; 1642688897 +0100committer Maxime Br\u00e9hin &lt;maxime@delicious-insights.com&gt; 1642688897 +0100Initial commit</pre><p>D\u00e9cryptons ce nouvel affichage\u00a0:</p><ul><li>la premi\u00e8re ligne renseigne une <strong>r\u00e9f\u00e9rence vers un objet</strong> de type <em>tree</em>\u00a0;</li>\n<li>les autres lignes renseignent <strong>le reste des m\u00e9tadonn\u00e9es</strong>\u00a0: auteur, commiteur, message.</li>\n</ul><p>Cet objet <em>tree</em> est la repr\u00e9sentation du niveau de r\u00e9pertoire racine de notre projet, mais \u00e7a se saute pas aux yeux ici. Je vais donc creuser pour savoir ce qu\u2019il contient en passant sa r\u00e9f\u00e9rence \u00e0 la commande <code>cat-file</code>\u00a0:</p><pre class=\"language-git\">&gt; git cat-file -p 6df8433ebd2517c43aff68ff14e726cd788ad84d100644 blob 1cb865f27fa00fa0cd3d5ef0a3df729ea636413a    .gitignore100644 blob 7398b8548a6bd59ae49a524388e23d699b3edc23    README.md040000 tree 29a422c19251aeaeb907175e9b3219a9bed6c616    log040000 tree 29a422c19251aeaeb907175e9b3219a9bed6c616    src</pre><p>Cette fois j\u2019obtiens un tableau de r\u00e9f\u00e9rences dont la structure est la suivante\u00a0:</p><ul><li>droits / mode (essentiellement fichier classique, ex\u00e9cutable, r\u00e9pertoire)\u00a0;</li>\n<li>type de fichier Git\u00a0;</li>\n<li>identifiant\u00a0;</li>\n<li>nom associ\u00e9.</li>\n</ul><p>On comprend ici que <strong>Git repr\u00e9sente fid\u00e8lement les r\u00e9pertoires et fichiers \u00e0 travers ses objets</strong>\u00a0:</p><ul><li>Un fichier est repr\u00e9sent\u00e9 par un <em>blob</em> (<em>Binary Large Object</em>)\u00a0;</li>\n<li>un r\u00e9pertoire par un <em>tree</em>\u00a0;</li>\n<li>un <em>tree</em> contient des r\u00e9f\u00e9rences vers des <em>trees</em> et <em>blobs</em>.</li>\n</ul><p>Dans l\u2019exemple courant, notre objet <em>tree</em> contient la liste des autres objets Git qui mod\u00e9lisent le r\u00e9pertoire racine du projet au moment du commit, \u00e0 savoir\u00a0:</p><ul><li>un fichier <code>.gitignore</code> dont le contenu est celui du <em>blob</em> de r\u00e9f\u00e9rence <code>1cb865f27fa00fa0cd3d5ef0a3df729ea636413a</code>\u00a0;</li>\n<li>un fichier <code>README.md</code> dont le contenu est celui du <em>blob</em> de r\u00e9f\u00e9rence <code>7398b8548a6bd59ae49a524388e23d699b3edc23</code>\u00a0;</li>\n<li>un r\u00e9pertoire <code>log</code> dont le contenu est celui du <em>tree</em> de r\u00e9f\u00e9rence <code>29a422c19251aeaeb907175e9b3219a9bed6c616</code>\u00a0;</li>\n<li>un r\u00e9pertoire <code>src</code> dont le contenu est celui du <em>tree</em> de r\u00e9f\u00e9rence <code>29a422c19251aeaeb907175e9b3219a9bed6c616</code>\u00a0;</li>\n</ul><p><strong>Attends, attends\u00a0: qu\u2019est-ce que c\u2019est que ce truc\u00a0?</strong> <code>log</code> et <code>src</code> ont le m\u00eame idenfitiant technique, c\u2019est impossible\u00a0!</p><p>Ahah, on pourrait croire \u00e0 une erreur en effet, mais c\u2019est tout \u00e0 fait normal du point de vue Git. Je vous explique tout \u00e7a un peu plus bas, histoire d\u2019avoir toutes les cartes en main (et de laisser un peu de suspense \ud83d\ude09). En tout cas, pas de panique, vous ne ratez rien d\u2019essentiel si vous ne comprenez pas ce point.</p><p>Revenons \u00e0 notre liste et voyons \u00e0 quoi ressemble le contenu de notre premier <em>blob</em>\u00a0:</p><pre class=\"language-git\">&gt; git cat-file -p 1cb865f27fa00fa0cd3d5ef0a3df729ea636413atmp/*log/**.tmp</pre><p>Le <em>blob</em> contient l\u2019<strong>instantan\u00e9 du fichier</strong>, c\u2019est-\u00e0-dire <strong>l\u2019int\u00e9gralit\u00e9 du contenu du fichier <code>.gitignore</code> du projet au moment o\u00f9 le commit \u00e0 \u00e9t\u00e9 r\u00e9alis\u00e9</strong>.</p><p>Voyons enfin les objets r\u00e9pr\u00e9sentant nos sous-r\u00e9pertoires <code>log</code> et <code>src</code>, dont on a vu plus haut qu\u2019ils poss\u00e9daient la m\u00eame r\u00e9f\u00e9rence\u00a0:</p><pre class=\"language-git\">&gt; git cat-file -p 29a422c19251aeaeb907175e9b3219a9bed6c616100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    .keep</pre><p>Je retrouve le m\u00eame type affichage que mon objet <em>tree</em> vu pr\u00e9c\u00e9demment. Celui-ci d\u00e9crit la pr\u00e9sence dans <code>src</code> (et <code>log</code>) d\u2019un unique fichier <code>.keep</code> repr\u00e9sent\u00e9 par le blob d\u2019identifiant <code>e69de29bb2d1d6434b8b29ae775ad8c2e48c5391</code>.</p><p><img src=\"https://delicious-insights.com/assets/images/articles/git-commit-refs-animated.svg\" alt=\"R\u00e9f\u00e9rences des sous-objets depuis un commit\" referrerpolicy=\"no-referrer\" /></p><p>\u00c7a, c\u2019\u00e9tait le d\u00e9coupage du commit \u00ab\u00a0de haut en bas\u00a0\u00bb. Maintenant rembobinons \u23ea et voyons les \u00e9tapes qui am\u00e8nent \u00e0 l\u2019obtention d\u2019un commit et la constitution des objets au fil de l\u2019eau.</p><h2 id=\"mais-avant-%C3%A7a%E2%80%A6\" tabindex=\"-1\">Mais avant \u00e7a\u2026</h2><p>J\u2019aimerais revenir sur cet histoire d\u2019identifiants des objets Git. Vous avez vu, ils ont tous la m\u00eame t\u00eate\u00a0! 40 caract\u00e8res hexad\u00e9cimaux. Bon en vrai on peut utiliser ces identifiants d\u00e8s 5 caract\u00e8res, et en cas d\u2019ambigu\u00eft\u00e9 Git nous le dirait. Passons. Ce qui m\u2019int\u00e9resse particuli\u00e8rement ici, c\u2019est la mani\u00e8re dont ils sont cr\u00e9\u00e9s, ou plus exactement <strong>ce qui sert \u00e0 les d\u00e9finir</strong>. Un idenfitiant est produit <strong>en se basant sur le contenu (binaire) de l\u2019objet qu\u2019il repr\u00e9sente</strong>, ou si vous pr\u00e9f\u00e9rez depuis le r\u00e9sultat obtenu ci-avant par l\u2019emploi de la commande <code>cat-file</code>. Pour l\u2019aspect technique, ce contenu est pass\u00e9 \u00e0 un algorithme de hachage appel\u00e9 SHA-1* (prononcez \u00ab\u00a0chawouane\u00a0\u00bb \ud83c\udf75) qui produit cette repr\u00e9sentation sur 20 octets, soit 40 caract\u00e8res hexad\u00e9cimaux.</p><p>Pour un <em>blob</em>, le contenu est l\u2019instantan\u00e9 (copi\u00e9/coll\u00e9) du corps du fichier qu\u2019il repr\u00e9sente. Donc nos fichiers <code>log/.keep</code> et <code>src/.keep</code> n\u2019ont qu\u2019un blob unique pour les repr\u00e9senter (ce qui repr\u00e9sente au passage une optimisation d\u2019espace disque de la part de Git). Il en va de m\u00eame pour les <em>trees</em> repr\u00e9sentant <code>log/</code> et <code>src/</code>. Voil\u00e0, notre myst\u00e8re est \u00e9lucid\u00e9 \ud83d\udd0d\u00a0!</p><p>Du fait des r\u00e9f\u00e9rences en cascade, toute modification d\u2019un fichier implique la cr\u00e9ation d\u2019un nouveau <em>blob</em>, d\u2019un nouveau <em>tree</em> repr\u00e9sentant le r\u00e9pertoire qui le contient, et ainsi de suite en remontant jusqu\u2019au r\u00e9pertoire racine du projet (on remonte la cascade). \u00c0 l\u2019inverse, tout retour \u00e0 un contenu correspondant \u00e0 une version ant\u00e9rieure d\u2019un fichier r\u00e9utilisera la r\u00e9f\u00e9rence Git de l\u2019objet <em>blob</em> correspondant.</p><p><em>* SHA-256 est en exp\u00e9rimentation depuis Git 2.29</em>.</p><p><img src=\"https://delicious-insights.com/assets/images/articles/git-sha1.gif\" alt=\"On obtient un nouveau SHA-1 seulement si le contenu est chang\u00e9\" referrerpolicy=\"no-referrer\" /></p><h2 id=\"construction-d%E2%80%99un-commit\" tabindex=\"-1\">Construction d\u2019un commit</h2><p>Je vais cr\u00e9er un nouveau commit depuis l\u2019\u00e9tat actuel du projet qui modifie le fichier <code>README.md</code> et ajoute un nouveau fichier <code>src/index.js</code>\u00a0:</p><pre class=\"language-git\">.\u251c\u2500\u2500 .gitignore\u251c\u2500\u2500 README.md  # contenu modifi\u00e9\u251c\u2500\u2500 log\u2502   \u2514\u2500\u2500 .keep\u2502   \u2514\u2500\u2500 index.js  # nouveau fichier\u2514\u2500\u2500 src\u2514\u2500\u2500 .keep</pre><p>Je vous d\u00e9cris au fil de mes actions ce qui se passe dans le sous-r\u00e9pertoire <code>.git/objects</code> en commen\u00e7ant par son \u00e9tat actuel\u00a0:</p><pre class=\"language-git\"># J\u2019ai annot\u00e9 chaque objet pour que vous vous y# retrouviez plus facilement..git/objects/\u251c\u2500\u2500 1c  # Blob du fichier `.gitignore`\u2502   \u2514\u2500\u2500 b865f27fa00fa0cd3d5ef0a3df729ea636413a\u251c\u2500\u2500 29  # Tree pour `log` et `src`\u2502   \u2514\u2500\u2500 a422c19251aeaeb907175e9b3219a9bed6c616\u251c\u2500\u2500 6d  # Tree de niveau racine li\u00e9 au commit initial\u2502   \u2514\u2500\u2500 f8433ebd2517c43aff68ff14e726cd788ad84d\u251c\u2500\u2500 73 # Blob du fichier `README.md`\u2502   \u2514\u2500\u2500 98b8548a6bd59ae49a524388e23d699b3edc23\u251c\u2500\u2500 b4  # Mon premier commit (initial)\u2502   \u2514\u2500\u2500 cf8aec80f87ac6a1e21e47ffc42dd4ec53ef2a\u251c\u2500\u2500 e6  # Blob des fichiers vides `log/.keep` et `src/.keep`\u2502   \u2514\u2500\u2500 9de29bb2d1d6434b8b29ae775ad8c2e48c5391</pre><p>On retrouve nos r\u00e9f\u00e9rences vues pr\u00e9c\u00e9demment, mais dans des r\u00e9pertoires, d\u00e9coup\u00e9s par les 2 premiers caract\u00e8res des r\u00e9f\u00e9rences qui y figurent. Pour la petite histoire, ce d\u00e9coupage est un contournement \u00e0 la contrainte de nombre maximal d\u2019objets fils impos\u00e9es par certains syst\u00e8mes de fichiers (FAT32 limite \u00e0 65 534 fichiers par r\u00e9pertoire, par exemple).</p><h3 id=\"1.-ajout-au-stage-avant-le-commit\" tabindex=\"-1\">1. Ajout au <em>stage</em> avant le commit</h3><p>J\u2019attaque avec l\u2019ajout de toutes les modifications via un <code>git add --all</code>. Mon r\u00e9pertoire <code>.git/objects</code> a re\u00e7u deux nouveaux fichiers. Je vous \u00e9pargne l\u2019analyse des contenus et note juste leurs correspondances\u00a0:</p><pre class=\"language-git\">.git/objects/\u251c\u2500\u2500 18  # Blob pour `src/index.js`\u2502   \u2514\u2500\u2500 7371973809001933ec3d4be71a0e6acd24dbbc\u251c\u2500\u2500 1c\u2502   \u2514\u2500\u2500 b865f27fa00fa0cd3d5ef0a3df729ea636413a\u251c\u2500\u2500 29\u2502   \u2514\u2500\u2500 a422c19251aeaeb907175e9b3219a9bed6c616\u251c\u2500\u2500 6d\u2502   \u2514\u2500\u2500 f8433ebd2517c43aff68ff14e726cd788ad84d\u251c\u2500\u2500 73  # Version du `README.md` li\u00e9e au commit initial\u2502   \u2514\u2500\u2500 98b8548a6bd59ae49a524388e23d699b3edc23\u251c\u2500\u2500 b4\u2502   \u2514\u2500\u2500 cf8aec80f87ac6a1e21e47ffc42dd4ec53ef2a\u251c\u2500\u2500 e3  # Blob pour `README.md` \u00e0 jour\u2502   \u2514\u2500\u2500 ab945e72a3d64dd76248f1933c0fd70fa68c74\u251c\u2500\u2500 e6\u2502   \u2514\u2500\u2500 9de29bb2d1d6434b8b29ae775ad8c2e48c5391</pre><p>On constate que d\u00e8s l\u2019ajout au <em>stage</em>, Git enregistre les instantan\u00e9s des nouvelles modifications, mais <strong>seulement les <em>blobs</em></strong>. On note aussi que les fichiers pr\u00e9c\u00e9dents ne sont pas touch\u00e9s. Une nouvelle version de <code>README.md</code> n\u2019\u00e9crase pas sa version pr\u00e9c\u00e9dente, celle-ci \u00e9tant li\u00e9e au commit pr\u00e9c\u00e9dent. Suivant cette m\u00eame logique, si je produisais une nouvelle modification sur le fichier <code>README.md</code> et que je l\u2019ajoutais \u00e0 nouveau avec un <code>git add \u2026</code>, j\u2019obtiendrais un nouveau <em>blob</em>.</p><p>\u00c0 cette \u00e9tape, ni <em>tree</em>, ni <em>commit</em>, mais un fichier interm\u00e9diaire qui repr\u00e9sente le <em>stage</em> et stocke les r\u00e9f\u00e9rences de ces blobs\u00a0: <code>.git/index</code>. On peut obtenir une id\u00e9e de ce que contiendrait le prochain commit et <em>tree</em> en utilisant la commande de plomberie <code>git ls-files --stage</code>\u00a0:</p><pre class=\"language-git\">100644 1cb865f27fa00fa0cd3d5ef0a3df729ea636413a 0       .gitignore100644 e3ab945e72a3d64dd76248f1933c0fd70fa68c74 0       README.md100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0       log/.keep100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0       src/.keep100644 187371973809001933ec3d4be71a0e6acd24dbbc 0       src/index.js</pre><h3 id=\"2.-validation-et-cr%C3%A9ation-du-commit\" tabindex=\"-1\">2. Validation et cr\u00e9ation du commit</h3><p>Mon <em>stage</em> est pr\u00eat, je valide avec <code>git commit -m 'Second commit'</code> (j\u2019ai fait original pour le message \ud83d\ude01). On observe, en plus de nos 2 nouveaux <em>blobs</em>, 3 autres r\u00e9f\u00e9rences\u00a0:</p><ul><li>une pour le commit\u00a0;</li>\n<li>une pour l\u2019objet <em>tree</em> de niveau racine\u00a0;</li>\n<li>une pour l\u2019objet <em>tree</em> <code>src</code> qui r\u00e9f\u00e9rence en plus du <code>.keep</code>, le fichier <code>index.js</code>.</li>\n</ul><pre class=\"language-git\">.git/objects/\u251c\u2500\u2500 18  # Blob pour `src/index.js`\u2502   \u2514\u2500\u2500 7371973809001933ec3d4be71a0e6acd24dbbc\u251c\u2500\u2500 1c\u2502   \u2514\u2500\u2500 b865f27fa00fa0cd3d5ef0a3df729ea636413a\u251c\u2500\u2500 29\u2502   \u2514\u2500\u2500 a422c19251aeaeb907175e9b3219a9bed6c616\u251c\u2500\u2500 4c  # Tree repr\u00e9sentant la version \u00e0 jour de `src/`\u2502   \u2514\u2500\u2500 2f911ae9ac7ef74e80fb986607934b708320ad\u251c\u2500\u2500 6d\u2502   \u2514\u2500\u2500 f8433ebd2517c43aff68ff14e726cd788ad84d\u251c\u2500\u2500 73  # Version du `README.md` li\u00e9e au commit initial\u2502   \u2514\u2500\u2500 98b8548a6bd59ae49a524388e23d699b3edc23\u251c\u2500\u2500 b4\u2502   \u2514\u2500\u2500 cf8aec80f87ac6a1e21e47ffc42dd4ec53ef2a\u251c\u2500\u2500 d9  # Mon nouveau commit\u2502   \u2514\u2500\u2500 ed106dc9431807ad144e814dad4890b507e5af\u251c\u2500\u2500 e3  # Blob pour `README.md` \u00e0 jour\u2502   \u2514\u2500\u2500 ab945e72a3d64dd76248f1933c0fd70fa68c74\u251c\u2500\u2500 e6\u2502   \u2514\u2500\u2500 9de29bb2d1d6434b8b29ae775ad8c2e48c5391\u251c\u2500\u2500 f4  # Tree de niveau racine\u2502   \u2514\u2500\u2500 5c454fbcc18d35def1125924dd4bb5164e8a88</pre><p>Les contenus des nouveaux fichiers <em>blobs</em> et <em>trees</em> sont sans surprise, mais laissez-moi vous montrer le nouveau commit\u00a0:</p><pre class=\"language-git\">&gt; git cat-file -p d9ed106dc9431807ad144e814dad4890b507e5aftree f45c454fbcc18d35def1125924dd4bb5164e8a88parent b4cf8aec80f87ac6a1e21e47ffc42dd4ec53ef2aauthor Maxime Br\u00e9hin &lt;maxime@delicious-insights.com&gt; 1642690996 +0100committer Maxime Br\u00e9hin &lt;maxime@delicious-insights.com&gt; 1642690996 +0100Second commit</pre><p>Vous voyez cette deuxi\u00e8me ligne qu\u2019on n\u2019avait pas dans notre premier commit\u00a0?</p><pre>parent b4cf8aec80f87ac6a1e21e47ffc42dd4ec53ef2a\n</pre><p>Elle renseigne la r\u00e9f\u00e9rence du commit parent (ou des commits parents dans le cas d\u2019un commit de fusion). Cette r\u00e9f\u00e9rence <code>b4cf8aec80f87ac6a1e21e47ffc42dd4ec53ef2a</code> est celle de <strong>notre pr\u00e9c\u00e9dent commit</strong>. C\u2019est ce qui cha\u00eene nos commits. En r\u00e9alit\u00e9 l\u2019exception \u00e9tait celle du commit pr\u00e9c\u00e9dent, car seul* le commit initial appara\u00eetra sans parent dans notre historique.</p><p><em>*Il existe des cas particuliers o\u00f9 on aurait plusieurs commits de ce type, mais je ne vous en parlerai pas ici \ud83d\ude09.</em></p><h3 id=\"revoyons-l%E2%80%99action-au-ralenti\" tabindex=\"-1\">Revoyons l\u2019action au ralenti</h3><ul><li>L\u2019ajout au stage avec <code>git add</code> cr\u00e9e les <em>blobs</em> correspondants aux fichiers modifi\u00e9s\u00a0:\n<ul><li>leurs identifiants (SHA-1) sont g\u00e9n\u00e9r\u00e9s depuis leur contenu\u00a0;</li>\n<li>les <em>blobs</em> sont stock\u00e9s dans le r\u00e9pertoire <code>.git/objects</code>\u00a0;</li>\n<li>leur r\u00e9f\u00e9rence est inscrite dans le fichier <code>.git/index</code>.</li>\n</ul></li>\n<li>La validation du <em>stage</em> cr\u00e9e le commit et les objets <em>trees</em> repr\u00e9sentant les r\u00e9pertoires qui contiennent des modifications\u00a0:\n<ul><li>les \u00e9l\u00e9ments sont lus depuis le <em>stage</em> (techniquement <code>git/index</code>)\u00a0;</li>\n<li>les nouveaux <em>trees</em> pour repr\u00e9senter les r\u00e9pertoires sont cr\u00e9\u00e9s, y compris le niveau racine\u00a0;</li>\n<li>les autres <em>trees</em> et <em>blobs</em> inchang\u00e9s sont r\u00e9f\u00e9renc\u00e9s en l\u2019\u00e9tat par ces nouveaux <em>trees</em>*\u00a0;</li>\n<li>le commit est \u00e9crit avec ses m\u00e9tadonn\u00e9es, la r\u00e9f\u00e9rence du <em>tree</em> de niveau racine, et les r\u00e9f\u00e9rences des commits parents.</li>\n</ul></li>\n</ul><p>*<em>Le commit repr\u00e9sente ainsi <strong>l\u2019int\u00e9gralit\u00e9 de l\u2019\u00e9tat du projet \u00e0 un instant T</strong>. Sa lecture suffit \u00e0 r\u00e9cup\u00e9rer cet \u00e9tat, nul besoin de traverser d\u2019autres commits pour avoir l\u2019information.</em></p><h2 id=\"ce-qu%E2%80%99il-faut-retenir\" tabindex=\"-1\">Ce qu\u2019il faut retenir</h2><p>C\u2019est vrai que tout \u00e7a est assez technique, mais plusieurs points sont \u00e0 retenir\u00a0:</p><ul><li>un commit enregistre non pas des diff\u00e9rences, mais bien <strong>un \u00e9tat de notre projet</strong>\u00a0;</li>\n<li>les <strong>m\u00e9tadonn\u00e9es</strong> d\u2019un commit permettent un <strong>suivi efficace du projet</strong> (pensez \u00e0 <a href=\"https://delicious-insights.com/fr/articles/git-hooks-et-commitlint\">bien renseigner vos messages</a>, hein \ud83d\ude09\u00a0!)\u00a0;</li>\n<li>l\u2019historique d\u2019un projet est constitu\u00e9 de la <strong>succession des r\u00e9f\u00e9rences</strong> des commits entre eux\u00a0;</li>\n<li>un commit, comme tout objet Git, est associ\u00e9 \u00e0 un <strong>identifiant unique</strong> (le SHA-1)\u00a0;</li>\n</ul><p>Une partie de la magie noire \ud83e\uddd9\u200d\u2642\ufe0f de Git vous a \u00e9t\u00e9 r\u00e9v\u00e9l\u00e9e, vous avez d\u00e9sormais un grand pouvoir, celui de comprendre ce que vous faites avec Git.</p></section><div class=\"screencastPimp\"><div class=\"screencastLogo\"><a href=\"https://cours-video.delicious-insights.com?source=di-screencast-pimp\" target=\"_blank\" rel=\"noopener\"><img src=\"https://delicious-insights.com/assets/images/logo/delicious-screencasts.png\" alt=\"Delicious Screencasts\" referrerpolicy=\"no-referrer\" /></a></div><h3>D\u00e9couvrez nos cours vid\u00e9o\u00a0! \ud83d\udda5</h3>\nNos cours vid\u00e9o sont un compl\u00e9ment id\u00e9al et bon march\u00e9 \u00e0 nos articles techniques et formations pr\u00e9sentielles. Autour de Git, de JavaScript et d\u2019autres sujets, retrouvez des <a href=\"https://cours-video.delicious-insights.com?source=di-screencast-pimp\" target=\"_blank\" rel=\"noopener\"><strong>contenus de tr\u00e8s grande qualit\u00e9 \u00e0 des prix abordables</strong></a>, sp\u00e9cialement con\u00e7us pour lever vos plus gros points de blocage.</div>",
    "created_at": "2024-04-14T20:22:53+00:00",
    "updated_at": "2024-04-14T20:22:54+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr",
    "reading_time": 13,
    "domain_name": "delicious-insights.com",
    "preview_picture": "https://delicious-insights.com/fr/articles-et-tutos/git-commit-detail/art-git-commit-detail.jpg",
    "http_status": "200",
    "headers": {
      "accept-ranges": "bytes",
      "age": "1",
      "cache-control": "public,max-age=0,must-revalidate",
      "cache-status": "\"Netlify Edge\"; fwd=miss",
      "content-length": "41840",
      "content-type": "text/html; charset=UTF-8",
      "date": "Sun, 14 Apr 2024 20:22:53 GMT",
      "etag": "\"409950020061d748d3921d3fe7bb1cae-ssl\"",
      "server": "Netlify",
      "strict-transport-security": "max-age=31536000",
      "x-nf-request-id": "01HVF4DT97FTFEX8ZJQ2GG7VS5"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["git"],
    "is_public": false,
    "id": 83,
    "title": "Glossaire des termes utiles Git \u2022 Delicious Insights",
    "url": "https://delicious-insights.com/fr/articles-et-tutos/glossaire-git/",
    "given_url": "https://delicious-insights.com/fr/articles-et-tutos/glossaire-git/",
    "content": "<header><p>Comment apprendre Git sans conna\u00eetre son vocabulaire\u00a0? Dans cette s\u00e9rie sur le glossaire Git je t\u2019explique les termes incontournables, pour que tu parles Git et que Git te parle\u00a0!</p>\n</header><div class=\"screencastPimp\"><div class=\"screencastLogo\"><a href=\"https://cours-video.delicious-insights.com?source=di-screencast-pimp\" target=\"_blank\" rel=\"noopener\"><img src=\"https://delicious-insights.com/assets/images/logo/delicious-screencasts.png\" alt=\"Delicious Screencasts\" referrerpolicy=\"no-referrer\" /></a></div><p></p><h3>D\u00e9couvrez nos cours vid\u00e9o\u00a0! \ud83d\udda5</h3>\nNos cours vid\u00e9o sont un compl\u00e9ment id\u00e9al et bon march\u00e9 \u00e0 nos articles techniques et formations pr\u00e9sentielles. Autour de Git, de JavaScript et d\u2019autres sujets, retrouvez des <a href=\"https://cours-video.delicious-insights.com?source=di-screencast-pimp\" target=\"_blank\" rel=\"noopener\"><strong>contenus de tr\u00e8s grande qualit\u00e9 \u00e0 des prix abordables</strong></a>, sp\u00e9cialement con\u00e7us pour lever vos plus gros points de blocage.</div>",
    "created_at": "2024-04-14T20:22:39+00:00",
    "updated_at": "2024-04-14T20:22:42+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr",
    "reading_time": 0,
    "domain_name": "delicious-insights.com",
    "preview_picture": "https://delicious-insights.com/fr/articles-et-tutos/glossaire-git/art-git-glossary.jpg",
    "http_status": "200",
    "headers": {
      "accept-ranges": "bytes",
      "age": "0",
      "cache-control": "public,max-age=0,must-revalidate",
      "cache-status": "\"Netlify Edge\"; fwd=miss",
      "content-length": "18125",
      "content-type": "text/html; charset=UTF-8",
      "date": "Sun, 14 Apr 2024 20:22:39 GMT",
      "etag": "\"ef4b258ce15f28d4ea3363a7dcff8e82-ssl\"",
      "server": "Netlify",
      "strict-transport-security": "max-age=31536000",
      "x-nf-request-id": "01HVF4DD90VBK1M5J1FMBV5TNP"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["git"],
    "is_public": false,
    "id": 82,
    "title": "Rebase\u00a0: le couper-coller de l\u2019historique \u2022 Delicious Insights",
    "url": "https://delicious-insights.com/fr/articles-et-tutos/git-rebase-c-est-quoi/",
    "given_url": "https://delicious-insights.com/fr/articles-et-tutos/git-rebase-c-est-quoi/",
    "content": "<header><p>La notion de <em>rebase</em> en Git est incontournable. Que tu d\u00e9cides ou non d\u2019utiliser cette fonctionnalit\u00e9 (et je peux t\u2019assurer que tu voudras l\u2019utiliser), il te faut savoir les actions qu\u2019elle te permet de r\u00e9aliser pour d\u00e9cider en pleine conscience.</p>\n<p>Cet article fait partie de notre s\u00e9rie sur le <a href=\"https://delicious-insights.com/fr/articles/glossaire-git/\">glossaire Git</a>.</p>\n</header><section class=\"no-internal-nav\"><h2 id=\"tu-pr%C3%A9f%C3%A8res-une-vid%C3%A9o-%3F\" tabindex=\"-1\">Tu pr\u00e9f\u00e8res une vid\u00e9o ?</h2><p>Si tu es du genre \u00e0 pr\u00e9f\u00e9rer regarder que lire pour apprendre, on a pens\u00e9 \u00e0 toi\u00a0:</p><iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/5iPU51gJcCY\" title=\"Lecteur vid\u00e9o YouTube\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" class=\"c1\">[embedded content]</iframe><h2 id=\"changer-de-base\" tabindex=\"-1\">Changer de base</h2><p>Comme son nom le sugg\u00e8re, le <em>rebase</em> d\u00e9crit un changement de base. Mais un changement de base de quoi\u00a0? Et bien, il s\u2019agit de \u00ab\u00a0d\u00e9placer\u00a0\u00bb une partie de l\u2019historique, donc un ensemble de commits, en changeant le commit de d\u00e9part (la base). Si tu as quelques notions de g\u00e9om\u00e9trie, tu peux voir \u00e7a comme une translation.</p><p><img src=\"https://delicious-insights.com/assets/images/articles/git-rebase-standard.gif\" alt=\"Une rebase op\u00e8re comme une translation d'un segment d'historique\" referrerpolicy=\"no-referrer\" /></p><p>En r\u00e9alit\u00e9 c\u2019est un chouilla plus complexe. \u00c7a s\u2019apparente plus \u00e0 une s\u00e9rie de couper/coller des commits du segment initial sur la nouvelle base. Et si on pr\u00e9cise l\u2019\u00e9tiquette de branche qui termine ce segment, elle sera au final d\u00e9plac\u00e9e pour pointer sur le dernier commit ainsi rejou\u00e9.</p><p><img src=\"https://delicious-insights.com/assets/images/articles/git-rebase-steps.gif\" alt=\"Rebase proc\u00e8de en plusieurs \u00e9tapes, comme une s\u00e9rie de copier/coller\" referrerpolicy=\"no-referrer\" /></p><p>Ce qui est top, c\u2019est qu\u2019on peut en faire autant qu\u2019on veut\u00a0:</p><p><img src=\"https://delicious-insights.com/assets/images/articles/git-rebase-updates.gif\" alt=\"Animation d\u00e9crivant plusieurs rebases successifs\" referrerpolicy=\"no-referrer\" /></p><h2 id=\"victor%2C-nettoyeur\" tabindex=\"-1\">Victor, nettoyeur</h2><p>En plus de permettre de d\u00e9placer des segments d\u2019historique, <em>rebase</em> nous permet, gr\u00e2ce \u00e0 son <strong>mode interactif</strong>, de remanier tout ou partie des commits du segment. <strong>On peut tout faire</strong>\u00a0:</p><ul><li><strong>supprimer</strong> des commits (ne pas les couper/coller)\u00a0;</li>\n<li><strong>r\u00e9-\u00e9crire des messages</strong> de commits\u00a0;</li>\n<li><strong>r\u00e9ordonner</strong> des commits\u00a0;</li>\n<li><strong>fusionner</strong> des commits\u00a0;</li>\n<li><strong>modifier</strong> des commits (pour les d\u00e9couper par exemple).</li>\n</ul><p>Rien ne t\u2019emp\u00eache d\u2019ailleurs de prendre comme base le commit servant d\u00e9j\u00e0, actuellement, de base. De cette mani\u00e8re tu peux nettoyer le segment \u00ab\u00a0sur place\u00a0\u00bb. C\u2019est probablement un des usages les plus courants, par exemple quand tu t\u2019aper\u00e7ois que tu as oubli\u00e9 quelque chose dans un commit ant\u00e9rieur, ou simplement que tu as mal d\u00e9crit un commit.</p><h2 id=\"quels-r%C3%B4les-alors-%3F\" tabindex=\"-1\">Quels r\u00f4les alors\u00a0?</h2><p>Peut-\u00eatre que \u00e7a te para\u00eet d\u00e9j\u00e0 \u00e9vident, mais tant qu\u2019\u00e0 faire, je pr\u00e9f\u00e8re \u00eatre explicite.</p><p>Les fonctions courantes que remplit <em>rebase</em> sont assez vari\u00e9es, mais fondamentalement \u00e7a va nous servir \u00e0 mettre \u00e0 jour notre historique.</p><h3 id=\"mettre-%C3%A0-jour-une-branche\" tabindex=\"-1\">Mettre \u00e0 jour une branche</h3><p>Imagine un instant que tu aies un tronc commun d\u00e9sign\u00e9 par la branche <code>main</code>. Tu as entam\u00e9 le d\u00e9veloppement d\u2019\u00e9crans pour une fonctionnalit\u00e9 donn\u00e9e sur une branche <code>dev</code>. Entre temps <code>main</code> a int\u00e9gr\u00e9 des \u00e9volutions avec un nouveau th\u00e8me graphique. Pour pouvoir terminer ta fonctionnalit\u00e9 tu aimerais, id\u00e9alement, te mettre \u00e0 jour sur ce nouvel \u00e9tat de <code>main</code>.</p><p>\u00c7a revient au tout premier diagramme anim\u00e9 de cet article.</p><p>Tu peux m\u00eame choisir de ne mettre \u00e0 jour <strong>qu\u2019un intervalle de commits</strong> donn\u00e9 (qui court g\u00e9n\u00e9ralement jusqu\u2019\u00e0 la fin de la branche, mais d\u00e9marre plus tard que le point de divergence)\u00a0:</p><p><img src=\"https://delicious-insights.com/assets/images/articles/git-rebase-onto.gif\" alt=\"Animation d\u00e9crivant un exemple de mise \u00e0 jour avec rebase ne prenant qu'un intervalle donn\u00e9\" referrerpolicy=\"no-referrer\" /></p><h3 id=\"corriger-un-ou-plusieurs-commits-pass%C3%A9s\" tabindex=\"-1\">Corriger un ou plusieurs commits pass\u00e9s</h3><p>C\u2019est probablement la raison pour laquelle j\u2019utilise le plus <em>rebase</em>, quand je remarque soit un message mal r\u00e9dig\u00e9 (de temps en temps j\u2019oublie la r\u00e9f\u00e9rence d\u2019un ticket pour lier \u00e0 mon outil de gestion de projet), ou encore que j\u2019ai oubli\u00e9 un fichier dans un commit pr\u00e9c\u00e9dent, que je cr\u00e9e un commit compl\u00e9mentaire et que je veux faire de ces 2 commits \u00e9loign\u00e9s un seul <a href=\"https://delicious-insights.com/fr/articles/commit-atomique/\">commit atomique</a>.</p><p><img src=\"https://delicious-insights.com/assets/images/articles/git-rebase-interactive.gif\" alt=\"Animation montrant la suppression, le regroupement, le renommage, la r\u00e9organisation des commits\" referrerpolicy=\"no-referrer\" /></p><h3 id=\"nettoyer-une-branche-avant-publication\" tabindex=\"-1\">Nettoyer une branche avant publication</h3><p>Dernier cas d\u2019usage, moins courant (mais \u00e7a c\u2019est parce que je travaille tr\u00e8s bien \ud83d\ude09), c\u2019est lorsque je veux mettre mon historique au propre avant de publier. Je retire les commits qui s\u2019annulent (commit + revert), je regroupe les commits qui traitent d\u2019un m\u00eame sujet, je normalise mes messages\u2026</p><h2 id=\"pull-%2B-rebase-%3D-%E2%9D%A4%EF%B8%8F\" tabindex=\"-1\">Pull + rebase = \u2764\ufe0f</h2><p>Si, comme moi, tu as compris que tes synchronisations (r\u00e9cup\u00e9rations) avec le d\u00e9p\u00f4t distant m\u00e9ritent (que dis-je\u00a0: se doivent) d\u2019utiliser le <em>rebase</em>, alors ton historique est propre, lisse, d\u00e9nu\u00e9 de pollution visuelle li\u00e9e \u00e0 de la fusion des branches distantes dans leur \u00e9quivalent local.</p><p>\u00c0 mon grand d\u00e9sarroi, Git ne d\u00e9finit pas ce comportement par d\u00e9faut, il est sugg\u00e9r\u00e9 mais on doit encore le configurer manuellement.</p><p><img src=\"https://delicious-insights.com/assets/images/articles/git-rebase-pull-merge.gif\" alt=\"Animation montrant la fusion d'une branche distante dans une branche locale\" referrerpolicy=\"no-referrer\" /></p><p>\u00c7a m\u00e9rite un peu plus d\u2019explication, non\u00a0? Git g\u00e8re la synchro entre local et distant en gardant sur notre projet, localement, une r\u00e9f\u00e9rence \u00e0 part pour chaque branche distante. Par exemple, j\u2019ai ma branche <code>main</code> et son \u00e9quivalent distant <code>origin/main</code>. Chacune est donc g\u00e9r\u00e9e <strong>comme une branche s\u00e9par\u00e9e</strong>. Et pour les synchroniser, Git a pendant longtemps r\u00e9alis\u00e9 par d\u00e9faut la fusion de la branche distante dans la branche locale. <strong>\u00c7a donnait des trucs sacr\u00e9ment moches dans l\u2019historique</strong>. On a donc carr\u00e9ment int\u00e9r\u00eat \u00e0 op\u00e9rer plut\u00f4t le rebase de notre branche locale sur la branche distante \u00e0 jour. On part alors du principe que <strong>la branche distante</strong> a (presque) toujours raison et <strong>doit servir de base aux commits qu\u2019on a produit localement</strong>.</p><p>Heureusement, une fois qu\u2019on a mis en place la configuration qui va bien, \u00e7a roule tout seul sans qu\u2019on s\u2019en pr\u00e9occupe \ud83d\ude2e\u200d\ud83d\udca8.</p><p><img src=\"https://delicious-insights.com/assets/images/articles/git-rebase-pull-rebase.gif\" alt=\"Animation montrant le rebase d'une branche locale \u00ab\u00a0par-dessus\u00a0\u00bb une branche distante\" referrerpolicy=\"no-referrer\" /></p><h2 id=\"merge-%E2%89%A0-rebase\" tabindex=\"-1\">Merge \u2260 Rebase</h2><p>Par piti\u00e9, ne tombe pas dans le panneau d\u2019opposer <em>merge</em> et <em>rebase</em>. Crois-tu qu\u2019\u00e0 un seul instant les responsables de Git se sont dit qu\u2019ils allaient produire des commandes qui se superposent ou s\u2019opposent. Quel en serait l\u2019int\u00e9r\u00eat\u00a0?</p><p>Chacune sert une ou plusieurs fonctions pr\u00e9cises, parfois compl\u00e9mentaires. Libre \u00e0 toi alors de les utiliser pour des cas appropri\u00e9s.</p><p>Si je devais r\u00e9sumer \u00e7a en une phrase\u00a0: <strong><em>merge</em> marque la fin d\u2019un travail par son int\u00e9gration dans un tronc commun, quand <em>rebase</em> permet de r\u00e9aliser des mises \u00e0 jour pour continuer un travail ou nettoyer une partie de l\u2019historique</strong>.</p><p>Si tu veux en savoir d\u2019avantage, je ne peux que te recommander un article que nous avions \u00e9crit il y a quelques ann\u00e9es d\u00e9j\u00e0\u00a0: <a href=\"https://delicious-insights.com/fr/articles/bien-utiliser-git-merge-et-rebase/\">bien utiliser merge et rebase</a>. On a m\u00eame sorti un <a href=\"https://cours-video.delicious-insights.com/git-merge-vs-rebase\"><strong>excellent cours vid\u00e9o</strong></a> tr\u00e8s d\u00e9taill\u00e9 sur <code>merge</code> et <code>rebase</code>, qui peut te changer la vie\u00a0!</p><h2 id=\"et-pour-ne-rien-rater-de-la-suite%E2%80%A6\" tabindex=\"-1\">Et pour ne rien rater de la suite\u2026</h2><p>Si tu veux \u00eatre s\u00fbr\u00b7e de ne rater aucun de nos tutos et articles, le mieux est encore de <a href=\"http://eepurl.com/gd7Szj\">t\u2019abonner \u00e0 notre newsletter</a> et \u00e0 notre <a href=\"https://youtube.com/c/DeliciousInsights\">cha\u00eene YouTube</a>. Tu peux aussi nous <a href=\"https://twitter.com/intent/follow?screen_name=DelicioInsights\">suivre sur Twitter</a>. Si tu aimes ce que nous faisons, n\u2019oublie pas de <em>liker</em>, commenter et d\u2019en parler autour de toi \ud83d\ude42.</p><p>Et bien entendu, n\u2019h\u00e9site pas \u00e0 jeter un \u0153il \u00e0 nos <a href=\"https://delicious-insights.com/fr/formations/\">formations</a>\u00a0! Si comprendre Git sur le bout des doigts t\u2019int\u00e9resse, la <a href=\"https://delicious-insights.com/fr/formations/git-total/\">Git Total</a> est faite pour toi \ud83d\ude0e\u00a0!</p></section><div class=\"screencastPimp\"><div class=\"screencastLogo\"><a href=\"https://cours-video.delicious-insights.com?source=di-screencast-pimp\" target=\"_blank\" rel=\"noopener\"><img src=\"https://delicious-insights.com/assets/images/logo/delicious-screencasts.png\" alt=\"Delicious Screencasts\" referrerpolicy=\"no-referrer\" /></a></div><p></p><h3>D\u00e9couvrez nos cours vid\u00e9o\u00a0! \ud83d\udda5</h3>\nNos cours vid\u00e9o sont un compl\u00e9ment id\u00e9al et bon march\u00e9 \u00e0 nos articles techniques et formations pr\u00e9sentielles. Autour de Git, de JavaScript et d\u2019autres sujets, retrouvez des <a href=\"https://cours-video.delicious-insights.com?source=di-screencast-pimp\" target=\"_blank\" rel=\"noopener\"><strong>contenus de tr\u00e8s grande qualit\u00e9 \u00e0 des prix abordables</strong></a>, sp\u00e9cialement con\u00e7us pour lever vos plus gros points de blocage.</div>",
    "created_at": "2024-04-14T20:22:28+00:00",
    "updated_at": "2024-04-14T20:22:32+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr",
    "reading_time": 5,
    "domain_name": "delicious-insights.com",
    "preview_picture": "https://delicious-insights.com/fr/articles-et-tutos/git-rebase-c-est-quoi/art-git-rebase.jpg",
    "http_status": "200",
    "headers": {
      "accept-ranges": "bytes",
      "age": "0",
      "cache-control": "public,max-age=0,must-revalidate",
      "cache-status": "\"Netlify Edge\"; fwd=miss",
      "content-length": "25564",
      "content-type": "text/html; charset=UTF-8",
      "date": "Sun, 14 Apr 2024 20:22:28 GMT",
      "etag": "\"7bf84f4a29c873b66ec0819b2e738818-ssl\"",
      "server": "Netlify",
      "strict-transport-security": "max-age=31536000",
      "x-nf-request-id": "01HVF4D2D9MQP7ASHFFC2ZSC39"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["git"],
    "is_public": false,
    "id": 81,
    "title": "Comment configurer Git\u00a0? \u2022 Delicious Insights",
    "url": "https://delicious-insights.com/fr/articles-et-tutos/git-config-part-2/",
    "given_url": "https://delicious-insights.com/fr/articles-et-tutos/git-config-part-2/",
    "content": "<p class=\"locales\">This page is also available <a href=\"https://delicious-insights.com/en/posts/git-config-part-2/\">in English</a>.</p><section class=\"no-internal-nav\"><iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/jiI67QNrD-o\" title=\"Lecteur vid\u00e9o YouTube\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" class=\"c1\">[embedded content]</iframe><aside class=\"tip\"><p>Cet article vient compl\u00e9ter <a href=\"https://delicious-insights.com/fr/articles-et-tutos/configuration-git/\">notre article de 2013</a> dont le contenu est toujours valable et qui d\u00e9crit certains \u00e9l\u00e9ments mis en place dans notre configuration.</p>\n<p>L\u2019article actuel d\u00e9crit plus la mise en place de la configuration, les avantages et inconv\u00e9nients.</p>\n</aside><p>Savoir configurer Git, c\u2019est super\u00a0! \u00c7a permet de pr\u00e9ciser des <strong>comportements</strong>, des <strong>aliases</strong>, de renseigner nos <strong>outils pr\u00e9f\u00e9r\u00e9s</strong> pour travailler avec Git, de personnaliser jusqu\u2019aux <strong>couleurs d\u2019affichage</strong> des commandes dans le terminal\u2026 Mais la configuration, c\u2019est aussi un truc <strong>contraignant</strong>, parce que le comportement de base n\u2019est pas forc\u00e9ment optimal, parce que \u00e7a implique de cr\u00e9er les fichiers de configuration, de <strong>r\u00e9pliquer la m\u00eame configuration sur chaque machine</strong>, et parce qu\u2019on n\u2019est pas forc\u00e9ment au courant des choses qu\u2019on peut optimiser\u00a0!</p><h2 id=\"%C3%A0-la-base%2C-%C3%A7a-pourrait-%C3%AAtre-mieux%E2%80%A6\" tabindex=\"-1\">\u00c0 la base, \u00e7a pourrait \u00eatre mieux\u2026</h2><p>C\u2019est un fait plut\u00f4t regrettable\u00a0: Git n\u2019est pas au top d\u2019embl\u00e9e\u00a0! Certains comportements demandent \u00e0 \u00eatre optimis\u00e9s, comme par exemple le <em>pull</em> en mode <em>rebase</em> (<code>rebase = merges</code> pour \u00eatre exact). Tu ne devrais m\u00eame pas te poser la question de l\u2019utilit\u00e9 de cette configuration, et pourtant, te voil\u00e0 \u00e0 devoir expliciter tout \u00e7a.</p><p>La raison est simple\u00a0: <strong>les \u00e9volutions ne doivent pas changer les comportements nominaux</strong>. Dit autrement\u00a0: tu ne devrais pas voir de diff\u00e9rence de comportement suite \u00e0 une mise \u00e0 jour de Git. J\u2019admets que cette approche est plut\u00f4t discutable, mais sauf en prenant la main sur l\u2019organisation du projet (c\u2019est possible, vu que c\u2019est de l\u2019open-source), \u00e7a ne risque pas de changer dans l\u2019imm\u00e9diat.</p><p>Comment alors rem\u00e9dier \u00e0 ce probl\u00e8me\u00a0? C\u2019est tr\u00e8s simple, il te suffit de suivre <a href=\"https://delicious-insights.com/fr/formations/git-total/\">notre formation Git Total</a> \ud83d\ude01\u00a0! Mais si tu n\u2019as pas cette chance, alors tu devras te contenter de <span class=\"c2\">lire la doc</span> suivre nos recommandations. Comme on n\u2019est pas trop vaches \ud83d\udc2e, on t\u2019a comment\u00e9 chaque \u00e9l\u00e9ment de configuration, histoire que tu aies au moins des pistes pour comprendre \u00e0 quoi tout \u00e7a peut servir.</p><p>C\u00f4t\u00e9 syntaxe, \u00e7a ressemble \u00e0 un fichier <code>.ini</code> ou \u00e0 du <a href=\"https://fr.wikipedia.org/wiki/TOML\">TOML</a>. En gros on a un bloc dont l\u2019en-t\u00eate est d\u00e9finie avec des crochets, suivi de lignes sur le format <code>cl\u00e9 = valeur</code>.</p><pre class=\"language-ini\">[user]name = Max Kriegeremail = max.krieger@git.demo</pre><p>Tu auras parfois besoin d\u2019agir sur des blocs nomm\u00e9s qui permettent de sp\u00e9cifier certains aspects (parfois appel\u00e9s <em>drivers</em>) d\u2019une fonctionnalit\u00e9 ou commande. Voici un exemple avec la gestion de la coloration de la commande <em>status</em>\u00a0:</p><pre class=\"language-ini\">[color \"status\"]# Print untracked file names in black on yellow backgrounduntracked = black yellow# Print conflicting files in magenta and italicsunmerged = magenta italic</pre><h2 id=\"c%E2%80%99est-mignon-tout-%C3%A7a%2C-mais-je-mets-%C3%A7a-o%C3%B9-%3F\" tabindex=\"-1\">C\u2019est mignon tout \u00e7a, mais je mets \u00e7a o\u00f9\u00a0?</h2><p>On a plusieurs options, mais la plus simple et efficace consiste \u00e0 renseigner la configuration au <strong>global</strong> pour ton compte utilisateur\u00b7rice. \u00c7a servira ainsi \u00e0 tous tes projets sur la machine. Tu y trouveras g\u00e9n\u00e9ralement un fichier <code>.gitconfig</code> (et sinon, tu peux le cr\u00e9er). Si tu as un doute, tu peux y acc\u00e9der depuis ton terminal en faisant un <code>git config --global --edit</code> (attention, \u00e7a risque de l\u2019ouvrir par d\u00e9faut dans vim). Certains \u00e9diteurs graphiques permettent aussi d\u2019\u00e9diter cette configuration, souvent au sein de leur propre interface.</p><p>Si tu es sur Windows, prends garde si les comptes sont stock\u00e9s sur un serveur\u00a0: <strong>si le r\u00e9seau tombe, ta configuration Git ne sera alors plus charg\u00e9e</strong> (elle est lue \u00e0 chaque commande / action Git). Tu ne t\u2019en apercevras pas forc\u00e9ment car Git ne remontera pas d\u2019erreur. Une solution est alors de changer son emplacement en modifiant la variable d\u2019environnement <code>XDG_CONFIG_HOME</code>.</p><p>On peut aussi pr\u00e9ciser la configuration \u201c<strong>locale</strong>\u201d, au plus proche du projet. Il s\u2019agit alors du fichier <code>.git/config</code> de ton projet (oui oui, \u00e7a n\u2019est pas le m\u00eame nom \ud83e\udd26). C\u2019est utile pour pr\u00e9ciser ou surcharger certaines infos. Par exemple quand je bosse sur des projets open-source je renseigne mon adresse e-mail perso plut\u00f4t que la pro (l\u2019exemple est donn\u00e9 juste apr\u00e8s). Et puis on y trouve les d\u00e9finitions des d\u00e9p\u00f4ts distants, branches, etc. qui sont \u00e9videmment distincts d\u2019un projet \u00e0 l\u2019autre.</p><aside class=\"tip\"><p><strong>Aussi disponible au niveau syst\u00e8me</strong></p>\n<p>Ce n\u2019est clairement pas l\u2019approche que nous recommandons, mais Git va \u00e9galement chercher \u00e0 charger la configuration depuis un niveau syst\u00e8me (<code>mingw32\\etc\\gitconfig</code> ou <code>mingw64\\etc\\gitconfig</code> sur Windows, <code>etc/gitconfig</code> sur Linux et MacOS).</p>\n</aside><p>Au-del\u00e0 du bon gros copier/coller de <a href=\"https://gist.github.com/tdd/470582\">notre gabarit de configuration</a>, tu voudras parfois changer certains \u00e9l\u00e9ments. Tu peux soit modifier le fichier \u00e0 la main, soit faire \u00e7a <em>via</em> la ligne de commande.</p><p>Si tu \u00e9dites un fichier de configuration \u00e0 la main et que tu as peur de tout casser, sache que le <em>parser</em> de Git saura te dire \u00e0 quelle ligne tu as une erreur. Va donc sans crainte.</p><p>Pour la m\u00e9thode <em>\u201csafe\u201d</em>, tu peux appeler la commande selon le gabarit suivant\u00a0:</p><pre class=\"language-bash\">git config --global nom-de-bloc.cl\u00e9 valeur# Exemple pour pr\u00e9ciser ton \u00e9diteur pr\u00e9f\u00e9r\u00e9 :# git config --global core.editor 'code --wait'</pre><p>Si tu retires l\u2019option <code>--global</code> \u00e7a travaillera sur la configuration locale.</p><pre class=\"language-bash\">git config user.email mon-email@tld.domain</pre><p>Les fichiers de configuration sont lus \u00e0 chaque commande Git. D\u2019abord au niveau global, puis au niveau local / projet. <strong>La configuration globale est alors enrichie, voire surcharg\u00e9e par les d\u00e9finitions locales.</strong></p><p>Enfin, selon ce que tu cherches \u00e0 r\u00e9aliser comme manipulation, tu pourras g\u00e9n\u00e9ralement surcharger certaines options au moment de l\u2019ex\u00e9cution d\u2019une commande, si elle le permet.</p><pre class=\"language-bash\"># Partant de la configuration qui refuse de base la fusion# en mode \"fast-forward\" (`merge.ff` \u00e0 `false`), on peut# surchager avec l\u2019option `ff` lors de l\u2019appel \u00e0 la commandegit merge --ff sub-feature</pre><p>Si on devait r\u00e9sumer \u00e7a plus simplement\u00a0: la configuration au plus proche de la commande gagne\u00a0!</p><h2 id=\"et-pour-le-partage-%3F\" tabindex=\"-1\">Et pour le partage\u00a0?</h2><p>Si tu pratiques d\u00e9j\u00e0 Git, tu connais peut-\u00eatre le fichier <code>.gitignore</code> que tu peux mettre \u00e0 la racine de ton projet pour le partager. Tu te dis alors peut-\u00eatre na\u00efvement que tu peux faire pareil avec la configuration et cr\u00e9er un fichier <code>.gitconfig</code> au m\u00eame emplacement\u2026 Sauf que non\u00a0! \u00c0 croire que \u00e7a aurait \u00e9t\u00e9 trop simple.</p><p><strong>De base, la configuration n\u2019est pas partag\u00e9e</strong>. Tu peux alors ruser, par exemple en pr\u00e9cisant dans ta configuration locale un chemin vers un fichier de configuration tiers.</p><pre class=\"language-bash\"># \u274c Ne fais pas \u00e7a, c\u2019est sans int\u00e9r\u00eatgit config include.path &lt;path-to-custom-config&gt;</pre><p>Mais on en revient au m\u00eame probl\u00e8me\u00a0: il faut passer par la configuration pour renseigner\u2026 le chemin vers la configuration (sauf qu\u2019en plus ici il faut le faire sur chaque machine et pour chaque projet). \u00c7a craint, mais on n\u2019a d\u2019autre choix que de r\u00e9pliquer nos confs.</p><p>Bon apr\u00e8s \u00e7a n\u2019est pas la mer \u00e0 boire. On le fait une fois pour toutes \u00e0 l\u2019installation de la machine et puis roule mon pull \ud83d\udc14 (d\u00e9sol\u00e9, \u00e7a m\u2019est venu comme \u00e7a \ud83d\ude09). Et si jamais il y a des nouveaut\u00e9s pertinentes, tu n\u2019auras qu\u2019\u00e0 t\u2019abonner \u00e0 <a href=\"http://eepurl.com/gd7Szj\">notre newsletter</a> et <a href=\"https://youtube.com/@DeliciousInsights\">notre cha\u00eene Youtube</a>, on ne manquera pas d\u2019\u00e9crire un article et de produire un \u00e9pisode pour t\u2019expliquer tout \u00e7a\u00a0!</p><h2 id=\"des-astuces-en-veux-tu-en-voil%C3%A0-!\" tabindex=\"-1\">Des astuces en veux-tu en voil\u00e0\u00a0!</h2><p>On a tout plein d\u2019<a href=\"https://delicious-insights.com/fr/articles-et-tutos/\">articles</a> et de <a href=\"https://delicious-insights.com/fr/cours-videos/\">vid\u00e9os</a> existants et encore beaucoup \u00e0 venir. Pour ne rien manquer, tu devrais penser \u00e0 t\u2019abonner \u00e0 <a href=\"http://eepurl.com/gd7Szj\">notre newsletter</a>, \u00e0 notre cha\u00eene <a href=\"https://youtube.com/@DeliciousInsights\">YouTube</a>, nous <a href=\"https://twitter.com/intent/follow?screen_name=DelicioInsights\">suivre sur Twitter</a> ou <a href=\"https://piaille.fr/@DeliciousInsights\">Mastodon</a> ou encore mieux, \u00e0 suivre notre formation du feu de dieu \ud83d\udd25\u00a0: <a href=\"https://delicious-insights.com/fr/formations/git-total/\">Git Total</a>\u00a0!</p></section><div class=\"screencastPimp\"><div class=\"screencastLogo\"><a href=\"https://cours-video.delicious-insights.com?source=di-screencast-pimp\" target=\"_blank\" rel=\"noopener\"><img src=\"https://delicious-insights.com/assets/images/logo/delicious-screencasts.png\" alt=\"Delicious Screencasts\" referrerpolicy=\"no-referrer\" /></a></div><h3>D\u00e9couvrez nos cours vid\u00e9o\u00a0! \ud83d\udda5</h3>\nNos cours vid\u00e9o sont un compl\u00e9ment id\u00e9al et bon march\u00e9 \u00e0 nos articles techniques et formations pr\u00e9sentielles. Autour de Git, de JavaScript et d\u2019autres sujets, retrouvez des <a href=\"https://cours-video.delicious-insights.com?source=di-screencast-pimp\" target=\"_blank\" rel=\"noopener\"><strong>contenus de tr\u00e8s grande qualit\u00e9 \u00e0 des prix abordables</strong></a>, sp\u00e9cialement con\u00e7us pour lever vos plus gros points de blocage.</div>",
    "created_at": "2024-04-14T20:22:01+00:00",
    "updated_at": "2024-04-14T20:22:03+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr",
    "reading_time": 6,
    "domain_name": "delicious-insights.com",
    "preview_picture": "https://delicious-insights.com/fr/articles-et-tutos/git-config-part-2/art-git-config-part-2.jpg",
    "http_status": "200",
    "headers": {
      "accept-ranges": "bytes",
      "age": "0",
      "cache-control": "public,max-age=0,must-revalidate",
      "cache-status": "\"Netlify Edge\"; fwd=miss",
      "content-length": "27920",
      "content-type": "text/html; charset=UTF-8",
      "date": "Sun, 14 Apr 2024 20:22:01 GMT",
      "etag": "\"28166c00287aa7ec8e8fe094f2db0ee2-ssl\"",
      "server": "Netlify",
      "strict-transport-security": "max-age=31536000",
      "x-nf-request-id": "01HVF4C84SJZ3C9BZ398TCFJ18"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["docker", "gitea", "ftp"],
    "is_public": false,
    "id": 80,
    "title": "How to Install Gitea with Docker on Ubuntu {in 9 Steps}",
    "url": "https://phoenixnap.com/kb/gitea-docker",
    "given_url": "https://phoenixnap.com/kb/gitea-docker",
    "content": "<p class=\"h3\">Introduction</p><p>Gitea is a self-hosted lightweight <a href=\"https://phoenixnap.com/kb/what-is-git\" target=\"_blank\" rel=\"noreferrer noopener\">Git</a> platform similar to GitHub, GitLab, and Gogs. The Gitea project aims to provide a code hosting tool that focuses primarily on speed and simplicity.</p><p><strong>This tutorial will show you how to install and set up Gitea on Ubuntu using Docker.</strong></p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"396\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/how-to-install-gitea-with-docker-on-ubuntu.png\" alt=\"How to install Gitea with Docker on Ubuntu.\" class=\"wp-image-156907\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/how-to-install-gitea-with-docker-on-ubuntu.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/how-to-install-gitea-with-docker-on-ubuntu-300x149.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/how-to-install-gitea-with-docker-on-ubuntu-768x380.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p class=\"h3\">Prerequisites</p><ul><li>Ubuntu 20.04 or later.</li>\n<li>Administrative access to the system.</li>\n<li><a href=\"https://phoenixnap.com/kb/install-docker-on-ubuntu-20-04\" target=\"_blank\" rel=\"noreferrer noopener\">Docker</a> and <a href=\"https://phoenixnap.com/kb/install-docker-compose-on-ubuntu-20-04\" target=\"_blank\" rel=\"noreferrer noopener\">Docker Compose</a> installed.</li>\n<li>A <a href=\"https://phoenixnap.com/glossary/what-is-a-domain\" target=\"_blank\" rel=\"noreferrer noopener\">domain</a> name pointing to the system's <a href=\"https://phoenixnap.com/glossary/what-is-an-ip-address\" target=\"_blank\" rel=\"noreferrer noopener\">IP address</a>.</li>\n</ul><p>Gitea's <a href=\"https://phoenixnap.com/kb/what-is-docker#ftoc-heading-9\" target=\"_blank\" rel=\"noreferrer noopener\">Docker Hub</a> repository contains automatically updated Gitea <a href=\"https://phoenixnap.com/kb/docker-image-vs-container\" target=\"_blank\" rel=\"noreferrer noopener\">Docker images</a> that you can use with Docker and <a href=\"https://phoenixnap.com/kb/docker-compose\" target=\"_blank\" rel=\"noreferrer noopener\">Docker Compose</a> to deploy a local Gitea installation. However, before installing Gitea on Ubuntu, ensure the system is properly set up.</p><p>Follow the steps below to create a self-hosted Gitea instance on Ubuntu.</p><p>Gitea Docker deployment communicates with the external OS environment through a dedicated <strong><code>git</code></strong> system user.</p><p>To create a <strong><code>git</code></strong> user account:</p><p>1. Execute the following <a href=\"https://phoenixnap.com/kb/linux-adduser\" target=\"_blank\" rel=\"noreferrer noopener\">adduser command</a>:</p><pre>sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git</pre><p>2. Make a note of the <strong><code>UID</code></strong> (User ID) and <strong><code>GID</code></strong> (Group ID) numbers in the output:</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"135\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-adduser-system-install-gitea-ubuntu-docker.png\" alt=\"Creating a system user in Ubuntu.\" class=\"wp-image-156911\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-adduser-system-install-gitea-ubuntu-docker.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-adduser-system-install-gitea-ubuntu-docker-300x51.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-adduser-system-install-gitea-ubuntu-docker-768x130.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>The most straightforward way to deploy Gitea with Docker is by using Docker Compose. The steps below explain the procedure in detail.</p><p>1. Create a directory for the Docker Compose deployment and go to that directory:</p><pre>mkdir gitea &amp;&amp; cd gitea</pre><p>2. Create the docker-compose YML file using a text editor. The example below uses <a href=\"https://phoenixnap.com/kb/use-nano-text-editor-commands-linux\" target=\"_blank\" rel=\"noreferrer noopener\">Nano</a>.</p><pre>nano docker-compose.yml</pre><p>3. Enter the configuration for a new Gitea instance. The following example creates a deployment with the <strong><code>latest</code></strong> version of the <strong><code>gitea/gitea</code></strong> image and maps the <strong><code>TCP</code></strong> and <strong><code>SSH</code></strong> container ports to the external ports <strong><code>3000</code></strong> (<strong><code>TCP</code></strong>) and <strong><code>2222</code></strong> (<strong><code>SSH</code></strong>):</p><pre>version: \"3\"\nnetworks:\n  gitea:\n    external: false\nservices:\n  server:\n    image: gitea/gitea:latest\n    container_name: gitea\n    environment:\n      - USER_UID=[uid]\n      - USER_GID=[gid]\n    restart: always\n    networks:\n      - gitea\n    volumes:\n      - ./gitea:/data\n      - /home/git/.ssh/:/data/git/.ssh\n      - /etc/timezone:/etc/timezone:ro\n      - /etc/localtime:/etc/localtime:ro\n    ports:\n      - \"127.0.0.1:3000:3000\"\n      - \"127.0.0.1:2222:22\"</pre><p>Assign the <strong><code>UID</code></strong> and <strong><code>GID</code></strong> numbers from <strong>Step 1</strong> of this tutorial to the <strong><code>USER_UID</code></strong> and <strong><code>USER_GID</code></strong> <a href=\"https://phoenixnap.com/kb/docker-environment-variables\" target=\"_blank\" rel=\"noreferrer noopener\">environment variables</a>.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"460\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/editing-docker-compose-yml-install-gitea-ubuntu-docker.png\" alt=\"Editing the docker-compose file in Nano.\" class=\"wp-image-156912\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/editing-docker-compose-yml-install-gitea-ubuntu-docker.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/editing-docker-compose-yml-install-gitea-ubuntu-docker-300x173.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/editing-docker-compose-yml-install-gitea-ubuntu-docker-768x442.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>Save the file and exit.</p><p>4. Install Gitea with the command below:</p><pre>docker-compose up</pre><p>Docker Compose follows the specifications from the file and deploys a containerized Gitea instance.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"260\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-docker-compose-up-install-gitea-ubuntu-docker-pnap.png\" alt=\"Creating and running a Gitea container with docker-compose.\" class=\"wp-image-156914\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-docker-compose-up-install-gitea-ubuntu-docker-pnap.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-docker-compose-up-install-gitea-ubuntu-docker-pnap-300x98.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-docker-compose-up-install-gitea-ubuntu-docker-pnap-768x250.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>The instance runs in the foreground, so you need to open a new terminal window to continue with the next step. Alternatively, run a detached container in the background by adding the <strong><code>-d</code></strong> option.</p><pre>docker-compose up -d</pre><p>The output confirms Gitea has started in the background, and the command prompt appears.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"61\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-docker-compose-up-d-install-gitea-ubuntu-docker.png\" alt=\"Creating and running a Gitea container in the detached mode.\" class=\"wp-image-156915\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-docker-compose-up-d-install-gitea-ubuntu-docker.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-docker-compose-up-d-install-gitea-ubuntu-docker-300x23.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-docker-compose-up-d-install-gitea-ubuntu-docker-768x59.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>For the collaboration features to work as expected, the Gitea installation must be accessible from the internet. Installing a reverse proxy allows you to connect a domain name or an IP address to the Gitea instance.</p><p>Follow the steps below to install and set up an <a href=\"https://phoenixnap.com/kb/docker-nginx-reverse-proxy\" target=\"_blank\" rel=\"noreferrer noopener\">Nginx reverse proxy</a>.</p><p>1. Install Nginx from the official Ubuntu repository:</p><pre>sudo apt install nginx </pre><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"228\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-apt-install-nginx-install-gitea-ubuntu-docker.png\" alt=\"Installing Nginx as a reverse proxy.\" class=\"wp-image-156916\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-apt-install-nginx-install-gitea-ubuntu-docker.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-apt-install-nginx-install-gitea-ubuntu-docker-300x86.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-apt-install-nginx-install-gitea-ubuntu-docker-768x219.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>Type <strong><code>Y</code></strong> and press <strong>Enter</strong> to proceed.</p><p>2. Create a server configuration file for Gitea:</p><pre>sudo nano /etc/nginx/sites-available/gitea </pre><p>3. Add the configuration for the Gitea instance.</p><pre>server {\n    server_name [your-domain];\n    root /var/www/html;\n    location / {\n        proxy_pass http://localhost:3000;\n        proxy_set_header HOST $host;\n        proxy_set_header X-Forwarded-Proto $scheme;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    }\n}</pre><p>Replace <strong><code>[your-domain]</code></strong> in the file with the actual domain.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"262\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/editing-etc-nginx-sites-available-gitea-install-gitea-ubuntu-docker-pnap.png\" alt=\"Editing the gitea configuration file in the Nginx sites-available directory.\" class=\"wp-image-157011\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/editing-etc-nginx-sites-available-gitea-install-gitea-ubuntu-docker-pnap.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/editing-etc-nginx-sites-available-gitea-install-gitea-ubuntu-docker-pnap-300x98.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/editing-etc-nginx-sites-available-gitea-install-gitea-ubuntu-docker-pnap-768x252.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>Save the file and exit.</p><p>4. Create a symbolic link in the <strong><code>sites-enabled</code></strong> directory. The link points to the configuration file in the <strong><code>sites-available</code></strong> directory.</p><pre>sudo ln -s /etc/nginx/sites-available/gitea /etc/nginx/sites-enabled/gitea</pre><p>5. Test the configuration with the following command:</p><pre>sudo nginx -t</pre><p>The output shows that the test is successful.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"79\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-nginx-t-install-gitea-ubuntu-docker.png\" alt=\"Testing Nginx configuration.\" class=\"wp-image-156919\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-nginx-t-install-gitea-ubuntu-docker.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-nginx-t-install-gitea-ubuntu-docker-300x30.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-nginx-t-install-gitea-ubuntu-docker-768x76.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>6. Restart Nginx.</p><pre>sudo systemctl restart nginx</pre><p>Provide <a href=\"https://phoenixnap.com/kb/tls-vs-ssl\" target=\"_blank\" rel=\"noreferrer noopener\">TLS encryption</a> for the Gitea instance to enable <strong>HTTPS</strong> access:</p><p>1. Install <strong>certbot</strong>, a tool for installing <a href=\"https://phoenixnap.com/kb/letsencrypt-nginx\" target=\"_blank\" rel=\"noreferrer noopener\">Let's Encrypt certificates</a>.</p><pre>sudo apt install certbot python3-certbot-nginx</pre><p>2. Run <strong>certbot</strong> with the <strong><code>--nginx</code></strong> flag. Provide your domain name with the <strong><code>-d</code></strong> flag.</p><pre>sudo certbot --nginx -d [your-domain]</pre><p>3. Enter an email address for security-related notices. Type <strong><code>Y</code></strong> and press <strong>Enter</strong> to agree to the Terms of Service.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"253\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-certbot-nginx-d-domain-pnap.png\" alt=\"Creating a TLS certificate with certbot.\" class=\"wp-image-157014\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-certbot-nginx-d-domain-pnap.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-certbot-nginx-d-domain-pnap-300x95.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-certbot-nginx-d-domain-pnap-768x243.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>Once <strong>certbot</strong> generates the certificate, the tool automatically reloads Nginx with the new configuration.</p><p>After you create a system user, install a reverse proxy, and generate a TLS certificate, proceed to configure Gitea:</p><p>1. Access the Gitea instance in a web browser. Navigate to:</p><pre>https://[your-domain]</pre><p>The <strong>Initial Configuration</strong> page appears.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"287\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-initial-configuration-pnap.png\" alt=\"The Initial Configuration page in Gitea.\" class=\"wp-image-156927\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-initial-configuration-pnap.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-initial-configuration-pnap-300x108.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-initial-configuration-pnap-768x276.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>2. Scroll to the <strong>General Settings</strong> section and change the <strong>Site Title</strong> and <strong>Server Domain</strong> fields to your values.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"801\" height=\"399\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-general-settings-pnap.png\" alt=\"Editing General Settings in Gitea.\" class=\"wp-image-157018\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-general-settings-pnap.png 801w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-general-settings-pnap-300x149.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-general-settings-pnap-768x383.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>3. Scroll further down and change the <strong>Gitea Base URL</strong> field.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"292\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-ssh-http-pnap.png\" alt=\"Further editing of General Settings in Gitea.\" class=\"wp-image-157019\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-ssh-http-pnap.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-ssh-http-pnap-300x110.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-ssh-http-pnap-768x280.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>Save the configuration by selecting the <strong>Save</strong> button at the bottom of the page.</p><p>After you perform the initial configuration of Gitea, create the administrative user by following the procedure below:</p><p>1. Select the <strong>Register now</strong> link on the <strong>Sign In</strong> page.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"801\" height=\"413\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-sign-in-page-pnap.png\" alt=\"Gitea Sign In page.\" class=\"wp-image-157021\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-sign-in-page-pnap.png 801w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-sign-in-page-pnap-300x155.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-sign-in-page-pnap-768x396.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>2. Fill out the necessary account information and select the <strong>Register Account</strong> button.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"714\" height=\"359\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-register-page-pnap.png\" alt=\"Registering a new user in Gitea.\" class=\"wp-image-157022\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-register-page-pnap.png 714w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/gitea-register-page-pnap-300x151.png 300w\" referrerpolicy=\"no-referrer\" /></figure></div><p>Repository management in Gitea is similar to other code-hosting solutions. Follow the steps below to create a repository using Gitea's <a href=\"https://phoenixnap.com/glossary/what-is-gui\" target=\"_blank\" rel=\"noreferrer noopener\">GUI</a>:</p><p>1. Click the <strong><code>+</code></strong> sign in the upper-right corner of the screen.</p><p>2. Select <strong>New Repository</strong> to load the repository creation page.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"185\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/navigating-to-create-a-new-repository-in-gitea.png\" alt=\"Navigating to the New Repository option in Gitea.\" class=\"wp-image-156933\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/navigating-to-create-a-new-repository-in-gitea.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/navigating-to-create-a-new-repository-in-gitea-300x69.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/navigating-to-create-a-new-repository-in-gitea-768x178.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>3. Fill out the required information, such as the owner and the name of the repository.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"801\" height=\"374\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/creating-a-new-repository-gitea.png\" alt=\"Creating a new repo in Gitea.\" class=\"wp-image-156934\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/creating-a-new-repository-gitea.png 801w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/creating-a-new-repository-gitea-300x140.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/creating-a-new-repository-gitea-768x359.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>4. Scroll to the bottom of the page and select the <strong>Create Repository</strong> button.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"361\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/create-repository-gitea.png\" alt=\"Confirming the creation of a new repo in Gitea.\" class=\"wp-image-156936\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/create-repository-gitea.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/create-repository-gitea-300x135.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/create-repository-gitea-768x347.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>The repository page appears.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"325\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/new-repository-created-gitea-pnap.png\" alt=\"The new repository in Gitea.\" class=\"wp-image-157028\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/new-repository-created-gitea-pnap.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/new-repository-created-gitea-pnap-300x122.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/new-repository-created-gitea-pnap-768x312.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>Additional configuration is necessary to enable the <a href=\"https://phoenixnap.com/kb/what-is-ssh\" target=\"_blank\" rel=\"noreferrer noopener\">SSH connection</a> with the Gitea container.</p><p>To enable SSH access:</p><p>1. Generate an <strong>RSA 4096</strong> key for the <strong><code>git</code></strong> user:</p><pre>sudo -u git ssh-keygen -t rsa -b 4096 -C \"[key-name]\"</pre><p>2. Leave the field empty when prompted to enter a passphrase and press <strong>Enter</strong>.</p><p>The system generates an SSH key.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"402\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-u-git-ssh-keygen-t-rsa-b-4096-install-gitea-ubuntu-docker.png\" alt=\"Generating an RSA 4096 SSH key for the git user.\" class=\"wp-image-156938\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-u-git-ssh-keygen-t-rsa-b-4096-install-gitea-ubuntu-docker.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-u-git-ssh-keygen-t-rsa-b-4096-install-gitea-ubuntu-docker-300x151.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-u-git-ssh-keygen-t-rsa-b-4096-install-gitea-ubuntu-docker-768x386.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>3. Add the key to the <strong><code>authorized_keys</code></strong> file in the <strong><code>.ssh</code></strong> directory of the <strong><code>git</code></strong> user by running this command:</p><pre>sudo -u git cat /home/git/.ssh/id_rsa.pub | sudo -u git tee -a /home/git/.ssh/authorized_keys\n</pre><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"801\" height=\"221\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-u-git-cat-home-git-ssh-id-rsa-install-gitea-ubuntu-docker.png\" alt=\"Moving the SSH key to the authorized_keys file.\" class=\"wp-image-156939\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-u-git-cat-home-git-ssh-id-rsa-install-gitea-ubuntu-docker.png 801w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-u-git-cat-home-git-ssh-id-rsa-install-gitea-ubuntu-docker-300x83.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-sudo-u-git-cat-home-git-ssh-id-rsa-install-gitea-ubuntu-docker-768x212.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>4. Limit the permissions for the file with the <a href=\"https://phoenixnap.com/kb/chmod-recursive\" target=\"_blank\" rel=\"noreferrer noopener\">chmod command</a>:</p><pre>sudo -u git chmod 600 /home/git/.ssh/authorized_keys</pre><p>5. Create the <strong><code>gitea</code></strong> command. This enables the Gitea Docker container to establish an SSH connection through the host.</p><pre>cat &lt;&lt;\"EOF\" | sudo tee /usr/local/bin/gitea\n#!/bin/sh\nssh -p 2222 -o StrictHostKeyChecking=no git@127.0.0.1 \"SSH_ORIGINAL_COMMAND=\\\"$SSH_ORIGINAL_COMMAND\\\" $0 $@\"\nEOF</pre><p>6. Make the file executable:</p><pre>sudo chmod +x /usr/local/bin/gitea</pre><p>Once you configure the Gitea container to accept SSH connections, start authorizing users that will connect to the instance via SSH.</p><p>1. <a href=\"https://phoenixnap.com/kb/generate-setup-ssh-key-ubuntu\" target=\"_blank\" rel=\"noreferrer noopener\">Generate an SSH key</a> for the user who needs SSH access.</p><p>2. Output the key with the <a href=\"https://phoenixnap.com/kb/linux-cat-command\" target=\"_blank\" rel=\"noreferrer noopener\">cat command</a> and copy it to the clipboard.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"800\" height=\"172\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-cat-ssh-id-rsa-pub-gitea.png\" alt=\"Copying an SSH key with the cat command in Ubuntu.\" class=\"wp-image-156942\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-cat-ssh-id-rsa-pub-gitea.png 800w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-cat-ssh-id-rsa-pub-gitea-300x65.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/output-from-cat-ssh-id-rsa-pub-gitea-768x165.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>3. In the Gitea GUI, click the user icon in the upper-right corner of the screen.</p><p>4. Select <strong>Settings</strong> in the menu.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"796\" height=\"408\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/navigating-to-settings-gitea-pnap-new.png\" alt=\"Navigating to Gitea Settings.\" class=\"wp-image-157035\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/navigating-to-settings-gitea-pnap-new.png 796w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/navigating-to-settings-gitea-pnap-new-300x154.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/navigating-to-settings-gitea-pnap-new-768x394.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>5. Select the SSH / <a href=\"https://phoenixnap.com/kb/gpg-delete-key\" target=\"_blank\" rel=\"noreferrer noopener\">GPG Keys</a> item in the Settings menu.</p><p>6. Click the <strong>blue Add Key</strong> button.</p><p>7. Paste the SSH key you copied in the <strong>Content</strong> field.</p><p>8. Click the <strong>green Add Key</strong> button in the lower-left corner.</p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img width=\"796\" height=\"578\" src=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/adding-ssh-key-gitea-pnap-new.png\" alt=\"Adding an SSH key to the list of authorized SSH keys in GItea.\" class=\"wp-image-157036\" srcset=\"https://phoenixnap.com/kb/wp-content/uploads/2022/12/adding-ssh-key-gitea-pnap-new.png 796w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/adding-ssh-key-gitea-pnap-new-300x218.png 300w, https://phoenixnap.com/kb/wp-content/uploads/2022/12/adding-ssh-key-gitea-pnap-new-768x558.png 768w\" referrerpolicy=\"no-referrer\" /></figure></div><p>The user is now authorized to use SSH for connecting to Gitea.</p><p class=\"h3\">Conclusion</p><p>After reading this tutorial, you know how to deploy a Gitea instance using Docker.</p><p>The article also explained the procedure for performing the initial configuration of the instance and how to enable SSH access to Gitea.</p>",
    "created_at": "2024-04-11T11:53:59+00:00",
    "updated_at": "2024-04-11T11:54:07+00:00",
    "published_at": "2022-12-29T09:54:03+00:00",
    "published_by": ["Marko Aleksic"],
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "en_US",
    "reading_time": 6,
    "domain_name": "phoenixnap.com",
    "preview_picture": "https://phoenixnap.com/kb/wp-content/uploads/2022/12/how-to-install-gitea-with-docker-on-ubuntu.png",
    "http_status": "200",
    "headers": {
      "date": "Thu, 11 Apr 2024 11:53:58 GMT",
      "content-type": "text/html; charset=UTF-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "cf-ray": "872ac77f2e3c998a-CDG",
      "cf-cache-status": "HIT",
      "age": "66",
      "cache-control": "max-age=43200",
      "last-modified": "Thu, 11 Apr 2024 11:40:26 GMT",
      "strict-transport-security": "max-age=63072000; preload",
      "vary": "Accept-Encoding, Accept-Encoding",
      "cf-apo-via": "tcache",
      "x-content-type-options": "nosniff",
      "x-frame-options": "SAMEORIGIN",
      "server": "cloudflare",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["email", "checker", "verify"],
    "is_public": false,
    "id": 79,
    "title": "15-os-email-verfication-tool",
    "url": "https://medevel.com/15-os-email-verfication-tool/",
    "given_url": "https://medevel.com/15-os-email-verfication-tool/",
    "content": "wallabag can't retrieve contents for this article. Please <a href=\"https://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that\">troubleshoot this issue</a>.\n",
    "created_at": "2024-03-22T15:10:18+00:00",
    "updated_at": "2024-03-22T15:10:25+00:00",
    "published_by": [""],
    "annotations": [],
    "reading_time": 0,
    "domain_name": "medevel.com"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "excel"],
    "is_public": false,
    "id": 78,
    "title": "GitHub - nolze/msoffcrypto-tool: Python tool and library for decrypting and encrypting MS Office files using passwords or other keys",
    "url": "https://github.com/nolze/msoffcrypto-tool",
    "given_url": "https://github.com/nolze/msoffcrypto-tool",
    "content": "<div id=\"js-flash-container\" data-turbo-replace=\"\"><template class=\"js-flash-template\"><div class=\"flash flash-full {{ className }}\"><p>{{ message }}</p></div>\n</template></div><div class=\"application-main\" data-commit-hovercards-enabled=\"\" data-discussion-hovercards-enabled=\"\" data-issue-and-pr-hovercards-enabled=\"\"><main id=\"js-repo-pjax-container\"><div id=\"repository-container-header\" class=\"pt-3 hide-full-screen c6\" data-turbo-replace=\"\"><div class=\"d-flex flex-wrap flex-justify-end mb-3 px-3 px-md-4 px-lg-5 c4\"><p> / <strong itemprop=\"name\" class=\"mr-2 flex-self-stretch\"><a data-pjax=\"#repo-content-pjax-container\" data-turbo-frame=\"repo-content-turbo-frame\" href=\"https://github.com/nolze/msoffcrypto-tool\">msoffcrypto-tool</a></strong> Public</p><div id=\"repository-details-container\" data-turbo-replace=\"\"><ul class=\"pagehead-actions flex-shrink-0 d-none d-md-inline c3\"><li><a href=\"https://github.com/login?return_to=%2Fnolze%2Fmsoffcrypto-tool\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/nolze/msoffcrypto-tool&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"71987bac12522b4cb85bbe0cb50c008aabbb34106936b8e9b52e7e6a41a7a52b\" aria-label=\"You must be signed in to change notification settings\" data-view-component=\"true\" class=\"tooltipped tooltipped-s btn-sm btn\">Notifications</a></li>\n<li><a id=\"fork-button\" href=\"https://github.com/login?return_to=%2Fnolze%2Fmsoffcrypto-tool\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:43380294,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/nolze/msoffcrypto-tool&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"cab2d02f51f260809203b10860b48484693b502bcf3fae4cc4281a33efe4cbdf\" data-view-component=\"true\" class=\"btn-sm btn\">Fork 83</a></li>\n<li>\n<p><a href=\"https://github.com/login?return_to=%2Fnolze%2Fmsoffcrypto-tool\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:43380294,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/nolze/msoffcrypto-tool&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"db8c641af3a413a266b683d886e83a9ba2f585d3d51f362c15b66676a4895b0b\" aria-label=\"You must be signed in to star a repository\" data-view-component=\"true\" class=\"tooltipped tooltipped-s btn-sm btn BtnGroup-item\"> Star 512</a> </p>\n</li>\n</ul></div></div><div class=\"d-block d-md-none mb-2 px-3 px-md-4 px-lg-5\" id=\"responsive-meta-container\" data-turbo-replace=\"\"><p class=\"f4 mb-3\">Python tool and library for decrypting and encrypting MS Office files using passwords or other keys</p><p><a title=\"https://msoffcrypto-tool.readthedocs.io/\" role=\"link\" target=\"_blank\" class=\"text-bold\" rel=\"noopener noreferrer\" href=\"https://msoffcrypto-tool.readthedocs.io/\">msoffcrypto-tool.readthedocs.io/</a></p><h3 class=\"sr-only\">License</h3><p><a href=\"https://github.com/nolze/msoffcrypto-tool/blob/master/LICENSE.txt\" class=\"Link--muted\" data-analytics-event=\"{&quot;category&quot;:&quot;Repository Overview&quot;,&quot;action&quot;:&quot;click&quot;,&quot;label&quot;:&quot;location:sidebar;file:license&quot;}\"> MIT license</a></p><p><a class=\"Link--secondary no-underline mr-3\" href=\"https://github.com/nolze/msoffcrypto-tool/stargazers\"> 512 stars</a> <a class=\"Link--secondary no-underline mr-3\" href=\"https://github.com/nolze/msoffcrypto-tool/forks\"> 83 forks</a> <a class=\"Link--secondary no-underline mr-3 d-inline-block\" href=\"https://github.com/nolze/msoffcrypto-tool/branches\"> Branches</a> <a class=\"Link--secondary no-underline d-inline-block\" href=\"https://github.com/nolze/msoffcrypto-tool/tags\"> Tags</a> <a class=\"Link--secondary no-underline d-inline-block\" href=\"https://github.com/nolze/msoffcrypto-tool/activity\"> Activity</a></p><div class=\"d-flex flex-wrap gap-2\"><p><a href=\"https://github.com/login?return_to=%2Fnolze%2Fmsoffcrypto-tool\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:43380294,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/nolze/msoffcrypto-tool&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"db8c641af3a413a266b683d886e83a9ba2f585d3d51f362c15b66676a4895b0b\" aria-label=\"You must be signed in to star a repository\" data-view-component=\"true\" class=\"tooltipped tooltipped-s btn-sm btn btn-block BtnGroup-item\"> Star</a> </p><p><a href=\"https://github.com/login?return_to=%2Fnolze%2Fmsoffcrypto-tool\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/nolze/msoffcrypto-tool&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"71987bac12522b4cb85bbe0cb50c008aabbb34106936b8e9b52e7e6a41a7a52b\" aria-label=\"You must be signed in to change notification settings\" data-view-component=\"true\" class=\"tooltipped tooltipped-s btn-sm btn btn-block\">Notifications</a></p></div></div></div>\n</main></div><p> You can\u2019t perform that action at this time.</p><template id=\"site-details-dialog\"><details class=\"details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm\" open=\"open\"></details></template><template id=\"snippet-clipboard-copy-button\">\n</template><template id=\"snippet-clipboard-copy-button-unpositioned\">\n</template>",
    "created_at": "2024-03-21T18:25:07+00:00",
    "updated_at": "2024-03-21T18:25:17+00:00",
    "published_by": ["nolze"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 0,
    "domain_name": "github.com",
    "preview_picture": "https://opengraph.githubassets.com/d5cb15f41458e89d02647a7eb46118a84568c07e1e4e9ca1d10f554f6ab3f3eb/nolze/msoffcrypto-tool",
    "http_status": "200",
    "headers": {
      "server": "GitHub.com",
      "date": "Thu, 21 Mar 2024 18:25:07 GMT",
      "content-type": "text/html; charset=utf-8",
      "vary": "X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, Accept-Encoding, Accept, X-Requested-With",
      "etag": "W/\"13930e116d02434514c583f4a1f11c03\"",
      "cache-control": "max-age=0, private, must-revalidate",
      "strict-transport-security": "max-age=31536000; includeSubdomains; preload",
      "x-frame-options": "deny",
      "x-content-type-options": "nosniff",
      "x-xss-protection": "0",
      "referrer-policy": "no-referrer-when-downgrade",
      "content-security-policy": "default-src 'none'; base-uri 'self'; child-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com api.githubcopilot.com objects-origin.githubusercontent.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/",
      "set-cookie": "_gh_sess=MUPghvJhjKFLaRgMgVLHZU8kuIm9gGrsIhLVYRBUS5h9gsDwU0pFzc1sJYpJdKRaaY6v5fc6Unlr4QEwW3lV33FmQQMJ4a/QpcsPSfbx/pfkyPLhIzbhyMfF6DIJK300Hcg9+SP9Q7SzriN/0hYb6oi95DHD40JO8Tpl3NFzTCoH02fN5oaho2U6EQi4n4Xbgm1aBxpw3snmGfHYl5nx+ZdWZzByBCaWOXWpaM6FEiA3jN0tbV56CdLV3EMW4mdodcOUBuAIO3AyXJ+kOBnc9A==--GG+OHW28vKoG5f98--1ZIaiJetQch2zQ1y925fhg==; Path=/; HttpOnly; Secure; SameSite=Lax, _octo=GH1.1.782419467.1711045507; Path=/; Domain=github.com; Expires=Fri, 21 Mar 2025 18:25:07 GMT; Secure; SameSite=Lax, logged_in=no; Path=/; Domain=github.com; Expires=Fri, 21 Mar 2025 18:25:07 GMT; HttpOnly; Secure; SameSite=Lax",
      "accept-ranges": "bytes",
      "transfer-encoding": "chunked",
      "x-github-request-id": "E0D2:3A7D7B:BD27DA:BF320D:65FC7B83"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["parquet", "duckdb"],
    "is_public": false,
    "id": 77,
    "title": "3 explorations bluffantes avec DuckDB \u2013 Croiser les requ\u00eates spatiales (3/3) - Icem7",
    "url": "https://www.icem7.fr/cartographie/3-explorations-bluffantes-avec-duckdb-croiser-les-requetes-spatiales-3-3/",
    "given_url": "https://www.icem7.fr/cartographie/3-explorations-bluffantes-avec-duckdb-croiser-les-requetes-spatiales-3-3/",
    "content": "<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-8b3a132 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8b3a132\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-014dafa elementor-widget-wrap elementor-element-populated elementor-element elementor-element-4c5c73f elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p>Nous sommes entour\u00e9s de <strong>donn\u00e9es g\u00e9olocalis\u00e9es</strong>. La s\u00e9paration donn\u00e9es statistiques / donn\u00e9es spatiales est bien souvent arbitraire. Mais si elle perdure, c\u2019est parce que les outils SIG (syst\u00e8mes d\u2019information g\u00e9ographiques) sont lourds \u00e0 installer et complexes \u00e0 utiliser.</p>\n<p><strong>Avec son extension spatiale, DuckDB met enfin l\u2019analyse g\u00e9ographique \u00e0 la port\u00e9e de tou\u00b7tes</strong>.</p>\n<p>Comme dans les deux articles pr\u00e9c\u00e9dents, je vais pr\u00e9senter deux cas concrets, l\u2019un avec les donn\u00e9es <strong>GTFS</strong> de transports en commun dans la m\u00e9tropole toulousaine, l\u2019autre avec la <strong>base adresse nationale</strong> (BAN).</p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-e1bcfbc elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e1bcfbc\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5650188 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-9db15e5 elementor-widget elementor-widget-heading elementor-widget-container\">\n<h2 class=\"elementor-heading-title elementor-size-default\">A - Le standard GTFS pour analyser les transports en commun \u00e0 Toulouse</h2>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-fe3483d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fe3483d\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-958d7c9 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-822aa9d elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p>Le <a href=\"https://developers.google.com/transit/gtfs/reference?hl=fr\" target=\"_blank\" rel=\"noopener\">format GTFS</a> (General Transit Feed Specification) permet aux gestionnaires de transports en commun de mettre \u00e0 disposition, quotidiennement, des <strong>informations d\u00e9taill\u00e9es sur leur r\u00e9seau</strong>, les horaires et emplacement des arr\u00eats, le niveau de service. Mis au point par Google en 2005, il s\u2019est impos\u00e9 comme un <strong>standard mondial</strong>.</p>\n<p>Comme bien d\u2019autres en France et dans le monde, le gestionnaire toulousain <strong>Tiss\u00e9o</strong> <a href=\"https://data.toulouse-metropole.fr/explore/dataset/tisseo-gtfs/information/\" target=\"_blank\" rel=\"noopener\">propose en t\u00e9l\u00e9chargement</a> <strong>un fichier rafraichi tous les jours</strong>, dont la carte ci-dessous restitue l\u2019information purement g\u00e9ographique. Si vous zoomez sur ce composant cliquable (l\u2019IGN propose un fort bel outil web intitul\u00e9 \u00ab\u00a0<a href=\"https://macarte.ign.fr/\" target=\"_blank\" rel=\"noopener\">Ma carte</a>\u00a0\u00bb), vous verrez appara\u00eetre aussi les points d\u2019arr\u00eat.</p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-af9c00d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"af9c00d\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5909016 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-1db92b2 elementor-widget elementor-widget-text-editor elementor-widget-container\"><iframe src=\"https://macarte.ign.fr/carte/XA6pvj/tisseo\" width=\"100%\" height=\"480px\">[embedded content]</iframe></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-5c01148 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5c01148\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b8477ed elementor-widget-wrap elementor-element-populated elementor-element elementor-element-e933de1 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p>J\u2019ai construit cette carte interactive <strong>avec DuckDB</strong> \u00e0 partir de ce fichier GTFS, <a href=\"https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/tisseo-gtfs/files/fc1dda89077cf37e4f7521760e0ef4e9\">gtfs_v2.zip</a> (11 Mo), qui contient sous forme d\u2019archive zipp\u00e9e <strong>une collection de fichiers CSV</strong>, dispos\u00e9s et structur\u00e9s selon la norme\u00a0:avec\u00a0</p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-0791076 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0791076\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b1de38b elementor-widget-wrap elementor-element-populated elementor-element elementor-element-5e21d93 elementor-widget elementor-widget-image elementor-widget-container\"><img width=\"274\" height=\"248\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img1.png\" class=\"attachment-large size-large wp-image-14478\" alt=\"\" referrerpolicy=\"no-referrer\" /></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-1648f9f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1648f9f\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7836fac elementor-widget-wrap elementor-element-populated elementor-element elementor-element-5c43ea6 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p>La table <em>routes</em> d\u00e9crit en bon fran\u00e7ais des \u00ab lignes \u00bb, de fa\u00e7on purement textuelle, par type\u00a0 (0 = tramway, 1 = m\u00e9tro, 3 = bus, 6 = t\u00e9l\u00e9ph\u00e9rique\u2026) : un identifiant unique <em>route_id</em> se distingue du code usuel de la ligne (ex. : ligne A du m\u00e9tro).</p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-e1bb29a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e1bb29a\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5ccdca8 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-b12fbc1 elementor-widget elementor-widget-image elementor-widget-container\"><img width=\"362\" height=\"147\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img2.png\" class=\"attachment-large size-large wp-image-14479\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img2.png 362w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img2-300x122.png 300w\" referrerpolicy=\"no-referrer\" /></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-96da6b8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"96da6b8\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-68d8817 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-afa722a elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p>La table <em>trips</em> d\u00e9crit des <strong>navettes</strong>. Par exemple le bus de la ligne 26 partant \u00e0 6 h 03, lundi 18 d\u00e9cembre 2023, de Montberon, terminus Borderouge correspond \u00e0 une navette identifi\u00e9e par un <em>trip_id</em>. Une navette a donc une caract\u00e9ristique symbolique (la ligne), temporelle \u2013 horaire et jours \u2013 (elle ne circule pas forc\u00e9ment tous les jours \u00e0 la m\u00eame fr\u00e9quence) et spatiale. Elle emprunte un itin\u00e9raire physique particulier d\u00e9finit par un <em>shape_id</em>.</p>\n<p>La table <em>shapes</em> d\u00e9crit ces <strong>itin\u00e9raires</strong> et c\u2019est la premi\u00e8re table v\u00e9ritablement <strong>g\u00e9ographique</strong>.</p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-ce8654f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ce8654f\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bf2120b elementor-widget-wrap elementor-element-populated elementor-element elementor-element-df1ba95 elementor-widget elementor-widget-image elementor-widget-container\"><img width=\"605\" height=\"136\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img3.png\" class=\"attachment-large size-large wp-image-14480\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img3.png 605w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img3-300x67.png 300w\" referrerpolicy=\"no-referrer\" /></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-8e73114 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8e73114\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5e06837 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-317043c elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p>Chaque itin\u00e9raire se d\u00e9finit par une suite ordonn\u00e9e de points GPS (latitude, longitude). Ces points ne correspondent pas aux arr\u00eats, ils sont plus nombreux et d\u00e9finissent les changements d\u2019orientation de l\u2019itin\u00e9raire, afin de pouvoir le tracer pr\u00e9cis\u00e9ment. Pour une m\u00eame ligne, il y a g\u00e9n\u00e9ralement un itin\u00e9raire aller et un itin\u00e9raire retour, qui peuvent l\u00e9g\u00e8rement diff\u00e9rer.</p>\n<p>Les <strong>arr\u00eats</strong> sont d\u00e9crits dans la table <em>stops</em>, qui constitue la seconde table g\u00e9ographique. On distingue (via <em>location_type</em>) une zone d\u2019arr\u00eat globale des deux points physiques de l\u2019arr\u00eat, selon la direction d\u00e9sir\u00e9e.</p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-62dca93 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"62dca93\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8cbbb23 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-da06ea6 elementor-widget elementor-widget-image elementor-widget-container\"><img width=\"528\" height=\"236\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img4.png\" class=\"attachment-large size-large wp-image-14481\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img4.png 528w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img4-300x134.png 300w\" referrerpolicy=\"no-referrer\" /></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-dfe6101 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"dfe6101\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-651bdfa elementor-widget-wrap elementor-element-populated elementor-element elementor-element-95d7c05 elementor-widget elementor-widget-image elementor-widget-container\"><img width=\"535\" height=\"84\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img5.png\" class=\"attachment-large size-large wp-image-14482\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img5.png 535w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img5-300x47.png 300w\" referrerpolicy=\"no-referrer\" /></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-7a825bf elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7a825bf\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5da2a1b elementor-widget-wrap elementor-element-populated elementor-element elementor-element-ef1fb39 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p>La table <em>stop_times</em> d\u00e9crit chaque navette (identifi\u00e9e par un <em>trip_id</em>) comme une suite d\u2019<strong>arr\u00eats situ\u00e9s spatialement et temporellement</strong> (<em>stop_id</em>, <em>arrival_time</em>\u2026)</p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-a12fa95 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a12fa95\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3cd2678 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-aa61506 elementor-widget elementor-widget-image elementor-widget-container\"><img width=\"479\" height=\"164\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img6.png\" class=\"attachment-large size-large wp-image-14483\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img6.png 479w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img6-300x103.png 300w\" referrerpolicy=\"no-referrer\" /></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-eaf2d8f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"eaf2d8f\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-cfdc2b5 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-36c1a82 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p>Voil\u00e0 l\u2019essentiel \u00e0 retenir de ce riche format. Le site <a href=\"https://www.transit.land/map/#12.27/43.59388/1.43736\" target=\"_blank\" rel=\"noopener\">transit.land</a> agr\u00e8ge les principales sources GTFS mondiales et en propose une \u00e9l\u00e9gante visualisation.</p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-5036a90 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5036a90\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3966017 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-5aa2262 elementor-widget elementor-widget-heading elementor-widget-container\">\n<h2 class=\"elementor-heading-title elementor-size-default\">En avant avec DuckDB spatial</h2>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-319b03c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"319b03c\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ec38f0a elementor-widget-wrap elementor-element-populated elementor-element elementor-element-7193815 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p>Voyons comment la produire nous-m\u00eame, avec DuckDB. Je l\u2019utilise ici au sein de l\u2019utilitaire gratuit <a href=\"https://dbeaver.io/\" target=\"_blank\" rel=\"noopener\">DBeaver</a>. DBeaver permet de g\u00e9rer facilement ses scripts SQL (\u00e9dition, sauvegarde) et de consulter de fa\u00e7on interactive (y compris cartographique) le r\u00e9sultat des requ\u00eates adress\u00e9es \u00e0 DuckDB.</p>\n<p><em>Note : depuis le 18 d\u00e9cembre 2023, l\u2019extension SPATIAL de DuckDB est aussi <a href=\"https://duckdb.org/2023/12/18/duckdb-extensions-in-wasm.html\" target=\"_blank\" rel=\"noopener\">utilisable dans le navigateur</a>.</em></p>\n<p><strong>Chargeons d\u2019abord les tables</strong>. Les fichiers du standard GTFS sont g\u00e9n\u00e9ralement mis \u00e0 disposition sous forme d\u2019une archive .zip. DuckDB ne sait pas lire directement un zip. <strong>Deux m\u00e9thodes sont possibles</strong>\u00a0:</p>\n<p>1 \u2013 <strong>T\u00e9l\u00e9charger et d\u00e9zipper manuellement</strong> sur un disque local, puis, pour chaque table, \u00e9crire une instruction comme\u00a0:</p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-85060b5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"85060b5\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fdf8d69 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-53df765 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"2\" class=\"highlight-height language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></pre>\n<pre><code class=\"language-sql\">CREATE OR REPLACE TABLE routes AS \nFROM read_csv_auto('c:\\...\\routes.txt') ; </code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-fafe4c2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fafe4c2\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c23b022 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-850a377 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">2 \u2013 <strong>Utiliser un proxy capable de charger le zip et d\u2019extraire \u00e0 la vol\u00e9e</strong> la table d\u00e9sir\u00e9e, le tout via une simple requ\u00eate https. C\u2019est possible avec un <a href=\"https://icem7.fr/data/proxy_unzip.zip\" target=\"_blank\" rel=\"noopener\">petit script PHP</a> prenant comme param\u00e8tre le nom de la table \u00e0 extraire et l\u2019URL du zip :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-66f3b70 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"66f3b70\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f074912 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-3f4fed5 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<pre><code class=\"language-sql\">https://icem7.fr/data/proxy_unzip.php?file=routes&amp;url=https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/tisseo-gtfs/files/fc1dda89077cf37e4f7521760e0ef4e9</code></pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-4572d27 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4572d27\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9105c08 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-13c80f8 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Utilisons une <strong>MACRO\u00a0</strong>pour simplifier les \u00e9critures :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-28e561d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"28e561d\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0807f23 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-bba76f3 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"1\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">CREATE OR REPLACE MACRO get_gtfs(f, cache) AS 'https://icem7.fr/data/proxy_unzip.php?clear_cache=' || cache || '&amp;file=' || f \n|| '&amp;url=https://data.toulouse-metropole.fr/api/explore/v2.1/catalog/datasets/\ntisseo-gtfs/file/fc1dda89077cf37e4f7521760e0ef4e9';\n</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-4df1ebf elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4df1ebf\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0d7a9c9 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-5792ac2 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Le param\u00e8tre <em>cache</em> va indiquer au script de conserver le zip sur le serveur proxy le temps d\u2019extraire successivement toutes les tables, ce qui prend 10 secondes.</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-71addd9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"71addd9\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f981bd1 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-5cb92da elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"2\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">-- 1er appel for\u00e7ant le t\u00e9l\u00e9chargement du dernier gtfs\nCREATE OR REPLACE TABLE routes AS FROM read_csv_auto(get_gtfs('routes', 1)) ; \nCREATE OR REPLACE TABLE trips  AS FROM read_csv_auto(get_gtfs('trips', 0)) ;\nCREATE OR REPLACE TABLE shapes AS FROM read_csv_auto(get_gtfs('shapes', 0)) ;\nCREATE OR REPLACE TABLE stops  AS FROM read_csv_auto(get_gtfs('stops', 0)) ;\nCREATE OR REPLACE TABLE stop_times AS FROM read_csv_auto(get_gtfs('stop_times', 0)) ;\nCREATE OR REPLACE TABLE calendar_dates AS FROM \nread_csv_auto(get_gtfs('calendar_dates', FALSE), \n              types=[VARCHAR,DATE,INT], dateformat='%Y%m%d') ;\n</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-771e269 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"771e269\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-522141a elementor-widget-wrap elementor-element-populated elementor-element elementor-element-1dd4ca7 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\"><strong>Pour cartographier le r\u00e9seau</strong>, revenons donc \u00e0 la table <em>shapes\u00a0</em>:</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-a6e8085 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a6e8085\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bf20e03 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-4032b0b elementor-widget elementor-widget-image elementor-widget-container\"><code class=\"language-sql\"><img width=\"605\" height=\"135\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img7.png\" class=\"attachment-large size-large wp-image-14487\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img7.png 605w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img7-300x67.png 300w\" referrerpolicy=\"no-referrer\" /></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-342ffb2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"342ffb2\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e71f3bf elementor-widget-wrap elementor-element-populated elementor-element elementor-element-7a1d735 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Pour la traduire dans un format spatial, les x lignes d\u00e9crivant un <em>shape_id</em> particulier doivent \u00eatre <strong>condens\u00e9es en une seule entit\u00e9 spatiale</strong> de type LINESTRING. Autrement dit, la table <em>shapes</em> doit \u00eatre regroup\u00e9e par <em>shape_id</em>, chaque enregistrement d\u00e9crira <em>in fine</em> un itin\u00e9raire complet.</code></p>\n<p><code class=\"language-sql\">Commen\u00e7ons par cr\u00e9er des entit\u00e9s g\u00e9om\u00e9triques de type POINT. Conventionnellement, une telle colonne est d\u00e9nomm\u00e9e <em>geometry\u00a0</em>:</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-0ea3fbd elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0ea3fbd\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e18c6aa elementor-widget-wrap elementor-element-populated elementor-element elementor-element-f70c503 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"1,3\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">LOAD spatial ;\nSELECT shape_id, shape_pt_sequence, \nST_Point(shape_pt_lon,shape_pt_lat) AS geometry\nFROM shapes ;</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-90dee5e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"90dee5e\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d45ae78 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-9e28b7b elementor-widget elementor-widget-image elementor-widget-container\"><code class=\"language-sql\"><img width=\"528\" height=\"144\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img8.png\" class=\"attachment-large size-large wp-image-14488\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img8.png 528w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img8-300x82.png 300w\" referrerpolicy=\"no-referrer\" /></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-aa9adfd elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"aa9adfd\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5067143 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-f9926a0 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Rajoutons une <strong>agr\u00e9gation</strong> pour rassembler tous les points d\u2019un trac\u00e9 (<em>shape_id</em>) en une seule ligne\u00a0:</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-ca09e3d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ca09e3d\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ee960bb elementor-widget-wrap elementor-element-populated elementor-element elementor-element-4db49ed elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"8,10\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">WITH shapes_pt_geo AS (\n SELECT shape_id, shape_pt_sequence, \n ST_Point(shape_pt_lon,shape_pt_lat) AS geometry\n FROM shapes\n ORDER BY shape_id, shape_pt_sequence\n)\nSELECT shape_id, \nST_MakeLine(list(geometry)) AS geometry\nFROM shapes_pt_geo\nGROUP BY ALL ;</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-2a857b1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2a857b1\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-db69e25 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-9ba3b0d elementor-widget elementor-widget-image elementor-widget-container\"><code class=\"language-sql\"><img width=\"492\" height=\"101\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img9.png\" class=\"attachment-large size-large wp-image-14489\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img9.png 492w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img9-300x62.png 300w\" referrerpolicy=\"no-referrer\" /></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-440ca6e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"440ca6e\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b40c486 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-036cf9e elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Je n\u2019ai plus que 328 enregistrements (sur les 200 000 de la table <em>shapes</em>).</code></p>\n<p><code class=\"language-sql\">Et surtout, gr\u00e2ce \u00e0 la petite manip <a href=\"https://github.com/orgs/dbeaver/discussions/21491\" target=\"_blank\" rel=\"noopener\">expliqu\u00e9e ici</a>, je peux <strong>visualiser chacun de ces itin\u00e9raires, directement dans DBeaver</strong>\u00a0:</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-303bbea elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"303bbea\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7260946 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-4206700 elementor-widget elementor-widget-image elementor-widget-container\"><code class=\"language-sql\"><img width=\"605\" height=\"296\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img10.png\" class=\"attachment-large size-large wp-image-14490\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img10.png 605w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img10-300x147.png 300w\" referrerpolicy=\"no-referrer\" /></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-bec7f77 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"bec7f77\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-896f7ef elementor-widget-wrap elementor-element-populated elementor-element elementor-element-b931116 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Pour obtenir une table agr\u00e9ment\u00e9e du nom des lignes, je vais devoir proc\u00e9der \u00e0 deux <strong>jointures</strong>, ce sont les charmes du <strong>format relationnel GTFS</strong>\u00a0:</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-c765305 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c765305\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d1adbbb elementor-widget-wrap elementor-element-populated elementor-element elementor-element-57ff1a8 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"17,18,19\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">CREATE OR REPLACE TABLE reseau_gtfs_toulouse_met AS\nWITH shapes_pt_geo AS (\n SELECT shape_id, shape_pt_sequence, shape_dist_traveled, \n ST_Point(shape_pt_lon,shape_pt_lat) AS geometry\n FROM shapes\n ORDER BY shape_id, shape_pt_sequence\n),\nshapes_lines_geo AS (\n SELECT shape_id, max(shape_dist_traveled)::int AS shape_length,\n ST_MakeLine(list(geometry)) AS geometry\n FROM shapes_pt_geo\n GROUP BY ALL\n)\nSELECT r.route_id,r.route_short_name,r.route_long_name,r.route_type,\n           s.shape_id,s.shape_length,s.geometry\nFROM shapes_lines_geo s\nLEFT JOIN (SELECT DISTINCT route_id, shape_id FROM trips) t \n        ON s.shape_id = t.shape_id\nLEFT JOIN routes r ON r.route_id = t.route_id\nORDER BY r.route_type, r.route_id ;\n</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-32ef09d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"32ef09d\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c933594 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-d218ba5 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Et voici dans cet aper\u00e7u les deux lignes de m\u00e9tro (A et B), sens aller et retour, deux lignes de bus :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-2f815be elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2f815be\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-10a094f elementor-widget-wrap elementor-element-populated elementor-element elementor-element-8e58bd6 elementor-widget elementor-widget-image elementor-widget-container\"><code class=\"language-sql\"><img width=\"605\" height=\"137\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img11.png\" class=\"attachment-large size-large wp-image-14491\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img11.png 605w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img11-300x68.png 300w\" referrerpolicy=\"no-referrer\" /></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-938e4ff elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"938e4ff\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-98d058f elementor-widget-wrap elementor-element-populated elementor-element elementor-element-67e54ad elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Il ne me reste plus qu\u2019\u00e0 exporter en GeoJSON pour l\u2019exploiter \u00e0 ma guise dans une autre application, comme le bien pratique outil web <a href=\"https://macarte.ign.fr/\" target=\"_blank\" rel=\"noopener\">IGN Ma carte</a>.</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-825a00e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"825a00e\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a840b8d elementor-widget-wrap elementor-element-populated elementor-element elementor-element-26cb981 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"1,3\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">COPY reseau_gtfs_toulouse_met\nTO 'C:/\u2026/reseau_gtfs_toulouse_met.json'\nWITH (FORMAT GDAL, DRIVER 'GeoJSON');\n</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-6a79dfa elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6a79dfa\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-01cd213 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-7763ac3 elementor-widget elementor-widget-text-editor elementor-widget-container\"><code class=\"language-sql\"><iframe src=\"https://macarte.ign.fr/carte/XA6pvj/tisseo\" width=\"100%\" height=\"480px\">[embedded content]</iframe></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-5753e5b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5753e5b\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-157eaf9 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-8753d98 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p>J\u2019ai proc\u00e9d\u00e9 de la m\u00eame mani\u00e8re avec la table des arr\u00eats, que vous pourrez voir apparaitre en zoomant suffisamment sur la carte.</p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-2fc2bbf elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2fc2bbf\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b3c8153 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-425537b elementor-widget elementor-widget-heading elementor-widget-container\">\n<h2 class=\"elementor-heading-title elementor-size-default\">Simplicit\u00e9 des calculs g\u00e9om\u00e9triques</h2>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-2132e5a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2132e5a\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fd17dea elementor-widget-wrap elementor-element-populated elementor-element elementor-element-28182be elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p>\u00c0 partir d\u2019un tel fonds de carte et des informations associ\u00e9es, on peut calculer <strong>la longueur de chaque itin\u00e9raire, le temps de parcours, et donc la vitesse moyenne</strong>, pour d\u00e9terminer les lignes les plus longues, les plus rapides, etc.</p>\n<p>Pour chaque <em>shape</em>, nous pouvions lire dans la table <em>shapes</em> d\u2019origine la distance totale parcourue, renseign\u00e9e par Tiss\u00e9o. Mais il est possible de la <strong>calculer \u00e0 partir de sa g\u00e9om\u00e9trie</strong>.</p>\n<p>Au pr\u00e9alable, pour obtenir une distance en m\u00e8tres, il convient de projeter \u00e0 la vol\u00e9e chaque g\u00e9om\u00e9trie vers un r\u00e9f\u00e9rentiel m\u00e9trique, autrement dit de passer du r\u00e9f\u00e9rentiel \u00ab\u00a0GPS\u00a0\u00bb en longitude/latitude (cod\u00e9 conventionnellement EPSG:4326) au r\u00e9f\u00e9rentiel fran\u00e7ais Lambert 93 (cod\u00e9 EPSG:2154)\u00a0:</p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-93894b5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"93894b5\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3cf319b elementor-widget-wrap elementor-element-populated elementor-element elementor-element-3b264f2 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"2,3\" class=\"highlight-height language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></pre>\n<pre><code class=\"language-sql\">SELECT route_short_name, route_long_name, shape_length,\nST_length(ST_Transform(geometry,'EPSG:4326','EPSG:2154', true))::int \nAS shape_length_calc\nFROM reseau_gtfs_toulouse_met\nORDER BY shape_length DESC ;</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-5dea608 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5dea608\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0182709 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-d490953 elementor-widget elementor-widget-image elementor-widget-container\"><code class=\"language-sql\"><img width=\"605\" height=\"117\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img12.png\" class=\"attachment-large size-large wp-image-14492\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img12.png 605w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img12-300x58.png 300w\" referrerpolicy=\"no-referrer\" /></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-7920eb5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7920eb5\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-62c445d elementor-widget-wrap elementor-element-populated elementor-element elementor-element-c349e9b elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Comme on peut le constater, le calcul g\u00e9om\u00e9trique est tr\u00e8s proche, \u00e0 quelques m\u00e8tres pr\u00e8s, de l\u2019information fournie par Tiss\u00e9o.</code></p>\n<p><code class=\"language-sql\">Pour \u00e9viter l\u2019empilement des parenth\u00e8ses, je pr\u00e9f\u00e8re la <strong>syntaxe</strong> alternative suivante, plus lisible, <strong>inspir\u00e9e de la programmation fonctionnelle</strong>, que DuckDB impl\u00e9mente \u00e9galement :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-cc08d9b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"cc08d9b\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-75c0867 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-cdb4f0e elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"2-3\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">SELECT route_short_name, route_long_name, shape_length,\ngeometry.ST_Transform('EPSG:4326','EPSG:2154', true)\n        .ST_Length()::int \nAS shape_length_calc\nFROM reseau_gtfs_toulouse_met\nORDER BY shape_length DESC ;\n</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-0df42d2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0df42d2\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4a68d15 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-f4e2036 elementor-widget elementor-widget-heading elementor-widget-container\">\n<h2 class=\"elementor-heading-title elementor-size-default\"><code class=\"language-sql\">Quels sont les arr\u00eats Tiss\u00e9o les plus proches de chez moi\u00a0?</code></h2>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-90e1fda elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"90e1fda\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1edd7f5 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-47595b6 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Autre approche spatiale, et pratique : quels sont les arr\u00eats Tiss\u00e9o les plus proches de chez moi, et <strong>quand sont les prochains d\u00e9parts</strong>, et pour o\u00f9\u00a0?</code></p>\n<p><code class=\"language-sql\">Voici d\u2019abord chez moi :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-341d258 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"341d258\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b40fb01 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-85ec000 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">SELECT ST_Point(1.46158, 43.69875) AS home_location ;</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-fbcaa22 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fbcaa22\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-06bab00 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-080c995 elementor-widget elementor-widget-image elementor-widget-container\"><code class=\"language-sql\"><img width=\"553\" height=\"391\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img13.png\" class=\"attachment-large size-large wp-image-14493\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img13.png 553w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img13-300x212.png 300w\" referrerpolicy=\"no-referrer\" /></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-775c9b3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"775c9b3\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9e79828 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-b178ecb elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Les arr\u00eats proches de mon domicile (\u00e0 moins de 700 m\u00e8tres) se d\u00e9terminent ainsi :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-d4696b0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d4696b0\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d60c9e2 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-ab6e8d5 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"3-6,8\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">CREATE OR REPLACE VIEW arrets_proches AS \nSELECT ST_Point(stop_lon, stop_lat) AS geometry, \nST_Distance(\n ST_Point(stop_lon, stop_lat).ST_Transform('EPSG:4326','EPSG:2154', true),\n ST_Point(1.46158,  43.69875).ST_Transform('EPSG:4326','EPSG:2154', true)\n)::int AS distance_home, \nstop_id, stop_name FROM stops\nWHERE distance_home &lt; 700 AND location_type = 0 \nORDER BY distance_home ;\n</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-f9659c4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f9659c4\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3cf52f3 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-fe62227 elementor-widget elementor-widget-image elementor-widget-container\"><code class=\"language-sql\"><img width=\"376\" height=\"178\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img14.png\" class=\"attachment-large size-large wp-image-14494\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img14.png 376w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img14-300x142.png 300w\" referrerpolicy=\"no-referrer\" /></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-78eab8e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"78eab8e\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9d693a6 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-2770098 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Rappelez-vous, il y a g\u00e9n\u00e9ralement deux arr\u00eats dans la m\u00eame zone, selon la direction du bus.</code></p>\n<p><code class=\"language-sql\">Pour faire le lien avec les horaires, le nom de la ligne, et s\u2019en tenir aux <strong>horaires valides aujourd\u2019hui \u00e0 partir de maintenant</strong>, engageons une s\u00e9rie de jointures et de filtres adapt\u00e9s\u00a0(vous n\u2019\u00eates pas oblig\u00e9s de tout analyser, sauf si vous \u00eates passionn\u00e9s par GTFS) :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-9d7ca71 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9d7ca71\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0e4736c elementor-widget-wrap elementor-element-populated elementor-element elementor-element-ef8ac4f elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"8\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">SELECT route_short_name, route_long_name, stop_name, arrival_time, \ntrip_headsign, distance_home, trips.trip_id\nFROM arrets_proches\nJOIN stop_times ON arrets_proches.stop_id = stop_times.stop_id\nJOIN trips ON stop_times.trip_id = trips.trip_id\nJOIN calendar_dates ON trips.service_id = calendar_dates.service_id\nJOIN routes ON routes.route_id = trips.route_id\nWHERE arrival_time &gt; localtime AND calendar_dates.date = current_date\nORDER BY arrival_time, distance_home ;\n</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-5a495d0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5a495d0\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-974bc06 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-a55cd4d elementor-widget elementor-widget-image elementor-widget-container\"><code class=\"language-sql\"><img width=\"605\" height=\"123\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img15.png\" class=\"attachment-large size-large wp-image-14495\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img15.png 605w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img15-300x61.png 300w\" referrerpolicy=\"no-referrer\" /></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-0f890ce elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0f890ce\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-52421ff elementor-widget-wrap elementor-element-populated elementor-element elementor-element-df66590 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Il reste que <strong>la ligne 26 propose plusieurs arr\u00eats pr\u00e8s de chez moi</strong>\u00a0; je souhaite ne retenir que le plus proche.\u00a0</code></p>\n<p><code class=\"language-sql\">Il suffira d\u2019un QUALIFY avec une \u201cwindow function\u201d pour nettoyer le r\u00e9sultat :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-a9a8b51 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a9a8b51\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d35fd68 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-5101185 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"15\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">WITH trips_proches AS (\n        SELECT route_short_name || ' - ' || route_long_name AS ligne, \n        trip_headsign AS terminus, \n        stop_name, distance_home, arrival_time, trips.trip_id, geometry \n        FROM arrets_proches\n        JOIN stop_times ON arrets_proches.stop_id = stop_times.stop_id\n        JOIN trips ON stop_times.trip_id = trips.trip_id\n        JOIN calendar_dates ON trips.service_id = calendar_dates.service_id\n        JOIN routes ON routes.route_id = trips.route_id\n        WHERE arrival_time &gt; localtime AND calendar_dates.date = current_date\n)\nSELECT * EXCLUDE(trip_id),\nFROM trips_proches\nWHERE terminus IN ('Borderouge', 'Argoulets')\nQUALIFY rank() over(PARTITION BY trip_id ORDER BY distance_home) = 1\nORDER BY arrival_time, distance_home ;\n</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-a764c0c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a764c0c\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6a4198b elementor-widget-wrap elementor-element-populated elementor-element elementor-element-15aa57b elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Et le plus dr\u00f4le, c\u2019est que ma fille vient de passer me voir et se demandait quand \u00e9tait le prochain bus pour Argoulets. Elle n\u2019en est pas revenue que je lui montre la r\u00e9ponse dans cette \u00e9trange interface ! Son appli Tiss\u00e9o marche tr\u00e8s bien aussi\u2026</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-690d6a5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"690d6a5\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-efc8603 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-52fb3da elementor-widget elementor-widget-image elementor-widget-container\"><code class=\"language-sql\"><img width=\"605\" height=\"137\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img16.png\" class=\"attachment-large size-large wp-image-14496\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img16.png 605w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img16-300x68.png 300w\" referrerpolicy=\"no-referrer\" /></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-1daf01d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1daf01d\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0f2990c elementor-widget-wrap elementor-element-populated elementor-element elementor-element-654b30e elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\"><em>Note : vous pouvez d\u00e9clencher une requ\u00eate SQL GTFS\u00a0<a href=\"https://shell.duckdb.org/#queries=v0,LOAD-spatial~SELECT-ST_Distance(ST_Point(stop_lon%2Cstop_lat).ST_Transform('EPSG:4326'%2C'EPSG:2154'%2Ctrue)%2CST_Point(1.46158%2C43.69875).ST_Transform('EPSG:4326'%2C'EPSG:2154'%2Ctrue)-)::int-AS-distance_home%2Cstop_id%2Cstop_name--FROM-read_csv_auto('https://icem7.fr/data/proxy_unzip.php?cache=1&amp;file=stops&amp;url=https://data.toulouse%20metropole.fr/api/explore/v2.1/catalog/datasets/tisseo%20gtfs/files/fc1dda89077cf37e4f7521760e0ef4e9')-WHERE-distance_home-%3C-700-AND-location_type-=-0-ORDER-BY-distance_home~\" target=\"_blank\" rel=\"noopener\">via une simple URL</a>.</em></code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-6a7e9ea elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6a7e9ea\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9f822ab elementor-widget-wrap elementor-element-populated elementor-element elementor-element-4f2ced7 elementor-widget elementor-widget-heading elementor-widget-container\">\n<h2 class=\"elementor-heading-title elementor-size-default\"><code class=\"language-sql\">B \u2013 Base adresse nationale (BAN), filaire de voies et GeoParquet</code></h2>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-0b1195d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0b1195d\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-328d593 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-acdea32 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Mon second cas d\u2019\u00e9tude porte sur <strong>des fichiers bien plus volumineux</strong>, et me permet d\u2019introduire le format GeoParquet.</code></p>\n<p><code class=\"language-sql\">Mon pr\u00e9c\u00e9dent logement se trouvait dans <strong>une rue limitrophe des communes de Toulouse et de Launaguet</strong>. L\u2019\u00e9tat d\u00e9plorable de la voie s\u2019expliquait, disait-on, par son statut hybride, aucune des deux communes ne voulant s\u2019en occuper \u00e0 la place de l\u2019autre.</code></p>\n<p><code class=\"language-sql\">\u00c0 l\u2019\u00e9poque, j\u2019aurais pu vouloir rameuter tous les m\u00e9nages concern\u00e9s, habitant le long de cette voie limitrophe, ou \u00e0 proximit\u00e9 imm\u00e9diate, pour tancer les autorit\u00e9s (mais c\u2019est juste une fable que j\u2019\u00e9labore pour l\u2019occasion).\u00a0</code></p>\n<p><code class=\"language-sql\">Comment donc compter tous ces voisins ?</code></p>\n<p><code class=\"language-sql\">Cette voie s\u2019appelle Chemin des Izards, dont une large portion sud commence dans Toulouse, et une autre d\u00e9limite Toulouse (\u00e0 gauche) et Launaguet (\u00e0 droite).</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-e1d995d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e1d995d\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f9d2dac elementor-widget-wrap elementor-element-populated elementor-element elementor-element-e0e4f9f elementor-widget elementor-widget-text-editor elementor-widget-container\"><code class=\"language-sql\"><iframe src=\"https://macarte.ign.fr/carte/Gkn63a/Chemin-des-Izards-Entre-Toulouse-et-Launaguet\" width=\"100%\" height=\"480px\">[embedded content]</iframe></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-b462aea elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b462aea\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2aa6cff elementor-widget-wrap elementor-element-populated elementor-element elementor-element-e34b24f elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p>\u00c0 partir du <strong>filaire de voies de Toulouse m\u00e9tropole</strong>, je vais r\u00e9cup\u00e9rer l\u2019ensemble du trac\u00e9 de la voie. Plut\u00f4t que lire un GeoJSON de 20 Mo, j\u2019utilise la version GeoParquet du filaire, que j\u2019ai ainsi r\u00e9duite \u00e0 3 Mo. Comme d\u2019habitude, <strong>je lis directement les donn\u00e9es sur le web, ici sur data.gouv</strong>\u00a0:</p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-edddb9c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"edddb9c\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5d4838b elementor-widget-wrap elementor-element-populated elementor-element elementor-element-198ecb5 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"15\" class=\"highlight-height language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></pre>\n<pre><code class=\"language-sql\">CREATE OR REPLACE TABLE troncons_izards_ as\nSELECT code_insee, street, fromleft, fromright, \nST_GeomFromWKB(geometry) AS geometry\nFROM 'https://static.data.gouv.fr/resources/filaire-voiries-toulouse-metropole-format-geoparquet/20231219-050942/filaire-de-voirie-toulouse-met-geo.parquet'\nWHERE motdir LIKE 'IZARDS%'\nORDER BY fromleft, fromright ;\n</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-f12f145 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f12f145\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-48720e7 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-f151ceb elementor-widget elementor-widget-image elementor-widget-container\"><code class=\"language-sql\"><img width=\"584\" height=\"139\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img17.png\" class=\"attachment-large size-large wp-image-14500\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img17.png 584w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img17-300x71.png 300w\" referrerpolicy=\"no-referrer\" /></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-45c2aaf elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"45c2aaf\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-721c176 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-c214d3e elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Grace \u00e0 la lecture cibl\u00e9e du fichier, les seuls \u00ab row-groups \u00bb du fichier parquet qui contiennent les donn\u00e9es seront charg\u00e9s et scann\u00e9s. Ainsi, 1 Mo seulement a transit\u00e9 par le r\u00e9seau. Ceci est possible parce que j\u2019ai constitu\u00e9 le fichier GeoParquet en le triant sur <em>code_insee</em> et <em>motdir</em>, champs de recherche les plus naturels.</code></p>\n<p><code class=\"language-sql\">Notez que le champ de g\u00e9om\u00e9trie d\u2019un fichier GeoParquet est, selon cette sp\u00e9cification, encod\u00e9 dans un format sp\u00e9cifique (le WKB). Pour le ramener au format g\u00e9om\u00e9trique de DuckDB spatial, il suffit de lui appliquer un ST_GeomFromWKB().</code></p>\n<p><code class=\"language-sql\">Pour isoler <strong>la partie</strong> du chemin des Izards qui est <strong>limitrophe</strong> de Toulouse et Launaguet, je cherche \u00e0 <strong>identifier des doublons</strong>. En effet, ces tron\u00e7ons limitrophes sont d\u00e9crits deux fois dans le fichier, pour chaque commune qui g\u00e8re son c\u00f4t\u00e9 de voie.</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-ea186bb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ea186bb\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d7d0a1c elementor-widget-wrap elementor-element-populated elementor-element elementor-element-3f55600 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"3-5\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">CREATE OR REPLACE TABLE frontiere_izards AS \nSELECT DISTINCT a.geometry,a.fromleft,a.fromright \nFROM izards_troncons a \nCROSS JOIN izards_troncons b \nWHERE ST_Equals(a.geometry, b.geometry) AND a.code_insee &lt;&gt; b.code_insee\nORDER BY a.fromleft, a.fromright ;</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-d21bd4e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d21bd4e\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8ba970d elementor-widget-wrap elementor-element-populated elementor-element elementor-element-dcc5ef0 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">V\u00e9rifions visuellement dans DBeaver : je retrouve bien la partie nord du chemin des Izards, celle qui s\u00e9pare Toulouse et Launaguet\u00a0:</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-76c1d00 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"76c1d00\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-198c75b elementor-widget-wrap elementor-element-populated elementor-element elementor-element-4378945 elementor-widget elementor-widget-image elementor-widget-container\"><code class=\"language-sql\"><img width=\"526\" height=\"368\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img18.png\" class=\"attachment-large size-large wp-image-14501\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img18.png 526w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img18-300x210.png 300w\" referrerpolicy=\"no-referrer\" /></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-76151ab elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"76151ab\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-80899ec elementor-widget-wrap elementor-element-populated elementor-element elementor-element-ee11e87 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Ma deuxi\u00e8me entreprise consiste \u00e0 \u00e9laborer <strong>un tampon de 100 m\u00e8tres autour de cette voie</strong>.</code></p>\n<p><code class=\"language-sql\">Pour ce faire, je projette en coordonn\u00e9es m\u00e9triques avant de calculer le \u00ab\u00a0buffer\u00a0\u00bb\u00a0:</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-23396b4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"23396b4\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c92f508 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-c7d2465 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"3-5\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">CREATE OR REPLACE TABLE buffer_izards AS \nSELECT ST_Union_Agg(geometry)\n.ST_Transform('EPSG:4326','EPSG:2154',true)\n.ST_Buffer(100) -- buffer de 100 m\u00e8tres\n.ST_Transform('EPSG:2154','EPSG:4326',true) AS geom,\nquadkey_min_geo(geom) AS quadkey\nFROM frontiere_izards ;\n</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-9b03c35 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9b03c35\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9e24e5e elementor-widget-wrap elementor-element-populated elementor-element elementor-element-ea34e1d elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">V\u00e9rifions l\u2019allure de ce tampon, cela semble assez correct :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-2d57ea4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2d57ea4\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a8d3ac5 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-8671460 elementor-widget elementor-widget-image elementor-widget-container\"><code class=\"language-sql\"><img width=\"604\" height=\"347\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img19.png\" class=\"attachment-large size-large wp-image-14502\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img19.png 604w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img19-300x172.png 300w\" referrerpolicy=\"no-referrer\" /></code></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-5455b0f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5455b0f\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7365824 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-6e172c9 elementor-widget elementor-widget-heading elementor-widget-container\">\n<h2 class=\"elementor-heading-title elementor-size-default\"><code class=\"language-sql\">Indexation spatiale avec une quadkey</code></h2>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-b552667 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b552667\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a080b2d elementor-widget-wrap elementor-element-populated elementor-element elementor-element-2ef0dc7 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">La derni\u00e8re requ\u00eate inclut le calcul d\u2019une nouvelle information <em>quadkey</em>, qu\u2019on appelle <strong>un index spatial</strong>. Ce quadkey suit le mod\u00e8le de Microsoft avec Bing : la terre est d\u00e9coup\u00e9e en <strong>une pyramide de quadrillages</strong>. On peut aller jusqu\u2019au niveau 12 par exemple, et affecter \u00e0 chaque petit carreau de ce niveau un code \u00e0 12 chiffres.</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-609d116 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"609d116\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ee1d525 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-4dc8f38 elementor-widget elementor-widget-image elementor-widget-container\">\n<figure class=\"wp-caption\"><code class=\"language-sql\"><a href=\"https://learn.microsoft.com/en-us/bingmaps/articles/bing-maps-tile-system\"><img width=\"623\" height=\"365\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img1.jpg\" class=\"attachment-large size-large wp-image-14503\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img1.jpg 623w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img1-300x176.jpg 300w\" referrerpolicy=\"no-referrer\" /></a></code>\n<figcaption class=\"widget-image-caption wp-caption-text\"><code class=\"language-sql\">Bing Maps Tile System</code></figcaption></figure></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-715e141 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"715e141\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-528683d elementor-widget-wrap elementor-element-populated elementor-element elementor-element-554cace elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Ainsi, quand on travaille sur une zone g\u00e9ographique particuli\u00e8re, <strong>il est pratique de connaitre le quadkey du carreau qui l\u2019englobe</strong> (\u00e0 un niveau &lt;=12). Cela servira \u00e0 filtrer d\u2019autres couches, comme la base d\u2019adresses nationale que l\u2019on va d\u00e9couvrir, <strong>si elle int\u00e8gre elle aussi une colonne de quadkey</strong>.</code></p>\n<p><code class=\"language-sql\">La fonction ST_QuadKey() vient d\u2019apparaitre dans la branche de dev de DuckDB spatial, elle sera disponible prochainement en version 0.9.3. Si vous voulez la tester, il suffit de l\u2019installer de la fa\u00e7on suivante, dans le client DuckDB ou m\u00eame dans la <a href=\"https://shell.duckdb.org/\" target=\"_blank\" rel=\"noopener\">version web</a> :\u00a0</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-5933dc3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5933dc3\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-285a3ea elementor-widget-wrap elementor-element-populated elementor-element elementor-element-7025980 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">FORCE INSTALL spatial FROM 'http://nightly-extensions.duckdb.org' ;</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-20f01f1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"20f01f1\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f1e65bd elementor-widget-wrap elementor-element-populated elementor-element elementor-element-1fb5d39 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">ST_Quadkey() calcule le quadkey d\u2019un point g\u00e9om\u00e9trique.</code></p>\n<p><code class=\"language-sql\">Le concepteur de l\u2019extension DuckDB spatial pr\u00e9voit m\u00eame une fonction de calcul du quadkey du carreau le plus petit <strong>englobant une entit\u00e9 g\u00e9ographique quelconque</strong> (ligne, polygone).\u00a0</code></p>\n<p><code class=\"language-sql\">Je la pr\u00e9figure par cette macro :\u00a0</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-e65b49e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e65b49e\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-75bd734 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-73349bc elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"3-5\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">CREATE OR REPLACE MACRO quadkey_min_geo(geom) AS (\n WITH t1 AS (\n        SELECT \n        unnest(split(ST_Quadkey(ST_XMin(geom), ST_YMin(geom),12),'')) AS a, \n        unnest(split(ST_Quadkey(ST_XMin(geom), ST_YMax(geom),12),'')) AS b, \n        unnest(split(ST_Quadkey(ST_XMax(geom), ST_YMin(geom),12),'')) AS c, \n        unnest(split(ST_Quadkey(ST_XMax(geom), ST_YMax(geom),12),'')) AS d \n ) \n SELECT string_agg(a,'') AS quadkey FROM t1 WHERE a = b AND b = c AND c = d\n) ;\n</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-78d3c23 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"78d3c23\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-94aaf5b elementor-widget-wrap elementor-element-populated elementor-element elementor-element-00b2c7d elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Ainsi, le quadkey calcul\u00e9 de notre tampon de 100 m autour du Chemin des Izards est :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-1f304e0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1f304e0\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-28acc0e elementor-widget-wrap elementor-element-populated elementor-element elementor-element-a8d5d93 elementor-widget elementor-widget-image elementor-widget-container\">\n<figure class=\"wp-caption\"><code class=\"language-sql\"><a href=\"https://learn.microsoft.com/en-us/bingmaps/articles/bing-maps-tile-system\"><img width=\"107\" height=\"47\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img20.png\" class=\"attachment-large size-large wp-image-14504\" alt=\"\" referrerpolicy=\"no-referrer\" /></a></code></figure></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-495684e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"495684e\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-109320d elementor-widget-wrap elementor-element-populated elementor-element elementor-element-b06c35d elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Examinons maintenant <strong>la base adresse nationale (BAN)</strong>, je l\u2019ai constitu\u00e9e au format <strong>GeoParquet</strong> \u00e0 partir du <a href=\"https://adresse.data.gouv.fr/data/ban/adresses/latest/csv\" target=\"_blank\" rel=\"noopener\">csv.gz national</a>, en l\u2019enrichissant, pour chaque point adresse (et il y en a 26 millions), du quadkey correspondant. En voici un aper\u00e7u, sur un territoire mieux reconnaissable que la banlieue toulousaine :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-1d0b5a6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1d0b5a6\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bea473a elementor-widget-wrap elementor-element-populated elementor-element elementor-element-762e3b0 elementor-widget elementor-widget-image elementor-widget-container\">\n<figure class=\"wp-caption\"><code class=\"language-sql\"><img width=\"1024\" height=\"653\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img22-1024x653.png\" class=\"attachment-large size-large wp-image-14636\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img22-1024x653.png 1024w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img22-300x191.png 300w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img22-768x489.png 768w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img22.png 1183w\" referrerpolicy=\"no-referrer\" /></code>\n<figcaption class=\"widget-image-caption wp-caption-text\"><code class=\"language-sql\">BAN en GeoParquet dans QGIS, Finist\u00e8re nord - coloration par quadkey niveau 12</code></figcaption></figure></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-71e0615 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"71e0615\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b340a4d elementor-widget-wrap elementor-element-populated elementor-element elementor-element-39b711f elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Ainsi, la requ\u00eate filtr\u00e9e suivante\u00a0<strong class=\"c2\">ne charge que 6 Mo de donn\u00e9es sur les 600 Mo du fichier parquet national</strong> \u2013 c\u2019est tout l\u2019int\u00e9r\u00eat de ce quadkey :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-1fdf2e4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1fdf2e4\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5d9a86b elementor-widget-wrap elementor-element-populated elementor-element elementor-element-03bea28 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"2\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">SELECT geometry FROM 'https://static.data.gouv.fr/resources/ban-format-parquet/20231228-103716/adresses-france-2023.parquet'\nWHERE quadkey LIKE '120222030220%' ;</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-9e4cfe9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9e4cfe9\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6b84638 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-034e73e elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Et je vais maintenant pr\u00e9ciser ma demande avec un autre filtre spatial : que les adresses soient dans le \u201cbuffer Izards\u201d :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-5d02619 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5d02619\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0dd2be6 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-9e885cb elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"5\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">SELECT ST_GeomFromWKB(geometry) AS geom FROM 'https://static.data.gouv.fr/resources/ban-format-parquet/20231228-103716/adresses-france-2023.parquet' a\nJOIN buffer_izards b \n     ON ST_Within(ST_GeomFromWKB(geometry), b.geom)\nWHERE a.quadkey LIKE '120222030220%' ; -- 1 s</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-521ac0c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"521ac0c\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1e2d85b elementor-widget-wrap elementor-element-populated elementor-element elementor-element-471c161 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\"><strong>L\u2019ex\u00e9cution ne prend ici qu\u2019une seconde</strong>. C\u2019est tout bonnement ahurissant.</code></p>\n<p><code class=\"language-sql\">Un op\u00e9rateur de comparaison spatiale comme ST_Within() est co\u00fbteux, et s\u2019il fallait le jouer sur les 26 millions d\u2019adresses de la BAN, ce serait monstrueusement long. Restreindre le champ de cette comparaison aux seules adresses du carreau/quadkey pertinent nous fait gagner un temps fou.</code></p>\n<p><code class=\"language-sql\">Cela va vite aussi parce que j\u2019ai recopi\u00e9 manuellement le quadkey du buffer. Une mani\u00e8re plus dynamique d\u2019\u00e9crire cette requ\u00eate serait\u00a0:</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-45ee06e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"45ee06e\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d98644c elementor-widget-wrap elementor-element-populated elementor-element elementor-element-e7c052f elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"5\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">SELECT ST_GeomFromWKB(geometry) AS geom FROM 'https://static.data.gouv.fr/resources/ban-format-parquet/20231228-103716/adresses-france-2023.parquet' a\nJOIN buffer_izards b ON ST_Within(ST_GeomFromWKB(geometry), b.geom)\nWHERE a.quadkey LIKE (b.quadkey || '%') ;  -- 10 s</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-c014049 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c014049\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e907d16 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-ade7250 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Cette version prend d\u00e9sormais 10 secondes, ce qui reste peu, mais je trouve anormal qu\u2019elle soit bien plus longue que la pr\u00e9c\u00e9dente. J\u2019ai signal\u00e9 ce cas concret \u00e0 l\u2019\u00e9quipe DuckDB et ne doute pas <a href=\"https://github.com/duckdb/duckdb/issues/10027\" target=\"_blank\" rel=\"noopener\">qu\u2019elle saura remettre la v\u00e9locit\u00e9 n\u00e9cessaire ici</a> !</code></p>\n<p><code class=\"language-sql\">J\u2019obtiens surtout <strong>153 adresses de m\u00e9nages</strong> qui auraient ainsi pu se mobiliser pour r\u00e9clamer que la voie soit refaite.</code></p>\n<p><code class=\"language-sql\">Mais certains ont bien d\u00fb le faire, car la route a \u00e9t\u00e9 am\u00e9nag\u00e9e \u00e0 neuf depuis peu, agr\u00e9ment\u00e9e comme il se doit de moult chicanes et ralentisseurs\u2026</code></p>\n<p><code class=\"language-sql\"><strong>Pour visualiser ensemble ces adresses, le buffer, la portion limitrophe du chemin et les limites de Toulouse et Launaguet</strong>, tentons enfin de r\u00e9unir ces diff\u00e9rentes couches dans une seule table\u00a0:</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-c089cd1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c089cd1\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-afab454 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-dd48cb6 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"8-13\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">SELECT ST_union_agg(geometry) AS geometry FROM frontiere_izards\nUNION SELECT geom FROM buffer_izards\nUNION (SELECT ST_GeomFromWKB(geometry) AS geom FROM 'https://static.data.gouv.fr/resources/ban-format-parquet/20231228-103716/adresses-france-2023.parquet' a\n JOIN buffer_izards b ON ST_Within(ST_GeomFromWKB(geometry), b.geom)\n WHERE a.quadkey LIKE '120222030220%')\nUNION SELECT ST_ExteriorRing(geom) FROM st_read('https://geo.api.gouv.fr/communes?code=31555&amp;format=geojson&amp;geometry=contour')\nUNION SELECT ST_ExteriorRing(geom) FROM st_read('https://geo.api.gouv.fr/communes?code=31282&amp;format=geojson&amp;geometry=contour') ;</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-21bb7e1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"21bb7e1\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7549753 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-ff17855 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">J\u2019ai mobilis\u00e9 au passage une API web, l\u2019<a href=\"https://geo.api.gouv.fr/decoupage-administratif\" target=\"_blank\" rel=\"noopener\">API G\u00e9o</a>, pour r\u00e9cup\u00e9rer le contour des deux communes. Ainsi, cette ultime requ\u00eate mobilise ensemble des sources web ind\u00e9pendantes : la BAN (GeoParquet), le filaire de Toulouse m\u00e9tropole (GeoParquet), et l\u2019API G\u00e9o (GeoJSON).</code></p>\n<p><code class=\"language-sql\">Et voici le r\u00e9sultat directement affich\u00e9 dans DBeaver\u00a0!</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-e06cfe6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e06cfe6\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b8300d8 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-de5bfa4 elementor-widget elementor-widget-image elementor-widget-container\">\n<figure class=\"wp-caption\"><code class=\"language-sql\"><img width=\"522\" height=\"512\" src=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img21.png\" class=\"attachment-large size-large wp-image-14505\" alt=\"\" srcset=\"https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img21.png 522w, https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-img21-300x294.png 300w\" referrerpolicy=\"no-referrer\" /></code>\n<figcaption class=\"widget-image-caption wp-caption-text\"><code class=\"language-sql\">153 adresses \u00e0 proximit\u00e9 du tron\u00e7on limitrophe du Chemin des Izards</code></figcaption></figure></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-ad4db3c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ad4db3c\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f47f68b elementor-widget-wrap elementor-element-populated elementor-element elementor-element-d5f9011 elementor-widget elementor-widget-heading elementor-widget-container\">\n<h2 class=\"elementor-heading-title elementor-size-default\"><code class=\"language-sql\">Le format GeoParquet</code></h2>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-d392b9b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d392b9b\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-de118de elementor-widget-wrap elementor-element-populated elementor-element elementor-element-bc520d6 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Ce format nait d\u2019une initiative communautaire, d\u00e9sireuse d\u2019utiliser Parquet pour encoder des fichiers g\u00e9ographiques. Parvenu en 2023 \u00e0 sa version 1.0, GeoParquet est lu par le logiciel libre QGiS, qui permet donc de le visualiser, et support\u00e9 par des \u00e9diteurs majeurs (Esri, Carto, FME, Microsoft\u2026)\u00a0</code></p>\n<p><code class=\"language-sql\">Depuis ao\u00fbt 2023, <strong>un groupe de travail au sein de l\u2019OGC est charg\u00e9 d\u2019en affiner encore la sp\u00e9cification</strong> pour l\u2019asseoir d\u00e9finitivement comme <strong>un standard g\u00e9ographique mondial</strong>. L\u2019IGN anglais, l\u2019Ordnance Survey, utilise d\u00e9j\u00e0 GeoParquet.</code></p>\n<p><code class=\"language-sql\">Un fichier GeoParquet est un fichier Parquet qui comprend des m\u00e9tadonn\u00e9es g\u00e9ographiques sp\u00e9cifiques et encode la g\u00e9om\u00e9trie, officiellement au format WKB, mais aussi possiblement au format Arrow. Le format GeoArrow est donc un GeoParquet dans lequel la colonne de g\u00e9om\u00e9trie, au lieu du classique WKB, utilise une structure bien plus rapide \u00e0 charger en m\u00e9moire, sans d\u00e9codage.</code></p>\n<p><code class=\"language-sql\">D\u2019une fa\u00e7on g\u00e9n\u00e9rale, le format GeoParquet est <strong>bien plus compact que ses alternatives</strong>. Comme tout fichier Parquet, on peut le lire (avec DuckDB par exemple) de fa\u00e7on s\u00e9lective sur le web avec des \u00ab\u00a0range requests\u00a0\u00bb, ce qui permet de requ\u00eater directement en https sans avoir \u00e0 t\u00e9l\u00e9charger le fichier complet en local.</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-455bd03 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"455bd03\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7ea5cd8 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-b12f251 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\"><strong>Il existe de multiples fa\u00e7ons de convertir</strong> <strong>en GeoParquet</strong> un fichier g\u00e9ographique classique de type GeoJSON, shp, gpkg ou autres, par exemple :</code></p>\n<ul><li><code class=\"language-sql\">OGR/GDAL,</code></li>\n<li><code class=\"language-sql\">librairies GeoPandas (Python), geoarrow (R),</code></li>\n<li><code class=\"language-sql\">utilitaire <a href=\"https://github.com/planetlabs/gpq\">gpq</a>.</code></li>\n</ul><p><code class=\"language-sql\">J\u2019utilise plut\u00f4t ce dernier car, comme DuckDB, c\u2019est un petit ex\u00e9cutable (30 Mo), sans d\u00e9pendance. DuckDB ne sait pas \u2013 encore, mais \u00e7a va venir \u2013 exporter en GeoParquet. Mais il peut exporter un fichier g\u00e9ographique en Parquet standard, gpq venant ensuite le transformer en GeoParquet.</code></p>\n<p><code class=\"language-sql\">Ainsi, pour <strong>convertir la base adresse nationale (BAN) en GeoParquet</strong>, je commence dans DuckDB par un export Parquet :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-0a6509d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0a6509d\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-842cb75 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-91b9fc3 elementor-widget elementor-widget-code-highlight elementor-widget-container prismjs-default copy-to-clipboard word-wrap\">\n<pre data-line=\"3-4\" class=\"highlight-height language-sql\"><code class=\"language-sql\">\n                                <code class=\"language-sql\">\n                                        </code></code></pre>\n<pre><code class=\"language-sql\">COPY (\nWITH ban AS (\n SELECT *, ST_AsWKB(ST_point(lon, lat)) AS geometry, \n ST_QuadKey(ST_point(lon, lat), 12) AS quadkey \n FROM 'c:\\...\\adresses-france.csv.gz' \n)\nSELECT * EXCLUDE(lon,lat,x,y) FROM ban\nORDER BY quadkey\n) TO 'c:\\...\\adresses-france.parquet' ;</code></pre>\n<pre>\n                                \n                        </pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-be63cc1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"be63cc1\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a89ee58 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-2518de6 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Notez qu\u2019une fois le champ de g\u00e9om\u00e9trie cr\u00e9\u00e9 (obligatoirement en WKB), je n\u2019ai plus besoin des colonnes redondantes lon, lat, x et y. Par ailleurs, <strong>je rajoute une colonne quadkey et, je trie sur cette colonne</strong> \u2013 tr\u00e8s important \u2013 pour donner \u00e0 cet indexation spatiale toute son efficacit\u00e9.</code></p>\n<p><code class=\"language-sql\">Puis, en ligne de commande, je passe de Parquet \u00e0 GeoParquet :</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-6b12dd1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6b12dd1\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c3668f2 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-9d8ebc6 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<pre><code class=\"language-sql\">gpq convert c:\\...\\adresses-france.parquet c:\\...\\adresses-france-geo.parquet --from=parquet --to=geoparquet --compression=zstd</code></pre></div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-49b1af5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"49b1af5\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1cdf615 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-0201c0a elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">Je peux aussi pr\u00e9ciser un <em>\u2013row-group-length=</em> pour ajuster la taille des row-groups dans le fichier, param\u00e8tre important pour acc\u00e9l\u00e9rer les requ\u00eates https : je dois avoir suffisamment de row-groups (une dizaine typiquement) pour que lire le ou les row-groups qui contiennent les donn\u00e9es que je recherche soit efficace, fasse \u00e9conomiser beaucoup de bande passante.</code></p>\n<p><code class=\"language-sql\">adresses-france-geo.parquet est un peu plus l\u00e9ger (600 Mo) que le csv.gz t\u00e9l\u00e9chargeable (700 Mo). Et surtout, <strong>il est directement requ\u00eatable en https, avec une extraordinaire efficacit\u00e9 pour ses 26 millions d\u2019adresses</strong>.</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-d1fd30a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d1fd30a\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8b27856 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-4457343 elementor-widget elementor-widget-heading elementor-widget-container\">\n<h2 class=\"elementor-heading-title elementor-size-default\"><code class=\"language-sql\">Conclusion de cette s\u00e9rie de trois articles sur DuckDB et ses bluffantes potentialit\u00e9s</code></h2>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-27ee07e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"27ee07e\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8d4c407 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-84395e5 elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<p><code class=\"language-sql\">DuckDB, Parquet et GeoParquet nous font entrer dans un nouvel univers, qui d\u00e9passe le classique mod\u00e8le client / \u00ab\u00a0serveur sp\u00e9cialis\u00e9 de base de donn\u00e9es\u00a0\u00bb, ou <a href=\"https://www.robinlinacre.com/parquet_api/\" target=\"_blank\" rel=\"noopener\">client / API web</a>.</code></p>\n<p><code class=\"language-sql\">\u00c0 la place des boites noires sur serveur, qui impl\u00e9mentent en silo des API et des requ\u00eates, <strong>le web entier devient une base de donn\u00e9es g\u00e9n\u00e9raliste</strong>, et c\u2019est l\u2019ordinateur de l\u2019utilisateur qui fait le travail de requ\u00eatage, capable de charger s\u00e9lectivement et sans enrobage inutile des flux de donn\u00e9es brutes directement utilisables en m\u00e9moire.</code></p>\n<p><code class=\"language-sql\">Peu de personnes encore ont saisi toutes les implications de cette mutation. Voici<strong>\u00a0quelques avantages tr\u00e8s concrets</strong>\u00a0:</code></p>\n<ul><li><code class=\"language-sql\">\u00c9conomiser en gestion des donn\u00e9es et d\u2019acc\u00e8s concurrents sur les serveurs de mise \u00e0 disposition\u00a0: il suffit de d\u00e9poser des fichiers et de laisser la magie du protocole https et des syst\u00e8mes de cache op\u00e9rer.</code></li>\n<li><code class=\"language-sql\">\u00c9viter \u00e0 l\u2019usager de t\u00e9l\u00e9charger des fichiers en local, de les d\u00e9zipper, \u00e0 chaque fois qu\u2019il veut acc\u00e9der aux donn\u00e9es les plus fraiches.</code></li>\n<li><code class=\"language-sql\">D\u00e9passer la syntaxe obscure et variable des API web et surtout leurs limitations\u00a0: formats de sortie verbeux, identification n\u00e9cessaire parfois, limite en volume ou en nombre d\u2019appels, lenteur souvent, pannes \u00e0 l\u2019occasion.</code></li>\n<li><code class=\"language-sql\">Pouvoir dans la m\u00eame requ\u00eate interroger simultan\u00e9ment plusieurs sources de donn\u00e9es sur le web, faire les jointures n\u00e9cessaires \u00e0 la vol\u00e9e.</code></li>\n<li><code class=\"language-sql\">N\u2019utiliser, c\u00f4t\u00e9 utilisateur, que deux ou trois logiciels tr\u00e8s simples, l\u00e9gers, rapides \u00e0 charger, gratuits (le navigateur, \u00e9v. un ex\u00e9cutable DuckDB ind\u00e9pendant si l\u2019on utilise pas DuckDB dans le navigateur, DBeaver pour la productivit\u00e9) et surtout un seul langage, le standard parmi les standards, SQL, flexible et intuitif.</code></li>\n<li><code class=\"language-sql\">Acc\u00e9der avec une vitesse incroyable \u00e0 des fichiers plus volumineux, m\u00eame avec une m\u00e9moire limit\u00e9e.</code></li>\n</ul><p><code class=\"language-sql\">Au-del\u00e0 de la technique, j\u2019ai voulu dans ces trois articles vous faire (re)d\u00e9couvrir la belle richesse des sources de donn\u00e9es open data en France, en \u00e9laborant <strong>des cas d\u2019usage les plus concrets et reproductibles possibles</strong>.</code></p>\n<p><code class=\"language-sql\">J\u2019esp\u00e8re enfin que les gestionnaires de ces bases open data et des API li\u00e9es sauront saisir les avantages, pour l\u2019utilisateur, \u00e0 <strong>proposer en compl\u00e9ment de leur dispositif actuel des bases au format (geo)parquet</strong>.</code></p>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-b8855fa elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b8855fa\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9c9a716 elementor-widget-wrap elementor-element-populated elementor-element elementor-element-e875ff9 elementor-widget elementor-widget-heading elementor-widget-container\">\n<h2 class=\"elementor-heading-title elementor-size-default\"><code class=\"language-sql\">Pour en savoir plus</code></h2>\n</div>\n</section><section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-b7852c7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b7852c7\" data-element_type=\"section\"><div class=\"elementor-container elementor-column-gap-default has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0c413ea elementor-widget-wrap elementor-element-populated elementor-element elementor-element-ccdd9ce elementor-widget elementor-widget-text-editor elementor-widget-container\">\n<ul><li><code class=\"language-sql\"><a href=\"https://www.meetup.com/fr-FR/meetup-visualisation-des-donnees-toulouse/events/298356121/?isFirstPublish=true\" target=\"_blank\" rel=\"noopener\">Meetup DuckDB Toulouse Dataviz, janvier 2024</a></code></li>\n<li><code class=\"language-sql\"><a href=\"https://www.icem7.fr/outils/3-explorations-bluffantes-avec-duckdb-1-interroger-des-fichiers-distants/\">3 explorations bluffantes avec DuckDB \u2013 Interroger des fichiers distants (1/3), icem7, 2023</a></code></li>\n<li><code class=\"language-sql\"><a href=\"https://www.icem7.fr/pedagogie/3-explorations-bluffantes-avec-duckdb-butiner-des-api-json-2-3/\">3 explorations bluffantes avec DuckDB \u2013 Butiner des API JSON (2/3), icem7, 2023</a></code></li>\n<li><code class=\"language-sql\"><a href=\"https://duckdb.org/docs/extensions/spatial\">DuckDB \u2013 Spatial Extension</a></code></li>\n<li class=\"MsoNormal\"><code class=\"language-sql\"><a href=\"https://github.com/duckdb/duckdb_spatial/blob/main/docs/docs.md\">DuckDB Spatial Extension \u2013 Documentation</a></code></li>\n<li class=\"MsoNormal\"><code class=\"language-sql\"><a href=\"https://duckdb.org/2023/04/28/spatial.html\">PostGEESE? Introducing The DuckDB Spatial Extension</a></code></li>\n<li class=\"MsoNormal\"><code class=\"language-sql\"><a href=\"https://medium.com/radiant-earth-insights/duckdb-the-indispensable-geospatial-tool-you-didnt-know-you-were-missing-5fe11c5633e5\">DuckDB: The indispensable geospatial tool you didn\u2019t know you were missing \u2013 Chris Holmes, 2023</a></code></li>\n<li><code class=\"language-sql\"><a href=\"https://blog.cleverelephant.ca/2023/12/duck.html\" target=\"_blank\" rel=\"noopener\">Data Science is Getting Ducky, Paul Ramsey, 2023</a></code></li>\n<li><code class=\"language-sql\"><a href=\"https://www.tele-task.de/lecture/video/10304/\" target=\"_blank\" rel=\"noopener\">Two Tier Architectures are Anachronistic, Hannes M\u00fchleisen, 2023</a></code></li>\n<li class=\"MsoNormal\"><code class=\"language-sql\"><a href=\"https://learn.microsoft.com/en-us/bingmaps/articles/bing-maps-tile-system\">Bing Maps Tile System</a></code></li>\n<li class=\"MsoNormal\"><code class=\"language-sql\"><a href=\"https://github.com/opengeospatial/geoparquet\">GeoParquet \u2013 Github</a></code></li>\n<li class=\"MsoNormal\"><code class=\"language-sql\"><a href=\"https://www.ogc.org/press-release/ogc-forms-new-geoparquet-standards-working-group/\">OGC forms new GeoParquet Standards Working Group, 2023</a></code></li>\n<li class=\"MsoNormal\"><code class=\"language-sql\"><a href=\"https://cartonumerique.blogspot.com/2022/10/cartes-et-donnees-GTFS.html\" target=\"_blank\" rel=\"noopener\">Explorer la cartographie des r\u00e9seaux de transports publics avec des donn\u00e9es GTFS \u2013 Carto num\u00e9rique, 2022</a></code></li>\n</ul></div>\n</section>",
    "created_at": "2024-03-11T08:34:03+00:00",
    "updated_at": "2024-03-11T08:34:12+00:00",
    "published_at": "2023-12-19T09:33:58+00:00",
    "published_by": ["par \u00c9ric Mauvi\u00e8re"],
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr_FR",
    "reading_time": 22,
    "domain_name": "www.icem7.fr",
    "preview_picture": "https://www.icem7.fr/wp-content/uploads/2023/12/duckdb3-ima.png",
    "http_status": "200",
    "headers": {
      "date": "Mon, 11 Mar 2024 08:34:03 GMT",
      "content-type": "text/html; charset=UTF-8",
      "content-length": "239777",
      "connection": "keep-alive",
      "server": "nginx",
      "vary": "Accept-Encoding, X-Forwarded-Proto,Accept-Encoding",
      "last-modified": "Mon, 11 Mar 2024 08:31:05 GMT",
      "etag": "\"3a8a1-6135e5cce1a39\"",
      "accept-ranges": "bytes",
      "referrer-policy": "no-referrer-when-downgrade"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "vega", "charts"],
    "is_public": false,
    "id": 76,
    "title": "Vega-Altair\u200a\u2014\u200aa surprisingly powerful library for plotting interactive maps",
    "url": "https://medium.com/data-analytics-at-nesta/vega-altair-interactive-maps-d9c3bd77af50",
    "given_url": "https://medium.com/data-analytics-at-nesta/vega-altair-interactive-maps-d9c3bd77af50",
    "content": "<article><div class=\"l\"><div class=\"l\"><section><div><div class=\"gm gn go gp gq\"><div class=\"ab ca\"><div class=\"ch bg fy fz ga gb\"><div><div class=\"hu hv hw hx hy\"><div class=\"speechify-ignore ab co\"><div class=\"speechify-ignore bg l\"><div class=\"hz ia ib ic id ab\"><div><div class=\"ab ie\"><a rel=\"noopener follow\" href=\"https://medium.com/@rachel.wilcock\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"l if ig bx ih ii\"><div class=\"l fi\"><img alt=\"Rachel Wilcock\" class=\"l fc bx dc dd cw\" src=\"https://miro.medium.com/v2/resize:fill:88:88/1*R5YKqLUKqMh_ZhOF7Lbx8A.jpeg\" width=\"44\" height=\"44\" data-testid=\"authorPhoto\" referrerpolicy=\"no-referrer\" /></div></div></div></div></a><a href=\"https://medium.com/data-analytics-at-nesta\" rel=\"noopener follow\"><div class=\"il ab fi\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"l im in bx ih io\"><div class=\"l fi\"><img alt=\"Data science at Nesta\" class=\"l fc bx bq ip cw\" src=\"https://miro.medium.com/v2/resize:fill:48:48/1*2PoJTE0sbq7alJqRPlMwcg.png\" width=\"24\" height=\"24\" data-testid=\"publicationPhoto\" referrerpolicy=\"no-referrer\" /></div></div></div></div></div></a></div></div><div class=\"bm bg l\"><div class=\"ab\"><div><div class=\"iq ab q\"><div class=\"ab q ir\"><div class=\"ab q\"><div><div class=\"bl\" aria-hidden=\"false\"><p class=\"be b is it bj\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu\" data-testid=\"authorName\" rel=\"noopener follow\" href=\"https://medium.com/@rachel.wilcock\">Rachel Wilcock</a></p></div></div></div>\u00b7<p class=\"be b is it dt\"><a class=\"ix iy ah ai aj ak al am an ao ap aq ar ew iz ja\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fsubscribe%2Fuser%2Fa556e193fc6f&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Fdata-analytics-at-nesta%2Fvega-altair-interactive-maps-d9c3bd77af50&amp;user=Rachel+Wilcock&amp;userId=a556e193fc6f\">Follow</a></p></div></div></div></div><div class=\"l jb\"><div class=\"ab cm jc jd je\"><div class=\"jf jg ab\"><div class=\"be b bf z dt ab jh\">Published in<div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" data-testid=\"publicationName\" href=\"https://medium.com/data-analytics-at-nesta\" rel=\"noopener follow\"><p class=\"be b bf z jj jk jl jm jn jo jp jq bj\">Data science at Nesta</p></a></div></div></div><div class=\"h k\">\u00b7</div></div><div class=\"ab ae\">7 min read<div class=\"jr js l\" aria-hidden=\"true\">\u00b7</div>May 4, 2023</div></div></div></div></div><div class=\"ab co jt ju jv jw jx jy jz ka kb kc kd ke kf kg kh ki\"><div class=\"h k w ff fg q\"><div class=\"ky l\"><div class=\"ab q kz\"><div class=\"pw-multi-vote-icon fi ji la lb lc\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" data-testid=\"headerClapButton\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fdata-analytics-at-nesta%2Fd9c3bd77af50&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Fdata-analytics-at-nesta%2Fvega-altair-interactive-maps-d9c3bd77af50&amp;user=Rachel+Wilcock&amp;userId=a556e193fc6f\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"ld ao le lf lg lh am li lj lk lc\"></div></div></div></a></div><div class=\"pw-multi-vote-count l ll lm ln lo lp lq lr\"><p class=\"be b du z dt\">--</p></div></div></div><div><div class=\"bl\" aria-hidden=\"false\"></div><div class=\"ab q kj kk kl km kn ko kp kq kr ks kt ku kv kw kx\"><div class=\"h k\"><div><div class=\"bl\" aria-hidden=\"false\"></div><div class=\"fc ma cm\"><div class=\"l ae\"><div class=\"ab ca\"><div class=\"mb mc md me mf mg ch bg\"><div class=\"ab\"><div class=\"bl bg\" aria-hidden=\"false\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div></div></div><div class=\"bl\" aria-hidden=\"false\" aria-describedby=\"postFooterSocialMenu\" aria-labelledby=\"postFooterSocialMenu\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div></div></div></div><p id=\"3eac\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">When it comes to plotting geospatial data, Python offers a wide range of options e.g. <a class=\"af nx\" href=\"https://geopandas.org/en/stable/docs/user_guide/mapping.html\" rel=\"noopener ugc nofollow\" target=\"_blank\">GeoPandas</a>, <a class=\"af nx\" href=\"https://python-visualization.github.io/folium/index.html\" rel=\"noopener ugc nofollow\" target=\"_blank\">Folium</a>, <a class=\"af nx\" href=\"https://scitools.org.uk/cartopy/docs/latest/\" rel=\"noopener ugc nofollow\" target=\"_blank\">Cartopy</a> and <a class=\"af nx\" href=\"https://plotly.com/python/choropleth-maps/\" rel=\"noopener ugc nofollow\" target=\"_blank\">Plotly</a>. Each of these libraries offers a different way of plotting geospatial data, for example, Folium is built on the powerful <a class=\"af nx\" href=\"https://leafletjs.com/\" rel=\"noopener ugc nofollow\" target=\"_blank\">leaflet.js</a> library and can produce zoomable maps with a base layer from OpenStreetMap, with the ability to layer on a number of different options including choropleths, markers and heat maps.</p><p id=\"7485\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">However, this is where <a class=\"af nx\" href=\"https://altair-viz.github.io/index.html\" rel=\"noopener ugc nofollow\" target=\"_blank\">Vega-Altair</a> enters as an unusual candidate. Built on <a class=\"af nx\" href=\"http://vega.github.io/vega\" rel=\"noopener ugc nofollow\" target=\"_blank\">Vega</a> and <a class=\"af nx\" href=\"http://vega.github.io/vega-lite\" rel=\"noopener ugc nofollow\" target=\"_blank\">Vega-Lite</a>, it\u2019s a plotting tool whose strength lies in its simple but elegantly efficient declarative code which creates powerful, interactive visualisations. To browse the full range of visualisations and to provide inspiration for your next data viz project \u2014 visit their <a class=\"af nx\" href=\"https://altair-viz.github.io/gallery/index.html\" rel=\"noopener ugc nofollow\" target=\"_blank\">gallery</a>. In this blog post, we demonstrate its functionality through a tutorial, concentrating on two types of graph \u2014 <a class=\"af nx\" href=\"https://en.wikipedia.org/wiki/Choropleth_map\" rel=\"noopener ugc nofollow\" target=\"_blank\">choropleth maps</a> and bar charts \u2014 and most importantly, the interactivity between them.</p><figure class=\"oz pa pb pc pd pe ow ox paragraph-image\"><div class=\"ow ox oy\"></div><figcaption class=\"pg fe ph ow ox pi pj be b bf z dt\">Figure 1: A gif demonstrating the interactivity between two charts plotted using Vega-Altair. As selections are made on the bar chart, the chart above changes to reflect only counts of IMDB and Rotten Tomato ratings in that film genre.</figcaption></figure><p id=\"3d3d\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">One of the biggest advantages Vega-Altair has, aside from its easy declarative code, is the ability to have interactions between two charts. This is incredibly useful when you want to add a new level of exploration into your data viz. At <a class=\"af nx\" href=\"https://www.nesta.org.uk/\" rel=\"noopener ugc nofollow\" target=\"_blank\">Nesta</a>, we find it particularly helpful to put the data back into the hands of the domain experts. It allows them to explore their own data and use their knowledge to guide their exploration. In a world where data viz no longer needs to be printed out or kept in static documents, interactive graphs are an incredibly powerful tool in any data scientist\u2019s toolbox.</p><p id=\"4e44\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">The gif (Figure 1) shows how two different types of graphs can interact with each other in Vega-Altair. For more information on how to plot the figure in the gif, follow <a class=\"af nx\" href=\"https://altair-viz.github.io/gallery/interactive_cross_highlight.html\" rel=\"noopener ugc nofollow\" target=\"_blank\">this link</a>. There are lots of further examples on the website, but in the <a class=\"af nx\" href=\"https://www.nesta.org.uk/fairer-start/\" rel=\"noopener ugc nofollow\" target=\"_blank\">a fairer start</a> team at Nesta, we spend a lot of time creating maps, so here we focus on the interactivity between a choropleth map and a simple bar chart.</p><p id=\"415c\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">Choropleth maps provide people with a new way of looking at their data. By plotting data geospatially, previously undiscovered trends and patterns reveal themselves. By combining with an interactive bar chart which responds to selections made on the choropleth map, relationships between variables are taken into account making it possible to view trends through the filter of a geographical boundary.</p><p id=\"bc4c\" class=\"pw-post-body-paragraph mz na gt nb b nc pk ne nf ng pl ni nj nk pm nm nn no pn nq nr ns po nu nv nw gm bj\">We start this tutorial by demonstrating how to plot a choropleth map in Vega-Altair. As a simple starting point we\u2019re going to use the data from the English Indices of Deprivation (IoD) from 2019 (the latest release).</p><p id=\"0322\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">For more information around the IoD, please follow <a class=\"af nx\" href=\"https://www.gov.uk/government/statistics/english-indices-of-deprivation-2019\" rel=\"noopener ugc nofollow\" target=\"_blank\">this link</a>, but broadly they cover seven domains of deprivation (income, employment, education, health, crime, barriers to housing and services and living environment). These are then combined through different weightings and used to rank every Lower Layer Super Output Area (LSOA) in England. These LSOAs can then be aggregated to find the average Index of Multiple Deprivation (IMD) for each Local Authority or any other geographical area of interest.</p><p id=\"5bc9\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">The dataset we\u2019re using has been cleaned and preprocessed and is available to download <a class=\"af nx\" href=\"https://github.com/nestauk/dap_medium_articles/tree/dev/streamlit_app_tutorial/data\" rel=\"noopener ugc nofollow\" target=\"_blank\">here</a>. Before we get started plotting the map, we first need to import the necessary packages and import the data.</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">import pandas as pdimport altair as altiod_lsoa_data = pd.read_csv(\"lsoa_english_iod_2019.csv\")</pre><p id=\"d1b9\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">Next, we need to read in the shapefile data which will enable us to plot the LSOA outlines. In this tutorial we\u2019re going to focus on plotting data for the LSOAs in the City of York, located in the region of Yorkshire and the Humber, in England. In the a fairer start mission at Nesta, we\u2019ve collaborated a lot with the City of York Council, and <a class=\"af nx\" href=\"https://www.nesta.org.uk/project-updates/showcasing-our-data-tools/\" rel=\"noopener ugc nofollow\" target=\"_blank\">our project designing a dashboard for them</a> to investigate take-up of the two year old health review is the inspiration for this, and the accompanying blog on Streamlit.</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">geojson_lsoa = \"https://raw.githubusercontent.com/nestauk/dap_medium_articles/dev/streamlit_app_tutorial/shapefiles/lsoa_clean_shapefiles_2011_yorkshire_and_the_humber_crs3857.geojson\"geodata_lsoa = alt.Data(url=geojson_lsoa, format=alt.DataFormat(property=\"features\", type=\"json\"))</pre><p id=\"a0a5\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">Now we need to filter the original IoD dataset to only include York data.</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">iod_lsoa_data_york = iod_lsoa_data.query(\"lad19nm == 'York'\")</pre><p id=\"1e6b\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">We also need a list of the LSOAs that are in York so we can filter the choropleth map too.</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">lsoas_to_plot = list(iod_lsoa_data_york.lsoa11nm)</pre><p id=\"ebd6\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">From the IoD data, we are going to plot the income deprivation affecting children index (IDACI). This is an index from 1 to 10, where 1 is the most deprived and 10 is the least deprived.</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">color_lsoa = alt.Color(\"income_deprivation_affecting_children:O\", scale = alt.Scale(scheme=\"yellowgreenblue\"), title=\"IDACI\", legend = alt.Legend(orient=\"top\"))</pre><p id=\"3de7\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">Here, to plot a discrete colour scale, we have specified that the IDACI is ordinal using \u201c:O\u201d, and that we want the colour scheme to use the \u201cyellowgreenblue\u201d colour palette (full list of options can be found <a class=\"af nx\" href=\"https://vega.github.io/vega/docs/schemes/\" rel=\"noopener ugc nofollow\" target=\"_blank\">here</a>). We\u2019ve also added a title to the legend \u2014 \u201cIDACI\u201d \u2014 and chosen for the legend to be orientated at the top of the map.</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">choro_lsoa = alt.Chart(geodata_lsoa).mark_geoshape(    stroke=\"black\"    ).transform_lookup(        lookup=\"properties.lsoa11nm\",        from_=alt.LookupData(iod_lsoa_data_york,        \"lsoa11nm\",        [\"lsoa11cd\", \"lsoa11nm\", \"lad19cd\", \"lad19nm\", \"income_deprivation_affecting_children\"])        ).transform_filter(            alt.FieldOneOfPredicate(                field=\"properties.lsoa11nm\", oneOf=lsoas_to_plot                )).encode(color=color_lsoa,tooltip=[alt.Tooltip(\"lsoa11nm:N\", title=\"LSOA\"), alt.Tooltip(\"income_deprivation_affecting_children:O\", title=\"IDACI\")]).project(type=\"identity\", reflectY=True).properties(width=500,height=500)</pre><p id=\"b99b\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">We\u2019re also going to configure the map to ensure it looks nice. By setting the titleLimit and labelLimit to 0, if you have a long title, it won\u2019t be cutoff and if you set the strokeWidth to 0, it removes the box around the plot.</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">choro_lsoa = choro_lsoa.configure_legend(    labelLimit = 0,    titleLimit = 0,    titleFontSize = 13,    labelFontSize = 13,    symbolStrokeWidth = 1.5,    symbolSize=150    ).configure_view(        strokeWidth = 0        ).configure_axis(                    labelLimit=0,                    titleLimit=0)</pre><p id=\"31b7\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">And with that, the first step is done \u2014 you have a choropleth map (Figure 2)!</p><figure class=\"oz pa pb pc pd pe ow ox paragraph-image\"><div class=\"ow ox py\"></div><figcaption class=\"pg fe ph ow ox pi pj be b bf z dt\">Figure 2: The choropleth map of York produced from the above code with a preview of the selections which are added in the next section.</figcaption></figure><h1 id=\"188e\" class=\"ny nz gt be oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot ou ov bj\">Creating interactions between a map and a bar chart</h1><p id=\"3913\" class=\"pw-post-body-paragraph mz na gt nb b nc pk ne nf ng pl ni nj nk pm nm nn no pn nq nr ns po nu nv nw gm bj\">Next up, we\u2019re going to plot a bar chart showing the average income deprivation affecting children for the whole of York. This is just setting up the chart so we can add in our selections later. First we create a pandas DataFrame with two columns which are the same as the columns we\u2019re using in the choropleth map \u201clsoa11nm\u201d and \u201cincome_deprivation_affecting_children\u201d. The values of these columns are simply \u201cYork average\u201d and the calculated mean to decimal places, respectively.</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">iod_lsoa_data_york_av = pd.DataFrame({\"lsoa11nm\":[\"York average\"], \"income_deprivation_affecting_children\":[f\"{iod_lsoa_data_york.income_deprivation_affecting_children.mean():.2f}\"]})bar_chart_york_average = (alt.Chart(iod_lsoa_data_york_av).mark_bar(    color=\"#0000FF\"    ).encode(        x=alt.X(\"income_deprivation_affecting_children:Q\",        title=\"IDACI\",        axis=alt.Axis(tickMinStep=1)),        y=alt.Y(\"lsoa11nm:N\",        title=\"LSOA Name\")).properties(width=400, height=200))</pre><p id=\"af5f\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">So now we have two figures \u2014 an incredibly simple bar chart and a choropleth \u2014 and we are now going to enable them to interact with each other.</p><p id=\"f1d2\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">We do this using the \u201cselections\u201d part of the <a class=\"af nx\" href=\"https://altair-viz.github.io/user_guide/interactions.html\" rel=\"noopener ugc nofollow\" target=\"_blank\">Vega-Altair library</a>. There are many options, we could use point selection, single selection or multi selection. We are going to use multi selection which will enable users to hold down \u201cShift\u201d and select as many LSOAs as they like which will then appear on the bar chart.</p><p id=\"0374\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">However, we want the bar chart to be originally empty, rather than show every LSOA in York, so we need a <em class=\"pz\">separate</em> selection for this.</p><p id=\"3dee\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">So let us define these two selections to add to our charts, defining that the selection will be on the field \u201clsoa11nm\u201d.</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">lsoa_select = alt.selection_multi(fields=[\"lsoa11nm\"])lsoa_select_empty = alt.selection_multi(fields=[\"lsoa11nm\"], empty = \"none\")</pre><p id=\"c607\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">We also want the colour of the LSOA which are selected to remain as their IDACI colour and we want the remaining LSOAs to turn to grey. We therefore have to rewrite our previous code to reflect this.</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">color_lsoa = alt.condition(lsoa_select, alt.Color(\"income_deprivation_affecting_children:O\", scale = alt.Scale(scheme=\"yellowgreenblue\"), title=\"IDACI\", legend = alt.Legend(orient=\"top\")), alt.value(\"lightgray\"))</pre><p id=\"f252\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">Using alt.condition, we are adding a conditional selection onto the colour. We\u2019re telling Vega-Altair that on a selection choice, colour the LSOAs selected using the original colour scale, and if they\u2019re not in that selection, make them light grey.</p><p id=\"3537\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">As the main change to the code is in the colour_lsoa definition, there is very little we need to change in the main choropleth plotting code. The only addition is a single line where we define that we want to add our two selections, the first one \u201clsoa_select\u201d to change the colours, and the second one \u201clsoa_select_empty\u201d to add our selections to the bar chart.</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">choro_lsoa = (alt.Chart(geodata_lsoa).mark_geoshape(    stroke=\"black\"    ).transform_lookup(        lookup=\"properties.lsoa11nm\",        from_=alt.LookupData(            iod_lsoa_data_york,            \"lsoa11nm\",            [\"lsoa11cd\", \"lsoa11nm\", \"lad19cd\", \"lad19nm\", \"income_deprivation_affecting_children\"]            )).transform_filter(alt.FieldOneOfPredicate(field=\"properties.lsoa11nm\", oneOf=lsoas_to_plot)            ).encode(                color=color_lsoa,                tooltip=[alt.Tooltip(\"lsoa11nm:N\", title=\"LSOA\"), alt.Tooltip(\"income_deprivation_affecting_children:O\", title=\"IDACI\")]).add_selection(lsoa_select, lsoa_select_empty).project(type=\"identity\", reflectY=True).properties(width=500,height=500))</pre><p id=\"f953\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">Now we already have the York average bar chart, which we would like to stay static. We\u2019re therefore not adding any selections to this. However, we would like a bar chart where the LSOAs selected on the map appear on the figure for comparison \u2014 note how we\u2019re using \u201clsoa_select_empty\u201d as a \u201ctransform_filter\u201d.</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">bar_chart = (alt.Chart(iod_lsoa_data_york).mark_bar(color=\"#0000FF\").encode(    x=alt.X(\"income_deprivation_affecting_children:Q\",        title=\"IDACI\",        axis=alt.Axis(tickMinStep=1)),    y=alt.Y(\"lsoa11nm:N\", title=\"LSOA Name\")).transform_filter(lsoa_select_empty).properties(width=400, height=200))</pre><p id=\"0bca\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">We can now layer the two bar charts into one, the York average one and the LSOA selected one so the York average will always appear even if no LSOAs are selected.</p><p id=\"bbab\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">This is one line of code and can be done incredibly simply in Vega-Altair:</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">bar_charts_combined = bar_chart_york_average + bar_chart</pre><p id=\"e89e\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">We can now combine the bar chart with the choropleth map using alt.vconcat and adding in some extra configuration to make it look pretty.</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">combined_charts = alt.vconcat(choro_lsoa, bar_charts_combined, center=True).configure_legend(labelLimit=0,titleLimit=0,titleFontSize=13,labelFontSize=13,symbolStrokeWidth=1.5,symbolSize=150).configure_view(strokeWidth=0).configure_axis(labelLimit=0,titleLimit=0)</pre><p id=\"e333\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">And ta da \ud83c\udf89, you now have an interactive choropleth map which should look something similar to below (Figure 3).</p><figure class=\"oz pa pb pc pd pe ow ox paragraph-image\"><div class=\"ow ox qa\"></div><figcaption class=\"pg fe ph ow ox pi pj be b bf z dt\">Figure 3: The final completed figure showing the interactivity of the choropleth map with the layered bar chart. The layered bar chart is a plot of the York IDACI average and a plot of the IDACI for the York LSOAs selected on the choropleth plotted on top of each other in the same chart.</figcaption></figure><p id=\"e6ce\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">If you\u2019d like to save your altair figure as html, use the single line of code below:</p><pre class=\"oz pa pb pc pd pp pq pr bo ps ba bj\">combined_charts.save(\"York_IDACI_map_and_bar_chart.html\")</pre><p id=\"f8ec\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">Thanks for following along, hopefully this has helped to show you one of the many use cases for interactive figures using Vega-Altair. Fully commented code for this example can be found in a Jupyter notebook <a class=\"af nx\" href=\"https://github.com/nestauk/dap_medium_articles/blob/dev/streamlit_app_tutorial/altair_interactive_charts_tutorial.ipynb\" rel=\"noopener ugc nofollow\" target=\"_blank\">here</a>. If you\u2019re interested in learning how you can add this easily into a Streamlit app, check out our accompanying blog to this piece \u201c<a class=\"af nx\" rel=\"noopener\" href=\"https://medium.com/data-analytics-at-nesta/creating-interactive-dashboards-in-python-a-tutorial-using-streamlit-84ec94033a32\">How to create a Streamlit app using Python</a>\u201d.</p></div></div></div></div></div></div></div></div></div></div></div></div></section></div></div></article><article class=\"dv\"><div class=\"dv qs l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv uo up uq ur us ut uu uv uw ux uy uz va\"><div class=\"vb\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Graphic setting out the five steps in the pipeline. 1) Principal component analysis, 2) UMAP, 3) running three clustering algorithms, 4) creating a network graph and 5) examining the clusters.\" rel=\"noopener follow\" href=\"https://medium.com/data-analytics-at-nesta/mapping-early-years-practice-building-a-robust-clustering-pipeline-fc8e16a1d03f\"><div class=\"vd ve vf vg vh\"><img alt=\"Graphic setting out the five steps in the pipeline. 1) Principal component analysis, 2) UMAP, 3) running three clustering algorithms, 4) creating a network graph and 5) examining the clusters.\" class=\"bg vi vj vk vl bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*VttFp4pw_-24jU-WIHk6wQ.png\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"vc ab ca cn\"><div class=\"vm vn vo vp vq ab\"><div class=\"qe l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@rachel.wilcock\"><div class=\"l fi\"><img alt=\"Rachel Wilcock\" class=\"l fc bx vr vs cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*R5YKqLUKqMh_ZhOF7Lbx8A.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"vt l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" rel=\"noopener follow\" href=\"https://medium.com/@rachel.wilcock\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Rachel Wilcock</p></a></div></div></div><div class=\"vt l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" href=\"https://medium.com/data-analytics-at-nesta\" rel=\"noopener follow\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Data science at Nesta</p></a></div></div></div></div><div class=\"vu vv vw vx vy vz wa wb wc wd l gm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/data-analytics-at-nesta/mapping-early-years-practice-building-a-robust-clustering-pipeline-fc8e16a1d03f\"><div title=\"\"><h2 class=\"be gu ob od we wf oe of oh wg wh oi nk wi wj wk wl no wm wn wo wp ns wq wr ws wt jj jl jm jo jq bj\">Mapping early years practice: building a robust clustering pipeline</h2></div><div class=\"wu l\"><h3 class=\"be b is z jj wv jl jm ww jo jq dt\">This article has been co-written by Rachel Wilcock and Juan Mateos-Garcia.</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/data-analytics-at-nesta/mapping-early-years-practice-building-a-robust-clustering-pipeline-fc8e16a1d03f\"><div class=\"ab q\">9 min read\u00b7Nov 22, 2022</div></a><div class=\"wx wy wz xa xb l\"><div class=\"ab co\"><div class=\"am xc xd xe xf xg xh xi xj xk xl ab q\"><div class=\"ab q kz\"><div class=\"pw-multi-vote-icon fi ji la lb lc\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fdata-analytics-at-nesta%2Ffc8e16a1d03f&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Fdata-analytics-at-nesta%2Fmapping-early-years-practice-building-a-robust-clustering-pipeline-fc8e16a1d03f&amp;user=Rachel+Wilcock&amp;userId=a556e193fc6f\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"ld ao le lf lg lh am li lj lk lc\"></div></div></div></a></div><div class=\"pw-multi-vote-count l ll lm ln lo lp lq lr\"><p class=\"be b du z dt\">--</p></div></div><div class=\"xm l\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div><div class=\"ab q xn xo\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv qs l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv uo up uq ur us ut uu uv uw ux uy uz va\"><div class=\"vb\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Python packages for assessing the quality of your data\" rel=\"noopener follow\" href=\"https://medium.com/data-analytics-at-nesta/python-packages-for-assessing-the-quality-of-your-data-9dc0712a2e92\"><div class=\"vd ve vf vg vh\"><img alt=\"Python packages for assessing the quality of your data\" class=\"bg vi vj vk vl bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/0*yrL4kCLOIxKHi0T5\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"vc ab ca cn\"><div class=\"vm vn vo vp vq ab\"><div class=\"qe l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@s_pinto\"><div class=\"l fi\"><img alt=\"Sofia Pinto\" class=\"l fc bx vr vs cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*Ju47GCJsU5uVQXKgevqkHg.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"vt l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" rel=\"noopener follow\" href=\"https://medium.com/@s_pinto\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Sofia Pinto</p></a></div></div></div><div class=\"vt l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" href=\"https://medium.com/data-analytics-at-nesta\" rel=\"noopener follow\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Data science at Nesta</p></a></div></div></div></div><div class=\"vu vv vw vx vy vz wa wb wc wd l gm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/data-analytics-at-nesta/python-packages-for-assessing-the-quality-of-your-data-9dc0712a2e92\"><div title=\"\"><h2 class=\"be gu ob od we wf oe of oh wg wh oi nk wi wj wk wl no wm wn wo wp ns wq wr ws wt jj jl jm jo jq bj\">Python packages for assessing the quality of your data</h2></div><div class=\"wu l\"><h3 class=\"be b is z jj wv jl jm ww jo jq dt\">As data scientists, we spend a lot of our time doing exploratory data analysis (EDA), cleaning data and making sure the data we use to\u2026</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/data-analytics-at-nesta/python-packages-for-assessing-the-quality-of-your-data-9dc0712a2e92\"><div class=\"ab q\">9 min read\u00b7Jun 13, 2023</div></a><div class=\"wx wy wz xa xb l\"><div class=\"ab co\"><div class=\"am xc xd xe xf xg xh xi xj xk xl ab q\"><div class=\"ab q kz\"><div class=\"pw-multi-vote-icon fi ji la lb lc\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fdata-analytics-at-nesta%2F9dc0712a2e92&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Fdata-analytics-at-nesta%2Fpython-packages-for-assessing-the-quality-of-your-data-9dc0712a2e92&amp;user=Sofia+Pinto&amp;userId=2104849c9bf8\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"ld ao le lf lg lh am li lj lk lc\"></div></div></div></a></div><div class=\"pw-multi-vote-count l ll lm ln lo lp lq lr\"><p class=\"be b du z dt\">--</p></div></div><div class=\"xm l\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div><div class=\"ab q xn xo\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv qs l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv uo up uq ur us ut uu uv uw ux uy uz va\"><div class=\"vb\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"All you need to get started with Twitter API v2 using Python\" rel=\"noopener follow\" href=\"https://medium.com/data-analytics-at-nesta/all-you-need-to-get-started-with-twitter-api-v2-using-python-6cd4be4d90fe\"><div class=\"vd ve vf vg vh\"><img alt=\"All you need to get started with Twitter API v2 using Python\" class=\"bg vi vj vk vl bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/0*mR0U6OBJn-Ct1d7Q\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"vc ab ca cn\"><div class=\"vm vn vo vp vq ab\"><div class=\"qe l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@s_pinto\"><div class=\"l fi\"><img alt=\"Sofia Pinto\" class=\"l fc bx vr vs cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*Ju47GCJsU5uVQXKgevqkHg.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"vt l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" rel=\"noopener follow\" href=\"https://medium.com/@s_pinto\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Sofia Pinto</p></a></div></div></div><div class=\"vt l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" href=\"https://medium.com/data-analytics-at-nesta\" rel=\"noopener follow\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Data science at Nesta</p></a></div></div></div></div><div class=\"vu vv vw vx vy vz wa wb wc wd l gm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/data-analytics-at-nesta/all-you-need-to-get-started-with-twitter-api-v2-using-python-6cd4be4d90fe\"><div title=\"\"><h2 class=\"be gu ob od we wf oe of oh wg wh oi nk wi wj wk wl no wm wn wo wp ns wq wr ws wt jj jl jm jo jq bj\">All you need to get started with Twitter API v2 using Python</h2></div><div class=\"wu l\"><h3 class=\"be b is z jj wv jl jm ww jo jq dt\">Do you want to start collecting Twitter data, but don\u2019t know where to start? Are you a Python enthusiast? Search no more, this is the blog\u2026</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/data-analytics-at-nesta/all-you-need-to-get-started-with-twitter-api-v2-using-python-6cd4be4d90fe\"><div class=\"ab q\">12 min read\u00b7Dec 1, 2022</div></a><div class=\"wx wy wz xa xb l\"><div class=\"ab co\"><div class=\"am xc xd xe xf xg xh xi xj xk xl ab q\"><div class=\"ab q kz\"><div class=\"pw-multi-vote-icon fi ji la lb lc\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fdata-analytics-at-nesta%2F6cd4be4d90fe&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Fdata-analytics-at-nesta%2Fall-you-need-to-get-started-with-twitter-api-v2-using-python-6cd4be4d90fe&amp;user=Sofia+Pinto&amp;userId=2104849c9bf8\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"ld ao le lf lg lh am li lj lk lc\"></div></div></div></a></div><div class=\"pw-multi-vote-count l ll lm ln lo lp lq lr\"><p class=\"be b du z dt\">--</p></div></div><div class=\"xm l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af fj ah ld aj ak al lu an ao ap aq ar as at lt ab q lv lw\" aria-label=\"responses\" rel=\"noopener follow\" href=\"https://medium.com/data-analytics-at-nesta/all-you-need-to-get-started-with-twitter-api-v2-using-python-6cd4be4d90fe?responsesOpen=true&amp;sortBy=REVERSE_CHRON\"><p class=\"be b du z dt\">1</p></a></div></div></div></div><div class=\"ab q xn xo\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv qs l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv uo up uq ur us ut uu uv uw ux uy uz va\"><div class=\"vb\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"A deep dive into spaCy&#x2019;s span categorisation model\" rel=\"noopener follow\" href=\"https://medium.com/data-analytics-at-nesta/a-deep-dive-into-spacys-span-categorisation-model-992024d047c2\"><div class=\"vd ve vf vg vh\"><img alt=\"A deep dive into spaCy&#x2019;s span categorisation model\" class=\"bg vi vj vk vl bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/0*hIrfq7jdps3oD4gT\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"vc ab ca cn\"><div class=\"vm vn vo vp vq ab\"><div class=\"qe l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@KerleIndia\"><div class=\"l fi\"><img alt=\"India Kerle\" class=\"l fc bx vr vs cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/2*6k8fr8UKARb1U8WQxVGYvQ.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"vt l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" rel=\"noopener follow\" href=\"https://medium.com/@KerleIndia\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">India Kerle</p></a></div></div></div><div class=\"vt l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" href=\"https://medium.com/data-analytics-at-nesta\" rel=\"noopener follow\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Data science at Nesta</p></a></div></div></div></div><div class=\"vu vv vw vx vy vz wa wb wc wd l gm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/data-analytics-at-nesta/a-deep-dive-into-spacys-span-categorisation-model-992024d047c2\"><div title=\"\"><h2 class=\"be gu ob od we wf oe of oh wg wh oi nk wi wj wk wl no wm wn wo wp ns wq wr ws wt jj jl jm jo jq bj\">A deep dive into spaCy\u2019s span categorisation model</h2></div><div class=\"wu l\"><h3 class=\"be b is z jj wv jl jm ww jo jq dt\">Checkout this github repo for access to the spancat training jupyter notebook.</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/data-analytics-at-nesta/a-deep-dive-into-spacys-span-categorisation-model-992024d047c2\"><div class=\"ab q\">8 min read\u00b7Oct 24, 2022</div></a><div class=\"wx wy wz xa xb l\"><div class=\"ab co\"><div class=\"am xc xd xe xf xg xh xi xj xk xl ab q\"><div class=\"ab q kz\"><div class=\"pw-multi-vote-icon fi ji la lb lc\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fdata-analytics-at-nesta%2F992024d047c2&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Fdata-analytics-at-nesta%2Fa-deep-dive-into-spacys-span-categorisation-model-992024d047c2&amp;user=India+Kerle&amp;userId=137e761072f1\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"ld ao le lf lg lh am li lj lk lc\"></div></div></div></a></div><div class=\"pw-multi-vote-count l ll lm ln lo lp lq lr\"><p class=\"be b du z dt\">--</p></div></div><div class=\"xm l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af fj ah ld aj ak al lu an ao ap aq ar as at lt ab q lv lw\" aria-label=\"responses\" rel=\"noopener follow\" href=\"https://medium.com/data-analytics-at-nesta/a-deep-dive-into-spacys-span-categorisation-model-992024d047c2?responsesOpen=true&amp;sortBy=REVERSE_CHRON\"><p class=\"be b du z dt\">3</p></a></div></div></div></div><div class=\"ab q xn xo\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv qs l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv uo up uq ur us ut uu uv uw ux uy uz va\"><div class=\"vb\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Top 5 Data Visualization Libraries in Python in 2023\" rel=\"noopener follow\" href=\"https://medium.com/@yuxuzi/top-5-data-visualization-libraries-in-python-in-2023-9f923df142a6\"><div class=\"vd ve vf vg vh\"><img alt=\"Top 5 Data Visualization Libraries in Python in 2023\" class=\"bg vi vj vk vl bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/0*1GNIlg9IU1CxduI8\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"vc ab ca cn\"><div class=\"vm vn vo vp vq ab\"><div class=\"qe l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@yuxuzi\"><div class=\"l fi\"><img alt=\"Leo Liu\" class=\"l fc bx vr vs cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/0*k0HlTzF1BsS0mRmB.\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"vt l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" rel=\"noopener follow\" href=\"https://medium.com/@yuxuzi\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Leo Liu</p></a></div></div></div></div><div class=\"vu vv vw vx vy vz wa wb wc wd l gm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@yuxuzi/top-5-data-visualization-libraries-in-python-in-2023-9f923df142a6\"><div title=\"\"><h2 class=\"be gu ob od we wf oe of oh wg wh oi nk wi wj wk wl no wm wn wo wp ns wq wr ws wt jj jl jm jo jq bj\">Top 5 Data Visualization Libraries in Python in 2023</h2></div><div class=\"wu l\"><h3 class=\"be b is z jj wv jl jm ww jo jq dt\">Introduction</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@yuxuzi/top-5-data-visualization-libraries-in-python-in-2023-9f923df142a6\"><div class=\"ab q\"><div class=\"qs ab\"><div class=\"bl\" aria-hidden=\"false\">\u00b74 min read\u00b7Jan 4, 2024</div></div></div></a><div class=\"wx wy wz xa xb l\"><div class=\"ab co\"><div class=\"am xc xd xe xf xg xh xi xj xk xl ab q\"><div class=\"ab q kz\"><div class=\"pw-multi-vote-icon fi ji la lb lc\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2F9f923df142a6&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40yuxuzi%2Ftop-5-data-visualization-libraries-in-python-in-2023-9f923df142a6&amp;user=Leo+Liu&amp;userId=f2c469fbb6a3\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"ld ao le lf lg lh am li lj lk lc\"></div></div></div></a></div><div class=\"pw-multi-vote-count l ll lm ln lo lp lq lr\"><p class=\"be b du z dt\">--</p></div></div><div class=\"xm l\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div><div class=\"ab q xn xo\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv qs l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv uo up uq ur us ut uu uv uw ux uy uz va\"><div class=\"vb\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Elevate Your Python Data Visualization Skills: A Deep Dive into Advanced Plotly Techniques with&#x2026;\" rel=\"noopener follow\" href=\"https://medium.com/@danielwume/elevate-your-python-data-visualization-skills-a-deep-dive-into-advanced-plotly-techniques-with-cff8bf2fcd06\"><div class=\"vd ve vf vg vh\"><img alt=\"Elevate Your Python Data Visualization Skills: A Deep Dive into Advanced Plotly Techniques with&#x2026;\" class=\"bg vi vj vk vl bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*4LMaNXCRsznmnTTIWDCSMQ.jpeg\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"vc ab ca cn\"><div class=\"vm vn vo vp vq ab\"><div class=\"qe l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@danielwume\"><div class=\"l fi\"><img alt=\"Daniel Wu\" class=\"l fc bx vr vs cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*al7TEHFXwNWDc9rNja95TQ@2x.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"vt l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" rel=\"noopener follow\" href=\"https://medium.com/@danielwume\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Daniel Wu</p></a></div></div></div></div><div class=\"vu vv vw vx vy vz wa wb wc wd l gm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@danielwume/elevate-your-python-data-visualization-skills-a-deep-dive-into-advanced-plotly-techniques-with-cff8bf2fcd06\"><div title=\"Elevate Your Python Data Visualization Skills: A Deep Dive into Advanced Plotly Techniques with&#x2026;\"><h2 class=\"be gu ob od we wf oe of oh wg wh oi nk wi wj wk wl no wm wn wo wp ns wq wr ws wt jj jl jm jo jq bj\">Elevate Your Python Data Visualization Skills: A Deep Dive into Advanced Plotly Techniques with\u2026</h2></div><div class=\"wu l\"><h3 class=\"be b is z jj wv jl jm ww jo jq dt\">Data visualization is a crucial aspect of data analysis and exploration. It helps in gaining insights into the underlying patterns, trends\u2026</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@danielwume/elevate-your-python-data-visualization-skills-a-deep-dive-into-advanced-plotly-techniques-with-cff8bf2fcd06\"><div class=\"ab q\">8 min read\u00b7Nov 21, 2023</div></a><div class=\"wx wy wz xa xb l\"><div class=\"ab co\"><div class=\"am xc xd xe xf xg xh xi xj xk xl ab q\"><div class=\"ab q kz\"><div class=\"pw-multi-vote-icon fi ji la lb lc\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2Fcff8bf2fcd06&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40danielwume%2Felevate-your-python-data-visualization-skills-a-deep-dive-into-advanced-plotly-techniques-with-cff8bf2fcd06&amp;user=Daniel+Wu&amp;userId=e1dc2d87c2b7\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"ld ao le lf lg lh am li lj lk lc\"></div></div></div></a></div><div class=\"pw-multi-vote-count l ll lm ln lo lp lq lr\"><p class=\"be b du z dt\">--</p></div></div><div class=\"xm l\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div><div class=\"ab q xn xo\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv qs l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv uo up uq ur us ut uu uv uw ux uy uz va\"><div class=\"vb\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Working with DateTime data in Polars\" rel=\"noopener follow\" href=\"https://medium.com/@riellygriffiths/working-with-datetime-data-in-polars-9bb57e7f6304\"><div class=\"vd ve vf vg vh\"><img alt=\"Working with DateTime data in Polars\" class=\"bg vi vj vk vl bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/0*wghOcIP2mZ9Hnutt\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"vc ab ca cn\"><div class=\"vm vn vo vp vq ab\"><div class=\"qe l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@riellygriffiths\"><div class=\"l fi\"><img alt=\"Rielly Griffiths\" class=\"l fc bx vr vs cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*TP4C-7RgOm1vcgHeIZ6C8g.png\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"vt l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" rel=\"noopener follow\" href=\"https://medium.com/@riellygriffiths\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Rielly Griffiths</p></a></div></div></div></div><div class=\"vu vv vw vx vy vz wa wb wc wd l gm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@riellygriffiths/working-with-datetime-data-in-polars-9bb57e7f6304\"><div title=\"\"><h2 class=\"be gu ob od we wf oe of oh wg wh oi nk wi wj wk wl no wm wn wo wp ns wq wr ws wt jj jl jm jo jq bj\">Working with DateTime data in Polars</h2></div><div class=\"wu l\"><h3 class=\"be b is z jj wv jl jm ww jo jq dt\">Using Polars can make working with datetime data much easier</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@riellygriffiths/working-with-datetime-data-in-polars-9bb57e7f6304\"><div class=\"ab q\">5 min read\u00b7Nov 16, 2023</div></a><div class=\"wx wy wz xa xb l\"><div class=\"ab co\"><div class=\"am xc xd xe xf xg xh xi xj xk xl ab q\"><div class=\"ab q kz\"><div class=\"pw-multi-vote-icon fi ji la lb lc\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2F9bb57e7f6304&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40riellygriffiths%2Fworking-with-datetime-data-in-polars-9bb57e7f6304&amp;user=Rielly+Griffiths&amp;userId=1b773aabab9b\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"ld ao le lf lg lh am li lj lk lc\"></div></div></div></a></div><div class=\"pw-multi-vote-count l ll lm ln lo lp lq lr\"><p class=\"be b du z dt\">--</p></div></div><div class=\"xm l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af fj ah ld aj ak al lu an ao ap aq ar as at lt ab q lv lw\" aria-label=\"responses\" rel=\"noopener follow\" href=\"https://medium.com/@riellygriffiths/working-with-datetime-data-in-polars-9bb57e7f6304?responsesOpen=true&amp;sortBy=REVERSE_CHRON\"><p class=\"be b du z dt\">1</p></a></div></div></div></div><div class=\"ab q xn xo\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv qs l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv uo up uq ur us ut uu uv uw ux uy uz va\"><div class=\"vb\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"8 Tips for Creating Data Visualizations in Python using Bokeh\" rel=\"noopener follow\" href=\"https://medium.com/towards-data-science/8-tips-for-creating-data-visualizations-in-python-using-bokeh-d7a01701503d\"><div class=\"vd ve vf vg vh\"><img alt=\"8 Tips for Creating Data Visualizations in Python using Bokeh\" class=\"bg vi vj vk vl bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*eTt4AjMkfJhrcYjiTmHwwA.jpeg\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"vc ab ca cn\"><div class=\"vm vn vo vp vq ab\"><div class=\"qe l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@payal-patel\"><div class=\"l fi\"><img alt=\"Payal Patel\" class=\"l fc bx vr vs cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*DCn05uhzGv03SMKpFqYQwg.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"vt l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" rel=\"noopener follow\" href=\"https://medium.com/@payal-patel\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Payal Patel</p></a></div></div></div><div class=\"vt l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" href=\"https://medium.com/towards-data-science\" rel=\"noopener follow\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Towards Data Science</p></a></div></div></div></div><div class=\"vu vv vw vx vy vz wa wb wc wd l gm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/towards-data-science/8-tips-for-creating-data-visualizations-in-python-using-bokeh-d7a01701503d\"><div title=\"\"><h2 class=\"be gu ob od we wf oe of oh wg wh oi nk wi wj wk wl no wm wn wo wp ns wq wr ws wt jj jl jm jo jq bj\">8 Tips for Creating Data Visualizations in Python using Bokeh</h2></div><div class=\"wu l\"><h3 class=\"be b is z jj wv jl jm ww jo jq dt\">Quick tips and examples to create data visualizations using the Bokeh library</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/towards-data-science/8-tips-for-creating-data-visualizations-in-python-using-bokeh-d7a01701503d\"><div class=\"ab q\">11 min read\u00b7Dec 16, 2022</div></a><div class=\"wx wy wz xa xb l\"><div class=\"ab co\"><div class=\"am xc xd xe xf xg xh xi xj xk xl ab q\"><div class=\"ab q kz\"><div class=\"pw-multi-vote-icon fi ji la lb lc\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Ftowards-data-science%2Fd7a01701503d&amp;operation=register&amp;redirect=https%3A%2F%2Ftowardsdatascience.com%2F8-tips-for-creating-data-visualizations-in-python-using-bokeh-d7a01701503d&amp;user=Payal+Patel&amp;userId=609389be1ac2\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"ld ao le lf lg lh am li lj lk lc\"></div></div></div></a></div><div class=\"pw-multi-vote-count l ll lm ln lo lp lq lr\"><p class=\"be b du z dt\">--</p></div></div><div class=\"xm l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af fj ah ld aj ak al lu an ao ap aq ar as at lt ab q lv lw\" aria-label=\"responses\" rel=\"noopener follow\" href=\"https://medium.com/towards-data-science/8-tips-for-creating-data-visualizations-in-python-using-bokeh-d7a01701503d?responsesOpen=true&amp;sortBy=REVERSE_CHRON\"><p class=\"be b du z dt\">3</p></a></div></div></div></div><div class=\"ab q xn xo\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv qs l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv uo up uq ur us ut uu uv uw ux uy uz va\"><div class=\"vb\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"SQLAlchemy Strategies for Bulk Data Loading and Data Type Control\" rel=\"noopener follow\" href=\"https://medium.com/gitconnected/sqlalchemy-strategies-for-bulk-data-loading-and-data-type-control-fcb8e7ff9988\"><div class=\"vd ve vf vg vh\"><img alt=\"SQLAlchemy Strategies for Bulk Data Loading and Data Type Control\" class=\"bg vi vj vk vl bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/0*TtawMmesTSiFkAjr\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"vc ab ca cn\"><div class=\"vm vn vo vp vq ab\"><div class=\"qe l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@amit-kumar-manjhi\"><div class=\"l fi\"><img alt=\"Amit Kumar Manjhi\" class=\"l fc bx vr vs cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*KoeN_Ec914JJmcP7BFt8ZA.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"vt l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" rel=\"noopener follow\" href=\"https://medium.com/@amit-kumar-manjhi\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Amit Kumar Manjhi</p></a></div></div></div><div class=\"vt l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" href=\"https://medium.com/gitconnected\" rel=\"noopener follow\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Level Up Coding</p></a></div></div></div></div><div class=\"vu vv vw vx vy vz wa wb wc wd l gm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/gitconnected/sqlalchemy-strategies-for-bulk-data-loading-and-data-type-control-fcb8e7ff9988\"><div title=\"\"><h2 class=\"be gu ob od we wf oe of oh wg wh oi nk wi wj wk wl no wm wn wo wp ns wq wr ws wt jj jl jm jo jq bj\">SQLAlchemy Strategies for Bulk Data Loading and Data Type Control</h2></div><div class=\"wu l\"><h3 class=\"be b is z jj wv jl jm ww jo jq dt\">In the world of data processing, handling large datasets efficiently is crucial. Python\u2019s Pandas library is a popular choice for data\u2026</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/gitconnected/sqlalchemy-strategies-for-bulk-data-loading-and-data-type-control-fcb8e7ff9988\"><div class=\"ab q\"><div class=\"qs ab\"><div class=\"bl\" aria-hidden=\"false\">\u00b73 min read\u00b7Sep 21, 2023</div></div></div></a><div class=\"wx wy wz xa xb l\"><div class=\"ab co\"><div class=\"am xc xd xe xf xg xh xi xj xk xl ab q\"><div class=\"ab q kz\"><div class=\"pw-multi-vote-icon fi ji la lb lc\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fgitconnected%2Ffcb8e7ff9988&amp;operation=register&amp;redirect=https%3A%2F%2Flevelup.gitconnected.com%2Fsqlalchemy-strategies-for-bulk-data-loading-and-data-type-control-fcb8e7ff9988&amp;user=Amit+Kumar+Manjhi&amp;userId=ca25a224948f\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"ld ao le lf lg lh am li lj lk lc\"></div></div></div></a></div><div class=\"pw-multi-vote-count l ll lm ln lo lp lq lr\"><p class=\"be b du z dt\">--</p></div></div><div class=\"xm l\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div><div class=\"ab q xn xo\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv qs l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv uo up uq ur us ut uu uv uw ux uy uz va\"><div class=\"vb\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"YData Profiling\" rel=\"noopener follow\" href=\"https://medium.com/@bryanpaget/ydata-profiling-71b23ef5ff07\"><div class=\"vd ve vf vg vh\"><img alt=\"YData Profiling\" class=\"bg vi vj vk vl bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*BgR6luAoRSiU_Ic_WSKQdg.png\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"vc ab ca cn\"><div class=\"vm vn vo vp vq ab\"><div class=\"qe l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@bryanpaget\"><div class=\"l fi\"><img alt=\"Bryan Paget\" class=\"l fc bx vr vs cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*qM2fPjlXoZwz3i1lCUDf3Q.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"vt l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar iu ab q\" rel=\"noopener follow\" href=\"https://medium.com/@bryanpaget\"><p class=\"be b du z jj jk jl jm jn jo jp jq bj\">Bryan Paget</p></a></div></div></div></div><div class=\"vu vv vw vx vy vz wa wb wc wd l gm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@bryanpaget/ydata-profiling-71b23ef5ff07\"><div title=\"\"><h2 class=\"be gu ob od we wf oe of oh wg wh oi nk wi wj wk wl no wm wn wo wp ns wq wr ws wt jj jl jm jo jq bj\">YData Profiling</h2></div><div class=\"wu l\"><h3 class=\"be b is z jj wv jl jm ww jo jq dt\">YData Profiling stands as a powerful tool designed to simplify and enhance the data exploration experience, catering specifically to the\u2026</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@bryanpaget/ydata-profiling-71b23ef5ff07\"><div class=\"ab q\">3 min read\u00b7Nov 29, 2023</div></a><div class=\"wx wy wz xa xb l\"><div class=\"ab co\"><div class=\"am xc xd xe xf xg xh xi xj xk xl ab q\"><div class=\"ab q kz\"><div class=\"pw-multi-vote-icon fi ji la lb lc\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2F71b23ef5ff07&amp;operation=register&amp;redirect=https%3A%2F%2Fbryanpaget.medium.com%2Fydata-profiling-71b23ef5ff07&amp;user=Bryan+Paget&amp;userId=8ac0afd2e22f\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"ld ao le lf lg lh am li lj lk lc\"></div></div></div></a></div><div class=\"pw-multi-vote-count l ll lm ln lo lp lq lr\"><p class=\"be b du z dt\">--</p></div></div><div class=\"xm l\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div><div class=\"ab q xn xo\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div></div></div></div></div></div></div></div></div></article>",
    "created_at": "2024-02-20T09:40:02+00:00",
    "updated_at": "2024-02-20T09:40:15+00:00",
    "published_at": "2023-05-30T14:29:49+00:00",
    "published_by": [""],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 12,
    "domain_name": "medium.com",
    "preview_picture": "https://miro.medium.com/v2/da:true/resize:fit:530/1*JSWvtbUOVdP5iRHht6PizA.gif",
    "http_status": "200",
    "headers": {
      "date": "Tue, 20 Feb 2024 09:40:02 GMT",
      "content-type": "text/html; charset=utf-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "cf-ray": "8585c926baedf097-CDG",
      "cf-cache-status": "DYNAMIC",
      "cache-control": "no-cache, no-store, max-age=0, must-revalidate",
      "link": "<https://glyph.medium.com/css/unbound.css>; as=\"style\"; rel=\"preload\"",
      "set-cookie": "uid=lo_dc559b806102; Domain=medium.com; Path=/; Expires=Thu, 20 Feb 2025 09:40:01 GMT; HttpOnly; Secure; SameSite=None",
      "strict-transport-security": "max-age=15552000; includeSubDomains; preload",
      "vary": "Accept-Encoding",
      "content-security-policy": "frame-ancestors 'self' https://medium.com",
      "medium-fulfilled-by": "edgy/8.7.0, valencia/main-20240219-160859-5b3d40600d, lite/main-20240219-160859-5b3d40600d, rito/main-20240219-163344-0f027c918e, tutu/main-20240219-162333-6e4ccfdf8c",
      "medium-missing-time": "376",
      "worker-missing-cookies": "1",
      "x-content-type-options": "nosniff",
      "x-envoy-upstream-service-time": "555",
      "x-request-received-at": "1708422001820",
      "server": "cloudflare",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["wordpress", "theme"],
    "is_public": false,
    "id": 75,
    "title": "Comment cr\u00e9er son propre th\u00e8me WordPress ? Lisez notre guide",
    "url": "https://www.leclipseduweb.fr/comment-creer-son-propre-theme-wordpress/",
    "given_url": "https://www.leclipseduweb.fr/comment-creer-son-propre-theme-wordpress/",
    "content": "<div class=\"et_pb_row et_pb_row_0 et_pb_column et_pb_column_4_4 et_pb_column_0 et_pb_css_mix_blend_mode_passthrough et-last-child et_pb_module et_pb_text et_pb_text_0 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<p>WordPress est le CMS le plus utilis\u00e9 dans le monde, des plus grandes aux plus petites entreprises. On estime qu\u2019il repr\u00e9sente \u00e0 lui seul plus de 35 % de part de march\u00e9 des CMS. Son utilisation est simplifi\u00e9e par de nombreux plugins et des builders qui permettent de cr\u00e9er son th\u00e8me WordPress facilement gr\u00e2ce \u00e0 des gliss\u00e9s d\u00e9pos\u00e9s. Cependant, aujourd\u2019hui, nous allons nous int\u00e9resser \u00e0 <strong>\u201ccomment cr\u00e9er son th\u00e8me\u201d</strong> WordPress soi-m\u00eame sans passer par des constructeurs de pages comme <strong>\u00c9l\u00e9mentor</strong> ou <strong>DIVI</strong>.</p>\n</div><div class=\"et_pb_row et_pb_row_1 et_pb_column et_pb_column_4_4 et_pb_column_1 et_pb_css_mix_blend_mode_passthrough et-last-child\">\n<div class=\"et_pb_module et_pb_text et_pb_text_1 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<p class=\"c1\"><em>10 minutes de lecture</em></p>\n</div>\n</div>\n<div class=\"et_pb_with_border et_pb_row et_pb_row_2 et_pb_column et_pb_column_4_4 et_pb_column_2 et_pb_css_mix_blend_mode_passthrough et-last-child\">\n<div class=\"et_pb_module dsm_animated_gradient_text dsm_animated_gradient_text_0 et_pb_module_inner\">\n<p class=\"dsm-animated-gradient-text et_pb_module_header\">Sommaire interactif :</p>\n</div>\n<div class=\"et_pb_with_border et_pb_module et_pb_text et_pb_text_2 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<ul><li><a href=\"https://www.leclipseduweb.fr/comment-creer-son-propre-theme-wordpress/#ancre1\">Pourquoi cr\u00e9er son propre th\u00e8me WordPress ?</a></li>\n<li>\u200b<a href=\"https://www.leclipseduweb.fr/comment-creer-son-propre-theme-wordpress/#ancre2\">Th\u00e8me enfant ou th\u00e8me from scratch ?</a></li>\n<li><a href=\"https://www.leclipseduweb.fr/comment-creer-son-propre-theme-wordpress/#ancre3\">La pr\u00e9paration pour la cr\u00e9ation de votre th\u00e8me</a></li>\n<li><a href=\"https://www.leclipseduweb.fr/comment-creer-son-propre-theme-wordpress/#ancre4\">La structure d\u2019un th\u00e8me WordPress</a></li>\n<li><a href=\"https://www.leclipseduweb.fr/comment-creer-son-propre-theme-wordpress/#ancre5\">\u200bLes fonctionnalit\u00e9s de base de WordPress</a></li>\n<li><a href=\"https://www.leclipseduweb.fr/comment-creer-son-propre-theme-wordpress/#ancre6\">Comment tester son th\u00e8me ?</a></li>\n<li><a href=\"https://www.leclipseduweb.fr/comment-creer-son-propre-theme-wordpress/#ancre7\">Comment cr\u00e9er son propre th\u00e8me WordPress ? \u2013 Conclusion</a></li>\n</ul></div>\n</div>\n<div id=\"ancre1\" class=\"et_pb_row et_pb_row_3 et_pb_column et_pb_column_4_4 et_pb_column_3 et_pb_css_mix_blend_mode_passthrough et-last-child\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<h2>Pourquoi cr\u00e9er son propre th\u00e8me WordPress ?</h2>\n<p>Beaucoup d\u2019entreprises proposent la cr\u00e9ation de <strong>sites WordPress</strong> en utilisant des solutions rapides, mais pas toujours performantes. Passer par un professionnel pour la cr\u00e9ation de site internet <strong><a href=\"https://www.inumedia.fr\" target=\"_blank\" rel=\"noopener\">WordPress sur mesure</a></strong> reste la meilleure solution pour vous proposer un site <strong>rapide</strong> et <strong>performant</strong>, mais cela a un prix. Il peut donc \u00eatre pertinent de relever ses manches et apprendre \u00e0 cr\u00e9er soi-m\u00eame son propre th\u00e8me, avec tous les avantages que cela comportera.</p>\n<h3>Un rendu vraiment unique !</h3>\n<p>Tout d\u2019abord, cr\u00e9er votre propre design de <strong><a href=\"https://www.leclipseduweb.fr/createur-de-site-vitrine-a-chartres-en-eure-et-loir/\">site internet</a></strong> va vous permettre de vous d\u00e9marquer, d\u2019avoir un site qui vous ressemble. Il est important que vos clients puissent vous reconna\u00eetre gr\u00e2ce \u00e0 votre <strong>identit\u00e9 de marque</strong>. Utiliser un th\u00e8me issu de <strong>ThemeForest</strong>, par exemple, vous simplifiera la t\u00e2che certes, mais vous risquerez d\u2019utiliser un th\u00e8me qui sera d\u00e9j\u00e0 vu et vous ne vous d\u00e9marquerez pas. Votre entreprise est unique, pourquoi pas votre site ?</p>\n</div>\n<div class=\"et_pb_module et_pb_code et_pb_code_0 et_pb_code_inner tenor-gif-embed\"><a href=\"https://tenor.com/view/tpmp-giftpmp-phrase-julien-courbet-gif-7182618\" target=\"_blank\" rel=\"noopener\">Tpmp Giftpmp GIF</a>from <a href=\"https://tenor.com/search/tpmp-gifs\" target=\"_blank\" rel=\"noopener\">Tpmp GIFs</a></div>\n<div class=\"et_pb_module et_pb_text et_pb_text_4 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<h3>\u00c9viter les constructeurs de page</h3>\n<p>Posez-vous cette question, lorsque vous partez en vacances, que prenez-vous dans votre voiture ? Votre frigo, micro-ondes et machine \u00e0 laver pour le \u00ab\u00a0cas o\u00f9\u00a0\u00bb il n\u2019y en aurait pas sur place ?</p>\n<p>Bien s\u00fbr que non ! Vous ne prenez que le strict n\u00e9cessaire. Pour votre site web, c\u2019est la m\u00eame chose. Les <strong>builders</strong> embarquent des tonnes de fonctionnalit\u00e9s qui ne vous serviront pas. Ces fonctionnalit\u00e9s ne g\u00e8rent pas les \u201c<strong>hooks</strong>\u00ab\u00a0, c\u2019est-\u00e0-dire que m\u00eame si elles ne sont pas utilis\u00e9es, elles sont charg\u00e9es en arri\u00e8re-plan. Le r\u00e9sultat : votre site sera alourdi. Il faudra donc passer par une <strong>optimisation</strong>. Cependant, le champ d\u2019action d\u2019optimisation est souvent limit\u00e9 lorsqu\u2019on utilise des <strong>constructeurs de pages</strong>. Cr\u00e9er son propre th\u00e8me vous permet de charger uniquement ce dont vous avez besoin.</p>\n<h3>Contr\u00f4le de votre SEO</h3>\n<p>Un th\u00e8me mal con\u00e7u peut \u00eatre une catastrophe pour votre <strong>r\u00e9f\u00e9rencement naturel</strong>. Malheureusement, ceci ne se voit pas lorsque vous l\u2019installez, mais vous le verrez sur le long terme. G\u00e9n\u00e9ralement, les th\u00e8mes les plus c\u00e9l\u00e8bres, mis \u00e0 jour, vous \u00e9viteront ce genre de soucis. Mais quand on choisit un th\u00e8me dans des banques de th\u00e8mes, on se fie plus \u00e0 son apparence qu\u2019\u00e0 sa c\u00e9l\u00e9brit\u00e9. <strong>Concevoir votre th\u00e8me</strong>, avec les bonnes connaissances, vous garantira qu\u2019il soit adapt\u00e9 pour les <strong>moteurs de recherche</strong>.</p>\n<h3>\u00c9volution</h3>\n<p>Chaque th\u00e8me a sa propre logique ; il est construit selon la vision de son <strong>d\u00e9veloppeur</strong>. Cette vision ne sera pas forc\u00e9ment la m\u00eame que la v\u00f4tre. Ainsi, lorsque vous devrez faire \u00e9voluer votre site internet, il pourra vous sembler compliqu\u00e9 de rajouter des modules d\u00e9velopp\u00e9s \u00e0 votre site internet. Il vous faudra passer par un professionnel.</p>\n<h3>Nourrir vos connaissances WordPress</h3>\n<p>Il n\u2019y a pas de secret, pour apprendre \u00e0 cr\u00e9er son <strong>th\u00e8me WordPress</strong>, il va falloir se documenter. La documentation passe par le <strong>Codex</strong> de WordPress. Comprendre et apprendre ce Codex vous donnera les armes de r\u00e9solution de <strong>bugs</strong> de votre site. Cela vous donnera une ind\u00e9pendance dans la gestion de votre site internet.</p>\n</div>\n</div>\n<div class=\"et_pb_row et_pb_row_4 et_pb_column et_pb_column_4_4 et_pb_column_4 et_pb_css_mix_blend_mode_passthrough et-last-child et_pb_module et_pb_text et_pb_text_5 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<blockquote>\n<p><em>\u00ab\u00a0Si vous travaillez sur le front-end, il vous faudra des connaissances solides en HTML, CSS, PHP et JavaScript.\u00a0\u00bb</em></p>\n</blockquote>\n</div>\n<div id=\"ancre2\" class=\"et_pb_row et_pb_row_5 et_pb_column et_pb_column_4_4 et_pb_column_5 et_pb_css_mix_blend_mode_passthrough et-last-child et_pb_module et_pb_text et_pb_text_6 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<h2>Th\u00e8me enfant ou th\u00e8me from scratch ?</h2>\n<p>Il existe deux solutions pour cr\u00e9er votre th\u00e8me WordPress. L\u2019une est plus rassurante, l\u2019autre plus efficace.</p>\n<h3>Le th\u00e8me enfant</h3>\n<p>Un <a href=\"https://wpformation.com/theme-enfant-wordpress/\" target=\"_blank\" rel=\"noopener\"><strong>th\u00e8me enfant</strong></a> consiste \u00e0 cr\u00e9er une variante de votre th\u00e8me principal. La plupart des boutiques de vente de th\u00e8mes WordPress vous proposent \u00e0 pr\u00e9sent un th\u00e8me child lors de l\u2019installation. Le th\u00e8me enfant permet de changer des propri\u00e9t\u00e9s de <strong>CSS</strong>, modifier des fonctionnalit\u00e9s de votre th\u00e8me \u00ab\u00a0parent\u00a0\u00bb sans modifier ce dernier.Par exemple, si nous modifions le template \u00ab\u00a0cat\u00e9gorie\u00a0\u00bb dans le th\u00e8me parent, lors de la prochaine <strong>mise \u00e0 jour du th\u00e8me</strong>, votre template sera \u00e9cras\u00e9.</p>\n<p>Si nous copions collons le <strong>template</strong> \u00ab\u00a0cat\u00e9gorie\u00a0\u00bb dans le th\u00e8me enfant et qu\u2019il est modifi\u00e9 dans ce dernier, il ne sera pas \u00e9cras\u00e9.Vous pouvez \u00e9galement faire le choix de ne pas charger votre style de th\u00e8me parent dans votre th\u00e8me enfant. Ainsi, vous repartez d\u2019une base de z\u00e9ro en CSS, ce qui vous \u00e9vitera de surcoucher donc d\u2019alourdir votre CSS et le temps de traitement.</p>\n<p>En utilisant un th\u00e8me enfant, vous \u00eates rassur\u00e9, car vous ne touchez pas au vrai th\u00e8me et quand on n\u2019a pas l\u2019habitude, on a toujours un peu peur de tout casser.</p>\n<h3>Le th\u00e8me from scratch</h3>\n<p>Le th\u00e8me enfant a cependant ses limites. Finalement, quand vous recr\u00e9ez 80 % des templates du parent dans le th\u00e8me enfant, quel est l\u2019int\u00e9r\u00eat de garder le th\u00e8me parent ?</p>\n<p>C\u2019est ici que le th\u00e8me from scratch arrive. On part donc de z\u00e9ro et on cr\u00e9e nous-m\u00eames notre <strong>structure</strong>. Mais je vous entends d\u2019ici</p>\n<p class=\"c1\"><em>\u00ab\u00a0On va tout casser, c\u2019est trop compliqu\u00e9 !\u00a0\u00bb</em></p>\n<p>C\u2019est une peur que j\u2019ai \u00e9galement ressentie, mais je vous rassure, elle n\u2019est pas l\u00e9gitime. Si vous \u00eates d\u00e9j\u00e0 pass\u00e9 par l\u2019\u00e9tape de cr\u00e9er des th\u00e8mes enfants, alors ce deuxi\u00e8me pas vers le d\u00e9veloppement de th\u00e8me WordPress n\u2019est absolument pas insurmontable. Le tout est de comprendre la logique et la structure des th\u00e8mes et aussi les indispensables \u00e0 mettre en place.</p>\n</div>\n<div id=\"ancre3\" class=\"et_pb_row et_pb_row_6 et_pb_column et_pb_column_4_4 et_pb_column_6 et_pb_css_mix_blend_mode_passthrough et-last-child et_pb_module et_pb_text et_pb_text_7 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<h2>La pr\u00e9paration pour la cr\u00e9ation du th\u00e8me</h2>\n<p>Avant toute chose, vous devez \u00eatre \u00e9quip\u00e9s aussi bien sur le plan mat\u00e9riel que sur le plan des connaissances techniques.</p>\n<h3>Les connaissances techniques</h3>\n<p>Si vous travaillez sur le front-end, il vous faudra des connaissances solides en HTML, CSS, PHP et JavaScript.</p>\n<ul><li><strong>L\u2019HTML</strong> vous permettra de cr\u00e9er votre structure de page et de comprendre les structures souhait\u00e9es par WordPress. Ce sera le squelette de votre site.</li>\n<li><strong>Le CSS</strong> vous permettra d\u2019habiller votre site internet, de le rendre joli.</li>\n<li><strong>Le PHP</strong> est le fonctionnement des CMS, il permet de r\u00e9cup\u00e9rer des donn\u00e9es de mani\u00e8re dynamique gr\u00e2ce \u00e0 des fonctions. C\u2019est gr\u00e2ce au PHP et \u00e0 la base de donn\u00e9es que les donn\u00e9es saisies dans votre administration sont affich\u00e9es. Si le PHP n\u2019appelle pas ce contenu, rien n\u2019est affich\u00e9, il vous faudrait alors travailler en HTML dans le template et vous perdriez le c\u00f4t\u00e9 dynamique. WordPress a sa propre logique, ses propres fonctions PHP et tout est indiqu\u00e9 dans le Codex.</li>\n<li><strong>Le JavaScript</strong> vous permettra d\u2019animer vos \u00e9l\u00e9ments, vous pourrez ainsi ajouter des fonctionnalit\u00e9s interactives sans recharger la page, am\u00e9liorer l\u2019interface utilisateur gr\u00e2ce notamment \u00e0 de l\u2019<strong>AJAX</strong>, g\u00e9rer les <strong>API</strong> ou encore le contenu.</li>\n</ul><h3>Utiliser les bons outils</h3>\n<p>Il vous faudra au plus simple un traitement de texte ou un logiciel tel que <strong>Visual Composer</strong> pour cr\u00e9er ou modifier vos fichiers. Vous devrez installer WordPress en local sur votre machine avec un logiciel comme XAMP ou <strong>WAMP</strong> afin de simuler un serveur.</p>\n<p>Pour rappel, <strong><a href=\"https://www.leclipseduweb.fr/pourquoi-choisir-wordpress/\">WordPress</a></strong> est un CMS, il fonctionne en PHP, MySQL. Il a besoin d\u2019un serveur o\u00f9 est install\u00e9e la base de donn\u00e9es. C\u2019est dans cette derni\u00e8re que tout ce qui se passe sur votre site est stock\u00e9.</p>\n<p>\u00c0 chaque \u00ab\u00a0enregistrement\u00a0\u00bb d\u2019un article ou param\u00e8tre ou page, la base de donn\u00e9es est mise \u00e0 jour et le nouveau contenu est affich\u00e9.</p>\n<p>Une installation en local permet de simuler ce serveur en ligne.</p>\n</div>\n<div class=\"et_pb_row et_pb_row_7 et_pb_column et_pb_column_4_4 et_pb_column_7 et_pb_css_mix_blend_mode_passthrough et-last-child\">\n<div class=\"et_pb_module et_pb_video et_pb_video_0 et_pb_video_box\"><iframe title=\"Cr\u00e9er un th\u00e8me WordPress : Chapitre 4, Cr\u00e9ation du th\u00e8me\" width=\"1080\" height=\"608\" src=\"https://www.youtube.com/embed/FYUvBuEsaAY?feature=oembed\" allowfullscreen=\"allowfullscreen\">[embedded content]</iframe></div>\n<div class=\"et_pb_module et_pb_text et_pb_text_8 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<p class=\"c1\"><em>Excellente vid\u00e9o sign\u00e9e Graphikart !</em></p>\n</div>\n</div>\n<div id=\"ancre4\" class=\"et_pb_row et_pb_row_8 et_pb_column et_pb_column_4_4 et_pb_column_8 et_pb_css_mix_blend_mode_passthrough et-last-child\">\n<div class=\"et_pb_module et_pb_text et_pb_text_9 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<h2>La structure d\u2019un th\u00e8me WordPress</h2>\n<p>Maintenant que vous \u00eates arm\u00e9s des bonnes connaissances et des bons outils, il va falloir comprendre la structure/logique d\u2019un th\u00e8me WordPress. Tout d\u2019abord, un th\u00e8me WordPress, se place dans votre <strong>FTP</strong> ou serveur local dans le dossier <strong>\u00ab\u00a0wp-content/themes\u00a0\u00bb</strong>.</p>\n<p>\u00c0 cet endroit, vous cr\u00e9ez votre dossier et y glisserez les fichiers n\u00e9cessaires.</p>\n<h3>Les indispensables</h3>\n<p>Pour bien fonctionner, un th\u00e8me WordPress a besoin de ces 5 fichiers :</p>\n<ul><li><strong>index.php</strong> : il d\u00e9finira un mod\u00e8le de page s\u2019il n\u2019en existe pas d\u2019autre. Ainsi, si vous ne cr\u00e9ez pas de template pour les articles, pages, posts ou page d\u2019accueil, c\u2019est celui-ci qui sera appel\u00e9 par d\u00e9faut.</li>\n</ul><pre class=\"a-b-r-La\">&lt;?php\n/**\n * The main template file\n *\n * This is the most generic template file in a WordPress theme\n * and one of the two required files for a theme (the other being style.css).\n * It is used to display a page when nothing more specific matches a query.\n * E.g., it puts together the home page when no home.php file exists.\n *\n * @link https://developer.wordpress.org/themes/basics/template-hierarchy/\n *\n * @package WordPress\n */\nget_header(); ?&gt;\n&lt;div class=\"wrap\"&gt;        \n        &lt;div id=\"primary\" class=\"content-area\"&gt;\n                &lt;main id=\"main\" class=\"site-main\" role=\"main\"&gt;\n&lt;?php get_template_part('flexible') ?&gt;\n                &lt;/main&gt;&lt;!-- #main --&gt;\n        &lt;/div&gt;&lt;!-- #primary --&gt;\n&lt;/div&gt;&lt;!-- .wrap --&gt;\n&lt;?php\nget_footer();</pre>\n<ul><li><strong>header.php</strong> : ce fichier, comme son nom l\u2019indique, reprendra les ent\u00eates n\u00e9cessaires au site. Balises, m\u00e9tadescriptions, HTML, appel des styles ou des scripts, <strong>openGraph</strong>\u2026 tout est g\u00e9r\u00e9 dans ce template.</li>\n</ul><pre class=\"a-b-r-La\">&lt;!DOCTYPE html&gt;\n&lt;html &lt;?php language_attributes(); ?&gt;&gt;\n&lt;head&gt;\n    &lt;meta charset=\"&lt;?php bloginfo('charset'); ?&gt;\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"&gt;\n    &lt;?php wp_head(); ?&gt;\n&lt;/head&gt;\n&lt;body &lt;?php body_class(); ?&gt;&gt;\n    &lt;header&gt;\n        &lt;div class=\"container\"&gt;\n            &lt;div class=\"site-title\"&gt;\n                &lt;a href=\"&lt;?php echo esc_url(home_url('/')); ?&gt;\"&gt;&lt;?php bloginfo('name'); ?&gt;&lt;/a&gt;\n            &lt;/div&gt;\n            &lt;nav class=\"main-menu\"&gt;\n                &lt;?php\n                wp_nav_menu(array(\n                    'theme_location' =&gt; 'primary',\n                    'menu_id' =&gt; 'primary-menu',\n                ));\n                ?&gt;\n            &lt;/nav&gt;\n        &lt;/div&gt;\n    &lt;/header&gt;</pre>\n<ul><li><strong>footer.php</strong> : le pied de page r\u00e9cup\u00e8re des styles, scripts qu\u2019on appellera en diff\u00e9r\u00e9 afin d\u2019optimiser le site. Il contiendra le pied de chacune de vos pages incluant des menus, le copyright etc.</li>\n</ul><pre class=\"a-b-r-La\">&lt;footer&gt;\n    &lt;div class=\"container\"&gt;\n        &lt;p&gt;&amp;copy; &lt;?php echo date('Y'); ?&gt; &lt;?php bloginfo('name'); ?&gt;. Tous droits r\u00e9serv\u00e9s.&lt;/p&gt;\n        &lt;div class=\"footer-menu\"&gt;\n            &lt;?php\n            wp_nav_menu(array(\n                'theme_location' =&gt; 'footer',\n                'menu_id' =&gt; 'footer-menu',\n            ));\n            ?&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/footer&gt;\n&lt;?php wp_footer(); ?&gt;\n&lt;/body&gt;\n&lt;/html&gt;</pre>\n<ul><li><strong>functions.php</strong> : il comprend tous les param\u00e8tres indispensables \u00e0 votre th\u00e8me. Taille des images, la cr\u00e9ation des emplacements des diff\u00e9rents menus, l\u2019appel des fichiers scripts ou styles\u2026 absolument tout est g\u00e9r\u00e9 dans ce fichier.</li>\n</ul><pre class=\"a-b-r-La\">&lt;?php\n// Ajoutez le support des fonctionnalit\u00e9s de base du th\u00e8me\nfunction inumed_theme_setup() {\n    // Activation des images mises en avant\n    add_theme_support('post-thumbnails');\n// cr\u00e9ation de tailles d'images personnalis\u00e9es\n add_image_size( 'ma-taille', 300, 200, true ); // L'image sera recadr\u00e9e pour s'adapter exactement \u00e0 300x200 pixels\n add_image_size( 'ma-taille-crop', 500, 800, false ); // // L'image sera redimensionn\u00e9e pour s'adapter \u00e0 une bo\u00eete de 500x800 pixels sans recadrage\n    // Ajout de la prise en charge de la navigation\n    register_nav_menus(array(\n        'primary' =&gt; 'Menu principal',\n        'footer' =&gt; 'Menu de pied de page'\n    ));\n    // Ajout d'une balise de titre\n    add_theme_support('title-tag');\n}\nadd_action('after_setup_theme', 'inumed_theme_setup');\n// Les sripts et styles\nfunction inumed_theme_scripts() {\n    wp_enqueue_style('style', get_stylesheet_uri());\n    wp_enqueue_script('script', get_template_directory_uri() . '/js/mon-fichier-javascript.js', array(), '1.0.0', true); // il se charge en diff\u00e9r\u00e9 dans le footer grace \u00e0 \"true\"\n}\nadd_action('wp_enqueue_scripts', 'inumed_theme_scripts');\n// D\u00e9finir la longueur de l'extrait\nfunction inumed_extrait_posts() {\n    return 100; // ici 100 caracteres\n}\nadd_filter('excerpt_length', 'inumed_extrait_posts');\n// Ajouter d'autres fonctions personnalis\u00e9es ici</pre>\n<ul><li><strong>style.css</strong> : comme son nom l\u2019indique, il s\u2019agit du fichier qui g\u00e8re l\u2019apparence de votre th\u00e8me. Il devra \u00eatre param\u00e9tr\u00e9 de la sorte :</li>\n</ul><pre class=\"a-b-r-La\">/*\nTheme Name: Nom de votre th\u00e8me (il doit \u00eatre unique)\nTheme URI: Lien vers votre site ou le th\u00e8me\nDescription: Description de votre th\u00e8me\nAuthor: Votre nom ou celui de votre entreprise\nAuthor URI: Lien vers votre site ou votre profil\nVersion: Num\u00e9ro de version de votre th\u00e8me\nLicense: Licence de votre choix\nLicense URI: Lien vers les d\u00e9tails de la licence\nTags: Tags s\u00e9par\u00e9s par des virgules\n*/\n/* R\u00e9initialisation des styles */\nhtml, body, div, span, applet, object, iframe,\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\na, abbr, acronym, address, big, cite, code,\ndel, dfn, em, img, ins, kbd, q, s, samp,\nsmall, strike, strong, sub, sup, tt, var,\nb, u, i, center,\ndl, dt, dd, ol, ul, li,\nfieldset, form, label, legend,\ntable, caption, tbody, tfoot, thead, tr, th, td {\n    margin: 0;\n    padding: 0;\n    border: 0;\n    outline: 0;\n    font-size: 100%;\n    vertical-align: baseline;\n    background: transparent;\n}\n/* Styles g\u00e9n\u00e9raux */\nbody {\n    font-family: Arial, sans-serif;\n    line-height: 1.6;\n    color: #333;\n}\na {\n    text-decoration: none;\n    color: #007bff;\n}\n/* Ajoutez vos propres styles ici */</pre>\n<h3>Les autres mod\u00e8les et leur hi\u00e9rarchie</h3>\n<ul><li><strong>page.php</strong> : il s\u2019agit du mod\u00e8le pour les pages g\u00e9n\u00e9rales de votre site.</li>\n<li><strong>single.php</strong> : il s\u2019agit du mod\u00e8le pour les articles g\u00e9n\u00e9raux de votre site.</li>\n<li><strong>category.php</strong> : il s\u2019agit du template pour les cat\u00e9gories. Contrairement \u00e0 l\u2019archive, il mettra en page uniquement les cat\u00e9gories ou la cat\u00e9gorie concern\u00e9e.</li>\n<li><strong>archive.php</strong> : tout comme index.php, il sert de mod\u00e8le pour afficher les archives de contenus g\u00e9n\u00e9raux du site (archives des articles de blog, les archives de pages, les archives de recherche, taxonomies) si WordPress ne trouve pas de mod\u00e8le plus sp\u00e9cifique \u00e0 utiliser.</li>\n<li><strong>taxonomy.php</strong> : ce fichier est utilis\u00e9 pour les \u00ab\u00a0cat\u00e9gories\u00a0\u00bb de custom post types ou des \u00e9tiquettes/tags. Ainsi, si vous souhaitez cr\u00e9er une page o\u00f9 sont list\u00e9s ces \u00e9l\u00e9ments, c\u2019est ce template qui sera utilis\u00e9.</li>\n<li><strong>front-page.php</strong> : c\u2019est le rendu de votre page d\u2019accueil si votre site est param\u00e9tr\u00e9 pour afficher une page sp\u00e9cifique comme page d\u2019accueil.</li>\n<li><strong>home.php</strong> : c\u2019est le rendu de votre page d\u2019accueil si votre site est configur\u00e9 pour afficher les derniers articles dans les param\u00e8tres de WordPress.</li>\n</ul><h3>La cr\u00e9ation de variantes</h3>\n<ul><li><strong>category-nom-categorie.php</strong> : permettra de cr\u00e9er un template pour une cat\u00e9gorie sp\u00e9cifique.</li>\n<li><strong>taxonomy-nom-taxonomie.php</strong> : permettra de cr\u00e9er un template pour une cat\u00e9gorie de CPT sp\u00e9cifique ou des tags sp\u00e9cifiques.</li>\n</ul><p>Sous WordPress, il est possible de cr\u00e9er des <strong>custom post types</strong>, c\u2019est-\u00e0-dire des \u00ab\u00a0articles\u00a0\u00bb suppl\u00e9mentaires pour organiser vos contenus. Ainsi, vous pourrez les mettre en page de mani\u00e8re ind\u00e9pendante.</p>\n<ul><li><strong>single-nom-cpt.php</strong> : Sera la mise en page du CPT concern\u00e9, sera diff\u00e9rent du template des autres articles.</li>\n<li><strong>header-nom.php / footer-nom.php</strong> : vous pourrez cr\u00e9er des headers ou footer sp\u00e9cifiques pour certains de vos mod\u00e8les / templates. Prenons par exemple la cr\u00e9ation d\u2019un header sp\u00e9cifique pour mes articles, dans mon single.php, je mettrai donc ceci :</li>\n</ul><pre class=\"a-b-r-La\">&lt;?php get_header('nom');  // ici on rentre le nom du fichier header que l'on veut r\u00e9cup\u00e9rer?&gt;\n&lt;div id=\"primary\" class=\"content-area\"&gt;\n    &lt;main id=\"main\" class=\"site-main\" role=\"main\"&gt;\n        &lt;?php while (have_posts()) : the_post(); ?&gt;\n            &lt;?php the_title(); ?&gt; \n            &lt;?php the_excerpt(); ?&gt;\n            &lt;?php the_content(); ?&gt;\n            &lt;?php\n            // If comments are open or we have at least one comment, load up the comment template.\n            if (comments_open() || get_comments_number()) :\n                comments_template();\n            endif;\n            ?&gt;\n        &lt;?php endwhile; ?&gt;\n    &lt;/main&gt;&lt;!-- #main --&gt;\n&lt;/div&gt;&lt;!-- #primary --&gt;\n&lt;?php get_sidebar(); ?&gt;\n&lt;?php get_footer(); ?&gt;</pre>\n<h3>Les templates</h3>\n<p>Dans le backend, vous avez un petit onglet \u00ab\u00a0Mod\u00e8le\u00a0\u00bb dans vos pages. Il est ainsi possible de cr\u00e9er une apparence sp\u00e9cifique pour certaines de vos pages. Pour cela, on va cr\u00e9er un fichier <strong>PHP</strong> du nom du <strong>template</strong> (exemple : mon-template.php) et y ajouter quelques lignes :</p>\n<pre class=\"a-b-r-La\">&lt;?php\n/*\nTemplate Name: Mon mod\u00e8le de page\n*/\nget_header(); ?&gt;\n&lt;div id=\"primary\" class=\"content-area\"&gt;\n    &lt;main id=\"main\" class=\"site-main\" role=\"main\"&gt;\n        &lt;?php\n        while (have_posts()) :\n            the_post(); ?&gt;\n            &lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;\n            &lt;div&gt;&lt;?php the_content()?&gt;&lt;/div&gt;\n       &lt;?php endwhile; // Fin de la boucle.\n        ?&gt;\n    &lt;/main&gt;&lt;!-- #main --&gt;\n&lt;/div&gt;&lt;!-- #primary --&gt;\n&lt;?php</pre>\n<p>Ainsi, votre template appara\u00eetra dans votre administration.</p>\n</div>\n<div class=\"et_pb_module et_pb_image et_pb_image_0\"><img width=\"646\" height=\"323\" src=\"https://www.leclipseduweb.fr/wp-content/uploads/2023/10/Creation-dun-fichier-template-personnalisee-dans-WordPress.jpg\" alt=\"Cr\u00e9ation d'un fichier template personnalis\u00e9e dans WordPress\" title=\"Cr\u00e9ation d'un fichier template personnalis\u00e9e dans WordPress\" srcset=\"https://www.leclipseduweb.fr/wp-content/uploads/2023/10/Creation-dun-fichier-template-personnalisee-dans-WordPress.jpg 646w, https://www.leclipseduweb.fr/wp-content/uploads/2023/10/Creation-dun-fichier-template-personnalisee-dans-WordPress-480x240.jpg 480w\" class=\"wp-image-8412\" referrerpolicy=\"no-referrer\" /></div>\n<div class=\"et_pb_module et_pb_text et_pb_text_10 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<p class=\"c1\"><em>Cr\u00e9ation d\u2019un fichier template personnalis\u00e9e</em></p>\n</div>\n</div>\n<div class=\"et_pb_row et_pb_row_9 et_pb_column et_pb_column_4_4 et_pb_column_9 et_pb_css_mix_blend_mode_passthrough et-last-child\">\n<div class=\"et_pb_module et_pb_image et_pb_image_1\"><img width=\"551\" height=\"220\" src=\"https://www.leclipseduweb.fr/wp-content/uploads/2023/10/Creation-dun-template-personnalisee-dans-WordPress.jpg\" alt=\"Cr\u00e9ation d'un template personnalis\u00e9e dans WordPress\" title=\"Cr\u00e9ation d'un template personnalis\u00e9e dans WordPress\" srcset=\"https://www.leclipseduweb.fr/wp-content/uploads/2023/10/Creation-dun-template-personnalisee-dans-WordPress.jpg 551w, https://www.leclipseduweb.fr/wp-content/uploads/2023/10/Creation-dun-template-personnalisee-dans-WordPress-480x192.jpg 480w\" class=\"wp-image-8413\" referrerpolicy=\"no-referrer\" /></div>\n<div class=\"et_pb_module et_pb_text et_pb_text_11 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<p class=\"c1\"><em>N\u2019oubliez pas de s\u00e9lectionner \u00ab\u00a0Mon mod\u00e8le de page\u00a0\u00bb dans WordPress</em></p>\n</div>\n</div>\n<div class=\"et_pb_row et_pb_row_10 et_pb_column et_pb_column_4_4 et_pb_column_10 et_pb_css_mix_blend_mode_passthrough et-last-child\">\n<div class=\"et_pb_module et_pb_text et_pb_text_12 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<h3>Dossiers d\u2019organisation</h3>\n<p>Maintenant que nous avons cr\u00e9\u00e9 nos <strong>templates</strong>, il va falloir cr\u00e9er vos dossiers pour les fichiers <strong>JavaScript</strong>, images. Ici, pas d\u2019obligation du c\u00f4t\u00e9 de WordPress. Il d\u00e9pendra de votre logique personnelle. Mais il est commun accord de placer ces \u00e9l\u00e9ments dans un dossier \u00ab\u00a0assets\u00a0\u00bb en y incluant un dossier \u00ab\u00a0imgs\u00a0\u00bb et un dossier \u00ab\u00a0js\u00a0\u00bb.</p>\n</div>\n<div class=\"et_pb_module et_pb_image et_pb_image_2\"><img width=\"644\" height=\"323\" src=\"https://www.leclipseduweb.fr/wp-content/uploads/2023/10/Dossier-assets-de-votre-theme-WordPress.jpg\" alt=\"Dossier assets de votre th\u00e8me WordPress\" title=\"Dossier assets de votre th\u00e8me WordPress\" srcset=\"https://www.leclipseduweb.fr/wp-content/uploads/2023/10/Dossier-assets-de-votre-theme-WordPress.jpg 644w, https://www.leclipseduweb.fr/wp-content/uploads/2023/10/Dossier-assets-de-votre-theme-WordPress-480x241.jpg 480w\" class=\"wp-image-8418\" referrerpolicy=\"no-referrer\" /></div>\n<div class=\"et_pb_module et_pb_text et_pb_text_13 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<p class=\"c1\"><em>Dossier assets de votre th\u00e8me WordPress</em></p>\n</div>\n</div>\n<div class=\"et_pb_row et_pb_row_11 et_pb_column et_pb_column_4_4 et_pb_column_11 et_pb_css_mix_blend_mode_passthrough et-last-child\">\n<div class=\"et_pb_module et_pb_image et_pb_image_3\"><img width=\"637\" height=\"188\" src=\"https://www.leclipseduweb.fr/wp-content/uploads/2023/10/Sous-dossier-assets-de-votre-theme-WordPress.jpg\" alt=\"Sous dossier assets de votre th\u00e8me WordPress\" title=\"Sous dossier assets de votre th\u00e8me WordPress\" srcset=\"https://www.leclipseduweb.fr/wp-content/uploads/2023/10/Sous-dossier-assets-de-votre-theme-WordPress.jpg 637w, https://www.leclipseduweb.fr/wp-content/uploads/2023/10/Sous-dossier-assets-de-votre-theme-WordPress-480x142.jpg 480w\" class=\"wp-image-8421\" referrerpolicy=\"no-referrer\" /></div>\n<div class=\"et_pb_module et_pb_text et_pb_text_14 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<p class=\"c1\"><em>Sous dossier assets de votre th\u00e8me WordPress</em></p>\n</div>\n</div>\n<div id=\"ancre5\" class=\"et_pb_row et_pb_row_12 et_pb_column et_pb_column_4_4 et_pb_column_12 et_pb_css_mix_blend_mode_passthrough et-last-child et_pb_module et_pb_text et_pb_text_15 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<h2>Les fonctionnalit\u00e9s de base de WordPress</h2>\n<p>On ne pourra absolument pas tout lister les fonctionnalit\u00e9s de WordPress, mais attardons-nous sur des \u00e9l\u00e9ments indispensables pour cette introduction \u00e0 cr\u00e9er son th\u00e8me WordPress :</p>\n<h3>Afficher son contenu</h3>\n<p>Dans vos fichiers mod\u00e8les et hi\u00e9rarchie, pour afficher le contenu, il vous faudra ajouter ces lignes :</p>\n<pre class=\"a-b-r-La\">&lt;?php get_header(); ?&gt;\n&lt;div id=\"primary\" class=\"content-area\"&gt;\n    &lt;main id=\"main\" class=\"site-main\" role=\"main\"&gt;\n        &lt;?php while (have_posts()) : the_post(); ?&gt;\n            &lt;?php the_content(); ?&gt;\n        &lt;?php endwhile; ?&gt;\n    &lt;/main&gt;&lt;!-- #main --&gt;\n&lt;/div&gt;&lt;!-- #primary --&gt;\n&lt;?php get_sidebar(); ?&gt;\n&lt;?php get_footer(); ?&gt;</pre>\n<p class=\"c2\">Si vous \u00eates dans votre <strong>template</strong> \u00ab\u00a0page.php\u00a0\u00bb, par exemple, il ira chercher tout le contenu de la page (ici titre, contenu) et l\u2019affichera.</p>\n<p>Ce fonctionnement restera le m\u00eame pour les autres mod\u00e8les hi\u00e9rarchiques. On lui indique que tant qu\u2019il y a du contenu, il l\u2019affiche. C\u2019est ce qu\u2019on appelle une <strong>boucle</strong>, un loop.</p>\n<h3>Les loops</h3>\n<p>Les boucles ou loops en anglais sont indispensables \u00e0 WordPress et vous devez en comprendre leur fonctionnement. Notre boucle peut \u00eatre soit simple comme dans vos mod\u00e8les, soit compos\u00e9e d\u2019arguments ou <strong>args</strong> (de param\u00e8tres) qu\u2019on lui adressera et on lui donnera une action \u00e0 r\u00e9aliser. Prenons l\u2019exemple d\u2019une boucle pour afficher des articles :</p>\n<pre class=\"a-b-r-La\">&lt;?php\n$args = array(\n    'post_type' =&gt; 'post', // on affiche les articles\n    'post_status' =&gt; 'publish', // en statut \"publi\u00e9\"\n    'posts_per_page' =&gt; 5 // Nombre d'articles \u00e0 afficher\n);\n$custom_query = new WP_Query( $args );\nif ( $custom_query-&gt;have_posts() ) :\n    while ( $custom_query-&gt;have_posts() ) : $custom_query-&gt;the_post();\n?&gt;\n        &lt;div &lt;?php post_class(); ?&gt;&gt;\n            &lt;h2&gt;&lt;a href=\"&lt;?php the_permalink(); ?&gt;\"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt;\n            &lt;div class=\"post-metadata\"&gt;\n                &lt;span class=\"posted-on\"&gt;Publi\u00e9 le &lt;?php the_time( 'j F Y' ); ?&gt;&lt;/span&gt; \n                &lt;span class=\"byline\"&gt;par &lt;?php the_author_posts_link(); ?&gt;&lt;/span&gt;\n            &lt;/div&gt;\n            &lt;div class=\"entry-content\"&gt;\n                &lt;?php the_content(); ?&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n&lt;?php\n    endwhile;\n    wp_reset_postdata(); // R\u00e9initialise les donn\u00e9es des articles\nelse :\n    echo 'Aucun article trouv\u00e9.';\nendif;\n?&gt;</pre>\n<h3>Les hooks</h3>\n<p>Ils permettent d\u2019interagir avec le <strong>core de WordPress</strong> sur des points sp\u00e9cifiques pendant le chargement. On les retrouve g\u00e9n\u00e9ralement dans le fichier function.php.</p>\n<ul><li>On aura des <strong>hooks \u00ab\u00a0actions\u00a0\u00bb</strong> qui sont utilis\u00e9s pour ex\u00e9cuter une fonction lorsque certains \u00e9v\u00e9nements se produisent. Par exemple, lors du param\u00e9trage du th\u00e8me, on d\u00e9termine les styles et les scripts \u00e0 charger.</li>\n<li>On aura des <strong>\u00ab\u00a0filters\u00a0\u00bb</strong> qui vont permettre de modifier les donn\u00e9es avant qu\u2019elles ne soient affich\u00e9es \u00e0 l\u2019\u00e9cran.On les retrouvera par exemple sur l\u2019autorisation de fichiers \u00e0 t\u00e9l\u00e9charger dans l\u2019administration, la r\u00e9\u00e9criture d\u2019URL, etc.</li>\n</ul><p>Les <strong>hooks</strong> veillent \u00e0 l\u2019optimisation de WordPress, c\u2019est notamment cet aspect qui est n\u00e9glig\u00e9 par les builders et qui alourdit les sites WordPress.</p>\n<pre class=\"a-b-r-La\">&lt;?php\n// Fonction pour afficher un texte avant le contenu de l'article\nfunction custom_before_content() {\n    echo '&lt;p&gt;Ce texte est ajout\u00e9 avant le contenu de l\\'article.&lt;/p&gt;';\n}\n// Fonction pour afficher un texte apr\u00e8s le contenu de l'article\nfunction custom_after_content() {\n    echo '&lt;p&gt;Ce texte est ajout\u00e9 apr\u00e8s le contenu de l\\'article.&lt;/p&gt;';\n}\n// Ajout des hooks action pour les textes avant et apr\u00e8s le contenu de l'article\nadd_action( 'the_content', 'custom_before_content' );\nadd_action( 'the_content', 'custom_after_content' );</pre>\n<pre class=\"a-b-r-La\">&lt;?php\n// Fonction de filtrage pour limiter la longueur de l'extrait\nfunction custom_excerpt_length( $length ) {\n    return 20; // Limite la longueur de l'extrait \u00e0 20 mots\n}\n// Ajout du hook filter pour l'extrait\nadd_filter( 'excerpt_length', 'custom_excerpt_length' );\n?&gt;</pre></div>\n<div id=\"ancre6\" class=\"et_pb_row et_pb_row_13 et_pb_column et_pb_column_4_4 et_pb_column_13 et_pb_css_mix_blend_mode_passthrough et-last-child\">\n<div class=\"et_pb_module et_pb_text et_pb_text_16 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<h2>Comment tester son th\u00e8me ?</h2>\n<p>Maintenant que vous avez cr\u00e9\u00e9 votre th\u00e8me, mis en page votre site, il vous faudra le tester avant son d\u00e9ploiement.</p>\n<h3>Validation W3C</h3>\n<p>Utilisez des outils de validation de votre code HTML ou CSS afin de v\u00e9rifier le <strong>respect des normes</strong> et d\u2019\u00e9viter les diff\u00e9rences de rendu entre navigateurs qui la respecte.</p>\n</div>\n<div class=\"et_pb_module et_pb_image et_pb_image_4\"><a href=\"https://www.w3.org/\" target=\"_blank\" rel=\"noopener\"><img width=\"1000\" height=\"699\" src=\"https://www.leclipseduweb.fr/wp-content/uploads/2023/10/W3C-teste-votre-theme.webp\" alt=\"W3C teste votre th\u00e8me\" title=\"W3C teste votre th\u00e8me\" srcset=\"https://www.leclipseduweb.fr/wp-content/uploads/2023/10/W3C-teste-votre-theme.webp 1000w, https://www.leclipseduweb.fr/wp-content/uploads/2023/10/W3C-teste-votre-theme-980x685.webp 980w, https://www.leclipseduweb.fr/wp-content/uploads/2023/10/W3C-teste-votre-theme-480x336.webp 480w\" class=\"wp-image-8390\" referrerpolicy=\"no-referrer\" /></a></div>\n<div class=\"et_pb_module et_pb_text et_pb_text_17 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<p class=\"c1\"><em>L\u2019\u00e9cran d\u2019accueil de W3C</em></p>\n</div>\n<div class=\"et_pb_module et_pb_text et_pb_text_18 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<h3>V\u00e9rifiez l\u2019accessibilit\u00e9</h3>\n<p>On l\u2019oublie bien trop souvent, mais de nombreuses personnes dans le monde sont d\u00e9ficientes visuelles, assurez-vous que votre th\u00e8me leur permet une navigation agr\u00e9able.</p>\n<h3>Testez sur les diff\u00e9rents navigateurs</h3>\n<p><strong>Internet Explorer</strong> a toujours \u00e9t\u00e9 la b\u00eate noire des int\u00e9grateurs, il interpr\u00e9tait le code \u00e0 sa mani\u00e8re ce qui pouvait casser un site. Il y a moins de probl\u00e8mes avec Edge, mais je ne saurais vous conseiller que de v\u00e9rifier la compatibilit\u00e9 de votre th\u00e8me entre <strong>Chrome, Mozilla, Op\u00e9ra,</strong> Edge et Safari.</p>\n<h3>Testez la vitesse de chargement</h3>\n<p>Rendez-vous sur <a href=\"https://pagespeed.web.dev/\" target=\"_blank\" rel=\"noopener\"><strong>PageSpeed</strong></a>, testez votre site. V\u00e9rifiez si vous pouvez am\u00e9liorer son score avec un code adapt\u00e9. N\u2019oubliez pas de compresser / <strong>minifier</strong> les fichiers de votre th\u00e8me : images, JavaScript / CSS.\u00a0 Vous avez la main sur votre site \u00e0 98 %, donc optimisez-le !</p>\n<h3>V\u00e9rifiez les erreurs dans la console</h3>\n<p>Utilisez l\u2019inspecteur de code de votre navigateur et les outils de d\u00e9bogage de WordPress pour identifier et r\u00e9soudre les erreurs potentielles.</p>\n</div>\n</div>\n<div id=\"ancre7\" class=\"et_pb_row et_pb_row_14 et_pb_column et_pb_column_4_4 et_pb_column_14 et_pb_css_mix_blend_mode_passthrough et-last-child et_pb_module et_pb_text et_pb_text_19 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<h2>Comment cr\u00e9er son propre th\u00e8me WordPress ? \u2013 Conclusion</h2>\n<p>Voil\u00e0, vous connaissez les grandes lignes pour cr\u00e9er votre th\u00e8me WordPress. Ouvrez le codex et faites en votre nouvelle bible pour cr\u00e9er vos propres th\u00e8mes sur mesure tout en vous performant.</p>\n<p>Vous pourrez par la suite, si vous le souhaitez, soumettre votre th\u00e8me \u00e0 WordPress pour qu\u2019il apparaisse dans la biblioth\u00e8que des th\u00e8mes. Il vous faudra cependant \u00eatre conforme \u00e0 leurs crit\u00e8res.</p>\n<p>Dans tous les cas, n\u2019h\u00e9sitez pas \u00e0 tester r\u00e9guli\u00e8rement votre th\u00e8me en installant en local l\u2019extension <a href=\"https://fr.wordpress.org/plugins/wordpress-beta-tester/\" target=\"_blank\" rel=\"noopener\"><strong>WordPress Beta Tester</strong></a>, qui vous permettra de tester la BETA de WordPress \u00e0 chaque mise \u00e0 jour et vous assurer que votre th\u00e8me est toujours fonctionnel. Si vous rencontrez des bugs, n\u2019h\u00e9sitez pas \u00e0 les partager sur les forums de WordPress, il y aura toujours des personnes pour vous aider.</p>\n</div>",
    "created_at": "2024-02-18T21:13:01+00:00",
    "updated_at": "2024-02-18T21:13:01+00:00",
    "published_at": "2023-10-25T07:46:47+00:00",
    "published_by": ["Micka\u00ebl Georget"],
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr_FR",
    "reading_time": 19,
    "domain_name": "www.leclipseduweb.fr",
    "preview_picture": "https://www.leclipseduweb.fr/wp-content/uploads/2023/10/Comment-creer-son-propre-theme-WordPress.webp",
    "http_status": "200",
    "headers": {
      "date": "Sun, 18 Feb 2024 21:13:00 GMT",
      "content-type": "text/html; charset=UTF-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "vary": "Accept-Encoding",
      "x-powered-by": "PHP/8.2.15",
      "x-pingback": "https://www.leclipseduweb.fr/xmlrpc.php",
      "access-control-allow-methods": "GET,POST",
      "access-control-allow-headers": "Content-Type, Authorization",
      "content-security-policy": "upgrade-insecure-requests;",
      "cross-origin-embedder-policy": "unsafe-none; report-to='default'",
      "cross-origin-embedder-policy-report-only": "unsafe-none; report-to='default'",
      "cross-origin-opener-policy": "unsafe-none",
      "cross-origin-opener-policy-report-only": "unsafe-none; report-to='default'",
      "cross-origin-resource-policy": "cross-origin",
      "permissions-policy": "accelerometer=(), autoplay=(), camera=(), cross-origin-isolated=(), display-capture=(self), encrypted-media=(), fullscreen=*, geolocation=(self), gyroscope=(), keyboard-map=(), magnetometer=(), microphone=(), midi=(), payment=*, picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), sync-xhr=(), usb=(), xr-spatial-tracking=(), gamepad=(), serial=()",
      "referrer-policy": "strict-origin-when-cross-origin",
      "strict-transport-security": "max-age=63072000; includeSubDomains; preload",
      "x-content-security-policy": "default-src 'self'; img-src *; media-src * data:;",
      "x-content-type-options": "nosniff",
      "x-frame-options": "SAMEORIGIN",
      "x-xss-protection": "1; mode=block",
      "x-permitted-cross-domain-policies": "none",
      "link": "<https://www.leclipseduweb.fr/wp-json/>; rel=\"https://api.w.org/\", <https://www.leclipseduweb.fr/wp-json/wp/v2/posts/8356>; rel=\"alternate\"; type=\"application/json\", <https://www.leclipseduweb.fr/?p=8356>; rel=shortlink",
      "x-litespeed-cache-control": "public,max-age=604800",
      "x-litespeed-tag": "141_HTTP.200,141_post,141_URL.b0ccc64c45192a4631d9f84bc3bef797,141_Po.8356,141_",
      "etag": "\"120511-1708290780;;;\"",
      "x-lsadc-cache": "miss",
      "server": "o2switch-PowerBoost-v3"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["wordpress", "theme"],
    "is_public": false,
    "id": 74,
    "title": "Cr\u00e9ez un th\u00e8me personnalis\u00e9",
    "url": "https://openclassrooms.com/fr/courses/8069121-perfectionnez-vous-sur-wordpress/8225937-creez-un-theme-personnalise",
    "given_url": "https://openclassrooms.com/fr/courses/8069121-perfectionnez-vous-sur-wordpress/8225937-creez-un-theme-personnalise",
    "content": "<p id=\"r-8225764\" data-claire-element-id=\"33767889\">Bon, m\u00eame si je sais que je ne dois pas vous faire l'affront d'une introduction sur <a href=\"https://wordpress.com/fr/\">WordPress</a>, je m'y risque quand m\u00eame, vous ne m'en voudrez pas.\u00a0:p</p>\n<p id=\"r-8225765\" data-claire-element-id=\"33767890\">WordPress est un <strong>content management system</strong>, ou CMS, open source tr\u00e8s populaire. Il vous permet de r\u00e9aliser des blogs, des sites vitrines, mais \u00e9galement des sites e-commerce.</p>\n<p id=\"r-8225766\" data-claire-element-id=\"33767891\">La particularit\u00e9 de ce CMS est qu'il offre de grandes possibilit\u00e9s de <strong>personnalisation</strong> et une tr\u00e8s grande <strong>communaut\u00e9</strong>. On peut noter que 42\u00a0% du web repose sur WordPress, ce qui en fait un incontournable sur le web.</p>\n<figure id=\"r-8226838\" data-claire-element-id=\"33858682\"><img id=\"r-8226836\" data-claire-element-id=\"33769941\" src=\"https://user.oc-static.com/upload/2023/05/03/16830975680684_image15.png\" alt=\"Le logo de WordPress\" referrerpolicy=\"no-referrer\" /><figcaption>WordPress</figcaption></figure><p id=\"r-8225769\" data-claire-element-id=\"33767894\">L'un des grands avantages de WordPress est sa capacit\u00e9 \u00e0 <strong>personnaliser</strong> l'apparence et ses fonctionnalit\u00e9s en utilisant des th\u00e8mes. Les <strong>th\u00e8mes</strong> de WordPress sont des ensembles de fichiers de style et de code qui d\u00e9finissent l'apparence de votre site.</p>\n<p id=\"r-8225770\" data-claire-element-id=\"33767895\">Si je dois faire une vulgaire comparaison, WordPress peut \u00eatre d\u00e9fini comme le moteur de votre voiture, le th\u00e8me quant \u00e0 lui en est la carrosserie.\u00a0:)</p>\n<p id=\"r-8225771\" data-claire-element-id=\"33767896\">Il existe de nombreux th\u00e8mes (gratuits et payants) disponibles pour WordPress, chacun offrant une apparence unique et diff\u00e9rentes fonctionnalit\u00e9s. Si vous souhaitez vraiment personnaliser votre site, la <strong>cr\u00e9ation d'un th\u00e8me sur mesure</strong> sera la solution id\u00e9ale.</p>\n<p id=\"r-8225772\" data-claire-element-id=\"33767897\">La cr\u00e9ation d'un th\u00e8me sur mesure vous permettra de contr\u00f4ler compl\u00e8tement les options ainsi que l'apparence de votre futur site.</p>\n<p id=\"r-8225773\" data-claire-element-id=\"33767898\">WordPress propose ainsi trois types de th\u00e8mes pour les utilisateurs qui souhaitent personnaliser leur site\u00a0:</p>\n<ul id=\"r-8225780\" data-claire-element-id=\"33767905\"><li id=\"r-8225775\" data-claire-element-id=\"33767900\">\n<p id=\"r-8225774\" data-claire-element-id=\"33767899\">gratuit ;</p>\n</li>\n<li id=\"r-8225777\" data-claire-element-id=\"33767902\">\n<p id=\"r-8225776\" data-claire-element-id=\"33767901\">payant ;</p>\n</li>\n<li id=\"r-8225779\" data-claire-element-id=\"33767904\">\n<p id=\"r-8225778\" data-claire-element-id=\"33767903\">sur mesure.</p>\n</li>\n</ul><p id=\"r-8225781\" data-claire-element-id=\"33767906\">Chacun d'entre eux a ses propres avantages et inconv\u00e9nients, le choix final d\u00e9pendra des besoins et des objectifs du site.</p>\n<figure id=\"r-8226844\" data-claire-element-id=\"33858684\"><img id=\"r-8226842\" data-claire-element-id=\"33769953\" src=\"https://user.oc-static.com/upload/2023/05/03/1683097652466_image8.png\" alt=\"La page Apparence permet de s\u00e9lectionner un th\u00e8me sous WordPress\" referrerpolicy=\"no-referrer\" /><figcaption>Page du choix d\u2019un th\u00e8me sur WordPress</figcaption></figure><h3 id=\"r-8225806\" data-claire-element-id=\"33769998\">Revenez sur les diff\u00e9rents types de th\u00e8mes WordPress</h3>\n<p id=\"r-8225784\" data-claire-element-id=\"33767909\">Les <strong>th\u00e8mes gratuits</strong> sont disponibles bien \u00e9videmment gratuitement depuis la liste des th\u00e8mes affich\u00e9s dans la page Apparence, dans l\u2019administration WordPress (ou encore via des sites externes). Ils sont un choix id\u00e9al pour les utilisateurs qui cherchent \u00e0 \u00e9conomiser de l'argent, et qui sont dispos\u00e9s \u00e0 faire un peu de travail pour personnaliser leur site.</p>\n<p id=\"r-8225785\" data-claire-element-id=\"33767910\">Viennent ensuite les <strong>th\u00e8mes payants</strong>, qui sont disponibles \u00e0 l'achat sur des sites web tiers. Ils offrent g\u00e9n\u00e9ralement plus de fonctionnalit\u00e9s et de personnalisation que les th\u00e8mes gratuits. Les th\u00e8mes payants sont un bon choix pour les utilisateurs qui cherchent une solution \u201ctoute pr\u00eate\u201d \u00e0 \u00eatre utilis\u00e9e, et plus compl\u00e8te que les th\u00e8mes gratuits.</p>\n<p id=\"r-8225786\" data-claire-element-id=\"33767911\">Les th\u00e8mes gratuits et payants peuvent \u00eatre personnalis\u00e9s via un th\u00e8me enfant, mais cette m\u00e9thode peut \u00eatre limit\u00e9e \u00e0 cause de la structure du th\u00e8me. Souvent les fonctions ne peuvent pas \u00eatre modifi\u00e9es sans changer le code du th\u00e8me parent, et adieu les mises \u00e0 jour du th\u00e8me sans encombre.</p>\n<aside id=\"r-8226845\" data-claire-element-id=\"33769956\" data-claire-semantic=\"warning\"><p id=\"r-8225787\" data-claire-element-id=\"33767912\">Il se peut \u00e9galement que ces deux types de th\u00e8mes puissent avoir des soucis de s\u00e9curit\u00e9 si l\u2019auteur du code ne le maintient plus \u00e0 jour\u00a0; et qui dit code pas \u00e0 jour, dit faille potentielle.</p>\n</aside><p id=\"r-8225788\" data-claire-element-id=\"33767913\">Arrivent ensuite les <strong>th\u00e8mes sur mesure</strong> (le type de th\u00e8me qui nous int\u00e9resse). Ce sont des th\u00e8mes r\u00e9alis\u00e9s pour un site en particulier.</p>\n<p id=\"r-8225789\" data-claire-element-id=\"33767914\">Un th\u00e8me sur mesure pour WordPress peut offrir plusieurs avantages significatifs pour votre site web\u00a0:</p>\n<ul id=\"r-8225802\" data-claire-element-id=\"33769967\"><li id=\"r-8225791\" data-claire-element-id=\"33769966\">\n<p id=\"r-8225790\" data-claire-element-id=\"33769965\"><strong>Design personnalis\u00e9</strong> : En utilisant un th\u00e8me sur mesure, vous pouvez cr\u00e9er pour votre site web un design unique, qui r\u00e9pond \u00e0 votre charte graphique.</p>\n</li>\n<li id=\"r-8225793\" data-claire-element-id=\"33767918\">\n<p id=\"r-8225792\" data-claire-element-id=\"33767917\"><strong>Performances optimis\u00e9es</strong> : Les th\u00e8mes sur mesure peuvent \u00eatre con\u00e7us pour \u00eatre plus rapides et plus performants que les th\u00e8mes g\u00e9n\u00e9riques (ce qui est tr\u00e8s appr\u00e9ci\u00e9 des utilisateurs et du SEO).</p>\n</li>\n<li id=\"r-8225795\" data-claire-element-id=\"33767920\">\n<p id=\"r-8225794\" data-claire-element-id=\"33767919\"><strong>Fonctionnalit\u00e9s suppl\u00e9mentaires</strong> : En utilisant un th\u00e8me sur mesure, vous pouvez ajouter \u00e0 votre site web des fonctionnalit\u00e9s sp\u00e9ciales qui n'ont pas \u00e9t\u00e9 pr\u00e9vues par les th\u00e8mes g\u00e9n\u00e9riques (comme par exemple des formulaires, des syst\u00e8mes d\u2019import, etc.).</p>\n</li>\n<li id=\"r-8225797\" data-claire-element-id=\"33767922\">\n<p id=\"r-8225796\" data-claire-element-id=\"33767921\"><strong>S\u00e9curit\u00e9 renforc\u00e9e</strong> : Les th\u00e8mes sur mesure peuvent \u00eatre d\u00e9velopp\u00e9s avec une meilleure s\u00e9curit\u00e9 pour prot\u00e9ger votre site web des menaces en ligne. Cela s\u2019effectue en respectant les standards en d\u00e9veloppement, et en maintenant le code du th\u00e8me \u00e0 jour.</p>\n</li>\n<li id=\"r-8225799\" data-claire-element-id=\"33767924\">\n<p id=\"r-8225798\" data-claire-element-id=\"33767923\"><strong>Meilleure exp\u00e9rience utilisateur</strong> : En cr\u00e9ant un th\u00e8me sur mesure, vous pouvez optimiser l'exp\u00e9rience utilisateur de votre site web pour les visiteurs, en fournissant une interface plus intuitive et plus simple \u00e0 utiliser.</p>\n</li>\n<li id=\"r-8225801\" data-claire-element-id=\"33767926\">\n<p id=\"r-8225800\" data-claire-element-id=\"33767925\"><strong>Personnalisation future</strong> : Avec un th\u00e8me sur mesure, il est bien plus facile d'apporter des modifications et des am\u00e9liorations \u00e0 votre site web \u00e0 mesure que vos besoins \u00e9voluent.</p>\n</li>\n</ul><p id=\"r-8225803\" data-claire-element-id=\"33769985\">L\u2019avantage ici est que l\u2019on d\u00e9veloppe l\u2019ensemble des fonctionnalit\u00e9s, et que nous n'aurons pas de limites en termes de possibilit\u00e9s. C\u2019est une personnalisation compl\u00e8te\u00a0!</p>\n<p id=\"r-8226853\" data-claire-element-id=\"33769986\">Les th\u00e8mes sur mesure sont un bon choix pour les entreprises et les utilisateurs qui cherchent \u00e0 obtenir un site web unique et haut de gamme.</p>\n<aside id=\"r-8226848\" data-claire-element-id=\"33769997\" data-claire-semantic=\"information\"><p id=\"r-8225805\" data-claire-element-id=\"33769995\"><strong>Pour r\u00e9sumer</strong> : Le choix d'un th\u00e8me WordPress d\u00e9pendra des besoins et du budget. Si vous cherchez \u00e0 \u00e9conomiser de l'argent, un th\u00e8me gratuit peut \u00eatre un bon d\u00e9part. Si vous cherchez une solution plus compl\u00e8te, un th\u00e8me payant peut \u00eatre un bon choix. En revanche, si vous souhaitez un site web complet, un th\u00e8me sur mesure est la meilleure option.</p>\n<p id=\"r-8226858\" data-claire-element-id=\"33769996\">Un th\u00e8me sur mesure peut am\u00e9liorer consid\u00e9rablement votre site web en termes de design, de performances, de fonctionnalit\u00e9s, de s\u00e9curit\u00e9 et d\u2019exp\u00e9rience utilisateur. Il peut \u00e9galement offrir une plus grande flexibilit\u00e9 pour les futurs d\u00e9veloppements.</p>\n</aside><h3 id=\"r-8225823\" data-claire-element-id=\"33770016\">Installez WordPress</h3>\n<p id=\"r-8225807\" data-claire-element-id=\"33767932\">Avant d'aller plus loin, nous allons devoir nous assurer que nous avons bien tous une installation WordPress fonctionnelle.</p>\n<aside id=\"r-8226863\" data-claire-element-id=\"33770015\" data-claire-semantic=\"information\"><p id=\"r-8225808\" data-claire-element-id=\"33767933\"><strong>Installation en local</strong> : Pour faire fonctionner WordPress, nous allons poursuivre le travail en local sur votre ordinateur.Si vous n\u2019avez pas encore mis en place un environnement WordPress en local, je vous invite \u00e0 revoir le chapitre <a href=\"https://openclassrooms.com/fr/courses/7882631-allez-plus-loin-avec-wordpress/8056865-installez-wordpress\">\"Installez WordPress\"</a>, que vous avez d\u00e9couvert dans le cours pr\u00e9requis \u201cAllez plus loin avec WordPress\u201d.</p>\n</aside><p id=\"r-8225809\" data-claire-element-id=\"33767934\">Cette installation de WordPress est un processus simple et rapide qui peut \u00eatre accompli en quelques \u00e9tapes cl\u00e9s\u00a0:</p>\n<ol id=\"r-8225822\" data-claire-element-id=\"33767947\"><li id=\"r-8225811\" data-claire-element-id=\"33767936\">\n<p id=\"r-8225810\" data-claire-element-id=\"33767935\">Cr\u00e9ez un serveur web local avec PHP / MYSQL.</p>\n</li>\n<li id=\"r-8225813\" data-claire-element-id=\"33767938\">\n<p id=\"r-8225812\" data-claire-element-id=\"33767937\">Cr\u00e9ez une base de donn\u00e9es avec un utilisateur.</p>\n</li>\n<li id=\"r-8225815\" data-claire-element-id=\"33767940\">\n<p id=\"r-8225814\" data-claire-element-id=\"33767939\">T\u00e9l\u00e9chargez WordPress depuis le site officiel.</p>\n</li>\n<li id=\"r-8225817\" data-claire-element-id=\"33767942\">\n<p id=\"r-8225816\" data-claire-element-id=\"33767941\">D\u00e9compressez WordPress et copiez les fichiers \u00e0 l'emplacement de votre serveur web.</p>\n</li>\n<li id=\"r-8225819\" data-claire-element-id=\"33767944\">\n<p id=\"r-8225818\" data-claire-element-id=\"33767943\">En acc\u00e9dant \u00e0 votre nom de domaine, vous installerez WordPress via tout une suite d'\u00e9tapes.</p>\n</li>\n<li id=\"r-8225821\" data-claire-element-id=\"33767946\">\n<p id=\"r-8225820\" data-claire-element-id=\"33767945\">Une fois que WordPress est install\u00e9, vous pouvez le configurer en d\u00e9finissant les param\u00e8tres g\u00e9n\u00e9raux.</p>\n</li>\n</ol><h3 id=\"r-8225874\" data-claire-element-id=\"33858687\">Cr\u00e9ez un th\u00e8me</h3>\n<p id=\"r-8225824\" data-claire-element-id=\"33770017\">Comme nous venons de le voir, un th\u00e8me sur mesure peut am\u00e9liorer consid\u00e9rablement votre site web en termes de design, de performances, de fonctionnalit\u00e9s, de s\u00e9curit\u00e9 et d\u2019exp\u00e9rience utilisateur. Il peut \u00e9galement offrir une plus grande flexibilit\u00e9 pour les futurs d\u00e9veloppements.</p>\n<p id=\"r-8225825\" data-claire-element-id=\"33767950\">Vous souhaitez vous lancer dans le d\u00e9veloppement apr\u00e8s cette longue introduction\u00a0? Alors c\u2019est parti\u00a0!</p>\n<p id=\"r-8225826\" data-claire-element-id=\"33767951\">Pour r\u00e9aliser un th\u00e8me sur mesure, nous allons devoir respecter <strong>la structure d\u2019un th\u00e8me WordPress</strong>. Pour fonctionner, un th\u00e8me a besoin au minimum de 2\u00a0fichiers\u00a0:</p>\n<ul id=\"r-8225831\" data-claire-element-id=\"33770039\"><li id=\"r-8225828\" data-claire-element-id=\"33770036\">\n<p id=\"r-8225827\" data-claire-element-id=\"33770035\"><code data-claire-semantic=\"text\">style.css</code>\u00a0 , qui contiendra l\u2019ensemble des informations du th\u00e8me\u00a0;</p>\n</li>\n<li id=\"r-8225830\" data-claire-element-id=\"33770038\">\n<p id=\"r-8225829\" data-claire-element-id=\"33770037\"><code data-claire-semantic=\"text\">index.php</code>\u00a0 , qui sera le fichier par d\u00e9faut affichant le contenu de votre site au visiteur (si aucun autre fichier template n\u2019est plac\u00e9 dans le th\u00e8me).\u00a0</p>\n</li>\n</ul><p id=\"r-8225832\" data-claire-element-id=\"33770040\">Bon, avant toute chose, cr\u00e9ons un sous-dossier dans\u00a0<code data-claire-semantic=\"text\">wp-content/themes/</code>\u00a0 (ce dossier contient l\u2019ensemble de tous les th\u00e8mes install\u00e9s pour votre WordPress). Pour notre projet, nous allons cr\u00e9er le sous-dossier\u00a0<code data-claire-semantic=\"text\">wp-content/themes/cookinfamily/</code>\u00a0 . Cr\u00e9ez ensuite un fichier\u00a0<code data-claire-semantic=\"text\">style.css</code>\u00a0 dans le dossier\u00a0<code data-claire-semantic=\"text\">wp-content/themes/cookinfamily/</code>\u00a0 .</p>\n<div id=\"r-8226868\" data-claire-element-id=\"33770042\" data-claire-semantic=\"question\">\n<p id=\"r-8225833\" data-claire-element-id=\"33770041\">Que doit contenir le fichier\u00a0<code data-claire-semantic=\"text\">style.css</code>\u00a0 ?</p>\n</div>\n<p id=\"r-8225834\" data-claire-element-id=\"33770043\">Il y a diff\u00e9rentes informations que l\u2019on peut initialiser dans le fichier\u00a0<code data-claire-semantic=\"text\">style.css</code>\u00a0 (telles que le nom du th\u00e8me, son auteur, etc.). Les indications ci-dessous sont requises pour chaque th\u00e8me WordPress. Voici par exemple les informations que nous allons utiliser pour notre projet CookInFamily\u00a0:</p>\n<pre data-claire-semantic=\"css\">/*\nTheme Name: CookInFamily\nTheme URI: https://www.cookinfamily.fr\nAuthor: OpenClassrooms\nAuthor URI: https://openclassrooms.com\nDescription: Th\u00e8me pour le cours \"Perfectionnez-vous sur WordPress\"\nVersion: 1.0\nTags: openclassrooms, cookinfamily, cours\nText Domain: cookinfamily\n*/</pre>\n<p id=\"r-8225847\" data-claire-element-id=\"33767972\">Et voici \u00e0 quoi cela correspond :</p>\n<ul id=\"r-8225864\" data-claire-element-id=\"33770059\"><li id=\"r-8225849\" data-claire-element-id=\"33767974\">\n<p id=\"r-8225848\" data-claire-element-id=\"33767973\">Theme Name : le nom du th\u00e8me\u00a0;</p>\n</li>\n<li id=\"r-8225851\" data-claire-element-id=\"33770056\">\n<p id=\"r-8225850\" data-claire-element-id=\"33770055\">Theme URI : l\u2019URL du site utilisant le th\u00e8me\u00a0;</p>\n</li>\n<li id=\"r-8225853\" data-claire-element-id=\"33767978\">\n<p id=\"r-8225852\" data-claire-element-id=\"33767977\">Author : le d\u00e9veloppeur ou l\u2019agence ayant d\u00e9velopp\u00e9 le th\u00e8me\u00a0;</p>\n</li>\n<li id=\"r-8225855\" data-claire-element-id=\"33770058\">\n<p id=\"r-8225854\" data-claire-element-id=\"33770057\">Author URI : l\u2019URL de l\u2019auteur du th\u00e8me\u00a0;</p>\n</li>\n<li id=\"r-8225857\" data-claire-element-id=\"33767982\">\n<p id=\"r-8225856\" data-claire-element-id=\"33767981\">Description : une br\u00e8ve description du th\u00e8me\u00a0;</p>\n</li>\n<li id=\"r-8225859\" data-claire-element-id=\"33767984\">\n<p id=\"r-8225858\" data-claire-element-id=\"33767983\">Version : la version du th\u00e8me\u00a0;</p>\n</li>\n<li id=\"r-8225861\" data-claire-element-id=\"33767986\">\n<p id=\"r-8225860\" data-claire-element-id=\"33767985\">Tags : des mots cl\u00e9s pour affiner la recherche sur la page des th\u00e8mes\u00a0;</p>\n</li>\n<li id=\"r-8225863\" data-claire-element-id=\"33767988\">\n<p id=\"r-8225862\" data-claire-element-id=\"33767987\">Text Domain : identifiant d\u00e9finissant le groupe de traduction de votre th\u00e8me.</p>\n</li>\n</ul><aside id=\"r-8226878\" data-claire-element-id=\"33770076\" data-claire-semantic=\"information\"><p id=\"r-8225865\" data-claire-element-id=\"33770075\">Il existe plusieurs options de param\u00e9trage d'un th\u00e8me qui ne sont pas n\u00e9cessaires dans notre cours, mais si cela vous int\u00e9resse, vous pouvez y jeter un \u0153il sur la <a href=\"https://developer.wordpress.org/themes/basics/main-stylesheet-style-css/\">documentation officielle</a>.</p>\n</aside><p id=\"r-8225866\" data-claire-element-id=\"33770085\">Vous retrouverez l\u2019ensemble des informations dans la page Apparence dans l\u2019administration WordPress, en cliquant sur votre th\u00e8me, comme ci-dessous\u00a0:</p>\n<figure id=\"r-8226885\" data-claire-element-id=\"33858686\"><img id=\"r-8226883\" data-claire-element-id=\"33770086\" src=\"https://user.oc-static.com/upload/2023/05/03/16830985387279_image10.png\" alt=\"Ce que nous venons de renseigner dans style.css appara\u00eet dans l\u2019administration WordPress\" referrerpolicy=\"no-referrer\" /><figcaption>Les informations de notre th\u00e8me</figcaption></figure><aside id=\"r-8236140\" data-claire-element-id=\"33791198\" data-claire-semantic=\"information\"><p id=\"r-8225869\" data-claire-element-id=\"33767994\">Bonus : Vous avez pu apercevoir dans la liste des th\u00e8mes depuis l\u2019administration WordPress, que l\u2019on pouvait \u00e9galement ajouter une image afin de pr\u00e9senter le th\u00e8me CookInFamily, comme au-dessus\u00a0!</p>\n<p id=\"r-8236139\" data-claire-element-id=\"33791197\">Cela est tr\u00e8s simple, il faut cr\u00e9er pour votre th\u00e8me une vignette qui doit \u00eatre nomm\u00e9e\u00a0<code data-claire-semantic=\"text\">screenshot.png</code>\u00a0 et \u00eatre plac\u00e9e \u00e0 la racine de votre th\u00e8me, soit\u00a0<code data-claire-semantic=\"text\">wp-content/themes/cookinfamily/screenshot.png</code>\u00a0 . Pour en savoir plus sur la taille et les autres formats pour cet \u00e9l\u00e9ment, vous pouvez consulter la <a href=\"https://codex.wordpress.org/Theme_Development#Screenshot\">documentation officielle</a> de WordPress.</p>\n</aside><div id=\"r-8226894\" data-claire-element-id=\"33770130\" data-claire-semantic=\"question\">\n<p id=\"r-8225871\" data-claire-element-id=\"33770129\">Cool, mais vous ne nous avez pas encore parl\u00e9 d\u2019\u00a0<code data-claire-semantic=\"text\">index.php</code>\u00a0 !</p>\n</div>\n<p id=\"r-8225872\" data-claire-element-id=\"33770147\">Tr\u00e8s juste ; maintenant que vous avez le fichier\u00a0<code data-claire-semantic=\"text\">style.css</code>\u00a0 , nous allons cr\u00e9er un\u00a0 fichier\u00a0<code data-claire-semantic=\"text\">index.php</code>\u00a0 vide \u00e0 l\u2019int\u00e9rieur de notre dossier\u00a0<code data-claire-semantic=\"text\">wp-content/themes/cookinfamily/</code>\u00a0 . Et voil\u00e0, avec rien que 2\u00a0fichiers, vous avez un th\u00e8me pr\u00eat \u00e0 \u00eatre install\u00e9 sur WordPress.</p>\n<aside id=\"r-8226904\" data-claire-element-id=\"33770168\" data-claire-semantic=\"information\"><p id=\"r-8225873\" data-claire-element-id=\"33770167\">\u00c0 partir de maintenant, vous pourrez acc\u00e9der au code sur le <a href=\"https://github.com/OpenClassrooms-Student-Center/8069121-Perfectionnez-vous-sur-WordPress/tree/main\">GitHub du cours</a>. La branche principale\u00a0<code data-claire-semantic=\"text\">main</code>\u00a0 contient le projet complet, et si vous souhaitez acc\u00e9der au code d\u2019un chapitre en particulier, utilisez les branches. Par exemple, la branche \u201cP1C2\u201d concerne la partie 1 \u2013 chapitre 2.\u00a0</p>\n</aside><h3 id=\"r-8225922\" data-claire-element-id=\"33858694\">Ajoutez des templates \u00e0 un th\u00e8me</h3>\n<p id=\"r-8225875\" data-claire-element-id=\"33770208\">Un th\u00e8me sur mesure sous WordPress doit \u00eatre d\u00e9velopp\u00e9 avec toute une suite de fichiers ayant des noms bien sp\u00e9cifiques. Ces fichiers qui composent un th\u00e8me ont un impact visuel sur votre site WordPress\u00a0: ils tirent des informations de votre base de donn\u00e9es WordPress, MySQL, et g\u00e9n\u00e8rent le code HTML qui est envoy\u00e9 au navigateur web.</p>\n<p id=\"r-8225876\" data-claire-element-id=\"33770228\">La nomenclature ainsi que la hi\u00e9rarchie de ces fichiers sont importantes \u00e0 respecter dans la r\u00e9alisation d\u2019un th\u00e8me\u00a0; c\u2019est ce que l\u2019on nomme un <strong>template (ou un mod\u00e8le)</strong>.</p>\n<aside id=\"r-8226909\" data-claire-element-id=\"33770188\" data-claire-semantic=\"information\"><p id=\"r-8225877\" data-claire-element-id=\"33768002\">Si vous souhaitez revenir sur le sujet et d\u00e9couvrir la liste de ces templates, je vous invite \u00e0 relire le chapitre <a href=\"https://openclassrooms.com/fr/courses/7882631-allez-plus-loin-avec-wordpress/8057030-creez-installez-et-parametrez-un-theme-enfant\">Cr\u00e9ez, installez et param\u00e9trez un th\u00e8me enfant</a> du cours <em>Allez plus loin avec WordPress</em>.</p>\n</aside><p id=\"r-8225878\" data-claire-element-id=\"33768003\">Voici pour rappel le sch\u00e9ma officiel des fichiers d\u2019un th\u00e8me sous WordPress\u00a0:</p>\n<figure id=\"r-8226926\" data-claire-element-id=\"33858689\"><img id=\"r-8226924\" data-claire-element-id=\"33770248\" src=\"https://user.oc-static.com/upload/2023/05/03/16830988445397_image32.png\" alt=\"L'image montre dans quel ordre les fichiers dans un th\u00e8me WordPress se chargent\" referrerpolicy=\"no-referrer\" /><figcaption>La hi\u00e9rarchie des templates sous WordPress</figcaption></figure><aside id=\"r-8226935\" data-claire-element-id=\"33770270\" data-claire-semantic=\"information\"><p id=\"r-8225881\" data-claire-element-id=\"33768006\">Si vous souhaitez approfondir la recherche concernant la cr\u00e9ation d\u2019un th\u00e8me avec d\u2019autres templates / fichiers, vous pouvez consulter la <a href=\"https://codex.wordpress.org/Theme_Development\">documentation officielle de WordPress</a>.</p>\n</aside><p id=\"r-8225882\" data-claire-element-id=\"33770271\">Maintenant, il est temps de g\u00e9n\u00e9rer notre page d\u2019accueil pour CookInFamily\u00a0!</p>\n<p id=\"r-8226936\" data-claire-element-id=\"33770272\">Vous \u00eates partant ?</p>\n<a href=\"https://vimeo.com/848618593\">https://vimeo.com/848618593</a><p id=\"r-8264321\" data-claire-element-id=\"33858691\">Dans notre th\u00e8me, nous allons donc ajouter les fichiers\u00a0:</p>\n<ul id=\"r-8225890\" data-claire-element-id=\"33770296\"><li id=\"r-8225885\" data-claire-element-id=\"33770291\">\n<p id=\"r-8225884\" data-claire-element-id=\"33770290\"><strong><code data-claire-semantic=\"text\">home.php</code></strong>: ce mod\u00e8le est utilis\u00e9 pour afficher la page d'accueil du site\u00a0;</p>\n</li>\n<li id=\"r-8225887\" data-claire-element-id=\"33770293\">\n<p id=\"r-8225886\" data-claire-element-id=\"33770292\"><strong><code data-claire-semantic=\"text\">header.php</code></strong>: permet de d\u00e9velopper la partie haute de votre th\u00e8me, \u00e0 partir de l\u2019ouverture de la balise HTML jusqu\u2019\u00e0 l\u2019ouverture de la balise body, et parfois un peu plus. Ce fichier est en g\u00e9n\u00e9ral inclus dans les diff\u00e9rents templates\u00a0;\u00a0</p>\n</li>\n<li id=\"r-8225889\" data-claire-element-id=\"33770295\">\n<p id=\"r-8225888\" data-claire-element-id=\"33770294\"><strong><code data-claire-semantic=\"text\">footer.php</code></strong>\u00a0 : permet de d\u00e9velopper la partie basse d\u2019un th\u00e8me, \u00e0 partir de la balise footer jusqu\u2019\u00e0 la fermeture de la balise HTML.</p>\n</li>\n</ul><p id=\"r-8225891\" data-claire-element-id=\"33768016\">En r\u00e8gle g\u00e9n\u00e9rale, ces trois fichiers sont pr\u00e9sents dans les th\u00e8mes.</p>\n<p id=\"r-8225892\" data-claire-element-id=\"33770297\">Dans\u00a0<code data-claire-semantic=\"text\">header.php</code>\u00a0 , nous allons partir sur une base classique en HTML ; voici le code :</p>\n<pre data-claire-semantic=\"html\">&lt;!doctype html&gt;\n&lt;html lang=\"fr\"&gt;\n    &lt;head&gt;\n        &lt;meta charset=\"utf-8\" /&gt;\n        &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" /&gt;\n        &lt;title&gt;CookInFamily&lt;/title&gt;\n    &lt;/head&gt;\n&lt;body&gt;</pre>\n<p id=\"r-8226951\" data-claire-element-id=\"33770321\">Pour le footer, m\u00eame chose, nous allons utiliser du simple code HTML pour le cr\u00e9er\u00a0:</p>\n<pre data-claire-semantic=\"html\">    &lt;/body&gt;\n&lt;/html&gt;</pre>\n<p id=\"r-8225908\" data-claire-element-id=\"33770341\">Vient ensuite notre fichier\u00a0<code data-claire-semantic=\"text\">home.php</code>\u00a0 ; nous allons devoir appeler notre header ainsi que notre footer. Pour cela, WordPress nous propose d\u00e9j\u00e0 des fonctions toutes pr\u00eates \u00e0 l\u2019emploi,\u00a0<code data-claire-semantic=\"text\">get_header()</code>\u00a0 et\u00a0<code data-claire-semantic=\"text\">get_footer()</code>\u00a0 .</p>\n<p id=\"r-8226961\" data-claire-element-id=\"33770342\">En les utilisant, WordPress ira automatiquement charger le contenu des fichiers\u00a0<code data-claire-semantic=\"text\">header.php</code>\u00a0 et\u00a0<code data-claire-semantic=\"text\">footer.php</code>\u00a0 pour nous\u00a0!</p>\n<p id=\"r-8225909\" data-claire-element-id=\"33768034\">Ensuite, nous pouvons ajouter un peu de contenu entre ces 2\u00a0appels pour voir si la page se charge correctement. Dans notre exemple, nous ajoutons un simple titre\u00a0:</p>\n<pre data-claire-semantic=\"html\">&lt;?php get_header(); ?&gt;\n&lt;h1&gt;Bienvenue sur le site CookInFamily !&lt;/h1&gt;\n&lt;?php get_footer(); ?&gt;</pre>\n<p id=\"r-8226971\" data-claire-element-id=\"33770361\">Et voil\u00e0, avec ces quelques fichiers, vous avez cr\u00e9\u00e9 un th\u00e8me pour WordPress\u00a0! Que diriez-vous de l\u2019activer pour voir le r\u00e9sultat\u00a0?</p>\n<p id=\"r-8225917\" data-claire-element-id=\"33770362\">Pour ce faire, rendez-vous dans l\u2019administration WordPress et cliquez sur Apparence -&gt; Th\u00e8mes. Votre th\u00e8me appara\u00eetra dans la liste que WordPress proposera d\u2019installer. En cliquant dessus puis sur le bouton Activer, vous demanderez \u00e0 WordPress d\u2019utiliser le th\u00e8me CookInFamily.</p>\n<p id=\"r-8225918\" data-claire-element-id=\"33768043\">En vous rendant sur la page d\u2019accueil de votre site, le rendu ne sera pas tr\u00e8s int\u00e9ressant, un simple titre sur un fond blanc\u00a0:</p>\n<figure id=\"r-8226982\" data-claire-element-id=\"33858693\"><img id=\"r-8226980\" data-claire-element-id=\"33791320\" src=\"https://user.oc-static.com/upload/2023/05/03/16830992188751_image20.png\" alt=\"La page affiche le message de bienvenue.\" referrerpolicy=\"no-referrer\" /><figcaption>Page d\u2019accueil du th\u00e8me CookInFamily</figcaption></figure><p id=\"r-8225921\" data-claire-element-id=\"33768046\">Mais pas de panique, nous allons am\u00e9liorer tout cela dans la suite du cours\u00a0!</p>\n<h3 id=\"r-8225936\" data-claire-element-id=\"33770403\">En r\u00e9sum\u00e9</h3>\n<ul id=\"r-8225933\" data-claire-element-id=\"33768058\"><li id=\"r-8225924\" data-claire-element-id=\"33768049\">\n<p id=\"r-8225923\" data-claire-element-id=\"33768048\">WordPress affiche un design ainsi que du contenu gr\u00e2ce \u00e0 un th\u00e8me.</p>\n</li>\n<li id=\"r-8225926\" data-claire-element-id=\"33768051\">\n<p id=\"r-8225925\" data-claire-element-id=\"33768050\">Plusieurs crit\u00e8res sont \u00e0 \u00e9tudier avant de s\u00e9lectionner un th\u00e8me, comme l\u2019investissement de temps, l\u2019aspect financier, ou encore les fonctionnalit\u00e9s attendues.</p>\n</li>\n<li id=\"r-8225928\" data-claire-element-id=\"33768053\">\n<p id=\"r-8225927\" data-claire-element-id=\"33768052\">Un th\u00e8me sur mesure apportera de nombreux avantages, mais demande davantage de temps de d\u00e9veloppement.</p>\n</li>\n<li id=\"r-8225930\" data-claire-element-id=\"33768055\">\n<p id=\"r-8225929\" data-claire-element-id=\"33768054\">Un th\u00e8me sur mesure doit contenir au minimum 2\u00a0fichiers\u00a0: style.css (pour les informations du th\u00e8me) et le fichier index.php (qui sera le fichier affichant par d\u00e9faut quelque chose sur votre site).</p>\n</li>\n<li id=\"r-8225932\" data-claire-element-id=\"33768057\">\n<p id=\"r-8225931\" data-claire-element-id=\"33768056\">Un th\u00e8me utilise toute une s\u00e9rie de templates afin d\u2019afficher du contenu au visiteur.</p>\n</li>\n</ul><p id=\"r-8225934\" data-claire-element-id=\"33768059\"><em>Maintenant que nous avons cr\u00e9\u00e9 la base de notre th\u00e8me (la coquille), nous allons poursuivre en r\u00e9alisant une page pour g\u00e9rer nos options de th\u00e8me\u00a0!</em></p>",
    "created_at": "2024-02-18T21:06:10+00:00",
    "updated_at": "2024-02-18T21:06:15+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr",
    "reading_time": 11,
    "domain_name": "openclassrooms.com",
    "preview_picture": "https://course.oc-static.com/courses/8069121/8069121_teaser_picture_1690810077.jpg",
    "http_status": "200",
    "headers": {
      "date": "Sun, 18 Feb 2024 21:06:10 GMT",
      "content-type": "text/html; charset=UTF-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "expires": "Sun, 18 Feb 2024 21:06:10 GMT",
      "x-oneagent-js-injection": "true",
      "x-ruxit-js-agent": "true",
      "server-timing": "dtSInfo;desc=\"1\"",
      "set-cookie": "dtCookie=v_4_srv_4_sn_C1FE3E9ED845629683D42201729B49DB_perc_100000_ol_0_mul_1_app-3A77334b861c3931b4_0_rcs-3Acss_0; Path=/; Domain=.openclassrooms.com",
      "referrer-policy": "strict-origin-when-cross-origin",
      "strict-transport-security": "max-age=2592000",
      "x-content-type-options": "nosniff",
      "x-frame-options": "SAMEORIGIN",
      "x-xss-protection": "1; mode=block",
      "x-infra": "kube",
      "cf-cache-status": "DYNAMIC",
      "server": "cloudflare",
      "cf-ray": "85793b7ddde27023-CDG",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["wordpress", "theme"],
    "is_public": false,
    "id": 73,
    "title": "Guide\u00a0: comment cr\u00e9er un th\u00e8me WordPress, \u00e9tape par \u00e9tape",
    "url": "https://www.blogdumoderateur.com/creer-theme-wordpress/",
    "given_url": "https://www.blogdumoderateur.com/creer-theme-wordpress/",
    "content": "<p>Les th\u00e8mes permettent de pr\u00e9senter une mise en forme coh\u00e9rente pour chaque page ou article publi\u00e9 sur un site. Ceux propos\u00e9s par WordPress et sa communaut\u00e9 peuvent montrer certaines limites au niveau du design propos\u00e9 et vous pourriez avoir envie ou besoin de disposer de votre propre th\u00e8me pour personnaliser votre site en fonction de vos besoins. En cr\u00e9ant votre propre th\u00e8me, vous pourrez am\u00e9liorer rapidement l\u2019apparence de votre site : styliser et ajouter un nouveau menu, modifier certaines balises ou ajouter du code HTML et CSS, retoucher le design, personnaliser le footer\u2026</p>\n<p>Si vous d\u00e9cidez de vous lancer dans la cr\u00e9ation d\u2019un th\u00e8me WordPress, il vous faudra veiller \u00e0 retrouver un certain nombre de fonctionnalit\u00e9s essentielles, comme :</p>\n<ul><li>l\u2019affichage des derniers articles sur les pages d\u2019archives et sur la page d\u2019accueil,</li>\n<li>la pr\u00e9sence d\u2019un menu pour mettre en avant certaines pages,</li>\n<li>la prise en compte du responsive design pour que le th\u00e8me puisse s\u2019adapter aux diff\u00e9rentes r\u00e9solutions d\u2019\u00e9crans.</li>\n</ul><p>Il est \u00e9galement conseill\u00e9 de tester votre th\u00e8me sur un environnement de d\u00e9veloppement en ligne ou sur une version en local avant de le t\u00e9l\u00e9charger sur votre site en production.</p>\n<h2>Les pr\u00e9requis avant de cr\u00e9er un th\u00e8me WordPress</h2>\n<p>Avant de commencer, vous devez avoir install\u00e9 WordPress et suivi les \u00e9tapes n\u00e9cessaires, comme le choix de votre h\u00e9bergeur, l\u2019installation des fichiers du CMS sur votre serveur et la cr\u00e9ation d\u2019une base de donn\u00e9es, ainsi que la configuration des r\u00e9glages sur l\u2019interface d\u2019administration.</p>\n<p><a href=\"https://www.blogdumoderateur.com/comment-installer-wordpress/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"btn outline featured-link\">Comment installer WordPress : le guide complet, \u00e9tape par \u00e9tape</a></p>\n<p>Il est \u00e9galement pr\u00e9f\u00e9rable de disposer de connaissances dans les langages web, qui permettent de faire fonctionner WordPress :</p>\n<ul><li><strong>HTML\u00a0</strong>: pour la structure des contenus dans les fichiers templates,</li>\n<li><strong>CSS\u00a0</strong>: pour la mise en forme des articles et la gestion du design,</li>\n<li><strong>PHP\u00a0</strong>: pour comprendre et savoir coder avec le langage utilis\u00e9 \u00e0 la fois dans le c\u0153ur du CMS et dans les fichiers de template.</li>\n</ul><p>Si vous n\u2019\u00eates pas \u00e0 l\u2019aise avec ces diff\u00e9rents langages, vous pouvez suivre une <a href=\"https://www.maformation.fr/formations/metier_wordpress.html?utm_source=blogdumoderateur&amp;utm_medium=siteweb&amp;utm_campaign=creer-theme-wordpress&amp;utm_content=lien&amp;utm_term=formation-pour-acqu-rir-et-ma-triser-les-techniq\" target=\"_blank\" rel=\"noopener noreferrer\">formation pour acqu\u00e9rir et ma\u00eetriser les techniques de d\u00e9veloppement sur WordPress</a>.</p>\n<h2>\u00c9tape 1 : cr\u00e9er le dossier de votre th\u00e8me</h2>\n<p>Pour cr\u00e9er un th\u00e8me WordPress, vous avez tout d\u2019abord besoin de cr\u00e9er un dossier dans le r\u00e9pertoire de WordPress situ\u00e9 sur votre serveur : wp-content/themes. Il est recommand\u00e9 d\u2019utiliser un nom unique et court de mani\u00e8re \u00e0 l\u2019identifier facilement. N\u2019utilisez pas de caract\u00e8res sp\u00e9ciaux, ni d\u2019accents, ou d\u2019espaces.\u00a0Si vous le nommez par exemple \u00ab montheme \u00bb, le chemin d\u2019acc\u00e8s sera le suivant : wp-content/themes/montheme.</p>\n<p>Ce dossier devra contenir a minima les trois fichiers indispensables pour le bon fonctionnement de votre site :</p>\n<ol><li><strong>le fichier style.css</strong> : pour la configuration et l\u2019ajout des r\u00e8gles de style,</li>\n<li><strong>le fichier index.php</strong> : pour l\u2019affichage du contenu de votre site,</li>\n<li><strong>le fichier functions.php</strong> : pour l\u2019ajout de fonctionnalit\u00e9s WordPress dans votre th\u00e8me.</li>\n</ol><h2>\u00c9tape 2\u00a0: cr\u00e9er le fichier style.css</h2>\n<p>Le premier fichier \u00e0 cr\u00e9er est le fichier style.css. Il est n\u00e9cessaire pour la d\u00e9claration et la configuration de votre th\u00e8me. Sa pr\u00e9sence est indispensable pour deux raisons :</p>\n<ol><li>Il va vous permettre d\u2019ajouter votre th\u00e8me dans l\u2019interface d\u2019administration de WordPress pour qu\u2019il puisse \u00eatre reconnu par le CMS.</li>\n<li>Vous pourrez ajouter des r\u00e8gles de style pour la mise en forme de vos contenus.</li>\n</ol><p>Dans ce fichier style.css, vous pouvez ajouter les lignes suivantes, qui permettront \u00e0 WordPress de reconna\u00eetre votre nouveau th\u00e8me, en lui fournissant des informations comme son nom, celui de l\u2019auteur, une description et son num\u00e9ro de version\u00a0:</p>\n<pre>/*\nTheme Name: Mon th\u00e8me\nTheme URI: https://www.monsite.com/monsite\nAuthor: [renseignez ici votre nom]\nAuthor URI: https://www.monsite.com/monsite\nDescription: [d\u00e9crivez ici votre th\u00e8me en quelques mots]\nVersion: 1.0\n*/</pre>\n<p>D\u2019autres param\u00e8tres compl\u00e9mentaires peuvent \u00e9galement \u00eatre renseign\u00e9s ici, comme le \u00ab\u00a0Text Domain\u00a0\u00bb, si vous souhaitez rendre votre th\u00e8me multilingue.</p>\n<p>Une fois que les premi\u00e8res lignes de d\u00e9clarations sont saisies, vous pouvez \u00e0 pr\u00e9sent renseigner le code CSS que vous souhaitez appliquer \u00e0 votre th\u00e8me. C\u2019est ici que vous pourrez d\u00e9clarer le style : les couleurs d\u2019arri\u00e8re-plan ou de texte, les polices d\u2019\u00e9criture \u00e0 utiliser, etc.\u00a0Voici par exemple la d\u00e9claration du style de l\u2019\u00e9l\u00e9ment body sur BDM :</p>\n<pre>body {\n  background: #FFFFFF;\n  font-family: \"Source Sans Pro\";\n  color: #4b5157;\n  margin: 0 auto;\n}\n</pre>\n<p>\u00c0 noter que vous pouvez tout \u00e0 fait d\u00e9clarer d\u2019autres feuilles de styles (fichiers .css) afin de mieux\u00a0 structurer le design de votre th\u00e8me et d\u2019en faciliter la maintenance. Pour cela, il faudra les d\u00e9clarer dans le fichier functions.php que nous d\u00e9couvrirons plus bas.</p>\n<h2>\u00c9tape 3\u00a0: cr\u00e9er le fichier index.php</h2>\n<h3>La hi\u00e9rarchie des templates WordPress</h3>\n<p>Les th\u00e8mes WordPress utilisent un syst\u00e8me de templates, qui correspondent \u00e0 des fichiers .php, dont les noms permettent au CMS de savoir quel fichier charger selon le contexte de la page \u00e0 afficher. C\u2019est ce qui s\u2019appelle la hi\u00e9rarchie des templates. Afin d\u2019afficher un contenu, quel qu\u2019il soit, WordPress aura toujours comme dernier recours l\u2019utilisation du fichier index.php. C\u2019est la raison pour laquelle il est indispensable et que vous devez a minima le cr\u00e9er.</p>\n<figure id=\"attachment_53621\" aria-describedby=\"caption-attachment-53621\" class=\"wp-caption aligncenter c2\"><a href=\"https://developer.wordpress.org/files/2014/10/Screenshot-2019-01-23-00.20.04.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img class=\"wp-image-53621 size-large\" src=\"https://f.hellowork.com/blogdumoderateur/2020/09/hierarchie-templates-wordpress-664x414.jpg\" alt=\"\" width=\"664\" height=\"414\" srcset=\"https://f.hellowork.com/blogdumoderateur/2020/09/hierarchie-templates-wordpress-664x414.jpg 664w, https://f.hellowork.com/blogdumoderateur/2020/09/hierarchie-templates-wordpress-294x183.jpg 294w, https://f.hellowork.com/blogdumoderateur/2020/09/hierarchie-templates-wordpress-768x479.jpg 768w, https://f.hellowork.com/blogdumoderateur/2020/09/hierarchie-templates-wordpress-1536x958.jpg 1536w, https://f.hellowork.com/blogdumoderateur/2020/09/hierarchie-templates-wordpress-1200x748.jpg 1200w, https://f.hellowork.com/blogdumoderateur/2020/09/hierarchie-templates-wordpress-150x94.jpg 150w, https://f.hellowork.com/blogdumoderateur/2020/09/hierarchie-templates-wordpress-400x250.jpg 400w, https://f.hellowork.com/blogdumoderateur/2020/09/hierarchie-templates-wordpress.jpg 1685w\" referrerpolicy=\"no-referrer\" /></a>\n<figcaption id=\"caption-attachment-53621\" class=\"wp-caption-text\">La hi\u00e9rarchie des templates \u00a9 WordPress</figcaption></figure><p>Le sch\u00e9ma de la hi\u00e9rarchie des templates peut se lire de gauche \u00e0 droite. Si vous souhaitez cr\u00e9er un fichier de template sp\u00e9cifique pour un type de page donn\u00e9e, partez de la gauche du tableau, puis remontez progressivement vers la droite jusqu\u2019\u00e0 trouver le nom de fichier qui correspond \u00e0 votre besoin.</p>\n<p>Voici quelques exemples de pages et le chemin emprunt\u00e9 par WordPress pour afficher un mod\u00e8le de page en fonction de celle demand\u00e9e :</p>\n<ul><li><strong>Affichage de la page d\u2019accueil</strong> : fichier home.php ou front-page.php, ou index.php (par d\u00e9faut),</li>\n<li><strong>Affichage d\u2019une page d\u2019article</strong> : single-{post-type}-{slug}.php (le <em>post-type</em> correspondant au type de publication), ou single-{post-type}.php, ou single.php, ou singular.php, ou index.php (par d\u00e9faut),</li>\n<li><strong>Affichage d\u2019une page</strong> : un mod\u00e8le de page choisi lors de la r\u00e9daction de la page parmi le menu \u00ab\u00a0mod\u00e8le de page\u00a0\u00bb (si l\u2019option est utilis\u00e9e), ou page-{slug}.php, ou page-{id}.php, ou page.php, ou singular.php ou index.php (par d\u00e9faut),</li>\n<li><strong>Affichage d\u2019une cat\u00e9gorie</strong> : category-{slug}.php (ex\u00a0: category-news.php si le slug est news), ou category-{id}.php, ou category.php, ou archive.php, ou index.php (par d\u00e9faut),</li>\n<li><strong>Affichage d\u2019un auteur</strong> : author.php, ou archive.php, ou index.php (par d\u00e9faut),</li>\n<li><strong>Affichage d\u2019une page dat\u00e9e</strong> :\u00a0 date.php, ou archive.php, ou index.php (par d\u00e9faut),</li>\n<li><strong>Affichage d\u2019une page de r\u00e9sultats de recherche</strong> : search.php, ou index.php (par d\u00e9faut),</li>\n<li><strong>Affichage d\u2019une page 404</strong> : 404.php, ou index.php (par d\u00e9faut).</li>\n</ul><p>Lors de la cr\u00e9ation de votre th\u00e8me, vous avez la libert\u00e9 de cr\u00e9er ou non l\u2019ensemble de ces fichiers pour chaque mod\u00e8le de page. Une seule exception : le fichier index.php doit \u00eatre obligatoirement pr\u00e9sent dans le dossier de votre th\u00e8me, car c\u2019est le fichier que WordPress charge par d\u00e9faut pour afficher le mod\u00e8le d\u2019une page de votre site.</p>\n<h3>S\u00e9lectionner le template le plus g\u00e9n\u00e9rique</h3>\n<p>Il est vivement conseiller de ne pas tomber dans le pi\u00e8ge du template trop sp\u00e9cifique. Essayez plut\u00f4t de s\u00e9lectionner un template le plus g\u00e9n\u00e9rique possible (template principal en bleu ou secondaire en vert) dans un premier temps. Si un besoin plus sp\u00e9cifique appara\u00eet au cours de votre d\u00e9veloppement, il vous suffira de renommer votre template par un autre plus adapt\u00e9 et \u00e9ventuellement d\u2019effectuer quelques petits ajustements. En proc\u00e9dant ainsi, vous \u00e9viterez de dupliquer du code inutilement et cela vous facilitera la maintenance de votre th\u00e8me WordPress.</p>\n<h3>Cr\u00e9er les fichiers du header et du footer</h3>\n<p>Afin de factoriser \u2013 c\u2019est-\u00e0-dire ne pas dupliquer du code inutilement \u2013 et de faciliter la lecture de votre code, il est recommand\u00e9 de suivre les bonnes pratiques en cr\u00e9ant les deux fichiers suivants :</p>\n<ul><li><strong>le fichier header.php</strong> : il doit contenir la fonction <code>wp_head()</code>,</li>\n<li><strong>le fichier footer.php</strong> : il doit contenir la fonction <code>wp_footer()</code>.</li>\n</ul><p>Ce sont eux qui seront appel\u00e9s en haut et bas de vos templates gr\u00e2ce aux fonctions <code>get_header();</code> et <code>get_footer();</code>. Notez que ces deux fichiers sont essentiels au bon fonctionnement de votre th\u00e8me et surtout pour les futurs plugins que vous installerez. Il permettent notamment de charger les feuilles de styles et les fichiers JavaScript de vos pages.</p>\n<h2>\u00c9tape 4 : activer le th\u00e8me WordPress</h2>\n<p>Une fois que les principaux fichiers PHP et votre feuille de style sont cr\u00e9\u00e9s, il est maintenant temps d\u2019activer votre th\u00e8me. Pour cela, rendez-vous dans votre interface d\u2019administration WordPress : Apparence &gt; Th\u00e8mes.</p>\n<p>Vous retrouverez dans cette section le th\u00e8me que vous venez de cr\u00e9er. Cliquez sur le bouton <em>Activer</em> situ\u00e9 en bas \u00e0 droite de la vignette d\u2019aper\u00e7u.</p>\n<figure id=\"attachment_53622\" aria-describedby=\"caption-attachment-53622\" class=\"wp-caption aligncenter c2\"><img class=\"wp-image-53622 size-large\" src=\"https://f.hellowork.com/blogdumoderateur/2020/09/theme-activer-wordpress-bdm-664x226.jpg\" alt=\"\" width=\"664\" height=\"226\" srcset=\"https://f.hellowork.com/blogdumoderateur/2020/09/theme-activer-wordpress-bdm-664x226.jpg 664w, https://f.hellowork.com/blogdumoderateur/2020/09/theme-activer-wordpress-bdm-294x100.jpg 294w, https://f.hellowork.com/blogdumoderateur/2020/09/theme-activer-wordpress-bdm-768x262.jpg 768w, https://f.hellowork.com/blogdumoderateur/2020/09/theme-activer-wordpress-bdm-1200x409.jpg 1200w, https://f.hellowork.com/blogdumoderateur/2020/09/theme-activer-wordpress-bdm-150x51.jpg 150w, https://f.hellowork.com/blogdumoderateur/2020/09/theme-activer-wordpress-bdm.jpg 1309w\" referrerpolicy=\"no-referrer\" /><figcaption id=\"caption-attachment-53622\" class=\"wp-caption-text\">Ajoutez puis activez votre th\u00e8me depuis l\u2019interface d\u2019administration de WordPress. \u00a9 Capture BDM</figcaption></figure><p>S\u2019il n\u2019appara\u00eet pas dans la liste, il convient de v\u00e9rifier que tous vos fichiers PHP sont bien enregistr\u00e9s dans le bon dossier <em>wp-content/themes/montheme.</em> Dans le fichier style.css, vos lignes de code ne doivent pas comporter d\u2019espace avant les deux points. N\u2019h\u00e9sitez pas \u00e0 ouvrir ce fichier pour vous assurer que ce n\u2019est pas le cas.</p>\n<h2>\u00c9tape 5 : cr\u00e9er le fichier functions.php</h2>\n<p>Autre \u00e9tape importante, le fichier functions.php permet d\u2019ajouter des fonctionnalit\u00e9s au sein de votre th\u00e8me WordPress. Parmi les fonctions principales, vous aurez besoin de quelques lignes de code pour cr\u00e9er le menu de votre site.</p>\n<h3>Cr\u00e9er un menu dans le fichier functions.php</h3>\n<p>Pour cr\u00e9er une zone de menu WordPress, il suffit d\u2019ajouter cet extrait de code dans votre fichier functions.php :</p>\n<pre>function register_my_menu(){\n  register_nav_menu( 'main-menu', 'Menu principal' );\n}\nadd_action( 'after_setup_theme', 'register_my_menu' );</pre>\n<h3>Ajouter le menu au fichier de template</h3>\n<p>Vous devez ensuite ajouter votre zone de menu dans votre fichier de template. C\u2019est gr\u00e2ce \u00e0 cela que WordPress saura \u00e0 quel moment il devra charger la zone et donc le menu associ\u00e9 \u00e0 cette zone.</p>\n<p>Pour cela, il suffit d\u2019utiliser la fonction <code>wp_nav_menu()</code> et de l\u2019encapsuler dans un \u00e9l\u00e9ment <code>&lt;nav&gt;</code> pour faciliter son interpr\u00e9tation comme \u00e9l\u00e9ment de navigation :</p>\n<pre>&lt;nav id=\"navigation\"&gt;\n&lt;?php\nwp_nav_menu(\n  array(\n    'theme_location' =&gt; 'main-menu',\n    'menu_id' =&gt; 'primary-menu',\n )\n);\n?&gt;\n&lt;/nav&gt;</pre>\n<p>Vous devez d\u00e9clarer votre zone de menu dans le fichier header.php que vous avez cr\u00e9\u00e9 pr\u00e9c\u00e9demment. Ce fichier \u00e9tant charg\u00e9 sur toutes les pages de site, il est parfaitement adapt\u00e9 pour embarquer la d\u00e9claration d\u2019une zone de menu.</p>\n<p>Notez que la proc\u00e9dure est la m\u00eame si vous souhaitez ajouter un menu de pied de page. Il faudra simplement veiller \u00e0 d\u00e9clarer une nouvelle zone de menu avec un nom unique, puis de r\u00e9p\u00e9ter les \u00e9tapes que nous venons de voir.</p>\n<h3>Enregistrer le menu dans l\u2019interface WordPress</h3>\n<p>Rendez-vous ensuite dans la section Apparence &gt; Menus de votre interface d\u2019administration. Appuyez sur le bouton <em>Cr\u00e9er le menu</em>. Dans la colonne Pages, vous trouverez la liste des \u00e9l\u00e9ments dont vous disposez. Vous pouvez les faire glisser dans le bloc de droite intitul\u00e9 <em>Structure du menu</em>, dans l\u2019ordre de votre choix, pour le constituer.</p>\n<p>Une fois que vos \u00e9l\u00e9ments de menu sont ajout\u00e9s et ordonn\u00e9s, il est n\u00e9cessaire d\u2019associer ce menu \u00e0 une zone de menu\u00a0: c\u2019est celle que nous venons de d\u00e9clarer avec le bout de code ci-dessus. Vous devriez retrouver votre nom de zone de menu \u00e0 c\u00f4t\u00e9 de la mention \u00ab\u00a0<em>Afficher l\u2019emplacement</em>\u00a0\u00bb. Cochez alors la case correspondante puis enregistrez votre menu.</p>\n<figure id=\"attachment_53647\" aria-describedby=\"caption-attachment-53647\" class=\"wp-caption aligncenter c2\"><img class=\"wp-image-53647 size-large\" src=\"https://f.hellowork.com/blogdumoderateur/2020/09/menu-wordpress-664x276.jpg\" alt=\"\" width=\"664\" height=\"276\" srcset=\"https://f.hellowork.com/blogdumoderateur/2020/09/menu-wordpress-664x276.jpg 664w, https://f.hellowork.com/blogdumoderateur/2020/09/menu-wordpress-294x122.jpg 294w, https://f.hellowork.com/blogdumoderateur/2020/09/menu-wordpress-768x319.jpg 768w, https://f.hellowork.com/blogdumoderateur/2020/09/menu-wordpress-1200x499.jpg 1200w, https://f.hellowork.com/blogdumoderateur/2020/09/menu-wordpress-150x62.jpg 150w, https://f.hellowork.com/blogdumoderateur/2020/09/menu-wordpress.jpg 1425w\" referrerpolicy=\"no-referrer\" /><figcaption id=\"caption-attachment-53647\" class=\"wp-caption-text\">La structure du menu sur WordPress. \u00a9 capture BDM</figcaption></figure><h3>Am\u00e9liorer son th\u00e8me avec d\u2019autres fonctionnalit\u00e9s</h3>\n<p>Vous pouvez ensuite <a href=\"https://developer.wordpress.org/reference/functions/add_theme_support/\" target=\"_blank\" rel=\"noopener noreferrer\">ajouter d\u2019autres lignes de code</a> pour am\u00e9liorer le style de votre th\u00e8me et ajouter des fonctionnalit\u00e9s pratiques pour l\u2019exp\u00e9rience utilisateur. Par exemple, vous pouvez\u00a0:</p>\n<ul><li>activer la gestion des tailles d\u2019images personnalis\u00e9es,</li>\n<li>activer la cr\u00e9ation automatique de la balise &lt;title&gt; dans l\u2019en-t\u00eate d\u2019une page,</li>\n<li>cr\u00e9er une sidebar principale,</li>\n<li>cr\u00e9er une sidebar pour le footer\u2026</li>\n</ul><h2>Les starter themes et les th\u00e8mes enfants</h2>\n<p>Sachez qu\u2019il existe \u00e9galement des <em>starter themes</em> pour WordPress. Il s\u2019agit de th\u00e8mes vierges avec un design minimal et une mise en page basique (voire inexistante), qui sont con\u00e7us pour \u00eatre int\u00e9gralement modifi\u00e9s et qui respectent les bonnes pratiques du CMS. Le plus populaire se nomme <a href=\"https://underscores.me/\" target=\"_blank\" rel=\"noopener noreferrer\">underscores</a>, cr\u00e9\u00e9 par Automattic, la soci\u00e9t\u00e9 qui porte en grande partie le projet WordPress. Ce type de mod\u00e8le permet aux d\u00e9veloppeurs de d\u00e9marrer la cr\u00e9ation de leur th\u00e8me \u00e0 partir d\u2019une base solide et propre pour y ajouter leurs feuilles de style et donc cr\u00e9er un th\u00e8me unique.</p>\n<p>Notez enfin que WordPress dispose d\u2019un syst\u00e8me de <a href=\"https://codex.wordpress.org/fr:Th%C3%A8mes_Enfant\" target=\"_blank\" rel=\"noopener noreferrer\">th\u00e8mes enfants</a> qui h\u00e9ritent des fonctionnalit\u00e9s et du design d\u2019un th\u00e8me parent, le th\u00e8me que vous avez retenu pour votre projet et que vous souhaitez adapter \u00e0 vos besoins. L\u2019objectif \u00e9tant de surcharger certains \u00e9l\u00e9ments du th\u00e8me parent tels que le style css, certains templates, tout en conservant la possibilit\u00e9 de le mettre \u00e0 jour. Vous disposez alors d\u2019un th\u00e8me personnalis\u00e9 avec un minimum d\u2019efforts. Attention toutefois car tous les th\u00e8mes ne sont pas totalement compatibles. Plus vous surchargerez le th\u00e8me principal, plus la maintenance votre th\u00e8me enfant sera complexe.</p>\n<div class=\"readmore-container boxed-s auto-h link-articles list-article entry-meta p-3_2\"><p>\u00c0 lire \u00e9galement</p></div>\n<h2>Se former pour devenir un expert de WordPress</h2>\n<p>Vous souhaitez en savoir plus pour ma\u00eetriser le CMS le plus utilis\u00e9 dans le monde ? D\u00e9couvrez notre s\u00e9lection de formations, qui vous permettront d\u2019apprendre \u00e0 cr\u00e9er, d\u00e9velopper et optimiser votre site WordPress.</p>\n<p><a href=\"https://www.maformation.fr/formation/recherche?utm_source=blogdumoderateur&amp;utm_medium=siteweb&amp;utm_campaign=creer-theme-wordpress&amp;utm_content=lien&amp;Query=wordpress&amp;Lieu=&amp;TypeSearch=1&amp;utm_term=Trouver-une-formation-WordPress\" class=\"btn outline featured-link\" target=\"_blank\">Trouver une formation WordPress</a></p>",
    "created_at": "2024-02-18T20:57:39+00:00",
    "updated_at": "2024-02-18T20:57:54+00:00",
    "published_at": "2020-09-15T15:03:09+00:00",
    "published_by": [""],
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr_FR",
    "reading_time": 11,
    "domain_name": "www.blogdumoderateur.com",
    "preview_picture": "https://f.hellowork.com/blogdumoderateur/2020/09/themes-wordpress-1200x628.jpg",
    "http_status": "200",
    "headers": {
      "date": "Sun, 18 Feb 2024 20:57:38 GMT",
      "content-type": "text/html; charset=UTF-8",
      "content-length": "143701",
      "connection": "keep-alive",
      "vary": "Accept-Encoding",
      "link": "<https://www.blogdumoderateur.com/wp-json/>; rel=\"https://api.w.org/\", <https://www.blogdumoderateur.com/wp-json/wp/v2/posts/53282>; rel=\"alternate\"; type=\"application/json\", <https://www.blogdumoderateur.com/?p=53282>; rel=shortlink",
      "x-rocket-nginx-serving-static": "No",
      "x-cache-hits": "12",
      "accept-ranges": "bytes",
      "age": "6745",
      "x-cache": "MISS"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["wordpress", "theme"],
    "is_public": false,
    "id": 72,
    "title": "Comment cr\u00e9er un th\u00e8me enfant dans WordPress (Guide \u00e9tendu)",
    "url": "https://kinsta.com/fr/blog/theme-enfant-wordpress/",
    "given_url": "https://kinsta.com/fr/blog/theme-enfant-wordpress/",
    "content": "<p>Vous <a href=\"https://kinsta.com/fr/blog/idees-de-site/\">utilisez votre site WordPress depuis</a> un certain temps et il fait ce dont vous avez besoin. Mais maintenant, vous d\u00e9cidez que vous devez le personnaliser.</p>\n<p>Ou peut-\u00eatre que vous cr\u00e9ez votre site avec un th\u00e8me que vous avez t\u00e9l\u00e9charg\u00e9 \u00e0 partir du <a href=\"https://kinsta.com/fr/blog/themes-wordpress-gratuits-vs-payants/\">r\u00e9pertoire de th\u00e8mes ou que vous avez achet\u00e9</a>, et que vous r\u00e9alisez qu\u2019il ne fonctionne pas exactement de la mani\u00e8re dont vous en avez besoin.</p>\n<p>Que faites-vous, alors ?</p>\n<p>Vous pouvez soit trouver une extension qui vous fournira la personnalisation dont vous avez besoin, soit passer \u00e0 un nouveau th\u00e8me. Mais que faire si vous \u00eates satisfait de votre th\u00e8me actuel et que vous n\u2019arrivez pas \u00e0 trouver une extension qui ajoute ce dont vous avez besoin en termes de fonctionnalit\u00e9s ?</p>\n<p>R\u00e9ponse : <a href=\"https://kinsta.com/fr/base-de-connaissances/modifier-code-wordpress/\">vous devrez personnaliser votre th\u00e8me</a>. Et les meilleures pratiques disent : Faites-le via des th\u00e8mes (WordPress) enfants.</p>\n<p>Dans cet article, je vais vous montrer exactement comment cr\u00e9er un th\u00e8me enfant dans WordPress, comment l\u2019utiliser pour personnaliser votre site, et comment les th\u00e8mes enfants fonctionnent. J\u2019expliquerai \u00e9galement le concept des th\u00e8mes parents et d\u00e9crirai comment le th\u00e8me parent sur votre site interagit avec un th\u00e8me enfant.</p>\n<p>Avant de nous plonger dans la cr\u00e9ation d\u2019un th\u00e8me enfant, nous allons identifier les 3 m\u00e9thodes que vous pouvez utiliser pour personnaliser votre site WordPress.</p>\n<h2 id=\"methods\">M\u00e9thodes de personnalisation de WordPress</h2>\n<p>Personnaliser un th\u00e8me comporte des <a href=\"https://kinsta.com/fr/blog/mettre-a-jour-theme-wordpress/\">risques</a>. Si vous modifiez le code dans un th\u00e8me tiers (que <a href=\"https://kinsta.com/fr/blog/avantages-inconvenients-themeforest/\">vous avez achet\u00e9 sur une place de march\u00e9</a> par exemple), alors lors de la prochaine mise \u00e0 jour du th\u00e8me, toutes vos modifications seront perdues. Cela signifie que non seulement votre site redevient comme avant, mais tout votre travail est g\u00e2ch\u00e9.</p>\n<p>Il y a trois fa\u00e7ons de personnaliser votre site WordPress :</p>\n<p>Examinons chacune d\u2019entre elles \u00e0 tour de r\u00f4le.</p>\n<div class=\"featured-snippet\" id=\"featuredSnippet\"><div class=\"featured-snippet__content\"><h2>Qu'est-ce qu'un th\u00e8me enfant WordPress (Glossaire) :</h2><div><p>Un th\u00e8me enfant WordPress est un th\u00e8me qui fonctionne en tandem avec un autre (appel\u00e9 th\u00e8me parent) dont il h\u00e9rite toutes les fonctionnalit\u00e9s et le style.</p><p>Les meilleures pratiques de d\u00e9veloppement recommandent d\u2019utiliser des th\u00e8mes enfants pour modifier, mettre \u00e0 jour ou personnaliser les th\u00e8mes WordPress existants comme un moyen s\u00fbr de maintenir leur design et leur code.</p></div></div><div class=\"featured-snippet__footer featured-snippet__footer--content row nocol middle-xs between-xs reverse row nocol middle-xs c3\"><p>Support</p></div></div>\n<h3>Modifier votre th\u00e8me</h3>\n<p>Si votre site utilise un th\u00e8me WordPress personnalis\u00e9, ce qui signifie qu\u2019il a \u00e9t\u00e9 d\u00e9velopp\u00e9 sp\u00e9cifiquement pour votre site, vous avez la possibilit\u00e9 de le modifier en toute s\u00e9curit\u00e9 car il n\u2019y a aucun risque de perdre vos personnalisations la prochaine fois que le th\u00e8me est mis \u00e0 jour.</p>\n<p>Au lieu de cela, si vous ou votre d\u00e9veloppeur apportez des modifications au th\u00e8me \u00e0 l\u2019avenir, c\u2019est la version personnalis\u00e9e du th\u00e8me que vous allez modifier, et non la version originale avant ces modifications.</p>\n<p>Cela ne veut pas dire que la modification de votre th\u00e8me n\u2019est pas sans risque. Si vous n\u2019avez pas l\u2019habitude de coder des th\u00e8mes, il peut \u00eatre encore plus s\u00fbr de <a href=\"https://developer.wordpress.org/themes/advanced-topics/child-themes/\">cr\u00e9er un th\u00e8me enfant</a> (nous verrons comment dans une minute). C\u2019est quelque chose que je fais : J\u2019ai un th\u00e8me de base que j\u2019utilise sur tous mes sites, avec une mise en page standard, des <a href=\"https://kinsta.com/fr/blog/hooks-wordpress/\" target=\"_blank\" rel=\"noopener noreferrer\">crochets d\u2019action (hooks) et des fonctions</a>, puis je le personnalise sur chaque site avec un th\u00e8me enfant.</p>\n<p>Si vous modifiez votre th\u00e8me directement, assurez-vous de <a href=\"https://kinsta.com/docs/wordpress-hosting/wordpress-backups#wordpress-backup\">conserver une sauvegarde du th\u00e8me d\u2019origine</a>, ne modifiez pas le th\u00e8me dans le site en production (utilisez plut\u00f4t un <a href=\"https://kinsta.com/docs/wordpress-hosting/staging-environment\">site de d\u00e9veloppement ou de test</a>) et utilisez le <a href=\"https://kinsta.com/fr/blog/controle-version-wordpress-git/\">contr\u00f4le de version</a> pour suivre vos modifications.</p>\n<p>Et si vous utilisez un th\u00e8me tiers, vous ne devriez jamais le modifier directement. Utilisez plut\u00f4t une extension ou cr\u00e9ez un th\u00e8me enfant.</p>\n<h3>Ajouter un plugin</h3>\n<p>La deuxi\u00e8me option pour personnaliser un th\u00e8me WordPress est d\u2019installer ou de coder une extension.</p>\n<p>Si les personnalisations que vous voulez faire sont fonctionnelles au lieu d\u2019\u00eatre li\u00e9es au design, une extension est un moyen plus appropri\u00e9 de le faire. Donc si vous voulez ajouter du code suppl\u00e9mentaire, il peut \u00eatre pr\u00e9f\u00e9rable de cr\u00e9er une extension \u00e0 la place.</p>\n<p>Les extensions n\u2019ont pas besoin d\u2019\u00eatre grandes ou complexes : si vous avez besoin d\u2019ajouter du code suppl\u00e9mentaire au fichier <a href=\"https://developer.wordpress.org/themes/advanced-topics/child-themes/#using-functions-php\">functions.php</a> dans votre th\u00e8me, cr\u00e9ez une extension simple pour ajouter quelques lignes de code \u00e0 votre site. Un bon exemple est l\u2019enregistrement d\u2019un <a href=\"https://codex.wordpress.org/Function_Reference/register_post_type\">type de publication personnalis\u00e9</a> (Custom Post Type).</p>\n<p>Il peut \u00eatre tentant d\u2019ajouter du code au fichier <a href=\"https://developer.wordpress.org/themes/basics/theme-functions/#what-is-functions-php\">functions.php de votre th\u00e8me</a>, mais ajouter un type de publication est un changement fonctionnel \u00e0 votre site, pas un changement de conception. Si <a href=\"https://kinsta.com/fr/blog/modifier-theme-wordpress/\">vous deviez changer de th\u00e8me \u00e0 l\u2019avenir</a>, vous ne voudriez pas perdre ces types de publications et tous les articles que vous avez cr\u00e9\u00e9s en les utilisant. C\u2019est pourquoi vous devriez <a href=\"https://kinsta.com/fr/base-de-connaissances/comment-installer-plugins-wordpress/\">installer</a> ou cr\u00e9er une extension \u00e0 la place.</p>\n<p>Parfois, vous serez en mesure de trouver une extension existante qui fait ce dont vous avez besoin, mais parfois vous devrez coder l\u2019extension vous-m\u00eame.</p>\n<figure class=\"wp-caption alignnone c4\"><img src=\"https://kinsta.com/fr/wp-content/uploads/sites/4/2019/06/wordpress-repertoire-1.png\" alt=\"Le r&#xe9;pertoire WordPress\" width=\"1281\" height=\"934\" referrerpolicy=\"no-referrer\" /><figcaption class=\"wp-caption-text\">Le r\u00e9pertoire WordPress</figcaption></figure><p>En cas de doute sur la n\u00e9cessit\u00e9 de cr\u00e9er une extension ou de personnaliser votre th\u00e8me (ou th\u00e8me enfant), demandez-vous ceci : si je voulais changer le design de mon site \u00e0 l\u2019avenir et <a href=\"https://kinsta.com/fr/blog/installer-theme-wordpress/\">installer un nouveau th\u00e8me WordPress</a>, est-ce que je voudrais que ce changement reste ? Si la r\u00e9ponse est oui, cela signifie que le changement est fonctionnel et non esth\u00e9tique, et qu\u2019il devrait aller dans une extension.</p>\n<h3 id=\"creating-a-child-theme\">Cr\u00e9er un th\u00e8me enfant</h3>\n<p>La troisi\u00e8me option pour personnaliser le th\u00e8me WordPress est de <a href=\"https://developer.wordpress.org/themes/advanced-topics/child-themes/https:/developer.wordpress.org/themes/advanced-topics/child-themes/\">cr\u00e9er un th\u00e8me enfant</a>.</p>\n<p>Voici quelques sc\u00e9narios dans lesquels vous utiliseriez un th\u00e8me enfant :</p>\n<ul><li>Vous souhaitez apporter des modifications \u00e0 la conception du site, et non \u00e0 sa fonctionnalit\u00e9.</li>\n<li>Votre site utilise un th\u00e8me tiers ou un th\u00e8me que vous souhaitez utiliser \u00e0 nouveau dans son \u00e9tat actuel.</li>\n<li>Vous ne voulez pas modifier directement votre th\u00e8me existant au cas o\u00f9 cela causerait des probl\u00e8mes (peut-\u00eatre que vous n\u2019\u00eates pas un d\u00e9veloppeur de th\u00e8me exp\u00e9riment\u00e9).</li>\n<li>Votre site utilise un th\u00e8me con\u00e7u pour \u00eatre un th\u00e8me parent, tel qu\u2019un framework. Ce sont des th\u00e8mes avec de nombreuses options de personnalisation telles que des <a href=\"https://kinsta.com/fr/blog/hooks-wordpress/\" target=\"_blank\" rel=\"noopener noreferrer\">crochets d\u2019action</a>, con\u00e7us pour que vous puissiez les ajouter \u00e0 votre propre th\u00e8me enfant.</li>\n</ul><p>Les th\u00e8mes enfants sont donc un moyen efficace et s\u00fbr d\u2019ajouter des personnalisations \u00e0 votre site. Examinons-les donc plus en d\u00e9tail.</p>\n<h2 id=\"what\">Qu\u2019est-ce qu\u2019un th\u00e8me enfant WordPress ?</h2>\n<p>Alors, qu\u2019est-ce qu\u2019un th\u00e8me enfant dans WordPress ? Comment cela fonctionne-t-il ?</p>\n<p>Un th\u00e8me enfant est un th\u00e8me qui fonctionne en tandem avec un autre th\u00e8me, que l\u2019on appelle le <a href=\"https://developer.wordpress.org/themes/advanced-topics/child-themes/#what-is-a-parent-theme\">th\u00e8me parent</a>.</p>\n<p>Il contient des instructions sp\u00e9cifiques pour indiquer \u00e0 WordPress qu\u2019il s\u2019agit d\u2019un th\u00e8me enfant et quel est le th\u00e8me parent. WordPress utilise ensuite le code du th\u00e8me parent dans la plupart des cas, mais le remplace par le code du th\u00e8me enfant (si n\u00e9cessaire).\u00a0Si vous rencontrez un site utilisant un th\u00e8me enfant qui vous pla\u00eet, utilisez notre <a href=\"https://kinsta.com/tools/what-is-my-ip/wordpress-theme-detector/\">outil de d\u00e9tection de th\u00e8me</a> pour d\u00e9couvrir le th\u00e8me parent.</p>\n<h3>Les fichiers dans un th\u00e8me enfant WordPress</h3>\n<p>Chaque th\u00e8me enfant WordPress doit avoir au minimum deux fichiers : une feuille de style et un fichier de fonctions. La feuille de style contiendra un texte comment\u00e9 en haut indiquant \u00e0 WordPress qu\u2019il s\u2019agit d\u2019un th\u00e8me enfant et quel est le th\u00e8me parent. Le fichier de fonctions comprendra une fonction qui <a href=\"https://developer.wordpress.org/themes/advanced-topics/child-themes/#3-enqueue-stylesheet\">interroge la feuille de style \u00e0 partir du th\u00e8me parent</a>.</p>\n<p><em>Remarque : Vous pouvez trouver des guides qui vous disent d\u2019appeler la feuille de style du th\u00e8me parent \u00e0 partir de la feuille de style du th\u00e8me enfant. Ce n\u2019est plus la bonne fa\u00e7on de le faire, et vous devriez plut\u00f4t utiliser l\u2019interrogation dans le fichier de fonctions. Je vais vous montrer comment faire.</em></p>\n<p>Votre th\u00e8me enfant n\u2019a pas besoin <em>d\u2019</em>inclure d\u2019autres fichiers. Contrairement au th\u00e8me parent, il n\u2019a pas besoin d\u2019un fichier <a href=\"https://developer.wordpress.org/themes/getting-started/your-first-theme/#step-3-create-anindex-php-file\">index.php</a> comme solution de secours s\u2019il n\u2019y a plus de fichiers sp\u00e9cifiques dans le th\u00e8me. En effet, si un fichier mod\u00e8le n\u2019existe pas dans le th\u00e8me enfant, WordPress utilisera le fichier du th\u00e8me parent.</p>\n<p>Ainsi, selon ce que vous voulez que votre th\u00e8me enfant fasse, vous ajouterez du code suppl\u00e9mentaire \u00e0 la feuille de style, au fichier de fonctions, ou vous cr\u00e9erez des fichiers suppl\u00e9mentaires dans le th\u00e8me enfant pour remplacer le th\u00e8me parent. Il peut s\u2019agir d\u2019un ou plusieurs de ceux-ci :</p>\n<ul><li><a href=\"https://developer.wordpress.org/themes/basics/template-files/\">Fichiers mod\u00e8les</a> pour remplacer le m\u00eame fichier du th\u00e8me parent, tel que page.php lorsque vous souhaitez personnaliser l\u2019affichage des pages statiques.</li>\n<li>Parties de mod\u00e8les telles que header.php ou footer.php lorsque vous voulez personnaliser ces parties de la conception du site.</li>\n<li>Pi\u00e8ces de mod\u00e8le suppl\u00e9mentaires que vous appelez \u00e0 partir des fichiers de mod\u00e8le dans votre th\u00e8me enfant. Ainsi, si vous vouliez personnaliser l\u2019en-t\u00eate lorsque des pages statiques sont affich\u00e9es, vous cr\u00e9eriez un fichier dans votre th\u00e8me enfant appel\u00e9 header-page.php, et un fichier mod\u00e8le appel\u00e9 page.php, qui remplacerait page.php du th\u00e8me parent. Ce fichier mod\u00e8le serait identique \u00e0 celui du th\u00e8me parent \u00e0 l\u2019exception de l\u2019appel du fichier d\u2019en-t\u00eate, qui appellerait header-page.php au lieu de header.php.</li>\n<li>Fichiers d\u2019inclusion suppl\u00e9mentaires pour la fonctionnalit\u00e9. Si vous voulez ajouter beaucoup de code fonctionnel et l\u2019organiser, vous pouvez cr\u00e9er des fichiers d\u2019inclusion pour chaque ensemble de fonctions et les appeler dans le <a href=\"https://kinsta.com/fr/blog/wordpress-functions-php/\">fichier functions.php</a> de votre th\u00e8me enfant. Ainsi, par exemple, si vous souhaitez ajouter des options suppl\u00e9mentaires \u00e0 l\u2019outil de personnalisation, vous pouvez ajouter un fichier d\u2019inclusion appel\u00e9 customizer.php dans votre th\u00e8me enfant, puis appeler ce fichier depuis le fichier de fonctions dans votre th\u00e8me enfant.</li>\n</ul><p>Mais si vous ajoutez des fichiers et des fonctions suppl\u00e9mentaires, comment WordPress sait-il lequel utiliser ? Ceux du th\u00e8me parent ou ceux du th\u00e8me enfant ? Nous y viendrons ensuite.</p>\n<h3>Comment WordPress choisit les fichiers mod\u00e8les</h3>\n<p>La fa\u00e7on dont WordPress choisit les fichiers mod\u00e8les de votre th\u00e8me lors de l\u2019affichage du contenu sur votre site est en se r\u00e9f\u00e9rant \u00e0 la <a href=\"https://wphierarchy.com/\">hi\u00e9rarchie des mod\u00e8les</a>.</p>\n<figure class=\"wp-caption alignnone c5\"><img src=\"https://kinsta.com/fr/wp-content/uploads/sites/4/2019/06/WordPress-modeles-hierarchie.png\" alt=\"La hi&#xe9;rarchie des mod&#xe8;les WordPress\" width=\"1897\" height=\"1038\" referrerpolicy=\"no-referrer\" /><figcaption class=\"wp-caption-text\">La hi\u00e9rarchie des mod\u00e8les WordPress</figcaption></figure><p>WordPress utilise cette hi\u00e9rarchie pour parcourir les <a href=\"https://developer.wordpress.org/themes/basics/template-files/\">fichiers mod\u00e8les</a> de votre th\u00e8me et trouver celui qu\u2019il convient d\u2019utiliser pour afficher un type de contenu donn\u00e9. Il commencera en haut (\u00e0 gauche dans l\u2019image ci-dessus) et recherchera chaque fichier pour le type de contenu donn\u00e9 \u00e0 tour de r\u00f4le. Lorsqu\u2019il trouve un fichier qui affichera ce contenu, il l\u2019utilisera.</p>\n<p>Imaginez que votre th\u00e8me ait un fichier archive.php et un fichier category.php mais pas de fichier tag.php. Lors de l\u2019affichage d\u2019une archive de cat\u00e9gories, WordPress utilisera category.php car il est plus sp\u00e9cifique au type de contenu. Lors de l\u2019affichage d\u2019une archive d\u2019\u00e9tiquettes, il utilisera archive.php \u00e0 la place.</p>\n<p>Si WordPress ne trouve pas de fichier mod\u00e8le pour le type de contenu donn\u00e9, il utilisera par d\u00e9faut le fichier index.php, c\u2019est pourquoi chaque th\u00e8me autonome (c\u2019est-\u00e0-dire pas un th\u00e8me enfant) doit avoir un fichier index.php.</p>\n<p>Il en va de m\u00eame pour les articles et les pages individuels. Disons que votre th\u00e8me a un fichier singular.php, qui est le fourre-tout pour les articles individuels de tout type de publication (y compris les pages et les types de publications personnalis\u00e9s). Il a aussi un fichier page.php. Lors de l\u2019affichage d\u2019une seule page, il utilisera page.php. Lors de l\u2019affichage d\u2019un article, il utilisera singular.php. Et si vous enregistrez un type de publication personnalis\u00e9 et que vous n\u2019ajoutez pas de fichier mod\u00e8le pour ce type de publication, il utilisera singular.php \u00e0 nouveau.</p>\n<p>Lorsque vous utilisez un th\u00e8me enfant, WordPress utilise toujours la hi\u00e9rarchie des mod\u00e8les pour d\u00e9cider quel fichier utiliser lors de l\u2019affichage de contenu sur votre site. Il examine les fichiers des th\u00e8mes parent et enfant et utilise le premier fichier qu\u2019il trouve.</p>\n<p>Imaginez donc que votre th\u00e8me enfant a singular.php et post.php, et que votre th\u00e8me parent a page.php et index.php. Lors de l\u2019affichage d\u2019un article individuel, WordPress utilisera post.php \u00e0 partir du th\u00e8me enfant. Lors de l\u2019affichage d\u2019une page, il utilisera le fichier page.php du th\u00e8me parent. Et lors de l\u2019affichage d\u2019un article individuel ou d\u2019un type de publication personnalis\u00e9, il utilisera singular.php \u00e0 partir du th\u00e8me enfant.</p>\n<p>Mais que se passe-t-il si votre th\u00e8me enfant et votre th\u00e8me parent ont tous deux des instances du m\u00eame fichier ?</p>\n<p>Imaginons que vous ajoutiez un fichier page.php au th\u00e8me enfant dans l\u2019exemple pr\u00e9c\u00e9dent. Comme ce th\u00e8me se trouve dans le th\u00e8me enfant, il remplace le m\u00eame fichier du th\u00e8me parent. Ainsi, lors de l\u2019affichage d\u2019une seule page, WordPress utilisera le nouveau fichier page.php du th\u00e8me enfant.</p>\n<p>C\u2019est pourquoi la cr\u00e9ation d\u2019un th\u00e8me enfant vous permet de personnaliser le th\u00e8me parent. Si vous ajoutez une copie d\u2019un fichier mod\u00e8le de votre th\u00e8me parent \u00e0 votre th\u00e8me enfant et que vous le modifiez ensuite pour inclure les personnalisations que vous voulez faire, WordPress utilisera ce nouveau fichier mod\u00e8le au lieu de celui du th\u00e8me parent. Ce qui signifie que vos personnalisations seront utilis\u00e9es lors de l\u2019affichage du contenu, sans que vous ayez modifi\u00e9 le th\u00e8me parent. Joli !</p>\n<h3>Comment WordPress fonctionne \u00e0 partir des th\u00e8mes parents et enfants</h3>\n<p>Que faire si vous voulez faire des personnalisations non pas aux fichiers de mod\u00e8le dans votre th\u00e8me, mais aux fonctions ?</p>\n<p>Vous pouvez le faire aussi. Tout d\u2019abord, vous devez vous assurer que la bonne fa\u00e7on de le faire est via un th\u00e8me enfant et non une extension. Un exemple pourrait \u00eatre o\u00f9 vous voulez modifier une fonction qui est d\u00e9j\u00e0 dans le th\u00e8me parent, par exemple, la fonction qui <a href=\"https://kinsta.com/fr/base-de-connaissances/supprimer-propulse-par-wordpress/\">\u00e9dite lecr\u00e9dits dans le pied de page</a>.</p>\n<p>Vous ajoutez ensuite la ou les nouvelles fonctions au fichier de fonctions dans votre th\u00e8me enfant ou \u00e0 un fichier d\u2019inclusion que vous appelez \u00e0 partir du fichier de fonctions.</p>\n<p>Pour vous assurer que votre nouvelle fonction remplace la fonctionnalit\u00e9 de votre th\u00e8me parent, vous devez comprendre comment remplacer les fonctions. Il y a trois fa\u00e7ons de le faire :</p>\n<ul><li>En \u00e9crivant une nouvelle fonction avec le m\u00eame nom qu\u2019une fonction enfichable dans votre th\u00e8me parent.</li>\n<li>En d\u00e9crochant la fonction de votre th\u00e8me parent du crochet d\u2019action auquel elle \u00e9tait attach\u00e9e et en \u00e9crivant ensuite une nouvelle fonction pour la remplacer.</li>\n<li>En \u00e9crivant une nouvelle fonction avec une priorit\u00e9 plus \u00e9lev\u00e9e que la fonction originale et en l\u2019appelant via le m\u00eame crochet d\u2019action, ce qui signifie qu\u2019elle est appel\u00e9e apr\u00e8s la fonction originale et peut, par cons\u00e9quent, la remplacer ou l\u2019augmenter.</li>\n</ul><p>Nous verrons comment vous faire tout cela plus loin dans cet article. Mais d\u2019abord, regardons les sc\u00e9narios o\u00f9 vous utiliseriez ou non un th\u00e8me enfant.</p>\n<h2 id=\"when\">Quand utiliser un th\u00e8me enfant dans WordPress (Avantages)</h2>\n<p>Vous savez maintenant ce que sont les th\u00e8mes enfants et comment vous pouvez les utiliser pour remplacer les fichiers mod\u00e8les ou les fonctions de votre th\u00e8me parent.</p>\n<p>En r\u00e9sum\u00e9, vous devriez utiliser un th\u00e8me enfant si vous utilisez un th\u00e8me sur votre site et que vous voulez faire une ou plusieurs des choses suivantes :</p>\n<ul><li>Modifier un ou plusieurs fichiers mod\u00e8les.</li>\n<li>Ajouter des fonctions suppl\u00e9mentaires li\u00e9es \u00e0 l\u2019affichage et non \u00e0 la fonctionnalit\u00e9.</li>\n<li>Remplacer une ou plusieurs fonctions du th\u00e8me parent.</li>\n<li>Ajouter un ou plusieurs fichiers mod\u00e8les suppl\u00e9mentaires.</li>\n</ul><p>Parmi les avantages, mentionnons les suivants :</p>\n<ul><li><strong>Am\u00e9lioration et personnalisation faciles :</strong> C\u2019est \u00e9vident, un th\u00e8me enfant \u00e9tend la fonctionnalit\u00e9 de son th\u00e8me parent. Vous avez d\u00e9j\u00e0 un mod\u00e8le pr\u00eat \u00e0 l\u2019emploi \u00e0 votre service sous la forme d\u2019un th\u00e8me parent, et tout ce que vous avez \u00e0 faire est de <a href=\"https://kinsta.com/fr/blog/css-wordpress/#how-to-customize-your-wordpress-theme-with-css\" target=\"_blank\" rel=\"noopener noreferrer\">cr\u00e9er un fichier style.css distinct</a> pour votre th\u00e8me enfant, et ajouter les modifications de personnalisation selon vos besoins.</li>\n<li><strong>Mises \u00e0 jour sans tracas :</strong> Au fur et \u00e0 mesure que WordPress \u00e9volue, les th\u00e8mes et les <a href=\"https://kinsta.com/fr/base-de-connaissances/mettre-a-jour-plugin-wordpress-manuellement/\">extensions doivent \u00eatre mis \u00e0 jour</a> r\u00e9guli\u00e8rement. Si vous apportez des modifications de personnalisation et des changements \u00e0 votre th\u00e8me principal, vous risquez de perdre tous vos changements si vous mettez \u00e0 jour le th\u00e8me. Il est donc conseill\u00e9 d\u2019apporter de telles modifications \u00e0 un th\u00e8me enfant, de sorte que m\u00eame si vous devez mettre \u00e0 jour le th\u00e8me parent, vous n\u2019avez pas peur de perdre vos modifications.</li>\n</ul><p>Et si vous n\u2019utilisiez pas un th\u00e8me enfant ?</p>\n<h2 id=\"not\">Quand ne pas utiliser un th\u00e8me enfant WordPress (Inconv\u00e9nients)</h2>\n<p>Il y a des moments o\u00f9 vous n\u2019utiliseriez pas un th\u00e8me enfant et devriez utiliser une m\u00e9thode diff\u00e9rente de personnalisation de votre site. Ceux-ci sont :</p>\n<ul><li>Si c\u2019est un th\u00e8me que vous avez d\u00e9velopp\u00e9 vous-m\u00eame (ou que <a href=\"https://kinsta.com/fr/blog/engager-developpeur-wordpress/\">quelqu\u2019un d\u2019autre a cod\u00e9 pour vous</a>) et que vous n\u2019avez pas besoin de l\u2019utiliser ailleurs. Modifiez simplement le th\u00e8me, en vous assurant d\u2019<a href=\"https://kinsta.com/fr/base-de-connaissances/base-de-connaissances-github/\">utiliser le contr\u00f4le de version</a>.</li>\n<li>Si les personnalisations que vous voulez faire sont fonctionnelles, par exemple l\u2019ajout d\u2019un type de publication personnalis\u00e9, et vous voudrez les conserver si vous changez de th\u00e8me dans le futur. Utilisez plut\u00f4t une extension.</li>\n</ul><p>Parmi les inconv\u00e9nients, mentionnons :</p>\n<ul><li><strong>Choisir le th\u00e8me parent id\u00e9al :</strong> Tous les th\u00e8mes n\u2019agissent pas comme de bons th-mes parents ! Certains th\u00e8mes WordPress, par exemple, peuvent ne pas \u00eatre mis \u00e0 jour r\u00e9guli\u00e8rement et ont donc tendance \u00e0 ne pas disposer des derni\u00e8res fonctionnalit\u00e9s. De m\u00eame, tous les th\u00e8mes WordPress ne sont pas cr\u00e9\u00e9s avec des th\u00e8mes enfants \u00e0 l\u2019esprit et, en tant que tels, peuvent \u00eatre de mauvais candidats pour les th\u00e8mes parents. Vous devez choisir le th\u00e8me parent parfait afin de l\u2019am\u00e9liorer correctement et de le faire fonctionner comme une base pour vos th\u00e8mes enfants.</li>\n<li><strong>Efforts de personnalisation :</strong> Un th\u00e8me enfant cherche essentiellement \u00e0 am\u00e9liorer et \u00e0 personnaliser un mod\u00e8le existant. Ainsi, si vous avez d\u00e9j\u00e0 cr\u00e9\u00e9 un site autour de votre th\u00e8me parent, vous devrez peut-\u00eatre reconsid\u00e9rer la personnalisation d\u2019\u00e9l\u00e9ments tels que les menus, les options de th\u00e8me, les barres lat\u00e9rales, l\u2019en-t\u00eate, etc. lorsque vous passez \u00e0 un th\u00e8me enfant.</li>\n</ul><p>Maintenant que vous savez quand (et quand en pas) utiliser un th\u00e8me enfant, il est temps de vous mettre au travail et d\u2019apprendre comment cr\u00e9er un th\u00e8me enfant dans WordPress.</p>\n<h2 id=\"create\">Comment cr\u00e9er un th\u00e8me enfant WordPress</h2>\n<p>La configuration d\u2019un th\u00e8me enfant basique dans WordPress implique la cr\u00e9ation de deux fichiers : la <strong>feuille de style</strong> et le <strong>fichier de fonctions</strong>. Jetons un coup d\u2019oeil aux deux.</p>\n<h3>La feuille de style</h3>\n<p>Avant de cr\u00e9er votre fichier, vous devez cr\u00e9er un dossier pour votre th\u00e8me. Ceci va dans le fichier wp-content/themes de votre installation WordPress.</p>\n<p><em>Rappelez-vous : ne faites pas cela dans votre site de production. Ajoutez d\u2019abord le code \u00e0 un site de d\u00e9veloppement, puis testez-le sur votre site de test. Une fois que vous \u00eates satisfait, vous pouvez le transf\u00e9rer sur votre site en production. Tous les forfaits d\u2019h\u00e9bergement Kinsta incluent la</em> <a href=\"https://kinsta.com/docs/wordpress-hosting/staging-environment\"><em>mise en test</em></a><em>.</em></p>\n<p>Dans le dossier de votre nouveau th\u00e8me, cr\u00e9ez un fichier appel\u00e9 style.css. Ajoutez ce qui suit :</p>\n<pre class=\"language-php\">/*\nTheme Name:  My Child Theme. Child for Twenty Nineteen.\nTheme URI:  https://rachelmccollin.com\nDescription:  Theme to support tutsplus tutorial. Child theme for the Twenty Nineteen theme.\nAuthor:  Rachel McCollin\nTextdomain:  mccollin\nAuthor URI:  https://rachelmccollin.com/\nTemplate:  twentynineteen\nVersion:  1.0\nLicense:  GNU General Public License v2 or later\nLicense URI: https://www.gnu.org/licenses/gpl-2.0.html                 \n*/</pre>\n<p>Ce texte est comment\u00e9. Ce n\u2019est pas un code qui ex\u00e9cute quoi que ce soit sur votre site ou qui fournit des fonctionnalit\u00e9s. Au lieu de cela, il informe WordPress sur le th\u00e8me. Vous avez besoin d\u2019un texte comme celui-ci dans chaque th\u00e8me, sinon WordPress ne peut pas le reconna\u00eetre comme un th\u00e8me.</p>\n<p>Passons en revue chacune de ces lignes pour identifier ce qu\u2019elles font :</p>\n<ul><li>Theme Name : Le nom unique du th\u00e8me.</li>\n<li>Theme URI : O\u00f9 les utilisateurs peuvent trouver le code ou la documentation pour le th\u00e8me.</li>\n<li>Description : Texte descriptif pour aider les utilisateurs \u00e0 comprendre ce que fait le th\u00e8me\u2026</li>\n<li>Author : Votre nom</li>\n<li>Textdomain : Ceci est utilis\u00e9 pour l\u2019internationalisation. Utilisez textdomain comme deuxi\u00e8me param\u00e8tre dans toutes les fonctions d\u2019internationalisation.</li>\n<li>Author URI : Le site de l\u2019auteur.</li>\n<li>Template : Le dossier dans lequel le th\u00e8me parent est stock\u00e9. Utilisez le nom du dossier et non le nom du th\u00e8me. Sans cette ligne, votre th\u00e8me ne fonctionnera pas comme un th\u00e8me enfant.</li>\n<li>Version : Le num\u00e9ro de version</li>\n<li>License : La licence, qui doit \u00eatre GNU. [lien]</li>\n<li>License URI : Le lien vers l\u2019information sur la licence.</li>\n</ul><p>La ligne la plus importante pour un th\u00e8me enfant est la ligne Template. Sans cela, le th\u00e8me ne fonctionnera pas comme un th\u00e8me enfant. Seuls les th\u00e8mes enfants incluront cette ligne.</p>\n<p>Ajoutez-la \u00e0 la feuille de style de votre th\u00e8me, modifiez-la pour ajouter vos propres d\u00e9tails au lieu des miens. Vous devrez modifier la ligne Template pour ajouter le dossier dans lequel votre th\u00e8me existant est stock\u00e9, car ce sera votre th\u00e8me parent.</p>\n<p>Maintenant, enregistrez le fichier. Si vous regardiez l\u2019\u00e9cran de d\u00e9tails du th\u00e8me dans votre site maintenant, vous verriez tout cela affich\u00e9 :</p>\n<figure class=\"wp-caption alignnone c6\"><img src=\"https://kinsta.com/fr/wp-content/uploads/sites/4/2019/06/theme-no-capture-1024x540.jpg\" alt=\"La page du th&#xe8;me dans WordPress sans capture d'&#xe9;cran\" width=\"1024\" height=\"540\" referrerpolicy=\"no-referrer\" /><figcaption class=\"wp-caption-text\">La page du th\u00e8me dans WordPress sans capture d\u2019\u00e9cran</figcaption></figure><p>\u00c7a n\u2019a pas l\u2019air g\u00e9nial parce qu\u2019il n\u2019y a pas de capture d\u2019\u00e9cran. C\u2019est une image qui donne une id\u00e9e de l\u2019aspect du th\u00e8me. A moins que votre th\u00e8me ne soit tr\u00e8s diff\u00e9rent du th\u00e8me parent, copiez simplement le fichier screenshot.png de votre th\u00e8me parent vers votre th\u00e8me enfant.</p>\n<figure class=\"wp-caption alignnone c6\"><img src=\"https://kinsta.com/fr/wp-content/uploads/sites/4/2019/06/theme-avec-capture-1024x540.jpg\" alt=\"La page du th&#xe8;me dans WordPress avec capture d'&#xe9;cran\" width=\"1024\" height=\"540\" referrerpolicy=\"no-referrer\" /><figcaption class=\"wp-caption-text\">La page du th\u00e8me dans WordPress avec capture d\u2019\u00e9cran</figcaption></figure><h3>Le fichier de fonctions</h3>\n<p>L\u2019\u00e9tape suivante consiste \u00e0 ajouter un fichier de fonctions \u00e0 votre th\u00e8me enfant. Vous en avez besoin pour pouvoir mettre en file d\u2019attente la feuille de style du th\u00e8me parent. Sans lui, votre site n\u2019aurait aucun style du tout, et ressemblerait \u00e0 quelque chose comme ceci :</p>\n<figure class=\"wp-caption alignnone c7\"><img src=\"https://kinsta.com/fr/wp-content/uploads/sites/4/2019/06/page-notre-daccueil-1.jpg\" alt=\"Notre page d'accueil sans CSS\" width=\"927\" height=\"674\" referrerpolicy=\"no-referrer\" /><figcaption class=\"wp-caption-text\">Notre page d\u2019accueil sans CSS</figcaption></figure><p>Ce n\u2019est pas bon, je suis s\u00fbr que vous serez d\u2019accord ! Ajoutons donc le style pour que cela ait l\u2019aspect qu\u2019il se doit.</p>\n<p>Dans votre dossier de th\u00e8me enfant, ajoutez un fichier appel\u00e9 functions.php. Ouvrez-le et ajoutez ce code :</p>\n<pre class=\"language-php\">&lt;?php\n/* enqueue script for parent theme stylesheeet */        \nfunction childtheme_parent_styles() {\n \n // enqueue style\n wp_enqueue_style( 'parent', get_template_directory_uri().'/style.css' );                       \n}\nadd_action( 'wp_enqueue_scripts', 'childtheme_parent_styles');</pre>\n<p>Cela utilise la fonction <code>wp_enqueue_style()</code> pour mettre en file d\u2019attente la feuille de style du th\u00e8me parent, avec la fonction <code>get_template_directory_uri()</code> localisant o\u00f9 ce fichier est stock\u00e9. La fonction est \u00e0 l\u2019int\u00e9rieur d\u2019une fonction que j\u2019ai cr\u00e9\u00e9e et appel\u00e9e <code>kinsta_parent_styles()</code>, qui est connect\u00e9e au hook <code>wp_enqueue_scripts</code>.</p>\n<p>Vous vous demandez peut-\u00eatre pourquoi il utilise une fonction appel\u00e9e <code>wp_enqueue_scripts</code> et non <code>wp_enqueue_styles</code>. C\u2019est parce que <code>wp_enqueue_scripts</code> est utilis\u00e9 \u00e0 la fois pour les scripts et les styles et qu\u2019il n\u2019existe pas de crochet d\u2019action tel que <code>wp_enqueue_styles</code>.</p>\n<p>N\u2019h\u00e9sitez pas \u00e0 modifier mon code pour ajouter votre propre pr\u00e9fixe au nom de votre fonction. J\u2019ai utilis\u00e9 \u00ab\u00a0childtheme\u00a0\u00bb comme pr\u00e9fixe pour m\u2019assurer que ma fonction n\u2019entre en conflit avec aucune autre fonction du th\u00e8me parent ou aucune extension.</p>\n<p>Maintenant, enregistrez votre fichier.</p>\n<h2 id=\"activate\">Comment activer votre th\u00e8me enfant WordPress</h2>\n<p>Une fois que votre th\u00e8me enfant est pr\u00eat, vous devez l\u2019activer. Si vous craignez que l\u2019activation du th\u00e8me enfant d\u00e9sactive le th\u00e8me parent, ne vous inqui\u00e9tez pas : WordPress saura utiliser les fichiers du th\u00e8me parent \u00e0 moins que vous n\u2019ajoutiez de nouveaux fichiers au th\u00e8me enfant qui les remplacent. Jusqu\u2019\u00e0 pr\u00e9sent, vous n\u2019avez pas ajout\u00e9 de fichiers ou de fonctions suppl\u00e9mentaires au th\u00e8me enfant, donc votre site fonctionnera exactement de la m\u00eame mani\u00e8re qu\u2019avec le th\u00e8me parent activ\u00e9.</p>\n<p><em>Souvenez-vous : Faites ceci d\u2019abord sur</em> <a href=\"https://kinsta.com/fr/docs/passer-staging-en-production/\"><em>votre site de d\u00e9veloppement ou de test</em></a><em>.</em> <em>N\u2019activez pas votre th\u00e8me enfant sur votre site en production avant de l\u2019avoir test\u00e9.</em></p>\n<p>Dans l\u2019administration WordPress, allez dans <strong>Apparence &gt; Th\u00e8mes</strong><strong>.</strong> Vous trouverez votre th\u00e8me enfant dans la liste des th\u00e8mes install\u00e9s sur votre site.</p>\n<p>Survolez le th\u00e8me et cliquez sur le bouton <strong>Activer</strong><strong>.</strong> Ceci activera votre th\u00e8me enfant. Maintenant, lorsque vous visitez votre site en production, il aura le m\u00eame aspect qu\u2019avant :</p>\n<p><img class=\"size-large wp-image-48296\" src=\"https://kinsta.com/wp-content/uploads/2019/06/site-home-page-1024x638.jpg\" alt=\"La page d'accueil du site width=\" height=\"638\" referrerpolicy=\"no-referrer\" /></p>\n<p>Il est identique parce que vous n\u2019avez pas encore ajout\u00e9 de personnalisations. Mais vous avez maintenant un th\u00e8me enfant fonctionnel. Bien jou\u00e9 !</p>\n<h2 id=\"customize\">Comment personnaliser votre th\u00e8me enfant dans WordPress</h2>\n<p>Maintenant que vous avez un th\u00e8me enfant fonctionnel pour votre site WordPress, il est temps d\u2019ajouter vos personnalisations. Ici, je vais vous montrer comment ajouter des fichiers mod\u00e8les pour remplacer ceux de votre th\u00e8me parent, comment ajouter du style \u00e0 votre th\u00e8me enfant, et comment ajouter de nouvelles fonctions.</p>\n<p>Commen\u00e7ons par les fichiers mod\u00e8les.</p>\n<h3>Comment ajouter des fichiers mod\u00e8les \u00e0 votre th\u00e8me enfant WordPress</h3>\n<p>Nous avons d\u00e9j\u00e0 examin\u00e9 comment WordPress choisit le fichier mod\u00e8le \u00e0 utiliser pour afficher le contenu de votre site. Il y a deux choses \u00e0 se rappeler :</p>\n<ul><li>WordPress utilisera le fichier qui vient en <a href=\"https://developer.wordpress.org/themes/basics/template-hierarchy/\">premier dans la hi\u00e9rarchie</a>, soit du th\u00e8me enfant, soit du th\u00e8me parent.</li>\n<li>Si un fichier mod\u00e8le (ou une partie de mod\u00e8le comme header.php) portant le m\u00eame nom existe dans les th\u00e8mes parent et enfant, WordPress utilisera celui du th\u00e8me enfant.</li>\n</ul><p>Pour ajouter des personnalisations, je trouve plus facile de commencer par faire une copie du fichier pertinent \u00e0 partir du th\u00e8me parent, l\u2019ajouter au th\u00e8me enfant, puis le modifier.</p>\n<p>Ceci implique que le fichier dans votre th\u00e8me enfant ait le m\u00eame nom que dans le th\u00e8me parent, ou s\u2019il s\u2019agit d\u2019un nouveau fichier pour afficher un type de contenu diff\u00e9rent, ou d\u2019un fichier plus haut dans la hi\u00e9rarchie.</p>\n<p>Donc, si j\u2019ajoute une nouvelle version de page.php \u00e0 mon th\u00e8me enfant, qui remplacera page.php dans mon th\u00e8me parent, je copierai page.php de mon th\u00e8me parent dans mon th\u00e8me enfant et je le modifierai. Assurez-vous de copier le fichier : ne le d\u00e9placez pas, car vous ne voulez pas modifier le th\u00e8me parent.</p>\n<p>Et si je veux un mod\u00e8le de page personnalis\u00e9 dans mon th\u00e8me enfant, par exemple, je copierai page.php dans mon th\u00e8me enfant, je le renommerai, puis je le modifierai.</p>\n<p>De cette fa\u00e7on, vous pouvez vous assurer que tous les aspects du fichier que vous n\u2019avez pas besoin de personnaliser fonctionneront toujours correctement. Il en va de m\u00eame pour les parties de mod\u00e8le.</p>\n<h3>Comment ajouter le style \u00e0 votre th\u00e8me enfant WordPress</h3>\n<p>Vous pouvez \u00e9galement ajouter un style au fichier style.css de votre th\u00e8me enfant, ce qui am\u00e9liorera ou remplacera le style dans la feuille de style du th\u00e8me parent.</p>\n<p>WordPress appellera d\u2019abord la feuille de style du th\u00e8me parent, puis la feuille de style du th\u00e8me enfant. Cela signifie que si vous ajoutez un style au th\u00e8me enfant qui cible les m\u00eames \u00e9l\u00e9ments que le style du th\u00e8me parent, il remplacera le style du th\u00e8me parent tant que vous utilisez les m\u00eames s\u00e9lecteurs.</p>\n<p>Imaginez donc que vous voulez changer la couleur du titre du site. Dans le th\u00e8me parent, ceci pourrait \u00eatre intitul\u00e9 comme ceci :</p>\n<pre class=\"language-html\">h1.site-title {\n color: #000;\n}</pre>\n<p>Pour remplacer ceci dans votre th\u00e8me enfant, vous devez ajouter ceci :</p>\n<pre class=\"language-html\">h1.site-title {\n color: #303030;\n}</pre>\n<p>Comme le navigateur rencontrera cela apr\u00e8s le style dans le th\u00e8me parent, il le remplacera et sera utilis\u00e9 \u00e0 la place.</p>\n<h3>Comment ajouter des fonctions \u00e0 votre th\u00e8me enfant WordPress</h3>\n<p>Ainsi, vous avez cr\u00e9\u00e9 un th\u00e8me enfant dans WordPress non pas parce que vous voulez modifier l\u2019un des fichiers mod\u00e8les, mais parce que vous voulez ajouter des fonctionnalit\u00e9s suppl\u00e9mentaires ou remplacer une ou plusieurs des fonctions du th\u00e8me parent.</p>\n<p>\u00c9crire des fonctions dans votre th\u00e8me enfant est un peu plus compliqu\u00e9 que d\u2019ajouter des fichiers mod\u00e8les, mais c\u2019est possible.</p>\n<p>Si vous voulez ajouter une nouvelle fonction qui n\u2019interagit avec aucune des fonctions de votre th\u00e8me parent, vous pouvez le faire. Ajoutez simplement la fonction au fichier functions.php dans votre th\u00e8me enfant, branchez-la \u00e0 l\u2019action ou au crochet de filtre appropri\u00e9, et vous \u00eates pr\u00eat \u00e0 y aller.</p>\n<p>Mais si vous pr\u00e9voyez de remplacer ou de modifier une fonction dans le th\u00e8me parent, vous devez comprendre les m\u00e9thodes que vous pouvez utiliser pour cela. Il y a trois fa\u00e7ons de remplacer une fonction de th\u00e8me parent dans votre th\u00e8me enfant :</p>\n<ul><li>Si le th\u00e8me du th\u00e8me parent est enfichable, il vous suffit d\u2019\u00e9crire une autre fonction dans votre th\u00e8me enfant avec le m\u00eame nom et WordPress ex\u00e9cutera cette fonction au lieu de celle du th\u00e8me parent.</li>\n<li>Si vous voulez emp\u00eacher la fonction du th\u00e8me parent de s\u2019ex\u00e9cuter compl\u00e8tement, vous pouvez \u00e9crire une fonction dans votre th\u00e8me enfant qui la d\u00e9croche du crochet d\u2019action auquel elle est attach\u00e9e.</li>\n<li>Si vous voulez augmenter une fonction, vous pouvez ajouter une autre fonction (avec un nom diff\u00e9rent) dans votre th\u00e8me enfant et vous assurer qu\u2019elle fonctionne apr\u00e8s celle du th\u00e8me parent.</li>\n</ul><p>Examinons de plus pr\u00e8s comment faire chacune d\u2019entre elles.</p>\n<h4>Remplacer une fonction enfichable</h4>\n<p>Une fonction enfichable est identifi\u00e9e par le contr\u00f4le conditionnel qui l\u2019entoure. Ceci v\u00e9rifie s\u2019il y a une autre fonction du m\u00eame nom qui a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9clench\u00e9e. Si c\u2019est le cas, elle n\u2019ex\u00e9cute pas la fonction.</p>\n<p>WordPress d\u00e9clenchera les fonctions de votre th\u00e8me enfant avant celles du th\u00e8me parent. S\u2019il trouve une fonction enfichable dans le th\u00e8me parent et que vous avez ajout\u00e9 une fonction du m\u00eame nom \u00e0 votre th\u00e8me enfant, la fonction enfichable ne sera pas ex\u00e9cut\u00e9e.</p>\n<p>Un exemple est la fonction qui \u00e9dite les cr\u00e9dits dans le th\u00e8me Storefront pour les sites WooCommerce. Voici la fonction sans son contenu :</p>\n<pre class=\"language-php\">if ( ! function_exists( 'storefront_credit' ) ) {\n function storefront_credit() {\n  // contents for function here\n }\n}</pre>\n<p>Si vous vouliez remplacer cette fonction par une autre avec le m\u00eame nom (<code>storefront_credit()</code>) et l\u2019accrocher au m\u00eame crochet d\u2019action que dans le th\u00e8me parent.</p>\n<h4>D\u00e9crocher une fonction du th\u00e8me parent</h4>\n<p class=\"c8\">Si la fonction du th\u00e8me parent n\u2019est pas enfichable, vous pouvez toujours l\u2019emp\u00eacher de fonctionner. Imaginez que votre th\u00e8me parent a une fonction appel\u00e9e <code>parent_function()</code>, qui est connect\u00e9e au crochet <code>init</code> avec une priorit\u00e9 de <code>20</code>. Vous voulez l\u2019emp\u00eacher de fonctionner afin de pouvoir la remplacer par une fonction qui vous est propre.</p>\n<p>Voici \u00e0 quoi pourrait ressembler la fonction du th\u00e8me parent :</p>\n<pre class=\"language-php\">function parent_function() {\n //contents of function here\n}\nadd_action( \u2018init\u2019, \u2018parent_function\u2019, 20 );</pre>\n<p>Pour le d\u00e9crocher, vous le coderiez dans votre th\u00e8me enfant :</p>\n<pre class=\"language-php\">function remove_parent_function() {\n remove_action( \u2018init\u2019, \u2018parent_function\u2019, 20 );\n}\nadd_action( \u2018wp_head\u2019, \u2018remove_parent_function\u2019 );</pre>\n<p>Notez que vous accrochez votre deuxi\u00e8me fonction au crochet wp_head qui est lanc\u00e9 en haut de chaque page, et que vous devez inclure la m\u00eame valeur pour le param\u00e8tre priority que dans la fonction originale. Si la fonction <code>add_action()</code> originale n\u2019avait pas de priorit\u00e9, vous pouvez l\u2019omettre de la fonction <code>remove_action()</code> de votre th\u00e8me enfant.</p>\n<p><em>Note : Si la fonction originale \u00e9tait accroch\u00e9e \u00e0 un crochet de filtre au lieu d\u2019un crochet d\u2019action, vous utiliseriez</em> <em><code>remove_filter()</code> de la</em> <em>m\u00eame mani\u00e8re.</em></p>\n<h4>Augmenter une fonction avec une autre fonction</h4>\n<p>Au lieu de remplacer ou de supprimer une fonction, vous pouvez parfois vouloir l\u2019ajouter \u00e0 la place. Dans ce cas, vous \u00e9crirez une nouvelle fonction avec un nom diff\u00e9rent, et l\u2019attacherez au m\u00eame crochet.</p>\n<p>Imaginons qu\u2019il y ait un crochet d\u2019action pour le pied de page dans votre th\u00e8me parent appel\u00e9 <code>parent_footer</code>. Toute fonction que vous attachez \u00e0 ce crochet s\u2019ex\u00e9cutera \u00e0 l\u2019endroit o\u00f9 le crochet est situ\u00e9.</p>\n<p>Dans le th\u00e8me parent, il y a d\u00e9j\u00e0 une fonction appel\u00e9e <code>parent_footer_content()</code> qui remplit le pied de page. Mais que se passerait-il si vous vouliez y ajouter du code suppl\u00e9mentaire ?</p>\n<p>Voici \u00e0 quoi la fonction <code>parent_footer_content()</code> pourrait ressembler dans le th\u00e8me parent :</p>\n<pre class=\"language-php\">function parent_footer_content() {\n // content of function here\n}\nadd_action( \u2018parent_footer\u2019, \u2018parent_footer_content\u2019 );</pre>\n<p>Maintenant si vous vouliez ajouter du contenu suppl\u00e9mentaire apr\u00e8s cela, vous cr\u00e9iez une fonction dans votre th\u00e8me enfant, accroch\u00e9e au m\u00eame crochet d\u2019action, avec une priorit\u00e9 qui signifiait qu\u2019elle s\u2019ex\u00e9cuterait apr\u00e8s la premi\u00e8re fonction. Comme la priorit\u00e9 n\u2019est pas d\u00e9finie pour la fonction du th\u00e8me parent, elle est par d\u00e9faut de 10. Il faut donc utiliser un nombre plus \u00e9lev\u00e9 pour qu\u2019il se lance apr\u00e8s cela.</p>\n<pre class=\"language-php\">function child_footer_extra_content() {\n // contents of function here\n}\nadd_action( \u2018parent_footer\u2019, \u2018child_footer_extra_content\u2019, 20 );</pre>\n<p>Ceci ajouterait le code de la fonction de votre th\u00e8me enfant apr\u00e8s le code de la fonction de votre th\u00e8me parent.</p>\n<h2 id=\"trouble\">Comment d\u00e9panner les th\u00e8mes enfants et parents</h2>\n<p>Vous savez maintenant comment cr\u00e9er un th\u00e8me enfant dans WordPress et comment l\u2019utiliser pour remplacer les fichiers mod\u00e8les, ajouter du style et ajouter des fonctionnalit\u00e9s \u00e0 votre site.</p>\n<p>Mais que faire si votre th\u00e8me enfant ne fonctionne pas comme pr\u00e9vu ? Que se passe-t-il si le contenu ne s\u2019affiche pas comme vous l\u2019esp\u00e9riez ou si une fonction ne se lance pas ?</p>\n<p>Utilisez cette liste de contr\u00f4le pour d\u00e9panner votre th\u00e8me enfant :</p>\n<ol><li>V\u00e9rifiez que vous avez activ\u00e9 votre th\u00e8me enfant et que votre th\u00e8me parent n\u2019est plus en cours d\u2019ex\u00e9cution. Il est \u00e9tonnamment facile d\u2019oublier cette \u00e9tape !</li>\n<li>Rafra\u00eechissez le cache de votre navigateur et le cache cr\u00e9\u00e9 par les extensions de votre site.</li>\n<li><a href=\"https://kinsta.com/fr/blog/debogage-wordpress/#how-to-manually-enable-wordpress-debug-mode\" target=\"_blank\" rel=\"noopener noreferrer\">D\u00e9finissez wp-debug \u00e0 true</a> dans le fichier wp-config.php de votre th\u00e8me enfant. Si vous voyez un \u00e9cran blanc, il devrait y avoir un message vous indiquant quel code a caus\u00e9 le probl\u00e8me et dans quel fichier il se trouve. Cela vous aidera \u00e0 identifier le probl\u00e8me et le fichier utilis\u00e9.</li>\n<li>V\u00e9rifiez le code d\u2019affichage de votre page, article ou archive. Trouvez l\u2019\u00e9l\u00e9ment de corps et voyez quelles classes il a. Celles-ci vous indiqueront le type de contenu que vous consultez, ce qui vous aidera \u00e0 identifier le fichier mod\u00e8le qui est utilis\u00e9. Parfois, ce n\u2019est pas ce \u00e0 quoi on s\u2019attend. Par exemple, la page principale du blog n\u2019utilise jamais archive.php, m\u00eame si elle affiche une archive de vos articles.</li>\n<li>V\u00e9rifiez que vous avez correctement nomm\u00e9 vos fichiers. R\u00e9f\u00e9rez-vous \u00e0 la hi\u00e9rarchie de mod\u00e8le pour vous assurer que vous avez utilis\u00e9 la bonne syntaxe.</li>\n<li>Si vous avez dupliqu\u00e9 un fichier du th\u00e8me parent et l\u2019avez ajout\u00e9 \u00e0 votre th\u00e8me enfant, v\u00e9rifiez que vous avez enregistr\u00e9 vos modifications.</li>\n<li>Si une fonction pour remplacer une fonction enfichable ne fonctionne pas, v\u00e9rifiez que vous lui avez donn\u00e9 exactement le m\u00eame nom que la fonction enfichable et que la fonction du th\u00e8me parent est bien enfichable.</li>\n<li>Si une fonction que vous avez supprim\u00e9e fonctionne toujours, v\u00e9rifiez que vous avez ajout\u00e9 la bonne priorit\u00e9 et que votre orthographe est identique \u00e0 celle de la fonction et du crochet dans le th\u00e8me parent.</li>\n<li>Si vous avez utilis\u00e9 la priorit\u00e9 pour outrepasser ou augmenter une fonction, essayez d\u2019augmenter la valeur de priorit\u00e9, afin d\u2019\u00eatre absolument s\u00fbr qu\u2019elle se d\u00e9clenche en dernier. V\u00e9rifiez qu\u2019il n\u2019y a pas d\u2019autres fonctions attach\u00e9es \u00e0 ce crochet qui interf\u00e8rent avec votre code.</li>\n</ol><p>Esp\u00e9rons qu\u2019une ou plusieurs de ces \u00e9tapes vous aideront \u00e0 identifier le probl\u00e8me et \u00e0 le r\u00e9soudre dans votre th\u00e8me enfant. Rappelez-vous : <strong>Ne modifiez pas directement le th\u00e8me parent</strong>.</p>\n<h2 id=\"tips\">Conseils utiles lorsque vous travaillez avec les th\u00e8mes enfants WordPress</h2>\n<p>Ouf ! Les th\u00e8mes enfants sont tout \u00e0 fait un sujet et une fonctionnalit\u00e9 incroyablement pr\u00e9cieuse de WordPress. Je les utilise sur tous les sites que je construis.</p>\n<p>Pour vous aider \u00e0 trouver les m\u00e9thodes dont vous avez besoin pour utiliser le plus efficacement possible les th\u00e8mes enfants, voici mes conseils pour vous aider \u00e0 les utiliser :</p>\n<ul><li>Si vous devez modifier un th\u00e8me tiers, utilisez toujours un th\u00e8me enfant \u00e0 la place. De cette fa\u00e7on, vos modifications ne sont pas perdues lorsque vous mettez \u00e0 jour le th\u00e8me.</li>\n<li>Chaque th\u00e8me enfant n\u00e9cessite une feuille de style et un fichier de fonctions.</li>\n<li>WordPress utilisera la hi\u00e9rarchie des mod\u00e8les pour d\u00e9terminer le fichier mod\u00e8le \u00e0 utiliser lors de l\u2019affichage de contenu. S\u2019il trouve deux fichiers portant le m\u00eame nom, il utilisera celui du th\u00e8me enfant.</li>\n<li>Vous pouvez remplacer une fonction enfichable dans votre th\u00e8me parent en \u00e9crivant une fonction portant le m\u00eame nom dans votre th\u00e8me enfant.</li>\n<li>Vous pouvez d\u00e9crocher une fonction du th\u00e8me parent en utilisant une fonction avec <code>remove_action()</code> ou <code>remove_filter()</code> dans votre th\u00e8me enfant et ensuite \u00e9crire une nouvelle fonction.</li>\n<li>Vous pouvez augmenter une fonction dans votre th\u00e8me parent en \u00e9crivant une fonction dans votre th\u00e8me enfant et en l\u2019accrochant \u00e0 la m\u00eame action ou crochet de filtre.</li>\n<li>N\u2019oubliez pas d\u2019activer votre th\u00e8me enfant apr\u00e8s l\u2019avoir t\u00e9l\u00e9vers\u00e9. Et assurez-vous que <a href=\"https://kinsta.com/fr/blog/supprimer-theme-wordpress/\">personne ne supprime le th\u00e8me parent</a> de votre installation WordPress : sans lui, le th\u00e8me enfant ne fonctionnera pas.</li>\n</ul><h2>R\u00e9sum\u00e9</h2>\n<p>Les th\u00e8mes enfants sont une fonctionnalit\u00e9 utile de WordPress qui vous permet de <a href=\"https://kinsta.com/fr/blog/comment-personnaliser-theme-wordpress/\">personnaliser un th\u00e8me</a> sans modifier directement son code. Vous pouvez en utiliser un pour ajouter des fonctionnalit\u00e9s suppl\u00e9mentaires \u00e0 un th\u00e8me, pour personnaliser le style ou pour cr\u00e9er/modifier des fichiers mod\u00e8les.</p>\n<p>Si vous suivez les conseils ci-dessus, vous serez en mesure de cr\u00e9er des th\u00e8mes enfants dans WordPress en suivant les meilleures pratiques et d\u2019en tirer parti pour une vari\u00e9t\u00e9 de t\u00e2ches. Tout cela sans perdre vos modifications et personnalisations lorsque vous mettrez \u00e0 jour le th\u00e8me parent.</p>\n<aside class=\"user-content mt--40\"><hr class=\"mini-divider\" /><p>\u00c9conomisez du temps et de l\u2019argent, et maximisez les performances de votre site, avec plus de 275 $ d\u2019int\u00e9grations de niveau entreprise incluses dans chaque plan WordPress infog\u00e9r\u00e9. Cela comprend un CDN haute performance, une protection DDoS, une att\u00e9nuation des logiciels malveillants et des piratages, un cache edge et les machines CPU les plus rapides de Google. Obtenez sans contrat \u00e0 long terme, des migrations assist\u00e9es et une garantie de remboursement de 30 jours.</p>\n<p>Consultez nos <a data-track-ga-category=\"single-post\" data-track-ga-label=\"bottom-cta\" href=\"https://kinsta.com/fr/hebergement-wordpress/tarifs/\">plans</a> ou <a data-track-ga-category=\"single-post\" data-track-ga-label=\"bottom-cta\" href=\"https://kinsta.com/fr/nous-contacter/\">contactez nous</a> pour trouver le plan qui vous convient.</p>\n</aside>",
    "created_at": "2024-02-18T20:53:28+00:00",
    "updated_at": "2024-02-18T20:53:41+00:00",
    "published_at": "2019-08-22T14:48:54+00:00",
    "published_by": [""],
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr_FR",
    "reading_time": 32,
    "domain_name": "kinsta.com",
    "preview_picture": "https://kinsta.com/fr/wp-content/uploads/sites/4/2019/08/theme-enfant-dans-wordpress.png",
    "http_status": "200",
    "headers": {
      "date": "Sun, 18 Feb 2024 20:53:28 GMT",
      "content-type": "text/html; charset=UTF-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "vary": "Accept-Encoding",
      "link": "<https://kinsta.com/fr/wp-json/>; rel=\"https://api.w.org/\", <https://kinsta.com/fr/wp-json/wp/v2/posts/30356>; rel=\"alternate\"; type=\"application/json\", <https://kinsta.com/fr/?p=30356>; rel=shortlink",
      "x-frame-options": "allow-from https://mydev.kinsta.com/",
      "content-security-policy": "frame-ancestors 'self' https://*.kinsta.com https://*.kinsta.ninja",
      "x-content-type-options": "nosniff",
      "strict-transport-security": "max-age=31536000",
      "x-kinsta-cache": "HIT",
      "cf-cache-status": "DYNAMIC",
      "server": "cloudflare",
      "cf-ray": "857928e16c9ed52a-CDG"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["g\u00e9obretagne", "fonds", "plan", "osm", "ign"],
    "is_public": false,
    "id": 71,
    "title": "Nouveaux fonds de plan",
    "url": "https://cms.geobretagne.fr/content/nouveaux-fonds-de-plan",
    "given_url": "https://cms.geobretagne.fr/content/nouveaux-fonds-de-plan",
    "content": "<div class=\"article-header field field-name-field-image field-type-image field-label-hidden field-items field-item even\"><img class=\"img-responsive img-responsive\" src=\"https://cms.geobretagne.fr/sites/default/files/osm_grey.png\" width=\"256\" height=\"256\" alt=\"\" referrerpolicy=\"no-referrer\" /></div><div class=\"article-content\"><div class=\"field field-name-body field-type-text-with-summary field-label-hidden field-items field-item even\"><p>Le syst\u00e8me distribuant les fonds de plan depuis 2009 a \u00e9t\u00e9 gravement endommag\u00e9 par un incident h\u00e9bergeur. Plut\u00f4t que de le r\u00e9tablir \u00e0 l'identique, nous proposons maintenant un nouveau syst\u00e8me qui peut \u00eatre red\u00e9ploy\u00e9 en quelques minutes en cas de panne.</p><p>Ce syst\u00e8me privil\u00e9gie les formats tuil\u00e9s (WMTS, TMS) dont les performances sont largement sup\u00e9rieures \u00e0 WMS. WMS reste cependant disponible pour les anciens outils.</p><p>L'offre de fonds de plan s'agrandit\u00a0avec, pour commencer, trois\u00a0nouveaux services :</p><h2>Le service de fonds de plan OpenStreetMap</h2><ul><li>Page d'accueil :\u00a0<a href=\"https://tile.geobretagne.fr/osm/demo/\">https://tile.geobretagne.fr/osm/demo/</a></li>\n<li>Lien WMS et WMTS :\u00a0<a href=\"https://tile.geobretagne.fr/osm/service\">https://tile.geobretagne.fr/osm/service</a></li>\n</ul><p>Ce service fournit une vari\u00e9t\u00e9 de plans issus des donn\u00e9es OpenStreetMap.</p><p>Les rendus osm:google, osm:default, osm:bing\u00a0sont\u00a0fabriqu\u00e9s diffus\u00e9s depuis plus de 10 ans par G\u00e9oBretagne, et sont actualis\u00e9s toutes les semaines avec les derni\u00e8res donn\u00e9es OSM.</p><p>Le rendu osm:roads est un fond de plan transparent pour superposition sur les photographies a\u00e9riennes, afin de se r\u00e9p\u00e9rer facilement.</p><p>Les nouveaux rendus osm:grey et osm:faded sont fournis par DataGrandEst. Leurs couleurs d\u00e9satur\u00e9es\u00a0mettent en valeur les donn\u00e9es.</p><p>Le fond osm:naturaliste est fourni par DataGrandEst pour des usages naturalistes.</p><div class=\"row\"><div class=\"col-md-4\"><figure class=\"figure\"><img alt=\"google\" class=\"figure-img img-fluid rounded\" height=\"256\" src=\"https://tile.geobretagne.fr/osm/tms/osm:google/EPSG3857/16/64287/85957.png\" width=\"256\" referrerpolicy=\"no-referrer\" /><figcaption class=\"figure-caption\">osm:googlesource G\u00e9oBretagne</figcaption></figure></div><div class=\"col-md-4\"><figure class=\"figure\"><img alt=\"bing\" class=\"figure-img img-fluid rounded\" height=\"256\" src=\"https://tile.geobretagne.fr/osm/tms/osm:bing/EPSG3857/16/64287/85957.png\" width=\"256\" referrerpolicy=\"no-referrer\" /><figcaption>osm:bingsource G\u00e9oBretagne</figcaption></figure></div><div class=\"col-md-4\"><figure class=\"figure\"><img alt=\"default\" class=\"figure-img img-fluid rounded\" height=\"256\" src=\"https://tile.geobretagne.fr/osm/tms/osm:default/EPSG3857/16/64287/85957.png\" width=\"256\" referrerpolicy=\"no-referrer\" /><figcaption class=\"figure-caption\">osm:defaultsource G\u00e9oBretagne</figcaption></figure></div></div><div class=\"row\"><div class=\"col-md-4\"><figure class=\"figure\"><img alt=\"roads\" class=\"figure-img img-fluid rounded\" height=\"256\" src=\"https://tile.geobretagne.fr/osm/tms/osm:roads/EPSG3857/16/64287/85957.png\" width=\"256\" referrerpolicy=\"no-referrer\" /><figcaption>osm:roadssource G\u00e9oBretagne</figcaption></figure></div><div class=\"col-md-4\"><figure class=\"figure\"><img alt=\"grey\" class=\"figure-img img-fluid rounded\" height=\"256\" src=\"https://tile.geobretagne.fr/osm/tms/osm:grey/EPSG3857/16/64287/85957.png\" width=\"256\" referrerpolicy=\"no-referrer\" /><figcaption>osm:greysource DataGrandEst</figcaption></figure></div><div class=\"col-md-4\"><figure class=\"figure\"><img alt=\"faded\" class=\"figure-img img-fluid rounded\" height=\"256\" src=\"https://tile.geobretagne.fr/osm/tms/osm:faded/EPSG3857/16/64287/85957.png\" width=\"256\" referrerpolicy=\"no-referrer\" /><figcaption>osm:faded,source DataGrandEst</figcaption></figure></div><div><div class=\"row col-md-4\"><figure class=\"figure\"><img alt=\"naturaliste\" class=\"figure-img img-fluid rounded\" height=\"256\" src=\"https://tile.geobretagne.fr/osm/tms/osm:naturaliste/EPSG3857/16/64287/85957.png\" width=\"256\" referrerpolicy=\"no-referrer\" /><figcaption>osm:naturalistesource DataGrandEst</figcaption></figure></div><h2>Le service de photographies</h2><ul><li>Page d'accueil :\u00a0<a href=\"https://tile.geobretagne.fr/photo/demo/\">https://tile.geobretagne.fr/photo/demo/</a></li>\n<li>Lien WMS et WMTS :\u00a0<a href=\"https://tile.geobretagne.fr/photo/service\">https://tile.geobretagne.fr/photo/service</a></li>\n</ul><p>Ce service fournit\u00a0les couvertures photographiques a\u00e9riennes BDORTHO, BDORTHO-infrarouge et BDORTHO historique. Il est directement aliment\u00e9 par la G\u00e9oPlateforme.</p><div class=\"row\"><div class=\"col-md-4\"><figure class=\"figure\"><img alt=\"grey\" class=\"figure-img img-fluid rounded\" height=\"256\" src=\"https://tile.geobretagne.fr/photo/tms/HR.ORTHOIMAGERY.ORTHOPHOTO/EPSG3857/16/64287/85957.png\" width=\"256\" referrerpolicy=\"no-referrer\" /><figcaption>HR.ORTHOIMAGERY.ORTHOPHOTOsource G\u00e9oPlateforme</figcaption></figure></div><div class=\"col-md-4\"><figure class=\"figure\"><img alt=\"grey\" class=\"figure-img img-fluid rounded\" height=\"256\" src=\"https://tile.geobretagne.fr/photo/tms/ORTHOIMAGERY.ORTHOPHOTOS.IRC/EPSG3857/16/64287/85957.png\" width=\"256\" referrerpolicy=\"no-referrer\" /><figcaption>ORTHOIMAGERY.ORTHOPHOTOS.IRCsource G\u00e9oPlateforme</figcaption></figure></div><div class=\"col-md-4\"><figure class=\"figure\"><img alt=\"grey\" class=\"figure-img img-fluid rounded\" height=\"256\" src=\"https://tile.geobretagne.fr/photo/tms/ORTHOIMAGERY.ORTHOPHOTOS.1950-1965/EPSG3857/16/64287/85957.png\" width=\"256\" referrerpolicy=\"no-referrer\" /><figcaption>ORTHOIMAGERY.ORTHOPHOTOS.1950-1965source G\u00e9oPlateforme</figcaption></figure></div></div><h2>Le service G\u00e9oPlateforme</h2><ul><li>Page d'accueil :\u00a0<a href=\"https://tile.geobretagne.fr/geopf/demo/\">https://tile.geobretagne.fr/geopf/demo/</a></li>\n<li>Lien WMS et WMTS :\u00a0<a href=\"https://tile.geobretagne.fr/geopf/service\">https://tile.geobretagne.fr/geopf/service</a></li>\n</ul><p>Ce service relaie certains fonds de plan publi\u00e9s par la G\u00e9oPlateforme. On y trouve pour l'instant le plan IGN V2.</p><div class=\"row col-md-4\"><figure class=\"figure\"><img alt=\"grey\" class=\"figure-img img-fluid rounded\" height=\"256\" src=\"https://tile.geobretagne.fr/geopf/tms/GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2/EPSG3857/16/64287/85957.png\" width=\"256\" referrerpolicy=\"no-referrer\" /><figcaption>GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2source G\u00e9oPlateforme</figcaption></figure></div><h2>Pourquoi ce service</h2><p>L'arriv\u00e9e de la G\u00e9oPlateforme\u00a0nous offre l'oppportunit\u00e9 de ne plus stocker\u00a0inutilement des photos et fonds de plan. Pour autant, l'abondances des services, leur fiabilit\u00e9 variable et leur stabilit\u00e9 dans le temps constituent une charge de maintenance sur les visualiseurs.</p><p>L'avantage de ce nouveau syst\u00e8me est de proposer au partenariat des services communs stables dans le temps, alors que les sources qui les alimentent peuvent varier et g\u00e9n\u00e9rer des co\u00fbts de reconfiguration.</p><p>Le code source, les configurations, les documents d'installation ou d'utilisation sont publi\u00e9s sur <a href=\"https://github.com/geobretagne/sdi-proxy\">https://github.com/geobretagne/sdi-proxy</a> pour qui souhaiterait disposer de sa propre infrastructure de tuilage.</p></div></div></div></div>",
    "created_at": "2023-12-01T16:17:55+00:00",
    "updated_at": "2023-12-01T16:18:14+00:00",
    "published_at": "2023-11-29T10:44:45+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "fr",
    "reading_time": 2,
    "domain_name": "cms.geobretagne.fr",
    "preview_picture": "https://cms.geobretagne.fr/sites/default/files/osm_grey.png",
    "http_status": "200",
    "headers": {
      "server": "nginx",
      "date": "Fri, 01 Dec 2023 16:17:55 GMT",
      "content-type": "text/html; charset=utf-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "x-drupal-cache": "HIT",
      "etag": "\"1701443265-0\"",
      "x-xss-protection": "1",
      "x-frame-options": "SAMEORIGIN",
      "strict-transport-security": "max-age=1000; includeSubDomains; preload, max-age=31536000; includeSubDomains",
      "content-language": "fr",
      "x-content-type-options": "nosniff, nosniff",
      "x-generator": "Drupal 7 (https://www.drupal.org)",
      "link": "<https://cms.geobretagne.fr/content/nouveaux-fonds-de-plan>; rel=\"canonical\",<https://cms.geobretagne.fr/node/38230>; rel=\"shortlink\"",
      "cache-control": "public, max-age=86400",
      "last-modified": "Fri, 01 Dec 2023 15:07:45 GMT",
      "expires": "Sun, 19 Nov 1978 05:00:00 GMT",
      "vary": "Cookie, Accept-Encoding",
      "content-security-policy": "upgrade-insecure-requests"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": [],
    "is_public": false,
    "id": 70,
    "title": "Is there a way to create a NeutralinoJS project based on Svelte and Typescript?",
    "url": "https://www.appsloveworld.com/svelte/2/is-there-a-way-to-create-a-neutralinojs-project-based-on-svelte-and-typescript?expand_article=1",
    "given_url": "https://www.appsloveworld.com/svelte/2/is-there-a-way-to-create-a-neutralinojs-project-based-on-svelte-and-typescript?expand_article=1",
    "content": "<p>We and our partners use cookies to Store and/or access information on a device. We and our partners use data for Personalised ads and content, ad and content measurement, audience insights and product development. An example of data being processed may be a unique identifier stored in a cookie. Some of our partners may process your data as a part of their legitimate business interest without asking for consent. To view the purposes they believe they have legitimate interest for, or to object to this data processing use the vendor list link below. The consent submitted will only be used for data processing originating from this website. If you would like to change your settings or withdraw consent at any time, the link to do so is in our privacy policy accessible from our home page..</p>",
    "created_at": "2023-11-09T16:19:56+00:00",
    "updated_at": "2023-11-09T16:19:56+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 0,
    "domain_name": "www.appsloveworld.com",
    "http_status": "200",
    "headers": {
      "cache-control": "private, max-age=0, must-revalidate, no-cache, no-store",
      "content-type": "text/html; charset=utf-8",
      "date": "Thu, 09 Nov 2023 16:19:56 UTC",
      "display": "pub_site_sol",
      "expires": "Wed, 08 Nov 2023 16:19:56 GMT",
      "pagespeed": "off",
      "response": "200",
      "server": "Kestrel",
      "set-cookie": "ezoadgid_303130=-1; Path=/; Domain=appsloveworld.com; Expires=Thu, 09 Nov 2023 16:49:56 UTC, ezoref_303130=google.co.uk; Path=/; Domain=appsloveworld.com; Expires=Thu, 09 Nov 2023 18:19:56 UTC, ezosuibasgeneris-1=7e4347c2-7f2e-4a20-4f38-954388a476b4; Path=/; Domain=appsloveworld.com; Expires=Fri, 08 Nov 2024 16:19:56 UTC; Secure; SameSite=None, ezoab_303130=mod1-c; Path=/; Domain=appsloveworld.com; Expires=Thu, 09 Nov 2023 18:19:56 UTC, active_template::303130=pub_site.1699546796; Path=/; Domain=appsloveworld.com; Expires=Sat, 11 Nov 2023 16:19:56 UTC, ezopvc_303130=1; Path=/; Domain=appsloveworld.com; Expires=Thu, 09 Nov 2023 16:49:56 UTC, ezepvv=0; Path=/; Domain=appsloveworld.com; Expires=Fri, 10 Nov 2023 16:19:56 UTC, lp_303130=https://www.appsloveworld.com/svelte/2/is-there-a-way-to-create-a-neutralinojs-project-based-on-svelte-and-typescript; Path=/; Domain=appsloveworld.com; Expires=Thu, 09 Nov 2023 16:49:56 UTC, ezovuuidtime_303130=1699546796; Path=/; Domain=appsloveworld.com; Expires=Sat, 11 Nov 2023 16:19:56 UTC, ezovuuid_303130=999ebbe4-3c24-46a0-4d6f-31c428b6df49; Path=/; Domain=appsloveworld.com; Expires=Thu, 09 Nov 2023 16:49:56 UTC, ezCMPCCS=false; Path=/; Domain=appsloveworld.com; Expires=Sat, 09 Nov 2024 16:19:56 GMT",
      "vary": "Accept-Encoding,User-Agent",
      "x-ez-proxy-out": "true 2.4",
      "x-ezoic-cdn": "Hit ds;mm;9b14f184df8bd8419036af0894767c92;2-303130-58;7848b7c2-9ea4-478b-73ee-017a61e9b31b",
      "x-middleton-display": "pub_site_sol",
      "x-middleton-response": "200",
      "x-origin-cache-control": "",
      "x-powered-by": "ASP.NET",
      "x-sol": "pub_site",
      "transfer-encoding": "chunked"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "realpython", "unittest"],
    "is_public": false,
    "id": 69,
    "title": "Getting Started With Testing in Python \u2013 Real Python",
    "url": "https://realpython.com/python-testing/",
    "given_url": "https://realpython.com/python-testing/",
    "content": "<div class=\"border rounded p-3 card mb-2\"><p class=\"mb-0\">Watch Now This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: <a class=\"stretched-link text-success\" href=\"https://realpython.com/courses/test-driven-development-pytest/\"><strong>Test-Driven Development With pytest</strong></a></p></div><p>This tutorial is for anyone who has written a fantastic application in Python but hasn\u2019t yet written any tests.</p><p>Testing in Python is a huge topic and can come with a lot of complexity, but it doesn\u2019t need to be hard. You can get started creating simple tests for your application in a few easy steps and then build on it from there.</p><p>In this tutorial, you\u2019ll learn how to create a basic test, execute it, and find the bugs before your users do! You\u2019ll learn about the tools available to write and execute tests, check your application\u2019s performance, and even look for security issues.</p><div class=\"alert alert-warning\" role=\"alert\"><p><strong>Free Bonus:</strong> <a href=\"https://realpython.com/bonus/python-mastery-course/\" class=\"alert-link\" data-toggle=\"modal\" data-target=\"#modal-python-mastery-course\" data-focus=\"false\">5 Thoughts On Python Mastery</a>, a free course for Python developers that shows you the roadmap and the mindset you\u2019ll need to take your Python skills to the next level.</p></div><section class=\"section2\"><h2 id=\"testing-your-code\">Testing Your Code</h2><p>There are many ways to test your code. In this tutorial, you\u2019ll learn the techniques from the most basic steps and work towards advanced methods.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div><section class=\"section3\"><h3 id=\"automated-vs-manual-testing\">Automated vs. Manual Testing</h3><p>The good news is, you\u2019ve probably already created a test without realizing it. Remember when you ran your application and used it for the first time? Did you check the features and experiment using them? That\u2019s known as <strong>exploratory testing</strong> and is a form of manual testing.</p><p>Exploratory testing is a form of testing that is done without a plan. In an exploratory test, you\u2019re just exploring the application.</p><p>To have a complete set of manual tests, all you need to do is make a list of all the features your application has, the different types of input it can accept, and the expected results. Now, every time you make a change to your code, you need to go through every single item on that list and check it.</p><p>That doesn\u2019t sound like much fun, does it?</p><p>This is where automated testing comes in. Automated testing is the execution of your test plan (the parts of your application you want to test, the order in which you want to test them, and the expected responses) by a script instead of a human. Python already comes with a set of tools and libraries to help you create automated tests for your application. We\u2019ll explore those tools and libraries in this tutorial.</p></section><section class=\"section3\"><h3 id=\"unit-tests-vs-integration-tests\">Unit Tests vs. Integration Tests</h3><p>The world of testing has no shortage of terminology, and now that you know the difference between automated and manual testing, it\u2019s time to go a level deeper.</p><p>Think of how you might test the lights on a car. You would turn on the lights (known as the <strong>test step</strong>) and go outside the car or ask a friend to check that the lights are on (known as the <strong>test assertion</strong>). Testing multiple components is known as <strong>integration testing</strong>.</p><p>Think of all the things that need to work correctly in order for a simple task to give the right result. These components are like the parts to your application, all of those classes, functions, and modules you\u2019ve written.</p><p>A major challenge with integration testing is when an integration test doesn\u2019t give the right result. It\u2019s very hard to diagnose the issue without being able to isolate which part of the system is failing. If the lights didn\u2019t turn on, then maybe the bulbs are broken. Is the battery dead? What about the alternator? Is the car\u2019s computer failing?</p><p>If you have a fancy modern car, it will tell you when your light bulbs have gone. It does this using a form of <strong>unit test</strong>.</p><p>A unit test is a smaller test, one that checks that a single component operates in the right way. A unit test helps you to isolate what is broken in your application and fix it faster.</p><p>You have just seen two types of tests:</p><ol><li>An integration test checks that components in your application operate with each other.</li>\n<li>A unit test checks a small component in your application.</li>\n</ol><p>You can write both integration tests and unit tests in Python. To write a unit test for the built-in function <a href=\"https://realpython.com/python-sum-function/\"><code>sum()</code></a>, you would check the output of <code>sum()</code> against a known output.</p><p>For example, here\u2019s how you check that the <code>sum()</code> of the numbers <code>(1, 2, 3)</code> equals <code>6</code>:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"codeblock__header d-flex justify-content-between codeblock--blue\">Python</div><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>This will not output anything on the REPL because the values are correct.</p><p>If the result from <code>sum()</code> is incorrect, this will fail with an <code>AssertionError</code> and the message <code>\"Should be 6\"</code>. Try an assertion statement again with the wrong values to see an <code>AssertionError</code>:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"codeblock__header d-flex justify-content-between codeblock--blue\">Python</div><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>In the REPL, you are seeing the raised <code>AssertionError</code> because the result of <code>sum()</code> does not match <code>6</code>.</p><p>Instead of testing on the REPL, you\u2019ll want to put this into a new Python file called <code>test_sum.py</code> and execute it again:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Now you have written a <strong>test case</strong>, an assertion, and an entry point (the command line). You can now execute this at the command line:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>You can see the successful result, <code>Everything passed</code>.</p><p>In Python, <code>sum()</code> accepts any iterable as its first argument. You tested with a list. Now test with a tuple as well. Create a new file called <code>test_sum_2.py</code> with the following code:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>When you execute <code>test_sum_2.py</code>, the script will give an error because the <code>sum()</code> of <code>(1, 2, 2)</code> is <code>5</code>, not <code>6</code>. The result of the script gives you the error message, the line of code, and the traceback:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Here you can see how a mistake in your code gives an error on the console with some information on where the error was and what the expected result was.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> It\u2019s possible to simultaneously document and test your code, while ensuring that your code and its documentation remain in sync, with <code>doctest</code>. Check out <a href=\"https://realpython.com/python-doctest/\">Python\u2019s doctest: Document and Test Your Code at Once</a> to learn more.</p></div><p>Writing tests in this way is okay for a simple check, but what if more than one fails? This is where test runners come in. The test runner is a special application designed for running tests, checking the output, and giving you tools for debugging and diagnosing tests and applications.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section><section class=\"section3\"><h3 id=\"choosing-a-test-runner\">Choosing a Test Runner</h3><p>There are many test runners available for Python. The one built into the Python standard library is called <code>unittest</code>. In this tutorial, you will be using <code>unittest</code> test cases and the <code>unittest</code> test runner. The principles of <code>unittest</code> are easily portable to other frameworks. The three most popular test runners are:</p><ul><li><code>unittest</code></li>\n<li><code>nose</code> or <code>nose2</code></li>\n<li><code>pytest</code></li>\n</ul><p>Choosing the best test runner for your requirements and level of experience is important.</p><section class=\"section4\"><h4 id=\"unittest\"><code>unittest</code></h4><p><code>unittest</code> has been built into the Python standard library since version 2.1. You\u2019ll probably see it in commercial Python applications and open-source projects.</p><p><code>unittest</code> contains both a testing framework and a test runner. <code>unittest</code> has some important requirements for writing and executing tests.</p><p><code>unittest</code> requires that:</p><ul><li>You put your tests into classes as methods</li>\n<li>You use a series of special assertion methods in the <code>unittest.TestCase</code> class instead of the built-in <code>assert</code> statement</li>\n</ul><p>To convert the earlier example to a <code>unittest</code> test case, you would have to:</p><ol><li><a href=\"https://realpython.com/absolute-vs-relative-python-imports/\">Import</a> <code>unittest</code> from the standard library</li>\n<li>Create a class called <code>TestSum</code> that inherits from the <code>TestCase</code> class</li>\n<li>Convert the test functions into methods by adding <code>self</code> as the first argument</li>\n<li>Change the assertions to use the <code>self.assertEqual()</code> method on the <code>TestCase</code> class</li>\n<li>Change the command-line entry point to call <code>unittest.main()</code></li>\n</ol><p>Follow those steps by creating a new file <code>test_sum_unittest.py</code> with the following code:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>If you execute this at the command line, you\u2019ll see one success (indicated with <code>.</code>) and one failure (indicated with <code>F</code>):</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>You have just executed two tests using the <code>unittest</code> test runner.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> Be careful if you\u2019re writing test cases that need to execute in both Python 2 and 3. In Python 2.7 and below, <code>unittest</code> is called <code>unittest2</code>. If you simply <a href=\"https://realpython.com/python-import/\">import</a> from <code>unittest</code>, you will get different versions with different features between Python 2 and 3.</p></div><p>For more information on <code>unittest</code>, you can explore the <a href=\"https://docs.python.org/3/library/unittest.html\">unittest Documentation</a>.</p></section><section class=\"section4\"><h4 id=\"nose\"><code>nose</code></h4><p>You may find that over time, as you write hundreds or even thousands of tests for your application, it becomes increasingly hard to understand and use the output from <code>unittest</code>.</p><p><code>nose</code> is compatible with any tests written using the <code>unittest</code> framework and can be used as a drop-in replacement for the <code>unittest</code> test runner. The development of <code>nose</code> as an open-source application fell behind, and a fork called <code>nose2</code> was created. If you\u2019re starting from scratch, it is recommended that you use <code>nose2</code> instead of <code>nose</code>.</p><p>To get started with <code>nose2</code>, install <code>nose2</code> from PyPI and execute it on the command line. <code>nose2</code> will try to discover all test scripts named <code>test*.py</code> and test cases inheriting from <code>unittest.TestCase</code> in your current directory:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>You have just executed the test you created in <code>test_sum_unittest.py</code> from the <code>nose2</code> test runner. <code>nose2</code> offers many command-line flags for filtering the tests that you execute. For more information, you can explore the <a href=\"https://nose2.readthedocs.io/\">Nose 2 documentation</a>.</p></section><section class=\"section4\"><h4 id=\"pytest\"><code>pytest</code></h4><p><a href=\"https://realpython.com/pytest-python-testing/\"><code>pytest</code></a> supports execution of <code>unittest</code> test cases. The real advantage of <code>pytest</code> comes by writing <code>pytest</code> test cases. <code>pytest</code> test cases are a series of functions in a Python file starting with the name <code>test_</code>.</p><p><code>pytest</code> has some other great features:</p><ul><li>Support for the built-in <code>assert</code> statement instead of using special <code>self.assert*()</code> methods</li>\n<li>Support for filtering for test cases</li>\n<li>Ability to rerun from the last failing test</li>\n<li>An ecosystem of hundreds of plugins to extend the functionality</li>\n</ul><p>Writing the <code>TestSum</code> test case example for <code>pytest</code> would look like this:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>You have dropped the <code>TestCase</code>, any use of classes, and the command-line entry point.</p><p>More information can be found at the <a href=\"https://docs.pytest.org/en/latest/\">Pytest Documentation Website</a>.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section></section></section><section class=\"section2\"><h2 id=\"writing-your-first-test\">Writing Your First Test</h2><p>Let\u2019s bring together what you\u2019ve learned so far and, instead of testing the built-in <code>sum()</code> function, test a simple implementation of the same requirement.</p><p>Create a new project folder and, inside that, create a new folder called <code>my_sum</code>. Inside <code>my_sum</code>, create an empty file called <code>__init__.py</code>. Creating the <code>__init__.py</code> file means that the <code>my_sum</code> folder can be imported as a module from the parent directory.</p><p>Your project folder should look like this:</p><div class=\"highlight\"><pre>project/\n\u2502\n\u2514\u2500\u2500 my_sum/\n    \u2514\u2500\u2500 __init__.py\n</pre></div><p>Open up <code>my_sum/__init__.py</code> and create a new function called <code>sum()</code>, which takes an iterable (a list, tuple, or set) and adds the values together:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>This code example creates a variable called <code>total</code>, iterates over all the values in <code>arg</code>, and adds them to <code>total</code>. It then returns the result once the iterable has been exhausted.</p><section class=\"section3\"><h3 id=\"where-to-write-the-test\">Where to Write the Test</h3><p>To get started writing tests, you can simply create a file called <code>test.py</code>, which will contain your first test case. Because the file will need to be able to import your application to be able to test it, you want to place <code>test.py</code> above the package folder, so your directory tree will look something like this:</p><div class=\"highlight\"><pre>project/\n\u2502\n\u251c\u2500\u2500 my_sum/\n\u2502   \u2514\u2500\u2500 __init__.py\n|\n\u2514\u2500\u2500 test.py\n</pre></div><p>You\u2019ll find that, as you add more and more tests, your single file will become cluttered and hard to maintain, so you can create a folder called <code>tests/</code> and split the tests into multiple files. It is convention to ensure each file starts with <code>test_</code> so all test runners will assume that Python file contains tests to be executed. Some very large projects split tests into more subdirectories based on their purpose or usage.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> What if your application is a single script?</p><p>You can import any attributes of the script, such as classes, functions, and variables by using the built-in <code>__import__()</code> function. Instead of <code>from my_sum import sum</code>, you can write the following:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>The benefit of using <code>__import__()</code> is that you don\u2019t have to turn your project folder into a package, and you can specify the file name. This is also useful if your filename collides with any standard library packages. For example, <code>math.py</code> would collide with the <code>math</code> module.</p></div></section><section class=\"section3\"><h3 id=\"how-to-structure-a-simple-test\">How to Structure a Simple Test</h3><p>Before you dive into writing tests, you\u2019ll want to first make a couple of decisions:</p><ol><li>What do you want to test?</li>\n<li>Are you writing a unit test or an integration test?</li>\n</ol><p>Then the structure of a test should loosely follow this workflow:</p><ol><li>Create your inputs</li>\n<li>Execute the code being tested, capturing the output</li>\n<li>Compare the output with an expected result</li>\n</ol><p>For this application, you\u2019re testing <code>sum()</code>. There are many behaviors in <code>sum()</code> you could check, such as:</p><ul><li>Can it sum a list of whole numbers (integers)?</li>\n<li>Can it sum a tuple or set?</li>\n<li>Can it sum a list of floats?</li>\n<li>What happens when you provide it with a bad value, such as a single integer or a string?</li>\n<li>What happens when one of the values is negative?</li>\n</ul><p>The most simple test would be a list of integers. Create a file, <code>test.py</code> with the following Python code:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>This code example:</p><ol><li>\n<p>Imports <code>sum()</code> from the <code>my_sum</code> package you created</p>\n</li>\n<li>\n<p>Defines a new test case class called <code>TestSum</code>, which inherits from <code>unittest.TestCase</code></p>\n</li>\n<li>\n<p>Defines a test method, <code>.test_list_int()</code>, to test a list of integers. The method <code>.test_list_int()</code> will:</p>\n<ul><li>Declare a variable <code>data</code> with a list of numbers <code>(1, 2, 3)</code></li>\n<li>Assign the result of <code>my_sum.sum(data)</code> to a <code>result</code> variable</li>\n<li>Assert that the value of <code>result</code> equals <code>6</code> by using the <code>.assertEqual()</code> method on the <code>unittest.TestCase</code> class</li>\n</ul></li>\n<li>\n<p>Defines a command-line entry point, which runs the <code>unittest</code> test-runner <code>.main()</code></p>\n</li>\n</ol><p>If you\u2019re unsure what <code>self</code> is or how <code>.assertEqual()</code> is defined, you can brush up on your object-oriented programming with <a href=\"https://realpython.com/python3-object-oriented-programming/\">Python 3 Object-Oriented Programming</a>.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section><section class=\"section3\"><h3 id=\"how-to-write-assertions\">How to Write Assertions</h3><p>The last step of writing a test is to validate the output against a known response. This is known as an <strong>assertion</strong>. There are some general best practices around how to write assertions:</p><ul><li>Make sure tests are repeatable and run your test multiple times to make sure it gives the same result every time</li>\n<li>Try and assert results that relate to your input data, such as checking that the result is the actual sum of values in the <code>sum()</code> example</li>\n</ul><p><code>unittest</code> comes with lots of methods to assert on the values, types, and existence of variables. Here are some of the most commonly used methods:</p><div class=\"table-responsive\"><table class=\"table table-hover\"><thead><tr><th>Method</th>\n<th>Equivalent to</th>\n</tr></thead><tbody><tr><td><code>.assertEqual(a, b)</code></td>\n<td><code>a == b</code></td>\n</tr><tr><td><code>.assertTrue(x)</code></td>\n<td><code>bool(x) is True</code></td>\n</tr><tr><td><code>.assertFalse(x)</code></td>\n<td><code>bool(x) is False</code></td>\n</tr><tr><td><code>.assertIs(a, b)</code></td>\n<td><code>a is b</code></td>\n</tr><tr><td><code>.assertIsNone(x)</code></td>\n<td><code>x is None</code></td>\n</tr><tr><td><code>.assertIn(a, b)</code></td>\n<td><code>a in b</code></td>\n</tr><tr><td><code>.assertIsInstance(a, b)</code></td>\n<td><code>isinstance(a, b)</code></td>\n</tr></tbody></table></div><p><code>.assertIs()</code>, <code>.assertIsNone()</code>, <code>.assertIn()</code>, and <code>.assertIsInstance()</code> all have opposite methods, named <code>.assertIsNot()</code>, and so forth.</p></section><section class=\"section3\"><h3 id=\"side-effects\">Side Effects</h3><p>When you\u2019re writing tests, it\u2019s often not as simple as looking at the return value of a function. Often, executing a piece of code will alter other things in the environment, such as the attribute of a class, a file on the filesystem, or a value in a database. These are known as <strong>side effects</strong> and are an important part of testing. Decide if the side effect is being tested before including it in your list of assertions.</p><p>If you find that the unit of code you want to test has lots of side effects, you might be breaking the <a href=\"https://en.wikipedia.org/wiki/Single_responsibility_principle\">Single Responsibility Principle</a>. Breaking the Single Responsibility Principle means the piece of code is doing too many things and would be better off being refactored. Following the Single Responsibility Principle is a great way to design code that it is easy to write repeatable and simple unit tests for, and ultimately, reliable applications.</p></section></section><section class=\"section2\"><h2 id=\"executing-your-first-test\">Executing Your First Test</h2><p>Now that you\u2019ve created the first test, you want to execute it. Sure, you know it\u2019s going to pass, but before you create more complex tests, you should check that you can execute the tests successfully.</p><section class=\"section3\"><h3 id=\"executing-test-runners\">Executing Test Runners</h3><p>The Python application that executes your test code, checks the assertions, and gives you test results in your console is called the <strong>test runner</strong>.</p><p>At the bottom of <code>test.py</code>, you added this small snippet of code:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>This is a command line entry point. It means that if you execute the script alone by running <code>python test.py</code> at the command line, it will call <code>unittest.main()</code>. This executes the test runner by discovering all classes in this file that inherit from <code>unittest.TestCase</code>.</p><p>This is one of many ways to execute the <code>unittest</code> test runner. When you have a single test file named <code>test.py</code>, calling <code>python test.py</code> is a great way to get started.</p><p>Another way is using the <code>unittest</code> command line. Try this:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>This will execute the same test module (called <code>test</code>) via the command line.</p><p>You can provide additional options to change the output. One of those is <code>-v</code> for verbose. Try that next:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>This executed the one test inside <code>test.py</code> and printed the results to the console. Verbose mode listed the names of the tests it executed first, along with the result of each test.</p><p>Instead of providing the name of a module containing tests, you can request an auto-discovery using the following:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>This will search the current directory for any files named <code>test*.py</code> and attempt to test them.</p><p>Once you have multiple test files, as long as you follow the <code>test*.py</code> naming pattern, you can provide the name of the directory instead by using the <code>-s</code> flag and the name of the directory:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p><code>unittest</code> will run all tests in a single test plan and give you the results.</p><p>Lastly, if your source code is not in the directory root and contained in a subdirectory, for example in a folder called <code>src/</code>, you can tell <code>unittest</code> where to execute the tests so that it can import the modules correctly with the <code>-t</code> flag:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p><code>unittest</code> will change to the <code>src/</code> directory, scan for all <code>test*.py</code> files inside the the <code>tests</code> directory, and execute them.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section><section class=\"section3\"><h3 id=\"understanding-test-output\">Understanding Test Output</h3><p>That was a very simple example where everything passes, so now you\u2019re going to try a failing test and interpret the output.</p><p><code>sum()</code> should be able to accept other lists of numeric types, like fractions.</p><p>At the top of the <code>test.py</code> file, add an import statement to import the <code>Fraction</code> type from the <code>fractions</code> module in the standard library:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Now add a test with an assertion expecting the incorrect value, in this case expecting the sum of 1/4, 1/4, and 2/5 to be 1:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>If you execute the tests again with <code>python -m unittest test</code>, you should see the following output:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>In the output, you\u2019ll see the following information:</p><ol><li>\n<p>The first line shows the execution results of all the tests, one failed (<code>F</code>) and one passed (<code>.</code>).</p>\n</li>\n<li>\n<p>The <code>FAIL</code> entry shows some details about the failed test:</p>\n<ul><li>The test method name (<code>test_list_fraction</code>)</li>\n<li>The test module (<code>test</code>) and the test case (<code>TestSum</code>)</li>\n<li>A traceback to the failing line</li>\n<li>The details of the assertion with the expected result (<code>1</code>) and the actual result (<code>Fraction(9, 10)</code>)</li>\n</ul></li>\n</ol><p>Remember, you can add extra information to the test output by adding the <code>-v</code> flag to the <code>python -m unittest</code> command.</p></section><section class=\"section3\"><h3 id=\"running-your-tests-from-pycharm\">Running Your Tests From PyCharm</h3><p>If you\u2019re using the <a href=\"https://realpython.com/pycharm-guide/\">PyCharm</a> IDE, you can run <code>unittest</code> or <code>pytest</code> by following these steps:</p><ol><li>In the Project tool window, select the <code>tests</code> directory.</li>\n<li>On the context menu, choose the run command for <code>unittest</code>. For example, choose <em>Run \u2018Unittests in my Tests\u2026\u2019</em>.</li>\n</ol><p>This will execute <code>unittest</code> in a test window and give you the results within PyCharm:</p><figure class=\"js-lightbox\"><a href=\"https://files.realpython.com/media/py_run_test_folder.b0e61b478c81.png\" target=\"_blank\"><img class=\"img-fluid mx-auto d-block w-75\" src=\"https://files.realpython.com/media/py_run_test_folder.b0e61b478c81.png\" width=\"744\" height=\"232\" srcset=\"https://robocrop.realpython.net/?url=https%3A//files.realpython.com/media/py_run_test_folder.b0e61b478c81.png&amp;w=186&amp;sig=e27b73c7795314ecda65f920a07b1f644521c20a 186w, https://robocrop.realpython.net/?url=https%3A//files.realpython.com/media/py_run_test_folder.b0e61b478c81.png&amp;w=248&amp;sig=a9fddbc7ec8aebd86b99d0bf40097964600200b3 248w, https://robocrop.realpython.net/?url=https%3A//files.realpython.com/media/py_run_test_folder.b0e61b478c81.png&amp;w=372&amp;sig=1582183b1f1b264987ccdd9c9d6a2466e7c82fbc 372w, https://files.realpython.com/media/py_run_test_folder.b0e61b478c81.png 744w\" alt=\"PyCharm Testing\" data-asset=\"843\" referrerpolicy=\"no-referrer\" /></a></figure><p>More information is available on the <a href=\"https://www.jetbrains.com/help/pycharm/performing-tests.html\">PyCharm Website</a>.</p></section><section class=\"section3\"><h3 id=\"running-your-tests-from-visual-studio-code\">Running Your Tests From Visual Studio Code</h3><p>If you\u2019re using the Microsoft Visual Studio Code IDE, support for <code>unittest</code>, <code>nose</code>, and <code>pytest</code> execution is built into the Python plugin.</p><p>If you have the Python plugin installed, you can set up the configuration of your tests by opening the Command Palette with <kbd class=\"key-control\">Ctrl</kbd>+<kbd class=\"key-shift\">Shift</kbd>+<kbd class=\"key-p\">P</kbd> and typing \u201cPython test\u201d. You will see a range of options:</p><figure class=\"js-lightbox\"><a href=\"https://files.realpython.com/media/vscode-test-capture.dfefa1d20789.PNG\" target=\"_blank\"><img class=\"img-fluid mx-auto d-block w-100\" src=\"https://files.realpython.com/media/vscode-test-capture.dfefa1d20789.PNG\" width=\"1552\" height=\"624\" srcset=\"https://robocrop.realpython.net/?url=https%3A//files.realpython.com/media/vscode-test-capture.dfefa1d20789.PNG&amp;w=388&amp;sig=034459935c093ba1f57cd790ebb55c6899cf94aa 388w, https://robocrop.realpython.net/?url=https%3A//files.realpython.com/media/vscode-test-capture.dfefa1d20789.PNG&amp;w=517&amp;sig=9d72b1976d8cbf252a394f60e21c880760342685 517w, https://robocrop.realpython.net/?url=https%3A//files.realpython.com/media/vscode-test-capture.dfefa1d20789.PNG&amp;w=776&amp;sig=d9bf466b67c4d9a8a1ac7f8c8fa27d1f6f6d3bbc 776w, https://files.realpython.com/media/vscode-test-capture.dfefa1d20789.PNG 1552w\" alt=\"Visual Studio Code Step 1\" data-asset=\"839\" referrerpolicy=\"no-referrer\" /></a></figure><p>Choose <em>Debug All Unit Tests</em>, and VSCode will then raise a prompt to configure the test framework. Click on the cog to select the test runner (<code>unittest</code>) and the home directory (<code>.</code>).</p><p>Once this is set up, you will see the status of your tests at the bottom of the window, and you can quickly access the test logs and run the tests again by clicking on these icons:</p><figure class=\"js-lightbox\"><a href=\"https://files.realpython.com/media/vscode-test-results.951be75c3d3b.PNG\" target=\"_blank\"><img class=\"img-fluid mx-auto d-block w-50\" src=\"https://files.realpython.com/media/vscode-test-results.951be75c3d3b.PNG\" width=\"483\" height=\"112\" srcset=\"https://robocrop.realpython.net/?url=https%3A//files.realpython.com/media/vscode-test-results.951be75c3d3b.PNG&amp;w=120&amp;sig=7420fd564c8a3dc44f5d9a52746b7a678fd4f772 120w, https://robocrop.realpython.net/?url=https%3A//files.realpython.com/media/vscode-test-results.951be75c3d3b.PNG&amp;w=161&amp;sig=ce224a0ebe78bf6e0a91afd6571bbcde655ad952 161w, https://robocrop.realpython.net/?url=https%3A//files.realpython.com/media/vscode-test-results.951be75c3d3b.PNG&amp;w=241&amp;sig=062d5eb16ad1fff2ef01884279a42b5ae865537a 241w, https://files.realpython.com/media/vscode-test-results.951be75c3d3b.PNG 483w\" alt=\"Visual Studio Code Step 2\" data-asset=\"840\" referrerpolicy=\"no-referrer\" /></a></figure><p>This shows the tests are executing, but some of them are failing.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section></section><section class=\"section2\"><h2 id=\"testing-for-web-frameworks-like-django-and-flask\">Testing for Web Frameworks Like Django and Flask</h2><p>If you\u2019re writing tests for a web application using one of the popular frameworks like Django or Flask, there are some important differences in the way you write and run the tests.</p><section class=\"section3\"><h3 id=\"why-theyre-different-from-other-applications\">Why They\u2019re Different From Other Applications</h3><p>Think of all the code you\u2019re going to be testing in a web application. The routes, views, and models all require lots of imports and knowledge about the frameworks being used.</p><p>This is similar to the car test at the beginning of the tutorial: you have to start up the car\u2019s computer before you can run a simple test like checking the lights.</p><p>Django and Flask both make this easy for you by providing a test framework based on <code>unittest</code>. You can continue writing tests in the way you\u2019ve been learning but execute them slightly differently.</p></section><section class=\"section3\"><h3 id=\"how-to-use-the-django-test-runner\">How to Use the Django Test Runner</h3><p>The Django <code>startapp</code> template will have created a <code>tests.py</code> file inside your application directory. If you don\u2019t have that already, you can create it with the following contents:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>The major difference with the examples so far is that you need to inherit from the <code>django.test.TestCase</code> instead of <code>unittest.TestCase</code>. These classes have the same API, but the Django <code>TestCase</code> class sets up all the required state to test.</p><p>To execute your test suite, instead of using <code>unittest</code> at the command line, you use <code>manage.py test</code>:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>If you want multiple test files, replace <code>tests.py</code> with a folder called <code>tests</code>, insert an empty file inside called <code>__init__.py</code>, and create your <code>test_*.py</code> files. Django will discover and execute these.</p><p>More information is available at the <a href=\"https://docs.djangoproject.com/en/2.1/topics/testing/overview/\">Django Documentation Website</a>.</p></section><section class=\"section3\"><h3 id=\"how-to-use-unittest-and-flask\">How to Use <code>unittest</code> and Flask</h3><p>Flask requires that the app be imported and then set in test mode. You can instantiate a test client and use the test client to make requests to any routes in your application.</p><p>All of the test client instantiation is done in the <code>setUp</code> method of your test case. In the following example, <code>my_app</code> is the name of the application. Don\u2019t worry if you don\u2019t know what <code>setUp</code> does. You\u2019ll learn about that in the <a href=\"https://realpython.com/python-testing/#more-advanced-testing-scenarios\">More Advanced Testing Scenarios</a> section.</p><p>The code within your test file should look like this:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>You can then execute the test cases using the <code>python -m unittest discover</code> command.</p><p>More information is available at the <a href=\"http://flask.pocoo.org/docs/0.12/testing/\">Flask Documentation Website</a>.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section></section><section class=\"section2\"><h2 id=\"more-advanced-testing-scenarios\">More Advanced Testing Scenarios</h2><p>Before you step into creating tests for your application, remember the three basic steps of every test:</p><ol><li>Create your inputs</li>\n<li>Execute the code, capturing the output</li>\n<li>Compare the output with an expected result</li>\n</ol><p>It\u2019s not always as easy as creating a static value for the input like a string or a number. Sometimes, your application will require an instance of a class or a context. What do you do then?</p><p>The data that you create as an input is known as a <strong>fixture</strong>. It\u2019s common practice to create fixtures and reuse them.</p><p>If you\u2019re running the same test and passing different values each time and expecting the same result, this is known as <strong>parameterization</strong>.</p><section class=\"section3\"><h3 id=\"handling-expected-failures\">Handling Expected Failures</h3><p>Earlier, when you made a list of scenarios to test <code>sum()</code>, a question came up: What happens when you provide it with a bad value, such as a single integer or a string?</p><p>In this case, you would expect <code>sum()</code> to throw an error. When it does throw an error, that would cause the test to fail.</p><p>There\u2019s a special way to handle expected errors. You can use <code>.assertRaises()</code> as a context-manager, then inside the <code>with</code> block execute the test steps:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>This test case will now only pass if <code>sum(data)</code> raises a <code>TypeError</code>. You can replace <code>TypeError</code> with any exception type you choose.</p></section><section class=\"section3\"><h3 id=\"isolating-behaviors-in-your-application\">Isolating Behaviors in Your Application</h3><p>Earlier in the tutorial, you learned what a side effect is. Side effects make unit testing harder since, each time a test is run, it might give a different result, or even worse, one test could impact the state of the application and cause another test to fail!</p><figure class=\"js-lightbox\"><a href=\"https://files.realpython.com/media/YXhT6fA.d277d5317026.gif\" target=\"_blank\"><img class=\"img-fluid mx-auto d-block w-80\" src=\"https://files.realpython.com/media/YXhT6fA.d277d5317026.gif\" width=\"480\" height=\"270\" srcset=\"https://files.realpython.com/media/YXhT6fA.d277d5317026.gif 120w, https://files.realpython.com/media/YXhT6fA.d277d5317026.gif 160w, https://files.realpython.com/media/YXhT6fA.d277d5317026.gif 240w, https://files.realpython.com/media/YXhT6fA.d277d5317026.gif 480w\" alt=\"Testing Side Effects\" data-asset=\"842\" referrerpolicy=\"no-referrer\" /></a></figure><p>There are some simple techniques you can use to test parts of your application that have many side effects:</p><ul><li>Refactoring code to follow the Single Responsibility Principle</li>\n<li>Mocking out any method or function calls to remove side effects</li>\n<li>Using integration testing instead of unit testing for this piece of the application</li>\n</ul><p>If you\u2019re not familiar with mocking, see <a href=\"https://realpython.com/python-cli-testing/#mocks\">Python CLI Testing</a> for some great examples.</p></section><section class=\"section3\"><h3 id=\"writing-integration-tests\">Writing Integration Tests</h3><p>So far, you\u2019ve been learning mainly about unit testing. Unit testing is a great way to build predictable and stable code. But at the end of the day, your application needs to work when it starts!</p><p>Integration testing is the testing of multiple components of the application to check that they work together. Integration testing might require acting like a consumer or user of the application by:</p><ul><li>Calling an HTTP REST API</li>\n<li>Calling a Python API</li>\n<li>Calling a web service</li>\n<li>Running a command line</li>\n</ul><p>Each of these types of integration tests can be written in the same way as a unit test, following the Input, Execute, and Assert pattern. The most significant difference is that integration tests are checking more components at once and therefore will have more side effects than a unit test. Also, integration tests will require more fixtures to be in place, like a database, a network socket, or a configuration file.</p><p>This is why it\u2019s good practice to separate your unit tests and your integration tests. The creation of fixtures required for an integration like a test database and the test cases themselves often take a lot longer to execute than unit tests, so you may only want to run integration tests before you push to production instead of once on every commit.</p><p>A simple way to separate unit and integration tests is simply to put them in different folders:</p><div class=\"highlight\"><pre>project/\n\u2502\n\u251c\u2500\u2500 my_app/\n\u2502   \u2514\u2500\u2500 __init__.py\n\u2502\n\u2514\u2500\u2500 tests/\n    |\n    \u251c\u2500\u2500 unit/\n    |   \u251c\u2500\u2500 __init__.py\n    |   \u2514\u2500\u2500 test_sum.py\n    |\n    \u2514\u2500\u2500 integration/\n        \u251c\u2500\u2500 __init__.py\n        \u2514\u2500\u2500 test_integration.py\n</pre></div><p>There are many ways to execute only a select group of tests. The specify source directory flag, <code>-s</code>, can be added to <code>unittest discover</code> with the path containing the tests:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p><code>unittest</code> will have given you the results of all the tests within the <code>tests/integration</code> directory.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section><section class=\"section3\"><h3 id=\"testing-data-driven-applications\">Testing Data-Driven Applications</h3><p>Many integration tests will require backend data like a database to exist with certain values. For example, you might want to have a test that checks that the application displays correctly with more than 100 customers in the database, or the order page works even if the product names are displayed in Japanese.</p><p>These types of integration tests will depend on different test fixtures to make sure they are repeatable and predictable.</p><p>A good technique to use is to store the test data in a folder within your integration testing folder called <code>fixtures</code> to indicate that it contains test data. Then, within your tests, you can load the data and run the test.</p><p>Here\u2019s an example of that structure if the data consisted of JSON files:</p><div class=\"highlight\"><pre>project/\n\u2502\n\u251c\u2500\u2500 my_app/\n\u2502   \u2514\u2500\u2500 __init__.py\n\u2502\n\u2514\u2500\u2500 tests/\n    |\n    \u2514\u2500\u2500 unit/\n    |   \u251c\u2500\u2500 __init__.py\n    |   \u2514\u2500\u2500 test_sum.py\n    |\n    \u2514\u2500\u2500 integration/\n        |\n        \u251c\u2500\u2500 fixtures/\n        |   \u251c\u2500\u2500 test_basic.json\n        |   \u2514\u2500\u2500 test_complex.json\n        |\n        \u251c\u2500\u2500 __init__.py\n        \u2514\u2500\u2500 test_integration.py\n</pre></div><p>Within your test case, you can use the <code>.setUp()</code> method to load the test data from a fixture file in a known path and execute many tests against that test data. Remember you can have multiple test cases in a single Python file, and the <code>unittest</code> discovery will execute both. You can have one test case for each set of test data:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>If your application depends on data from a remote location, like a <a href=\"https://realpython.com/python-api/\">remote API</a>, you\u2019ll want to ensure your tests are repeatable. Having your tests fail because the API is offline or there is a <a href=\"https://realpython.com/site-connectivity-checker-python/\">connectivity issue</a> could slow down development. In these types of situations, it is best practice to store remote fixtures locally so they can be recalled and sent to the application.</p><p>The <code>requests</code> library has a complimentary package called <code>responses</code> that gives you ways to create response fixtures and save them in your test folders. Find out more <a href=\"https://github.com/getsentry/responses\">on their GitHub Page</a>.</p></section></section><section class=\"section2\"><h2 id=\"testing-in-multiple-environments\">Testing in Multiple Environments</h2><p>So far, you\u2019ve been testing against a single version of Python using a <a href=\"https://realpython.com/python-virtual-environments-a-primer/\">virtual environment</a> with a specific set of dependencies. You might want to check that your application works on multiple versions of Python, or multiple versions of a package. Tox is an application that automates testing in multiple environments.</p><section class=\"section3\"><h3 id=\"installing-tox\">Installing Tox</h3><p>Tox is available on PyPI as a package to install via <a href=\"https://realpython.com/what-is-pip/\"><code>pip</code></a>:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Now that you have Tox installed, it needs to be configured.</p></section><section class=\"section3\"><h3 id=\"configuring-tox-for-your-dependencies\">Configuring Tox for Your Dependencies</h3><p>Tox is configured via a configuration file in your project directory. The Tox configuration file contains the following:</p><ul><li>The command to run in order to execute tests</li>\n<li>Any additional packages required before executing</li>\n<li>The target Python versions to test against</li>\n</ul><p>Instead of having to learn the Tox configuration syntax, you can get a head start by running the quickstart application:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>The Tox configuration tool will ask you those questions and create a file similar to the following in <code>tox.ini</code>:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Config File</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Before you can run Tox, it requires that you have a <code>setup.py</code> file in your application folder containing the steps to install your package. If you don\u2019t have one, you can follow <a href=\"https://packaging.python.org/tutorials/packaging-projects/#setup-py\">this guide</a> on how to create a <code>setup.py</code> before you continue.</p><p>Alternatively, if your project is not for distribution on PyPI, you can skip this requirement by adding the following line in the <code>tox.ini</code> file under the <code>[tox]</code> heading:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Config File</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>If you don\u2019t create a <code>setup.py</code>, and your application has some dependencies from PyPI, you\u2019ll need to specify those on a number of lines under the <code>[testenv]</code> section. For example, Django would require the following:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Config File</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Once you have completed that stage, you\u2019re ready to run the tests.</p><p>You can now execute Tox, and it will create two virtual environments: one for Python 2.7 and one for Python 3.6. The Tox directory is called <code>.tox/</code>. Within the <code>.tox/</code> directory, Tox will execute <code>python -m unittest discover</code> against each virtual environment.</p><p>You can run this process by calling Tox at the command line:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Tox will output the results of your tests against each environment. The first time it runs, Tox takes a little bit of time to create the virtual environments, but once it has, the second execution will be a lot faster.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section><section class=\"section3\"><h3 id=\"executing-tox\">Executing Tox</h3><p>The output of Tox is quite straightforward. It creates an environment for each version, installs your dependencies, and then runs the test commands.</p><p>There are some additional command line options that are great to remember.</p><p>Run only a single environment, such as Python 3.6:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Recreate the virtual environments, in case your dependencies have changed or <a href=\"https://docs.python.org/3/install/#how-installation-works\">site-packages</a> is corrupt:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Run Tox with less verbose output:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Running Tox with more verbose output:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>More information on Tox can be found at the <a href=\"https://tox.readthedocs.io/en/latest/\">Tox Documentation Website</a>.</p></section></section><section class=\"section2\"><h2 id=\"automating-the-execution-of-your-tests\">Automating the Execution of Your Tests</h2><p>So far, you have been executing the tests manually by running a command. There are some tools for executing tests automatically when you make changes and commit them to a source-control repository like Git. Automated testing tools are often known as CI/CD tools, which stands for \u201cContinuous Integration/Continuous Deployment.\u201d They can run your tests, compile and publish any applications, and even deploy them into production.</p><p><a href=\"https://travis-ci.com/\">Travis CI</a> is one of many available CI (<a href=\"https://realpython.com/python-continuous-integration/\">Continuous Integration</a>) services available.</p><p>Travis CI works nicely with Python, and now that you\u2019ve created all these tests, you can automate the execution of them in the cloud! Travis CI is free for any open-source projects on GitHub and GitLab and is available for a charge for private projects.</p><p>To get started, login to the website and authenticate with your GitHub or GitLab credentials. Then create a file called <code>.travis.yml</code> with the following contents:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>YAML</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>This configuration instructs Travis CI to:</p><ol><li>Test against Python 2.7 and 3.7 (You can replace those versions with any you choose.)</li>\n<li>Install all the packages you list in <code>requirements.txt</code> (You should remove this section if you don\u2019t have any dependencies.)</li>\n<li>Run <code>python -m unittest discover</code> to run the tests</li>\n</ol><p>Once you have committed and pushed this file, Travis CI will run these commands every time you push to your remote Git repository. You can check out the results on their website.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section><section class=\"section2\"><h2 id=\"whats-next\">What\u2019s Next</h2><p>Now that you\u2019ve learned how to create tests, execute them, include them in your project, and even execute them automatically, there are a few advanced techniques you might find handy as your test library grows.</p><section class=\"section3\"><p>Tox and Travis CI have configuration for a test command. The test command you have been using throughout this tutorial is <code>python -m unittest discover</code>.</p><p>You can provide one or many commands in all of these tools, and this option is there to enable you to add more tools that improve the quality of your application.</p><p>One such type of application is called a linter. A linter will look at your code and comment on it. It could give you tips about mistakes you\u2019ve made, correct trailing spaces, and even predict bugs you may have introduced.</p><p>For more information on linters, read the <a href=\"https://realpython.com/python-code-quality/\">Python Code Quality tutorial</a>.</p><section class=\"section4\"><h4 id=\"passive-linting-with-flake8\">Passive Linting With <code>flake8</code></h4><p>A popular linter that comments on the style of your code in relation to the <a href=\"https://www.youtube.com/watch?v=Hwckt4J96dI\">PEP 8</a> specification is <code>flake8</code>.</p><p>You can install <code>flake8</code> using <code>pip</code>:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>You can then run <code>flake8</code> over a single file, a folder, or a pattern:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>You will see a list of errors and warnings for your code that <code>flake8</code> has found.</p><p><code>flake8</code> is configurable on the command line or inside a configuration file in your project. If you wanted to ignore certain rules, like <code>E305</code> shown above, you can set them in the configuration. <code>flake8</code> will inspect a <code>.flake8</code> file in the project folder or a <code>setup.cfg</code> file. If you decided to use Tox, you can put the <code>flake8</code> configuration section inside <code>tox.ini</code>.</p><p>This example ignores the <code>.git</code> and <code>__pycache__</code> directories as well as the <code>E305</code> rule. Also, it sets the max line length to 90 instead of 80 characters. You will likely find that the default constraint of 79 characters for line-width is very limiting for tests, as they contain long method names, string literals with test values, and other pieces of data that can be longer. It is common to set the line length for tests to up to 120 characters:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Config File</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Alternatively, you can provide these options on the command line:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>A full list of configuration options is available on the <a href=\"http://flake8.pycqa.org/en/latest/user/options.html\">Documentation Website</a>.</p><p>You can now add <code>flake8</code> to your CI configuration. For Travis CI, this would look as follows:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>YAML</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Travis will read the configuration in <code>.flake8</code> and fail the build if any linting errors occur. Be sure to add the <code>flake8</code> dependency to your <code>requirements.txt</code> file.</p></section><section class=\"section4\"><h4 id=\"aggressive-linting-with-a-code-formatter\">Aggressive Linting With a Code Formatter</h4><p><code>flake8</code> is a passive linter: it recommends changes, but you have to go and change the code. A more aggressive approach is a code formatter. Code formatters will change your code automatically to meet a collection of style and layout practices.</p><p><code>black</code> is a very unforgiving formatter. It doesn\u2019t have any configuration options, and it has a very specific style. This makes it great as a drop-in tool to put in your test pipeline.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> <code>black</code> requires Python 3.6+.</p></div><p>You can install <code>black</code> via pip:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Then to run <code>black</code> at the command line, provide the file or directory you want to format:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div></section></section><section class=\"section3\"><h3 id=\"keeping-your-test-code-clean\">Keeping Your Test Code Clean</h3><p>When writing tests, you may find that you end up copying and pasting code a lot more than you would in regular applications. Tests can be very repetitive at times, but that is by no means a reason to leave your code sloppy and hard to maintain.</p><p>Over time, you will develop a lot of <a href=\"https://martinfowler.com/bliki/TechnicalDebt.html\">technical debt</a> in your test code, and if you have significant changes to your application that require changes to your tests, it can be a more cumbersome task than necessary because of the way you structured them.</p><p>Try to follow the <strong>DRY</strong> principle when writing tests: <strong>D</strong>on\u2019t <strong>R</strong>epeat <strong>Y</strong>ourself.</p><p>Test fixtures and functions are a great way to produce test code that is easier to maintain. Also, readability counts. Consider deploying a linting tool like <code>flake8</code> over your test code:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div></section><section class=\"section3\"><h3 id=\"testing-for-performance-degradation-between-changes\">Testing for Performance Degradation Between Changes</h3><p>There are many ways to benchmark code in Python. The standard library provides the <code>timeit</code> module, which can time functions a number of times and give you the distribution. This example will execute <code>test()</code> 100 times and <code>print()</code> the output:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Another option, if you decided to use <code>pytest</code> as a test runner, is the <code>pytest-benchmark</code> plugin. This provides a <code>pytest</code> fixture called <code>benchmark</code>. You can pass <code>benchmark()</code> any callable, and it will log the timing of the callable to the results of <code>pytest</code>.</p><p>You can install <code>pytest-benchmark</code> from PyPI using <code>pip</code>:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Then, you can add a test that uses the fixture and passes the callable to be executed:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Python</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>Execution of <code>pytest</code> will now give you benchmark results:</p><figure class=\"js-lightbox\"><a href=\"https://files.realpython.com/media/pytest-bench-screen.6d83bffe8e21.png\" target=\"_blank\"><img class=\"img-fluid mx-auto d-block w-80\" src=\"https://files.realpython.com/media/pytest-bench-screen.6d83bffe8e21.png\" width=\"1313\" height=\"416\" srcset=\"https://robocrop.realpython.net/?url=https%3A//files.realpython.com/media/pytest-bench-screen.6d83bffe8e21.png&amp;w=328&amp;sig=7c64a59c1ca07a4b6753a0756b548ebf89367816 328w, https://robocrop.realpython.net/?url=https%3A//files.realpython.com/media/pytest-bench-screen.6d83bffe8e21.png&amp;w=437&amp;sig=ae599ab66859c51b591efb7bda2d15c263797a52 437w, https://robocrop.realpython.net/?url=https%3A//files.realpython.com/media/pytest-bench-screen.6d83bffe8e21.png&amp;w=656&amp;sig=f699ace3c02a6807aca45880bc0c57e952e8fd2a 656w, https://files.realpython.com/media/pytest-bench-screen.6d83bffe8e21.png 1313w\" alt=\"Pytest benchmark screenshot\" data-asset=\"841\" referrerpolicy=\"no-referrer\" /></a></figure><p>More information is available at the <a href=\"https://pytest-benchmark.readthedocs.io/en/latest/\">Documentation Website</a>.</p></section><section class=\"section3\"><h3 id=\"testing-for-security-flaws-in-your-application\">Testing for Security Flaws in Your Application</h3><p>Another test you will want to run on your application is checking for common security mistakes or vulnerabilities.</p><p>You can install <code>bandit</code> from PyPI using <code>pip</code>:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>You can then pass the name of your application module with the <code>-r</code> flag, and it will give you a summary:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>As with <code>flake8</code>, the rules that <code>bandit</code> flags are configurable, and if there are any you wish to ignore, you can add the following section to your <code>setup.cfg</code> file with the options:</p><div class=\"codeblock mb-3 w-100\" aria-label=\"Code block\"><p>Config File</p><div class=\"c15\"><template class=\"codeblock__copied-template\">Copied!</template></div></div><p>More details are available at the <a href=\"https://github.com/PyCQA/bandit\">GitHub Website</a>.</p></section></section><section class=\"section2\"><h2 id=\"conclusion\">Conclusion</h2><p>Python has made testing accessible by building in the commands and libraries you need to validate that your applications work as designed. Getting started with testing in Python needn\u2019t be complicated: you can use <code>unittest</code> and write small, maintainable methods to validate your code.</p><p>As you learn more about testing and your application grows, you can consider switching to one of the other test frameworks, like <code>pytest</code>, and start to leverage more advanced features.</p><p>Thank you for reading. I hope you have a bug-free future with Python!</p></section><div class=\"border rounded p-3 card mb-2\"><p class=\"mb-0\">Watch Now This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: <a class=\"stretched-link text-success\" href=\"https://realpython.com/courses/test-driven-development-pytest/\"><strong>Test-Driven Development With pytest</strong></a></p></div>",
    "created_at": "2023-10-31T12:41:12+00:00",
    "updated_at": "2023-10-31T12:41:28+00:00",
    "published_at": "2018-10-22T14:00:00+00:00",
    "published_by": ["Real Python"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 33,
    "domain_name": "realpython.com",
    "preview_picture": "https://files.realpython.com/media/Getting-Started-with-Testing-in-Python_Watermarked.9f22be97343d.jpg",
    "http_status": "200",
    "headers": {
      "date": "Tue, 31 Oct 2023 12:41:12 GMT",
      "content-type": "text/html; charset=utf-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "report-to": "{\"group\":\"heroku-nel\",\"max_age\":3600,\"endpoints\":[{\"url\":\"https://nel.heroku.com/reports?ts=1698756072&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=TKDPVFeWWAkn69cjDlKGZAd3BT8GDajC9hE+sJG5MJY=\"}]}",
      "reporting-endpoints": "heroku-nel=https://nel.heroku.com/reports?ts=1698756072&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=TKDPVFeWWAkn69cjDlKGZAd3BT8GDajC9hE+sJG5MJY=",
      "nel": "{\"report_to\":\"heroku-nel\",\"max_age\":3600,\"success_fraction\":0.005,\"failure_fraction\":0.05,\"response_headers\":[\"Via\"]}",
      "x-frame-options": "SAMEORIGIN",
      "vary": "Cookie, Accept-Encoding",
      "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
      "x-content-type-options": "nosniff",
      "referrer-policy": "strict-origin-when-cross-origin,origin",
      "cross-origin-opener-policy": "same-origin",
      "set-cookie": "csrftoken=SwR6ZZbaLNuKjcrLsQGhd6B1fSotskQu; expires=Tue, 29 Oct 2024 12:41:12 GMT; Max-Age=31449600; Path=/; SameSite=Lax; Secure, origin=ref-google; expires=Sun, 26 Jul 2026 12:41:12 GMT; Max-Age=86313600; Path=/",
      "via": "1.1 vegur",
      "cf-cache-status": "DYNAMIC",
      "server": "cloudflare",
      "cf-ray": "81ebf8896d6f040b-CDG",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["wfst", "openlayers", "github", "editor"],
    "is_public": false,
    "id": 68,
    "title": "GitHub - GastonZalba/ol-wfst: Tiny WFS-T client to insert, modify and delete features on GeoServers using OpenLayers.",
    "url": "https://github.com/GastonZalba/ol-wfst",
    "given_url": "https://github.com/GastonZalba/ol-wfst",
    "content": "<div id=\"js-flash-container\" data-turbo-replace=\"\"><template class=\"js-flash-template\"><div class=\"flash flash-full {{ className }} px-2\"><p>{{ message }}</p></div>\n</template></div><div class=\"application-main\" data-commit-hovercards-enabled=\"\" data-discussion-hovercards-enabled=\"\" data-issue-and-pr-hovercards-enabled=\"\"><main id=\"js-repo-pjax-container\"><div id=\"repository-container-header\" class=\"pt-3 hide-full-screen c6\" data-turbo-replace=\"\"><div class=\"d-flex flex-wrap flex-justify-end mb-3 px-3 px-md-4 px-lg-5 c4\"><p> / <strong itemprop=\"name\" class=\"mr-2 flex-self-stretch\"><a data-pjax=\"#repo-content-pjax-container\" data-turbo-frame=\"repo-content-turbo-frame\" href=\"https://github.com/GastonZalba/ol-wfst\">ol-wfst</a></strong> Public</p><div id=\"repository-details-container\" data-turbo-replace=\"\"><ul class=\"pagehead-actions flex-shrink-0 d-none d-md-inline c3\"><li><a href=\"https://github.com/login?return_to=%2FGastonZalba%2Fol-wfst\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/GastonZalba/ol-wfst&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"d27536d4abcad45a196a7e179c489aa07dac1c346f3c49def8610d08b1eaa2b9\" aria-label=\"You must be signed in to change notification settings\" data-view-component=\"true\" class=\"tooltipped tooltipped-s btn-sm btn\">Notifications</a></li>\n<li><a id=\"fork-button\" href=\"https://github.com/login?return_to=%2FGastonZalba%2Fol-wfst\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:322852239,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/GastonZalba/ol-wfst&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"b74b45a11089ad80bfcf77562902a693dc3059b544e4e39d16792f94ecc6e760\" data-view-component=\"true\" class=\"btn-sm btn\">Fork 3</a></li>\n<li>\n<p><a href=\"https://github.com/login?return_to=%2FGastonZalba%2Fol-wfst\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:322852239,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/GastonZalba/ol-wfst&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"bad80cd105d2a0b1af12033710b4c8ec95225a0beb325bce1f40cd9c382b8843\" aria-label=\"You must be signed in to star a repository\" data-view-component=\"true\" class=\"tooltipped tooltipped-s btn-sm btn BtnGroup-item\"> Star 13</a> </p>\n</li>\n</ul></div></div><div class=\"d-block d-md-none mb-2 px-3 px-md-4 px-lg-5\" id=\"responsive-meta-container\" data-turbo-replace=\"\"><p class=\"f4 mb-3\">Tiny WFS-T client to insert, modify and delete features on GeoServers using OpenLayers.</p><h3 class=\"sr-only\">License</h3><p><a href=\"https://github.com/GastonZalba/ol-wfst/blob/main/LICENSE.md\" class=\"Link--muted\" data-analytics-event=\"{&quot;category&quot;:&quot;Repository Overview&quot;,&quot;action&quot;:&quot;click&quot;,&quot;label&quot;:&quot;location:sidebar;file:license&quot;}\"> MIT license</a></p><p><a class=\"Link--secondary no-underline mr-3\" href=\"https://github.com/GastonZalba/ol-wfst/stargazers\"> 13 stars</a> <a class=\"Link--secondary no-underline mr-3\" href=\"https://github.com/GastonZalba/ol-wfst/forks\"> 3 forks</a> <a class=\"Link--secondary no-underline d-inline-block\" href=\"https://github.com/GastonZalba/ol-wfst/activity\"> Activity</a></p><div class=\"d-flex flex-wrap gap-2\"><p><a href=\"https://github.com/login?return_to=%2FGastonZalba%2Fol-wfst\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:322852239,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/GastonZalba/ol-wfst&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"bad80cd105d2a0b1af12033710b4c8ec95225a0beb325bce1f40cd9c382b8843\" aria-label=\"You must be signed in to star a repository\" data-view-component=\"true\" class=\"tooltipped tooltipped-s btn-sm btn btn-block BtnGroup-item\"> Star</a> </p><p><a href=\"https://github.com/login?return_to=%2FGastonZalba%2Fol-wfst\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/GastonZalba/ol-wfst&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"d27536d4abcad45a196a7e179c489aa07dac1c346f3c49def8610d08b1eaa2b9\" aria-label=\"You must be signed in to change notification settings\" data-view-component=\"true\" class=\"tooltipped tooltipped-s btn-sm btn btn-block\">Notifications</a></p></div></div></div>\n</main></div><footer class=\"footer width-full container-xl p-responsive\" role=\"contentinfo\">\n<div class=\"position-relative d-flex flex-items-center pb-2 f6 color-fg-muted border-top color-border-muted flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap mt-6 pt-6\"><p> \u00a9 2023 GitHub, Inc.</p></div>\n</footer><p> You can\u2019t perform that action at this time.</p><template id=\"site-details-dialog\"><details class=\"details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm\" open=\"open\"></details></template><template id=\"snippet-clipboard-copy-button\">\n</template><template id=\"snippet-clipboard-copy-button-unpositioned\">\n</template>",
    "created_at": "2023-10-24T11:29:09+00:00",
    "updated_at": "2023-10-24T11:29:25+00:00",
    "published_by": ["GastonZalba"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 0,
    "domain_name": "github.com",
    "preview_picture": "https://opengraph.githubassets.com/0f4d445e4136d7507d9a47fc9eb42cf1a52252fd5ebf03f1afe23fad85a2d727/GastonZalba/ol-wfst",
    "http_status": "200",
    "headers": {
      "server": "GitHub.com",
      "date": "Tue, 24 Oct 2023 11:29:08 GMT",
      "content-type": "text/html; charset=utf-8",
      "vary": "X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, Accept-Encoding, Accept, X-Requested-With",
      "etag": "W/\"39942b283f9f15abab2f90271f37cf90\"",
      "cache-control": "max-age=0, private, must-revalidate",
      "strict-transport-security": "max-age=31536000; includeSubdomains; preload",
      "x-frame-options": "deny",
      "x-content-type-options": "nosniff",
      "x-xss-protection": "0",
      "referrer-policy": "no-referrer-when-downgrade",
      "content-security-policy": "default-src 'none'; base-uri 'self'; child-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.githubcopilot.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com cdn.optimizely.com logx.optimizely.com/v1/events objects-origin.githubusercontent.com *.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ wss://*.actions.githubusercontent.com github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com support.github.com; img-src 'self' data: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/",
      "set-cookie": "_gh_sess=Cu7zK4pZEGfbtm2BZvvcRO1ZzSW+wwb5hi/pWAUO/nxQMtd4k9YZLVriGRjccFL13NopJwbmPpL9Ryh9lbpuqokt+27+Cd5dNmirPO4YoPUl468qRCEQM/RPvV7j09VSktBv7cW28bGj+suBvtl17Z2xYwCZIPvGDSFJvmfzfo89ePv35reIZgxWjT70+D0KBU1VHJg+fhU35F81c1xy+PMIFqGMqCK0Ookmj9iueuD+p/uxoTpmkPhU8eCPqARL3/QUWqqvnhapsw//OeBnwg==--KicIzZrapn96BZ7M--Xmn0nlvnDOj8J3pRgG3Ayw==; Path=/; HttpOnly; Secure; SameSite=Lax, _octo=GH1.1.1807568528.1698146948; Path=/; Domain=github.com; Expires=Thu, 24 Oct 2024 11:29:08 GMT; Secure; SameSite=Lax, logged_in=no; Path=/; Domain=github.com; Expires=Thu, 24 Oct 2024 11:29:08 GMT; HttpOnly; Secure; SameSite=Lax",
      "accept-ranges": "bytes",
      "transfer-encoding": "chunked",
      "x-github-request-id": "E9CE:69A2:5841195:596600B:6537AA84"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["wfst", "openlayers"],
    "is_public": false,
    "id": 67,
    "title": "WFS-T with OpenLayers",
    "url": "https://dbauszus.medium.com/wfs-t-with-openlayers-3-16-6fb6a820ac58",
    "given_url": "https://dbauszus.medium.com/wfs-t-with-openlayers-3-16-6fb6a820ac58",
    "content": "<article><div class=\"l\"><div class=\"l\"><section><div><div class=\"gk gl gm gn go\"><div class=\"ab ca\"><div class=\"ch bg fw fx fy fz\"><div><div class=\"hs ht hu hv hw\"><div class=\"speechify-ignore ab co\"><div class=\"speechify-ignore bg l\"><div class=\"hx hy hz ia ib ab\"><div><div class=\"ab ic\"><a rel=\"noopener follow\" href=\"https://dbauszus.medium.com/\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"l id ie bx if ig\"><div class=\"l fg\"><img alt=\"Dennis Bauszus\" class=\"l fa bx dc dd cw\" src=\"https://miro.medium.com/v2/resize:fill:88:88/2*u4wBYMbtRgoq7vrlaPcm6w.jpeg\" width=\"44\" height=\"44\" data-testid=\"authorPhoto\" referrerpolicy=\"no-referrer\" /></div></div></div></div></a></div></div><div class=\"bm bg l\"><div class=\"ab\"><div><div class=\"ij ab q\"><div class=\"ab q ik\"><div class=\"ab q\"><div><div class=\"bl\" aria-hidden=\"false\"><p class=\"be b il im bj\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in\" data-testid=\"authorName\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/\">Dennis Bauszus</a></p></div></div></div>\u00b7<p class=\"be b il im dt\"><a class=\"iq ir ah ai aj ak al am an ao ap aq ar eu is it\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fsubscribe%2Fuser%2Fb8939ac69d9&amp;operation=register&amp;redirect=https%3A%2F%2Fdbauszus.medium.com%2Fwfs-t-with-openlayers-3-16-6fb6a820ac58&amp;user=Dennis+Bauszus&amp;userId=b8939ac69d9\" rel=\"noopener follow\">Follow</a></p></div></div></div></div><div class=\"l iu\"><div class=\"ab cm iv iw ix\"><div class=\"ab ae\">2 min read<div class=\"iy iz l\" aria-hidden=\"true\">\u00b7</div>Sep 29, 2017</div></div></div></div></div><div class=\"ab co ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp\"><div class=\"h k w fd fe q\"><div class=\"kf l\"><div class=\"ab q kg\"><div class=\"pw-multi-vote-icon fg kh ki kj kk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" data-testid=\"headerClapButton\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2F6fb6a820ac58&amp;operation=register&amp;redirect=https%3A%2F%2Fdbauszus.medium.com%2Fwfs-t-with-openlayers-3-16-6fb6a820ac58&amp;user=Dennis+Bauszus&amp;userId=b8939ac69d9\" rel=\"noopener follow\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"kl ao km kn ko kp am kq kr ks kk\"></div></div></div></a></div><div class=\"pw-multi-vote-count l kt ku kv kw kx ky kz\"><p class=\"be b du z dt\">--</p></div></div></div><div><div class=\"bl\" aria-hidden=\"false\"></div></div><div class=\"ab q jq jr js jt ju jv jw jx jy jz ka kb kc kd ke\"><div class=\"h k\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div><div class=\"fa qe cm\"><div class=\"l ae\"><div class=\"ab ca\"><div class=\"qf qg qh qi qj qk ch bg\"><div class=\"ab\"><div class=\"bl bg\" aria-hidden=\"false\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div></div></div></div><div class=\"bl\" aria-hidden=\"false\" aria-describedby=\"postFooterSocialMenu\" aria-labelledby=\"postFooterSocialMenu\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div></div></div></div></div><p id=\"dc62\" class=\"pw-post-body-paragraph me mf gr mg b mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb gk bj\"><strong class=\"mg gs\"><em class=\"nc\">edit:</em></strong> I no longer use WFS or Geoserver in production and recommend that you <a class=\"af nd\" href=\"https://medium.com/@goldrydigital/drawing-and-editing-geometries-in-xyz-dynamic-vector-tiles-with-openlayers-5-8026a43b8928\" rel=\"noopener\">read my article</a> in regards to editing dynamic vector tile layers with OpenLayers.</p><p id=\"c840\" class=\"pw-post-body-paragraph me mf gr mg b mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb gk bj\">I am currently using GeoServer 2.8. The data store being a PostGIS 2.1 database.</p><p id=\"600e\" class=\"pw-post-body-paragraph me mf gr mg b mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb gk bj\">For my test service I use a very simple table with an ID and geometry only. The geometry is defined as geometry, no type nor projection. It is important that the geometry field is called geometry. Otherwise inserts may create records with empty geometry fields. A constraint must be set on the ID or GeoServer will not be able to insert records into the table.</p><figure class=\"ne nf ng nh ni nj\"><div class=\"nk nl l fg\"></div></figure><p id=\"27b0\" class=\"pw-post-body-paragraph me mf gr mg b mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb gk bj\">At the core of the OL javascript snippets is the <a class=\"af nd\" href=\"http://openlayers.org/en/v3.16.0/apidoc/ol.format.WFS.html#writeTransaction\" rel=\"noopener ugc nofollow\" target=\"_blank\">ol.format.WFS.writeTransaction</a> function which takes 4 input parameter. The first 3 parameter define whether the data should be inserted, updated, or deleted from the data source. The 4th parameter takes the form of <a class=\"af nd\" href=\"http://openlayers.org/en/v3.16.0/apidoc/ol.format.GML.html\" rel=\"noopener ugc nofollow\" target=\"_blank\">ol.format.GML</a> and passes on information about the feature type, namespace, and projection of the data.</p><p id=\"22f9\" class=\"pw-post-body-paragraph me mf gr mg b mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb gk bj\">The writeTransaction node must be serialised with an <a class=\"af nd\" href=\"https://developer.mozilla.org/en-US/docs/Web/API/XMLSerializer\" rel=\"noopener ugc nofollow\" target=\"_blank\">XMLSerializer</a> to be used in a WFS-T post.</p><p id=\"ce9d\" class=\"pw-post-body-paragraph me mf gr mg b mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb gk bj\">The three use cases (insert/update/delete) and the AJAX call are shown in the following code snippet.</p><figure class=\"ne nf ng nh ni nj\"><div class=\"nk nl l fg\"></div></figure><p id=\"7c36\" class=\"pw-post-body-paragraph me mf gr mg b mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb gk bj\">Inserts are called from the drawend event of the OL interaction. The .clear() function on the WFS source reloads the source after each transaction. This ensure that feature IDs are correct for new features and that deleted features are removed from the view.</p><p id=\"8695\" class=\"pw-post-body-paragraph me mf gr mg b mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb gk bj\">The ID of a modified feature is stored and the update transaction is posted once the feature is unselected. In order to successfully post an update transaction the boundedBy property must be stripped from the feature properties. A clone of the feature is used to achieve this.</p><figure class=\"ne nf ng nh ni nj\"><div class=\"nk nl l fg\"></div></figure></div></div></div></div></div></div></div></div></section></div></div></article><article class=\"dv\"><div class=\"dv of l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv sd se sf sg sh si sj sk sl sm sn so sp\"><div class=\"sq\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"XYZ: Dynamic vector tiles created on the fly, cached and updated directly in PostGIS.\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/xyz-dynamic-vector-tiles-created-on-the-fly-cached-and-updated-directly-in-postgis-37db33c31450\"><div class=\"ss st su sv sw\"><img alt=\"XYZ: Dynamic vector tiles created on the fly, cached and updated directly in PostGIS.\" class=\"bg sx sy sz ta bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*in_hHK01ZySuoJ05w2Hbkw.png\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sr ab ca cn\"><div class=\"tb tc td te tf ab\"><div class=\"nr l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/\"><div class=\"l fg\"><img alt=\"Dennis Bauszus\" class=\"l fa bx tg th cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/2*u4wBYMbtRgoq7vrlaPcm6w.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"ti l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">Dennis Bauszus</p></a></div></div></div><div class=\"ti l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" href=\"https://medium.com/geolytix\" rel=\"noopener follow\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">GEOLYTIX</p></a></div></div></div></div><div class=\"tq tr ts tt tu tv tw tx ty tz l gk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/xyz-dynamic-vector-tiles-created-on-the-fly-cached-and-updated-directly-in-postgis-37db33c31450\"><div title=\"XYZ: Dynamic vector tiles created on the fly, cached and updated directly in PostGIS.\"><h2 class=\"be gs ua ub uc ud ue uf ug uh ui uj mp uk ul um un mt uo up uq ur mx us ut uu uv nl tk tl tn tp bj\">XYZ: Dynamic vector tiles created on the fly, cached and updated directly in PostGIS.</h2></div><div class=\"uw l\"><h3 class=\"be b il z nl ux tk tl uy tn tp dt\">tl, dr; Here is a demo showing dynamic cached vector tiles in action.</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/xyz-dynamic-vector-tiles-created-on-the-fly-cached-and-updated-directly-in-postgis-37db33c31450\"><div class=\"ab q\">4 min read\u00b7Nov 30, 2018</div></a><div class=\"uz va vb vc vd l\"><div class=\"ab co\"><div class=\"am ve vf vg vh vi vj vk vl vm vn ab q\"><div class=\"ab q kg\"><div class=\"pw-multi-vote-icon fg kh ki kj kk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fgeolytix%2F37db33c31450&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Fgeolytix%2Fxyz-dynamic-vector-tiles-created-on-the-fly-cached-and-updated-directly-in-postgis-37db33c31450&amp;user=Dennis+Bauszus&amp;userId=b8939ac69d9\" rel=\"noopener follow\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"kl ao km kn ko kp am kq kr ks kk\"></div></div></div></a></div><div class=\"pw-multi-vote-count l kt ku kv kw kx ky kz\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vo l\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div><div class=\"ab q vp vq\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv of l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv sd se sf sg sh si sj sk sl sm sn so sp\"><div class=\"sq\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Drawing and editing geometries in XYZ\u2019 dynamic vector tiles with OpenLayers 5.\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/drawing-and-editing-geometries-in-xyz-dynamic-vector-tiles-with-openlayers-5-8026a43b8928\"><div class=\"ss st su sv sw\"><img alt=\"Drawing and editing geometries in XYZ\u2019 dynamic vector tiles with OpenLayers 5.\" class=\"bg sx sy sz ta bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*yuVzMhCJyDENbyhwAsrkwA.png\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sr ab ca cn\"><div class=\"tb tc td te tf ab\"><div class=\"nr l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/\"><div class=\"l fg\"><img alt=\"Dennis Bauszus\" class=\"l fa bx tg th cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/2*u4wBYMbtRgoq7vrlaPcm6w.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"ti l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">Dennis Bauszus</p></a></div></div></div><div class=\"ti l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" href=\"https://medium.com/geolytix\" rel=\"noopener follow\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">GEOLYTIX</p></a></div></div></div></div><div class=\"tq tr ts tt tu tv tw tx ty tz l gk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/drawing-and-editing-geometries-in-xyz-dynamic-vector-tiles-with-openlayers-5-8026a43b8928\"><div title=\"Drawing and editing geometries in XYZ\u2019 dynamic vector tiles with OpenLayers 5.\"><h2 class=\"be gs ua ub uc ud ue uf ug uh ui uj mp uk ul um un mt uo up uq ur mx us ut uu uv nl tk tl tn tp bj\">Drawing and editing geometries in XYZ\u2019 dynamic vector tiles with OpenLayers 5.</h2></div><div class=\"uw l\"><h3 class=\"be b il z nl ux tk tl uy tn tp dt\">I hope you find this article as a reference from some work I have done with WFS-T and Geoserver. I don\u2019t really use Geoserver or WFS\u2026</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/drawing-and-editing-geometries-in-xyz-dynamic-vector-tiles-with-openlayers-5-8026a43b8928\"><div class=\"ab q\">3 min read\u00b7Jun 15, 2019</div></a><div class=\"uz va vb vc vd l\"><div class=\"ab co\"><div class=\"am ve vf vg vh vi vj vk vl vm vn ab q\"><div class=\"ab q kg\"><div class=\"pw-multi-vote-icon fg kh ki kj kk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fgeolytix%2F8026a43b8928&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Fgeolytix%2Fdrawing-and-editing-geometries-in-xyz-dynamic-vector-tiles-with-openlayers-5-8026a43b8928&amp;user=Dennis+Bauszus&amp;userId=b8939ac69d9\" rel=\"noopener follow\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"kl ao km kn ko kp am kq kr ks kk\"></div></div></div></a></div><div class=\"pw-multi-vote-count l kt ku kv kw kx ky kz\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vo l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af fh ah kl aj ak al le an ao ap aq ar as at ld ab q lf lg\" aria-label=\"responses\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/drawing-and-editing-geometries-in-xyz-dynamic-vector-tiles-with-openlayers-5-8026a43b8928?responsesOpen=true&amp;sortBy=REVERSE_CHRON\"><p class=\"be b du z dt\">1</p></a></div></div></div></div><div class=\"ab q vp vq\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv of l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv sd se sf sg sh si sj sk sl sm sn so sp\"><div class=\"sq\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"An authentication strategy for restful data and application interfaces built with Fastify.\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/an-authentication-strategy-for-restful-data-and-application-interfaces-built-with-fastify-c34ee661c0e\"><div class=\"ss st su sv sw\"><img alt=\"An authentication strategy for restful data and application interfaces built with Fastify.\" class=\"bg sx sy sz ta bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*neVMy4rNSTuxQLfayzWEdg.png\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sr ab ca cn\"><div class=\"tb tc td te tf ab\"><div class=\"nr l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/\"><div class=\"l fg\"><img alt=\"Dennis Bauszus\" class=\"l fa bx tg th cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/2*u4wBYMbtRgoq7vrlaPcm6w.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"ti l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">Dennis Bauszus</p></a></div></div></div><div class=\"ti l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" href=\"https://medium.com/geolytix\" rel=\"noopener follow\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">GEOLYTIX</p></a></div></div></div></div><div class=\"tq tr ts tt tu tv tw tx ty tz l gk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/an-authentication-strategy-for-restful-data-and-application-interfaces-built-with-fastify-c34ee661c0e\"><div title=\"An authentication strategy for restful data and application interfaces built with Fastify.\"><h2 class=\"be gs ua ub uc ud ue uf ug uh ui uj mp uk ul um un mt uo up uq ur mx us ut uu uv nl tk tl tn tp bj\">An authentication strategy for restful data and application interfaces built with Fastify.</h2></div><div class=\"uw l\"><h3 class=\"be b il z nl ux tk tl uy tn tp dt\">Fastify is a low overhead web framework for node.js. We can not provide definitive benchmarks in terms of performance but have chosen\u2026</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/an-authentication-strategy-for-restful-data-and-application-interfaces-built-with-fastify-c34ee661c0e\"><div class=\"ab q\">6 min read\u00b7Apr 12, 2019</div></a><div class=\"uz va vb vc vd l\"><div class=\"ab co\"><div class=\"am ve vf vg vh vi vj vk vl vm vn ab q\"><div class=\"ab q kg\"><div class=\"pw-multi-vote-icon fg kh ki kj kk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fgeolytix%2Fc34ee661c0e&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Fgeolytix%2Fan-authentication-strategy-for-restful-data-and-application-interfaces-built-with-fastify-c34ee661c0e&amp;user=Dennis+Bauszus&amp;userId=b8939ac69d9\" rel=\"noopener follow\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"kl ao km kn ko kp am kq kr ks kk\"></div></div></div></a></div><div class=\"pw-multi-vote-count l kt ku kv kw kx ky kz\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vo l\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div><div class=\"ab q vp vq\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv of l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv sd se sf sg sh si sj sk sl sm sn so sp\"><div class=\"sq\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Hex grid algorithm for PostGIS\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/hex-grid-algorithm-for-postgis-4ac45f61d093\"><div class=\"ss st su sv sw\"><img alt=\"Hex grid algorithm for PostGIS\" class=\"bg sx sy sz ta bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*IqOrDpCSauA-YaYSCzvFQQ.png\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sr ab ca cn\"><div class=\"tb tc td te tf ab\"><div class=\"nr l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/\"><div class=\"l fg\"><img alt=\"Dennis Bauszus\" class=\"l fa bx tg th cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/2*u4wBYMbtRgoq7vrlaPcm6w.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"ti l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">Dennis Bauszus</p></a></div></div></div><div class=\"ti l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" href=\"https://medium.com/geolytix\" rel=\"noopener follow\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">GEOLYTIX</p></a></div></div></div></div><div class=\"tq tr ts tt tu tv tw tx ty tz l gk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/hex-grid-algorithm-for-postgis-4ac45f61d093\"><div title=\"\"><h2 class=\"be gs ua ub uc ud ue uf ug uh ui uj mp uk ul um un mt uo up uq ur mx us ut uu uv nl tk tl tn tp bj\">Hex grid algorithm for PostGIS</h2></div><div class=\"uw l\"><h3 class=\"be b il z nl ux tk tl uy tn tp dt\">Hex binning is a great way to visualize data which is provided as polygon geometries. This article provides a simple PL/pgSQL script to\u2026</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/hex-grid-algorithm-for-postgis-4ac45f61d093\"><div class=\"ab q\">4 min read\u00b7Nov 3, 2017</div></a><div class=\"uz va vb vc vd l\"><div class=\"ab co\"><div class=\"am ve vf vg vh vi vj vk vl vm vn ab q\"><div class=\"ab q kg\"><div class=\"pw-multi-vote-icon fg kh ki kj kk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fgeolytix%2F4ac45f61d093&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Fgeolytix%2Fhex-grid-algorithm-for-postgis-4ac45f61d093&amp;user=Dennis+Bauszus&amp;userId=b8939ac69d9\" rel=\"noopener follow\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"kl ao km kn ko kp am kq kr ks kk\"></div></div></div></a></div><div class=\"pw-multi-vote-count l kt ku kv kw kx ky kz\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vo l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af fh ah kl aj ak al le an ao ap aq ar as at ld ab q lf lg\" aria-label=\"responses\" rel=\"noopener follow\" href=\"https://dbauszus.medium.com/hex-grid-algorithm-for-postgis-4ac45f61d093?responsesOpen=true&amp;sortBy=REVERSE_CHRON\"><p class=\"be b du z dt\">3</p></a></div></div></div></div><div class=\"ab q vp vq\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv of l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv sd se sf sg sh si sj sk sl sm sn so sp\"><div class=\"sq\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"The ChatGPT Hype Is Over\u200a\u2014\u200aNow Watch How Google Will Kill ChatGPT.\" href=\"https://entreprenal.com/the-chatgpt-hype-is-over-now-watch-how-google-will-kill-chatgpt-426d5e3f7d05\" rel=\"noopener follow\"><div class=\"ss st su sv sw\"><img alt=\"The ChatGPT Hype Is Over\u200a\u2014\u200aNow Watch How Google Will Kill ChatGPT.\" class=\"bg sx sy sz ta bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*3FtLa-nHJB8KOb-Wu9bqbg.png\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sr ab ca cn\"><div class=\"tb tc td te tf ab\"><div class=\"nr l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://entreprenal.com\" rel=\"noopener follow\"><div class=\"l fg\"><img alt=\"AL Anany\" class=\"l fa bx tg th cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*VreqR95b_bWD8Oxp8M6Rtg@2x.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"ti l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" href=\"https://entreprenal.com\" rel=\"noopener follow\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">AL Anany</p><div class=\"xb xc l\"><div class=\"ab xd\"><div class=\"ab\"></div></div></div></a></div></div></div></div><div class=\"tq tr ts tt tu tv tw tx ty tz l gk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://entreprenal.com/the-chatgpt-hype-is-over-now-watch-how-google-will-kill-chatgpt-426d5e3f7d05\" rel=\"noopener follow\"><div title=\"\"><h2 class=\"be gs ua ub uc ud ue uf ug uh ui uj mp uk ul um un mt uo up uq ur mx us ut uu uv nl tk tl tn tp bj\">The ChatGPT Hype Is Over\u200a\u2014\u200aNow Watch How Google Will Kill ChatGPT.</h2></div><div class=\"uw l\"><h3 class=\"be b il z nl ux tk tl uy tn tp dt\">It never happens instantly. The business game is longer than you know.</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://entreprenal.com/the-chatgpt-hype-is-over-now-watch-how-google-will-kill-chatgpt-426d5e3f7d05\" rel=\"noopener follow\"><div class=\"ab q\"><div class=\"of ab\"><div class=\"bl\" aria-hidden=\"false\"></div>\u00b76 min read\u00b7Sep 1</div></div></a><div class=\"uz va vb vc vd l\"><div class=\"ab co\"><div class=\"am ve vf vg vh vi vj vk vl vm vn ab q\"><div class=\"ab q kg\"><div class=\"pw-multi-vote-icon fg kh ki kj kk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2F426d5e3f7d05&amp;operation=register&amp;redirect=https%3A%2F%2Fentreprenal.com%2Fthe-chatgpt-hype-is-over-now-watch-how-google-will-kill-chatgpt-426d5e3f7d05&amp;user=AL+Anany&amp;userId=4a25c00139e6\" rel=\"noopener follow\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"kl ao km kn ko kp am kq kr ks kk\"></div></div></div></a></div><div class=\"pw-multi-vote-count l kt ku kv kw kx ky kz\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vo l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af fh ah kl aj ak al le an ao ap aq ar as at ld ab q lf lg\" aria-label=\"responses\" href=\"https://entreprenal.com/the-chatgpt-hype-is-over-now-watch-how-google-will-kill-chatgpt-426d5e3f7d05?responsesOpen=true&amp;sortBy=REVERSE_CHRON\" rel=\"noopener follow\"><p class=\"be b du z dt\">476</p></a></div></div></div></div><div class=\"ab q vp vq\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv of l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv sd se sf sg sh si sj sk sl sm sn so sp\"><div class=\"sq\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"A complete guide to a scalable app in Flutter\u200a\u2014\u200aPart 1\u200a\u2014\u200aArchitecture\" href=\"https://gbaccetta.medium.com/flutter-scalable-app-guide-part-1-architecture-8f60a2bbfe04\" rel=\"noopener follow\"><div class=\"ss st su sv sw\"><img alt=\"A complete guide to a scalable app in Flutter\u200a\u2014\u200aPart 1\u200a\u2014\u200aArchitecture\" class=\"bg sx sy sz ta bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*b5DZevkwmfHi5XmC-YBhiQ.png\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sr ab ca cn\"><div class=\"tb tc td te tf ab\"><div class=\"nr l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://gbaccetta.medium.com\" rel=\"noopener follow\"><div class=\"l fg\"><img alt=\"Giovanni Accetta\" class=\"l fa bx tg th cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/0*VgMfq42Wz6e_SgLh\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"ti l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" href=\"https://gbaccetta.medium.com\" rel=\"noopener follow\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">Giovanni Accetta</p></a></div></div></div></div><div class=\"tq tr ts tt tu tv tw tx ty tz l gk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://gbaccetta.medium.com/flutter-scalable-app-guide-part-1-architecture-8f60a2bbfe04\" rel=\"noopener follow\"><div title=\"\"><h2 class=\"be gs ua ub uc ud ue uf ug uh ui uj mp uk ul um un mt uo up uq ur mx us ut uu uv nl tk tl tn tp bj\">A complete guide to a scalable app in Flutter\u200a\u2014\u200aPart 1\u200a\u2014\u200aArchitecture</h2></div><div class=\"uw l\"><h3 class=\"be b il z nl ux tk tl uy tn tp dt\">A course to build a scalable and testable app using a model-driven clean architecture with the MVVM pattern in Flutter (with provider).</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://gbaccetta.medium.com/flutter-scalable-app-guide-part-1-architecture-8f60a2bbfe04\" rel=\"noopener follow\"><div class=\"ab q\"><div class=\"of ab\"><div class=\"bl\" aria-hidden=\"false\"></div>\u00b712 min read\u00b7Jun 2</div></div></a><div class=\"uz va vb vc vd l\"><div class=\"ab co\"><div class=\"am ve vf vg vh vi vj vk vl vm vn ab q\"><div class=\"ab q kg\"><div class=\"pw-multi-vote-icon fg kh ki kj kk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2F8f60a2bbfe04&amp;operation=register&amp;redirect=https%3A%2F%2Fgbaccetta.medium.com%2Fflutter-scalable-app-guide-part-1-architecture-8f60a2bbfe04&amp;user=Giovanni+Accetta&amp;userId=bc507f75565c\" rel=\"noopener follow\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"kl ao km kn ko kp am kq kr ks kk\"></div></div></div></a></div><div class=\"pw-multi-vote-count l kt ku kv kw kx ky kz\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vo l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af fh ah kl aj ak al le an ao ap aq ar as at ld ab q lf lg\" aria-label=\"responses\" href=\"https://gbaccetta.medium.com/flutter-scalable-app-guide-part-1-architecture-8f60a2bbfe04?responsesOpen=true&amp;sortBy=REVERSE_CHRON\" rel=\"noopener follow\"><p class=\"be b du z dt\">1</p></a></div></div></div></div><div class=\"ab q vp vq\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv of l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv sd se sf sg sh si sj sk sl sm sn so sp\"><div class=\"sq\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"101 : Map User Interface Design\" href=\"https://medium.com/@karolmunoz/ui-ux-in-map-design-585fe1bbdcc7\" rel=\"noopener follow\"><div class=\"ss st su sv sw\"><img alt=\"101 : Map User Interface Design\" class=\"bg sx sy sz ta bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/0*5kRqNuAGKicdUT34.png\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sr ab ca cn\"><div class=\"tb tc td te tf ab\"><div class=\"nr l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/@karolmunoz\" rel=\"noopener follow\"><div class=\"l fg\"><img alt=\"Karol Munoz\" class=\"l fa bx tg th cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*C0id7VJcAqdvf0IbaXYjXg.png\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"ti l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" href=\"https://medium.com/@karolmunoz\" rel=\"noopener follow\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">Karol Munoz</p></a></div></div></div></div><div class=\"tq tr ts tt tu tv tw tx ty tz l gk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/@karolmunoz/ui-ux-in-map-design-585fe1bbdcc7\" rel=\"noopener follow\"><div title=\"\"><h2 class=\"be gs ua ub uc ud ue uf ug uh ui uj mp uk ul um un mt uo up uq ur mx us ut uu uv nl tk tl tn tp bj\">101 : Map User Interface Design</h2></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/@karolmunoz/ui-ux-in-map-design-585fe1bbdcc7\" rel=\"noopener follow\"><div class=\"ab q\">4 min read\u00b7Jul 27</div></a><div class=\"uz va vb vc vd l\"><div class=\"ab co\"><div class=\"am ve vf vg vh vi vj vk vl vm vn ab q\"><div class=\"ab q kg\"><div class=\"pw-multi-vote-icon fg kh ki kj kk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2F585fe1bbdcc7&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40karolmunoz%2Fui-ux-in-map-design-585fe1bbdcc7&amp;user=Karol+Munoz&amp;userId=67d9b61f7ed0\" rel=\"noopener follow\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"kl ao km kn ko kp am kq kr ks kk\"></div></div></div></a></div><div class=\"pw-multi-vote-count l kt ku kv kw kx ky kz\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vo l\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div><div class=\"ab q vp vq\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv of l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv sd se sf sg sh si sj sk sl sm sn so sp\"><div class=\"sq\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Creating, Serving, and Rendering Custom VectorTiles\" href=\"https://medium.com/@seth.lutske/creating-serving-and-rendering-custom-vectortiles-c843c0280c19\" rel=\"noopener follow\"><div class=\"ss st su sv sw\"><img alt=\"Creating, Serving, and Rendering Custom VectorTiles\" class=\"bg sx sy sz ta bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*BzS-dTzALeVLFnhSdWjNZw.png\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sr ab ca cn\"><div class=\"tb tc td te tf ab\"><div class=\"nr l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/@seth.lutske\" rel=\"noopener follow\"><div class=\"l fg\"><img alt=\"Seth Lutske\" class=\"l fa bx tg th cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*MU1J6G01bJG1f29efUoUIw.png\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"ti l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" href=\"https://medium.com/@seth.lutske\" rel=\"noopener follow\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">Seth Lutske</p></a></div></div></div></div><div class=\"tq tr ts tt tu tv tw tx ty tz l gk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/@seth.lutske/creating-serving-and-rendering-custom-vectortiles-c843c0280c19\" rel=\"noopener follow\"><div title=\"\"><h2 class=\"be gs ua ub uc ud ue uf ug uh ui uj mp uk ul um un mt uo up uq ur mx us ut uu uv nl tk tl tn tp bj\">Creating, Serving, and Rendering Custom VectorTiles</h2></div><div class=\"uw l\"><h3 class=\"be b il z nl ux tk tl uy tn tp dt\">The journey into a ubiquitous but poorly documented process</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/@seth.lutske/creating-serving-and-rendering-custom-vectortiles-c843c0280c19\" rel=\"noopener follow\"><div class=\"ab q\">9 min read\u00b7May 2</div></a><div class=\"uz va vb vc vd l\"><div class=\"ab co\"><div class=\"am ve vf vg vh vi vj vk vl vm vn ab q\"><div class=\"ab q kg\"><div class=\"pw-multi-vote-icon fg kh ki kj kk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2Fc843c0280c19&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40seth.lutske%2Fcreating-serving-and-rendering-custom-vectortiles-c843c0280c19&amp;user=Seth+Lutske&amp;userId=60fca2adb21\" rel=\"noopener follow\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"kl ao km kn ko kp am kq kr ks kk\"></div></div></div></a></div><div class=\"pw-multi-vote-count l kt ku kv kw kx ky kz\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vo l\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div><div class=\"ab q vp vq\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv of l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv sd se sf sg sh si sj sk sl sm sn so sp\"><div class=\"sq\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"A personal, non-partisan perspective on the Israel-Hamas war\" href=\"https://medium.com/@isaac_1884/the-attacks-on-israel-and-the-response-15ed50e63da6\" rel=\"noopener follow\"><div class=\"ss st su sv sw\"><img alt=\"A personal, non-partisan perspective on the Israel-Hamas war\" class=\"bg sx sy sz ta bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*CX3RDZAwMVtNku1-ONB13w.jpeg\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sr ab ca cn\"><div class=\"tb tc td te tf ab\"><div class=\"nr l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/@isaac_1884\" rel=\"noopener follow\"><div class=\"l fg\"><img alt=\"Isaac Saul\" class=\"l fa bx tg th cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*5bMy4uvQlQxjhi_xhBlJJQ.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"ti l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" href=\"https://medium.com/@isaac_1884\" rel=\"noopener follow\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">Isaac Saul</p></a></div></div></div></div><div class=\"tq tr ts tt tu tv tw tx ty tz l gk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/@isaac_1884/the-attacks-on-israel-and-the-response-15ed50e63da6\" rel=\"noopener follow\"><div title=\"\"><h2 class=\"be gs ua ub uc ud ue uf ug uh ui uj mp uk ul um un mt uo up uq ur mx us ut uu uv nl tk tl tn tp bj\">A personal, non-partisan perspective on the Israel-Hamas war</h2></div><div class=\"uw l\"><h3 class=\"be b il z nl ux tk tl uy tn tp dt\">To understand this war, we must understand the thousand-year history that led us here</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/@isaac_1884/the-attacks-on-israel-and-the-response-15ed50e63da6\" rel=\"noopener follow\"><div class=\"ab q\">11 min read\u00b7Oct 12</div></a><div class=\"uz va vb vc vd l\"><div class=\"ab co\"><div class=\"am ve vf vg vh vi vj vk vl vm vn ab q\"><div class=\"ab q kg\"><div class=\"pw-multi-vote-icon fg kh ki kj kk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2F15ed50e63da6&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40isaac_1884%2Fthe-attacks-on-israel-and-the-response-15ed50e63da6&amp;user=Isaac+Saul&amp;userId=22ceabaa20f6\" rel=\"noopener follow\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"kl ao km kn ko kp am kq kr ks kk\"></div></div></div></a></div><div class=\"pw-multi-vote-count l kt ku kv kw kx ky kz\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vo l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af fh ah kl aj ak al le an ao ap aq ar as at ld ab q lf lg\" aria-label=\"responses\" href=\"https://medium.com/@isaac_1884/the-attacks-on-israel-and-the-response-15ed50e63da6?responsesOpen=true&amp;sortBy=REVERSE_CHRON\" rel=\"noopener follow\"><p class=\"be b du z dt\">426</p></a></div></div></div></div><div class=\"ab q vp vq\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv of l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv sd se sf sg sh si sj sk sl sm sn so sp\"><div class=\"sq\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"6 matches going from normal, to burned, to normal with the green leaf on it\" href=\"https://jackiecolburn.medium.com/how-i-got-into-and-managed-to-walk-away-from-burnout-362d8386757a\" rel=\"noopener follow\"><div class=\"ss st su sv sw\"><img alt=\"6 matches going from normal, to burned, to normal with the green leaf on it\" class=\"bg sx sy sz ta bw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*7d-wbv9I6k4rKny5cY5Zww.jpeg\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sr ab ca cn\"><div class=\"tb tc td te tf ab\"><div class=\"nr l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://jackiecolburn.medium.com\" rel=\"noopener follow\"><div class=\"l fg\"><img alt=\"Jackie Colburn\" class=\"l fa bx tg th cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*FCZFpZZhbimWBESDQSJkpw.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"ti l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" href=\"https://jackiecolburn.medium.com\" rel=\"noopener follow\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">Jackie Colburn</p></a></div></div></div><div class=\"ti l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar in ab q\" href=\"https://betterhumans.pub\" rel=\"noopener follow\"><p class=\"be b du z nl tj tk tl tm tn to tp bj\">Better Humans</p></a></div></div></div></div><div class=\"tq tr ts tt tu tv tw tx ty tz l gk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://jackiecolburn.medium.com/how-i-got-into-and-managed-to-walk-away-from-burnout-362d8386757a\" rel=\"noopener follow\"><div title=\"\"><h2 class=\"be gs ua ub uc ud ue uf ug uh ui uj mp uk ul um un mt uo up uq ur mx us ut uu uv nl tk tl tn tp bj\">How I Got Into And Managed to Walk Away from Burnout</h2></div><div class=\"uw l\"><h3 class=\"be b il z nl ux tk tl uy tn tp dt\">My story and practical tips to help you get out of burnout</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://jackiecolburn.medium.com/how-i-got-into-and-managed-to-walk-away-from-burnout-362d8386757a\" rel=\"noopener follow\"><div class=\"ab q\">8 min read\u00b7Sep 29</div></a><div class=\"uz va vb vc vd l\"><div class=\"ab co\"><div class=\"am ve vf vg vh vi vj vk vl vm vn ab q\"><div class=\"ab q kg\"><div class=\"pw-multi-vote-icon fg kh ki kj kk\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fbetter-humans%2F362d8386757a&amp;operation=register&amp;redirect=https%3A%2F%2Fbetterhumans.pub%2Fhow-i-got-into-and-managed-to-walk-away-from-burnout-362d8386757a&amp;user=Jackie+Colburn&amp;userId=d1e3e80ff699\" rel=\"noopener follow\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"kl ao km kn ko kp am kq kr ks kk\"></div></div></div></a></div><div class=\"pw-multi-vote-count l kt ku kv kw kx ky kz\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vo l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af fh ah kl aj ak al le an ao ap aq ar as at ld ab q lf lg\" aria-label=\"responses\" href=\"https://jackiecolburn.medium.com/how-i-got-into-and-managed-to-walk-away-from-burnout-362d8386757a?responsesOpen=true&amp;sortBy=REVERSE_CHRON\" rel=\"noopener follow\"><p class=\"be b du z dt\">142</p></a></div></div></div></div><div class=\"ab q vp vq\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div></div></div></div></div></div></div></article>",
    "created_at": "2023-10-24T11:28:27+00:00",
    "updated_at": "2023-10-24T11:28:41+00:00",
    "published_at": "2019-07-08T09:04:23+00:00",
    "published_by": ["Dennis Bauszus"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 3,
    "domain_name": "dbauszus.medium.com",
    "preview_picture": "https://miro.medium.com/v2/1*kFrc4tBFM_tCis-2Ic87WA.png",
    "http_status": "200",
    "headers": {
      "date": "Tue, 24 Oct 2023 11:28:27 GMT",
      "content-type": "text/html; charset=utf-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "cf-ray": "81b1e0572baf0078-CDG",
      "cf-cache-status": "DYNAMIC",
      "cache-control": "no-cache, no-store, max-age=0, must-revalidate",
      "link": "<https://glyph.medium.com/css/unbound.css>; as=\"style\"; rel=\"preload\"",
      "set-cookie": "uid=lo_2162d13603c7; Domain=medium.com; Path=/; Expires=Thu, 24 Oct 2024 11:28:26 GMT; HttpOnly; Secure; SameSite=None, __cfruid=4739dce964d746d9638b555a564ed90ef43008ff-1698146907; path=/; domain=.medium.com; HttpOnly; Secure; SameSite=None",
      "strict-transport-security": "max-age=15552000; includeSubDomains; preload",
      "vary": "Accept-Encoding",
      "content-security-policy": "frame-ancestors 'self' https://medium.com",
      "medium-fulfilled-by": "edgy/8.3.0, valencia/main-20231023-150108-ae2ed1149c, lite/main-20231023-202519-33066506bb, rito/main-20231024-095123-76fb1dcdc3, tutu/main-20231024-090803-117df4b9d2",
      "medium-missing-time": "234",
      "worker-missing-cookies": "1",
      "x-content-type-options": "nosniff",
      "x-envoy-upstream-service-time": "611",
      "x-request-received-at": "1698146906833",
      "server": "cloudflare",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["cron", "docker", "container"],
    "is_public": false,
    "id": 66,
    "title": "Docker Cron Jobs: How to Run Cron Inside Containers",
    "url": "https://www.airplane.dev/blog/docker-cron-jobs-how-to-run-cron-inside-containers",
    "given_url": "https://www.airplane.dev/blog/docker-cron-jobs-how-to-run-cron-inside-containers",
    "content": "<p><a href=\"https://docs.docker.com/\" rel=\"nofollow noopener noreferrer ugc\">Docker</a> is an open platform for developing, shipping, and running applications that enables you to separate your apps from your infrastructure so you can deliver software quickly.</p><p>A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. Containers can isolate processes and services, making them the ideal solution for a number of use cases.</p><p>One such use case is running scheduled tasks. There are a couple of reasons why you might want to run scheduled tasks in containers. For instance, you could use one or more containers exclusively as schedulers for other applications that rely heavily on background tasks. Another use case might be to use cron in containers for native jobs that you want to run in a lightweight and isolated runtime environment. Here are some benefits:</p><ul><li><strong>Security:</strong> You can create lightweight containers that run in isolated runtime environments and only interact with services and apps that need them.</li>\n<li><strong>Portability:</strong> You can create a container with your cron jobs and use it on different platforms.</li>\n<li><strong>Automation:</strong> You can version control your Dockerfiles and easily integrate them into your CI/CD pipeline.</li>\n</ul><p><strong>In this article, we'll walk through a couple of different options for how to run cron in containers as well as their advantages and disadvantages. At the end, we'll introduce a developer platform called <a href=\"https://www.airplane.dev/\">Airplane</a> as a <a href=\"https://www.airplane.dev/schedules\">maintenance-free and easy-to-use alternative</a> to cron.</strong></p><h2 class=\"text-3xl md:text-4xl w-fit\">What is cron scheduling in containers?</h2><p>In simple terms, <code>cron</code> is a command line utility and daemon that is used as a job scheduler on Unix-like operating systems to execute tasks automatically at certain time intervals. You can use cron jobs to run generic scripts, back up files, or turn services on and off. Almost any action you can perform from the terminal can be assigned to a cron job.</p><p>Since containers use Linux-based images, you can use <code>cron</code> to assign scheduled tasks to them. To do this, you need to create a <code>crontab</code> that contains the necessary information for the <code>cron</code> daemon to know when to run cron jobs. You can check out <a href=\"https://www.airplane.dev/blog/intro-to-cron-and-editing-your-crontab-schedule\" rel=\"nofollow noopener noreferrer ugc\">this blog post</a> for a more detailed introduction to cron and <a href=\"https://www.airplane.dev/blog/how-to-edit-crontab\">this guide</a> for more details on how to edit your crontab.</p><p>Each crontab definition consists of a line with space-separated values representing the minutes, hours, days of the month, months, days of the week, and tasks to be executed.</p><p>yaml</p><p>You can create such definitions using the <code>crontab</code> command line utility, specifically the <code>crontab -e</code> command, or by creating the crontab file manually. For example, to create a cronjob that runs every minute, you can use the following template:</p><p><code>* * * * * &lt;commands or tasks to be executed&gt;</code></p><p>Note that you can execute commands directly using the crontab file; however, it is common to call scripts instead, especially for more complex tasks.</p><p><code>*/5 * * * * /usr/bin/bash /path/to/script/script.sh</code></p><p>The above example will run the <code>script.sh</code> script every five minutes.</p><p>You can check out the Airplane blog for more information on cron topics like <a href=\"https://www.airplane.dev/blog/how-to-start-stop-and-restart-cron-jobs\" rel=\"nofollow noopener noreferrer ugc\">how to start, stop, and restart cron jobs</a> and <a href=\"https://www.airplane.dev/blog/creating-golang-cron-jobs\" rel=\"nofollow noopener noreferrer ugc\">creating Golang cron jobs</a>.</p><h2 class=\"text-3xl md:text-4xl w-fit\">Prerequisites</h2><p>Before we get started with this quick tutorial, you'll need the following:</p><ol><li>Git version control system installed on your local machine.</li>\n<li>Docker Engine installed and configured on your local workstation. Feel free to <a href=\"https://docs.docker.com/engine/install/\" rel=\"nofollow noopener noreferrer ugc\">refer to the documentation</a> for instructions on how to install Docker.</li>\n<li>A cloned repository for use in the tutorial. To clone it, use the following:</li>\n</ol><p><code>git clone https://github.com/Damaso-DD/docker-cron-tutorial.git</code></p><p>Once the repository is cloned, the directory structure should be as follows:</p><p>yaml</p><h2 class=\"text-3xl md:text-4xl w-fit\">How to schedule tasks in Docker</h2><p>There are a couple of ways you can create scheduled tasks in Docker using cron. In this article, we'll walk through using the host's crontab, using cron within your containers, and separating cron from your application\u2019s services. We'll also discuss scheduling tasks with Kubernetes.</p><h2 class=\"text-3xl md:text-4xl w-fit\">Using the host's crontab</h2><p>One way to create scheduled tasks for your containers is by using the host\u2019s crontab. Since the definition of each cron job allows you to execute commands, you can use Docker Engine in the same way you would the command line.</p><p>To start, navigate to the <code>host-cron</code> directory using the following command:</p><p><code>cd host-cron</code></p><p>Check the content of the Dockerfile using <code>cat Dockerfile</code>. You should see the following code:</p><p>Dockerfile</p><p>This Dockerfile is self-explanatory. Since Alpine comes with <code>cron</code> installed by default, all you have to do is update packages (optional but recommended), copy a script to the working directory inside the container, and assign it the necessary permissions.</p><p>Now you can build the Docker image using the following command:</p><p><code>docker build -t host-cron-example .</code></p><p>For this example, you\u2019ll use a simple script named <code>date-script.sh</code> that displays the date and time.</p><p><code>#!/bin/sh echo \"Current date and time is \" \"$(date +%D-%H:%M)\"</code></p><p>You could check <code>date-script.sh</code> output using the following command:</p><p><code>docker run --rm -it host-cron-example:latest sh date-script.sh</code></p><p>This command creates an <a href=\"https://kubernetes.io/docs/concepts/workloads/pods/ephemeral-containers/#:~:text=This%20page%20provides%20an%20overview,rather%20than%20to%20build%20applications.\" rel=\"nofollow noopener noreferrer ugc\">ephemeral container</a>, or a container that does not save data locally and is deleted after executing the script. The output shows the date and time, something similar to <code>Current date and time is 03/30/22-11:42</code>.</p><p>If you want the container to run such a job every ten minutes, you need to create a new cron job on the host by running <code>crontab -e</code> and pasting the following line:</p><p>yaml</p><p>Instead of running the script, you could use a similar procedure to execute any command at any time interval.</p><p>yaml</p><p>Note that cron requires newline characters at the end of each entry. For more information, see the manual pages of <a href=\"https://man7.org/linux/man-pages/man5/crontab.5.html\" rel=\"nofollow noopener noreferrer ugc\">crontab(5)</a> and <a href=\"https://man7.org/linux/man-pages/man8/cron.8.html\" rel=\"nofollow noopener noreferrer ugc\">cron(8)</a>.</p><p>Following are the advantages and disadvantages of this approach.</p><p><strong>Advantages</strong></p><ol><li>Logging is done on the host, which can be an advantage in use cases where you don't want an extra layer of complexity.</li>\n<li>On most Linux distros, cron starts on boot, so you don\u2019t have to worry about restarting containers.</li>\n<li>The cron jobs will be executed from a single location (the host), which facilitates the administration of scheduled tasks.</li>\n</ol><p><strong>Disadvantages</strong></p><ol><li>Using the host\u2019s cron daemon limits scalability, since containers hosted on different servers could present conflicts if the time synchronization differs.</li>\n<li>It's also not recommended to use host resources if you\u2019re working with containers, since that defies the isolation principle that containers are meant to promote.</li>\n</ol><p>Bottom line: Using the host\u2019s crontab can be an ideal solution for use cases in which you don\u2019t require high scalability and prefer the simplicity of working directly with the host.</p><h2 class=\"text-3xl md:text-4xl w-fit\">Using cron within your containers</h2><p>A better alternative to using the host\u2019s cron is to schedule cron jobs directly into your Dockerized services. The procedure for this is similar to the previous example.</p><p>Navigate to the <code>dockerized-cron</code> directory:</p><p><code>cd .. &amp;&amp; cd dockerized-cron</code></p><p>You\u2019ll notice that in addition to the Dockerfile and the <code>date-script.sh</code>, there is also a crontab file.</p><p>Check the crontab file content using <code>cat crontab</code>. You will see something similar to this:</p><p>yaml</p><p>In this case, the script will be executed every minute. The use of <code>bash</code> instead of <code>sh</code> is because the container uses a Ubuntu image.</p><p>Run <code>cat Dockerfile</code> to check its content:</p><p>Dockerfile</p><p>The structure of the Dockerfile is similar to the one in the previous example, with some notable differences. Since it isn\u2019t included in the official Ubuntu image, <code>cron</code> is manually installed. The crontab file is added to the appropriate location and the necessary permissions are assigned. The container is instructed to start with an entry point, which allows cron to start with the container. This means that the container is intended to run cron and not other services.</p><p>Following are the advantages and disadvantages of this type of implementation.</p><p><strong>Advantages</strong></p><ol><li>Your application is no longer dependent on host cron, which favors the practice of isolating your application.</li>\n<li>This solution allows you to scale your application more easily.</li>\n<li>You get all the benefits of containers since your application is containerized.</li>\n</ol><p><strong>Disadvantages</strong></p><ol><li>To run your application within the same container as the cron job, you will need to include a startup script, which increases complexity.</li>\n<li>It's typically a best practice that each container only executes one service or application. This solution goes against that principle.</li>\n</ol><p>Bottom line: This solution is ideal for simple applications - it gives you portability, scalability, and the convenience of containers for simple use cases.</p><h2 class=\"text-3xl md:text-4xl w-fit\">Separating cron from your application\u2019s services</h2><p>The ideal solution to deploy scalable applications is to use a container exclusively to run cron jobs and make it independent from the rest of your services. Following is a simple example of how to do this.</p><p>Navigate to the <code>app</code> directory:</p><p><code>cd .. &amp;&amp; cd app</code></p><p>Print the contents of the Dockerfile to the console using <code>cat Dockerfile</code>. You should see the following code:</p><p>Dockerfile</p><p>This is the image of a demo application created in Node.js. It copies the source code of the application to the working directory, installs the dependencies using npm, exposes port 3000, and runs the application when starting the container.</p><p>Note that no crontab is added to this image; it\u2019s an image that only contains the app. This allows containers created from this image to be scaled using orchestration tools such as Kubernetes.</p><p>Next, run <code>cd ..</code> to return to the root directory. Once there, you can inspect the contents of the <code>docker-compose.yml</code> file by running the command <code>cat docker-compose.yml</code>. The content is similar to the following:</p><p>yaml</p><p>This minimalist template structure links two services. Each service builds the corresponding image according to its Dockerfile. Running <code>docker-compose up</code> creates a container with the Node.js application you just reviewed and another container that runs the cron job described in the previous section. Since they are stand-alone services, there is no longer any limitation to scaling your application as needed.</p><p>Following are the advantages and disadvantages of this solution.</p><p><strong>Advantages</strong></p><ol><li>Your application runs independently of the cron job, which is best practice.</li>\n<li>Since the cron job runs in a separate container, it\u2019s easy to keep it in sync with your application.</li>\n<li>This solution is easier to scale due to the separation of services.</li>\n</ol><p><strong>Disadvantages</strong></p><ol><li>You\u2019ll need some mechanism that checks the health of the container running the cron jobs and takes care of restarting it in a timely manner if it crashes.</li>\n<li>Large-scale applications may need an orchestration tool.</li>\n</ol><p>Bottom line: Running cron jobs in a container independent of your applications is likely the ideal solution in use cases where flexibility, scalability, and strict adherence to containerization best practices are necessary.</p><h2 class=\"text-3xl md:text-4xl w-fit\">Scheduling tasks with Kubernetes</h2><p>One of the many advantages Kubernetes offers is that it comes with its own mechanism for running cron jobs. You don\u2019t need to attach crontabs to your containers or use containers exclusively to run cron jobs. You can just declare the <code>CronJob</code> resource in a Kubernetes manifest, in which you specify which scheduled tasks should be executed at what time interval.</p><p>Below is a simple example from the <code>kube-cron</code> directory:</p><p>YAML</p><p>Review the above Kubernetes manifest. In the specs section, you can declare the time interval at which scheduled tasks will run using the same format as cron. Later, in the <code>jobTemplate</code>, you can specify which container will run those tasks as well as the corresponding command(s). Kubernetes allows you to quickly and efficiently separate your cron jobs from other services.</p><p><strong>Advantages</strong></p><ol><li>You can use the Kubernetes CronJob resource, which simplifies deployment.</li>\n<li>You gain the advantages of a container orchestration platform like Kubernetes: high scalability, resiliency, and more sophisticated monitoring and alerting mechanisms.</li>\n</ol><p><strong>Disadvantages</strong></p><ol><li>Kubernetes can be overkill for simple applications and even complex applications that do not require a large infrastructure.</li>\n<li>Implementing Kubernetes can be more expensive than using a cloud provider to run a few containers in the cloud.</li>\n</ol><p>Bottom line: Kubernetes is the way to go for large applications. However, it is not necessarily the best solution for all use cases, especially cloud applications that don\u2019t require all its features.</p><h2 class=\"text-3xl md:text-4xl w-fit\">A better alternative with Airplane scheduled tasks</h2><p>While the <code>cron</code> and <code>crontab</code> command line utilities provide great flexibility when creating scheduled tasks, they come with drawbacks in several areas including the following:</p><h2 class=\"text-3xl md:text-4xl w-fit\">Cron limitations</h2><ul><li><strong>No logs:</strong> You may want to have detailed information on each script run for audit, compliance, or general security purposes, which ideally means storing their log outputs. Cron doesn't offer support for this natively so you'd have to build this logic out yourself.</li>\n<li><strong>Poor error handling:</strong> Cron also doesn't natively support error handling or alerting which makes maintenance very challenging. Since it's crucial for highly available applications to have a monitoring system that automatically alerts on any failure, you will likely need to implement this yourself manually.</li>\n<li><strong>Lack of UI:</strong> Although many tasks are easier to perform through a CLI, when you have to manage dozens to hundreds of scheduled tasks at scale, a UI greatly helps monitor the status of jobs. Cron doesn't have an easy-to-use UI.</li>\n<li><strong>Difficult to run manually:</strong> You may want to run a cron job manually or as a one-off; for example, for testing purposes or after one of your jobs has failed. When using cron, it's very difficult to perform jobs as a one-off outside of predefined schedules.</li>\n</ul><p><a href=\"https://www.airplane.dev/\">Airplane</a> is a developer tool to quickly transform APIs, scripts, and queries into internal apps for your team. The platform can solve many of the challenges posed by cron. In Airplane, a \"task\" represents a single business operation and tasks can be configured to run on schedules or stitched together to build powerful multi-step workflows.</p><p>These apps can be created and managed entirely via code or from the Airplane UI. You can also use Airplane with both Docker-based deployments and Kubernetes clusters.</p><figure class=\"kg-card kg-image-card\"><img src=\"https://airplane.ghost.io/content/images/2022/11/Screen-Shot-2022-11-11-at-4.56.02-PM.png\" class=\"kg-image\" alt=\"\" width=\"2000\" height=\"1195\" srcset=\"https://airplane.ghost.io/content/images/size/w600/2022/11/Screen-Shot-2022-11-11-at-4.56.02-PM.png 600w, https://airplane.ghost.io/content/images/size/w1000/2022/11/Screen-Shot-2022-11-11-at-4.56.02-PM.png 1000w, https://airplane.ghost.io/content/images/size/w1600/2022/11/Screen-Shot-2022-11-11-at-4.56.02-PM.png 1600w, https://airplane.ghost.io/content/images/size/w2400/2022/11/Screen-Shot-2022-11-11-at-4.56.02-PM.png 2400w\" referrerpolicy=\"no-referrer\" /></figure><h2 class=\"text-3xl md:text-4xl w-fit\">Airplane for scheduled jobs</h2><p>One of the biggest advantages of using Airplane to manage your <a href=\"https://docs.airplane.dev/schedules/schedules\">scheduled tasks</a> outside of ease of use is that you get <a href=\"https://docs.airplane.dev/platform/audit-log\">audit logs</a>, <a href=\"https://docs.airplane.dev/platform/permissions\">permissions</a>, <a href=\"https://docs.airplane.dev/platform/slack-integration#receive-notifications\">notifications</a>, and an easy-to-use UI all out of the box. You can also set your tasks to run on schedules or run them manually as one-offs.</p><figure class=\"kg-card kg-image-card\"><img src=\"https://airplane.ghost.io/content/images/2022/11/Screen-Shot-2022-11-11-at-4.56.48-PM.png\" class=\"kg-image\" alt=\"\" width=\"2000\" height=\"1004\" srcset=\"https://airplane.ghost.io/content/images/size/w600/2022/11/Screen-Shot-2022-11-11-at-4.56.48-PM.png 600w, https://airplane.ghost.io/content/images/size/w1000/2022/11/Screen-Shot-2022-11-11-at-4.56.48-PM.png 1000w, https://airplane.ghost.io/content/images/size/w1600/2022/11/Screen-Shot-2022-11-11-at-4.56.48-PM.png 1600w, https://airplane.ghost.io/content/images/size/w2400/2022/11/Screen-Shot-2022-11-11-at-4.56.48-PM.png 2400w\" referrerpolicy=\"no-referrer\" /></figure><p><a href=\"https://docs.airplane.dev/platform/docker\" rel=\"nofollow noopener noreferrer ugc\">Deploying a self-hosted Airplane Docker agent</a> is as simple as creating a container that uses the <code>YOUR_API_TOKEN</code> and <code>YOUR_TEAM_ID</code> environmental variables to connect the local agent to the Airplane platform. <a href=\"https://docs.airplane.dev/platform/kubernetes\" rel=\"nofollow noopener noreferrer ugc\">Running the Airplane agent on Kubernetes</a> is also easy, thanks to Helm charts.</p><p>Airplane can help you navigate the complexity of cloud-native environments like Docker and Kubernetes. You can use it to easily manage scheduled tasks and automate entire workflows.</p><p>If you\u2019re interested in learning more about Airplane, you can <a href=\"https://app.airplane.dev/signup\" rel=\"nofollow noopener noreferrer ugc\">sign up for a free account</a> \ud83d\ude03. \u00a0You can also contact the team at hello@airplane.dev.</p><p>You can also check out our blog for more content on task scheduling like the <a href=\"https://www.airplane.dev/blog/top-reasons-your-cron-job-isnt-running\">top reasons your cron job isn't running</a>, <a href=\"https://www.airplane.dev/blog/creating-golang-cron-jobs\">creating Golang cron jobs</a>, <a href=\"https://www.airplane.dev/blog/systemd-timer-how-to-schedule-tasks-with-systemd\">how to schedule tasks with systemd</a>, and <a href=\"https://www.airplane.dev/blog/how-to-start-stop-and-restart-cron-jobs\">how to start, stop, and restart your cron jobs</a>.</p><p><em>To see the entire tutorial, you can <a href=\"https://github.com/DraftDev-repos/docker-cron-tutorial.git\" rel=\"nofollow noopener noreferrer ugc\">check out the GitHub repo</a>.</em></p><p><strong><em>Author:</em></strong> <em>Damaso Sanoja</em></p><p><em>Damaso Sanoja is a mechanical engineer with a passion for cars and computers. He's written technical content for both industries for more than two decades.</em></p>",
    "created_at": "2023-08-07T07:22:09+00:00",
    "updated_at": "2023-08-07T07:22:18+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 12,
    "domain_name": "www.airplane.dev",
    "preview_picture": "https://airplane.ghost.io/content/images/2022/11/Docker-cron-jobs.png",
    "http_status": "200",
    "headers": {
      "accept-ranges": "bytes",
      "access-control-allow-origin": "*",
      "age": "232341",
      "cache-control": "public, max-age=0, must-revalidate",
      "connection": "keep-alive",
      "content-disposition": "inline",
      "content-length": "122487",
      "content-type": "text/html; charset=utf-8",
      "date": "Mon, 07 Aug 2023 07:22:09 GMT",
      "etag": "\"47c0659976b527f29251cf6db0a2be1a\"",
      "server": "Vercel",
      "strict-transport-security": "max-age=63072000",
      "vary": "RSC, Next-Router-State-Tree, Next-Router-Prefetch",
      "x-matched-path": "/blog/docker-cron-jobs-how-to-run-cron-inside-containers",
      "x-vercel-cache": "HIT",
      "x-vercel-id": "cdg1::mnk4m-1691392929797-81bcf1d10bf2"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["cron", "docker", "container"],
    "is_public": false,
    "id": 65,
    "title": "How-to-run-cron-inside-Docker",
    "url": "https://lostindetails.com/articles/How-to-run-cron-inside-Docker",
    "given_url": "https://lostindetails.com/articles/How-to-run-cron-inside-Docker",
    "content": "wallabag can't retrieve contents for this article. Please <a href=\"https://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that\">troubleshoot this issue</a>.\n",
    "created_at": "2023-08-07T07:19:40+00:00",
    "updated_at": "2023-08-07T07:19:48+00:00",
    "published_by": [""],
    "annotations": [],
    "reading_time": 0,
    "domain_name": "lostindetails.com"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["cron", "docker", "container"],
    "is_public": false,
    "id": 64,
    "title": "How to run cron jobs inside a docker container? | Better Stack Community",
    "url": "https://betterstack.com/community/questions/how-to-run-cron-jobs-inside-docker-container/",
    "given_url": "https://betterstack.com/community/questions/how-to-run-cron-jobs-inside-docker-container/",
    "content": "<p>Start by creating a Dockerfile for your application, which includes the installation of cron and any other necessary packages.</p><div class=\"relative mb-5 bg-neutral-40 border border-neutral-50 rounded-md text-[15px] shadow\" data-controller=\"clipboard\"><div class=\"px-4 py-[6px] bg-white flex items-center rounded-t-md\"><p> Copied!</p></div><div class=\"code-wrapper overflow-x-auto p-2 rounded bash\" data-clipboard-target=\"content\" data-controller=\"code\"><pre>FROM your_image\n# Install cron\nRUN apt-get update &amp;&amp; apt-get -y install cron\n# Set the working directory\nWORKDIR /app\n# Copy the cron file to the container\nCOPY cronfile /etc/cron.d/cronfile\n# Give execution rights on the cron job\nRUN chmod 0644 /etc/cron.d/cronfile\n# Apply the cron job\nRUN crontab /etc/cron.d/cronfile\n# Start the cron daemon in the foreground\nCMD [\"cron\", \"-f\"]\n</pre></div></div>",
    "created_at": "2023-08-07T07:18:42+00:00",
    "updated_at": "2023-08-07T07:18:51+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 0,
    "domain_name": "betterstack.com",
    "preview_picture": "https://betterstack.com/og-image/how-to-run-cron-jobs-inside-docker-container.png",
    "http_status": "200",
    "headers": {
      "date": "Mon, 07 Aug 2023 07:18:42 GMT",
      "content-type": "text/html; charset=utf-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "vary": "Accept-Encoding",
      "x-xss-protection": "1; mode=block",
      "x-content-type-options": "nosniff",
      "x-download-options": "noopen",
      "x-permitted-cross-domain-policies": "none",
      "referrer-policy": "strict-origin-when-cross-origin",
      "content-security-policy": "frame-ancestors 'self' https://uptime.betterstack.com https://logs.betterstack.com;",
      "link": "</static/fonts/Helvetica/HelveticaNowText-Regular.woff2>; rel=preload; as=font; type=font/woff2; crossorigin=anonymous,</static/fonts/Helvetica/HelveticaNowText-Medium.woff2>; rel=preload; as=font; type=font/woff2; crossorigin=anonymous,</static/fonts/Helvetica/HelveticaNowDisplay-Bold.woff2>; rel=preload; as=font; type=font/woff2; crossorigin=anonymous,</assets/es-module-shims.min-d89e73202ec09dede55fb74115af9c5f9f2bb965433de1c2446e1faa6dac2470.js>; rel=preload; as=script; nopush,</assets/articles-1a3eddfaa15dbb75f4da7abfc4c8be2f268d9718976e5fde78f9299aa1ed4870.css>; rel=preload; as=style; nopush,</static/fonts/Helvetica/HelveticaNowText-Regular.woff2>; rel=preload; as=font; type=font/woff2; crossorigin=anonymous,</static/fonts/Helvetica/HelveticaNowText-Medium.woff2>; rel=preload; as=font; type=font/woff2; crossorigin=anonymous,</static/fonts/Helvetica/HelveticaNowDisplay-Bold.woff2>; rel=preload; as=font; type=font/woff2; crossorigin=anonymous",
      "cache-control": "public, max-age=14400",
      "etag": "W/\"28e2eaefbb1fd04fb0c6497a2bfab6af\"",
      "x-request-id": "35df09a2-ce29-4b13-8e06-c78579bb4a32",
      "x-runtime": "0.029959",
      "strict-transport-security": "max-age=63072000; includeSubDomains, max-age=15724800; includeSubdomains",
      "cf-cache-status": "MISS",
      "report-to": "{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=55AHWJdl6329EIWC3k5TlEJEW7gf/1vMC9BowTYxcPPh/mPUjZAABxB2L3K1wEsrdoK8rlsi8AyoHUn8ygpxhCWJprtEUBedEaEOgkxC8tITphqA1IfT4cWNK9EqBmfM5v8yq9+aIZYecD2M1g==\"}],\"group\":\"cf-nel\",\"max_age\":604800}",
      "nel": "{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}",
      "server": "cloudflare",
      "cf-ray": "7f2dbf411a6dd526-CDG",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["cron", "docker", "container"],
    "is_public": false,
    "id": 63,
    "title": "Running a Cronjob Inside Docker: A Beginner's Guide \u2013 TecAdmin",
    "url": "https://tecadmin.net/running-a-cronjob-inside-docker/",
    "given_url": "https://tecadmin.net/running-a-cronjob-inside-docker/",
    "content": "<p>When it comes to scheduling jobs and programs that automatically run at set intervals or can be triggered by another event, you have plenty of options. You can use a general-purpose utility like cron, the built-in scheduler in macOS or Linux, or a specialized tool like AWS Lambda. Cron, though not as powerful as AWS Lambda, is a solid choice if you\u2019re using containers because it\u2019s designed to handle background tasks on Unix systems. With Docker, however, things get a little trickier because you can\u2019t just launch a new cron instance from your terminal and expect it to work.</p><p>To run a cron job inside a Docker container, you will need to use the cron service and run it in the foreground in your Docker container.</p><p>Here\u2019s an example of how you can set this up:</p><ol>\n<li>Create Cron File:\n<p>Create a file that contains all the cron jobs to be run under the Docker container. For example, let\u2019s call this file <code>`cron`</code>.</p>\n<pre class=\"terminal-line\">cat cron \n</pre>\n<p>Our example file looks like:</p>\n<pre class=\"pretty\">\n</pre>\n<p>cron</p>\n<pre>\n* * * * * echo \"Current date is `date`\" &gt; /var/log/cron\n</pre>\n<p>Add all of the crontab jobs in the above file that needs to be run under the Docker container.</p>\n</li>\n<li>Create Dockerfile\n<p>Next, create a <strong>`Dockerfile`</strong> that installs the cron service and copies the script into the container. Here we have provided 3 examples of Dockerfile using the different-2 operating system. The Alpine Linux is very lightweight and is sufficient for running cronjobs. But if you need to set up other environments Linux Ubuntu, Apache, and PHP. choose any of the below given Dockerfile templates based on your requirements.</p>\n<ul>\n<li>Dockerfile with Alpine Linux\n</li>\n<li>Dockerfile with Apache and PHP\n</li>\n<li>Dockerfile with Ubuntu Linux\n</li>\n</ul>\n</li>\n<li>Build and Run Container\n<p>You have two files in your current directory. One is `cron` that contains the cronjobs and the second is Dockerfile that have the build instructions for Docker. Run the following command to build the Docker image using the Dockerfile:</p>\n<pre class=\"terminal-line\">docker build -t my_cron . \n</pre>\n<p>Once the image is successfully built, You can launch a container using the image:</p>\n<pre class=\"terminal-line\">docker run -d my_cron  \n</pre>\n<p>This will start the cron daemon under the container, which will all the scheduled jobs defined in <strong>`cron`</strong> file.</p>\n</li>\n<li>Test Setup\n<p>The cronjobs should be successfully configured with the docker containers. As we have linked cron log file (/var/log/cron) to the /dev/stdout. Show all the logs generated by the cron service can be seed in <code>`docker logs`</code> command.</p>\n<p>First, find the container id or name using <code>`docker ps`</code> command.</p>\n<pre class=\"terminal-line\">docker ps \n</pre>\n<p>Then check the log files of the Docker container.</p>\n<pre class=\"terminal-line\">docker logs container_id\n</pre>\n<p>In the cronjobs, I have printed the current date and written them to logs. You can see the below image that shows the current date in logs every minute.</p>\n<figure id=\"attachment_33347\" aria-describedby=\"caption-attachment-33347\" class=\"wp-caption aligncenter c6\"><img src=\"https://tecadmin.net/wp-content/uploads/2022/12/running-cronjobs-in-docker.png\" alt=\"Running Cronjobs in Docker\" width=\"880\" height=\"119\" class=\"size-full wp-image-33347\" srcset=\"https://tecadmin.net/wp-content/uploads/2022/12/running-cronjobs-in-docker.png 880w, https://tecadmin.net/wp-content/uploads/2022/12/running-cronjobs-in-docker-300x41.png 300w, https://tecadmin.net/wp-content/uploads/2022/12/running-cronjobs-in-docker-150x20.png 150w, https://tecadmin.net/wp-content/uploads/2022/12/running-cronjobs-in-docker-450x61.png 450w, https://tecadmin.net/wp-content/uploads/2022/12/running-cronjobs-in-docker-768x104.png 768w, https://tecadmin.net/wp-content/uploads/2022/12/running-cronjobs-in-docker-300x41@2x.png 600w\" referrerpolicy=\"no-referrer\" /><figcaption id=\"caption-attachment-33347\" class=\"wp-caption-text\">Running Cronjobs in Docker</figcaption></figure><p>It means the cron jobs are running properly under the Docker container.</p>\n</li>\n</ol><p>Cron jobs are a handy way to automate daily tasks on your computer, like backing up files. With Docker, though, things get a little trickier because you can\u2019t just launch a new cron instance from your terminal and expect it to run. When running a cron job in a docker container, you\u2019ll run into a few challenges depending on how and where you want to run the container. The cron job interval is specified in seconds and can range from one minute to just over 100 years. The cron job frequency is specified in terms of the number of times the cron job should be executed every day.</p><p>When it comes to scheduling jobs and programs that automatically run at set intervals or can be triggered by another event, you have plenty of options. You can use a general-purpose utility like cron, the built-in scheduler in macOS or Linux, or a specialized tool like AWS Lambda. Cron, though not as powerful as AWS Lambda, is a solid choice if you\u2019re using containers because it\u2019s designed to handle background tasks on Unix systems. With Docker, however, things get a little trickier because you can\u2019t just launch a new cron instance from your terminal and expect it to work.</p>",
    "created_at": "2023-08-07T07:18:12+00:00",
    "updated_at": "2023-08-07T07:18:22+00:00",
    "published_at": "2022-12-31T11:15:45+00:00",
    "published_by": ["Rahul"],
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "en_US",
    "reading_time": 3,
    "domain_name": "tecadmin.net",
    "preview_picture": "https://tecadmin.net/wp-content/uploads/2022/12/running-cron-in-docker.png",
    "http_status": "200",
    "headers": {
      "date": "Mon, 07 Aug 2023 07:18:12 GMT",
      "content-type": "text/html; charset=UTF-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "last-modified": "Mon, 07 Aug 2023 06:32:59 GMT",
      "expires": "Mon, 07 Aug 2023 07:32:59 GMT",
      "pragma": "public",
      "cache-control": "max-age=887, public, must-revalidate, proxy-revalidate",
      "x-powered-by": "W3 Total Cache/2.4.0",
      "vary": "Accept-Encoding",
      "referrer-policy": "",
      "cf-cache-status": "DYNAMIC",
      "report-to": "{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=V42ScuQSrScdbKjI7zO+vVOAUfXtXR87l4ALaX8pME/tBMYseOSQ3sZ2ha5AMThIM4+tX2tkmZ2ZJDl1gDiz9LW7/l89yZfgRqbwuai9Wr8Iluen1VdAK+IGYOlnYqc=\"}],\"group\":\"cf-nel\",\"max_age\":604800}",
      "nel": "{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}",
      "server": "cloudflare",
      "cf-ray": "7f2dbe864cb20289-CDG",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["organisation", "projects"],
    "is_public": false,
    "id": 62,
    "title": "Vie professionnelle et vie personnelle : 10 conseils pou...",
    "url": "https://www.welcometothejungle.com/fr/articles/vie-professionnelle-et-vie-personnelle-conseils-pour-trouver-l-equilibre",
    "given_url": "https://www.welcometothejungle.com/fr/articles/vie-professionnelle-et-vie-personnelle-conseils-pour-trouver-l-equilibre",
    "content": "<blockquote>\n<p>\u00ab D\u00e8s que je suis pr\u00eat \u00e0 travailler, le chat saute du bureau et s\u2019installe sur ma feuille blanche. Vous me demandez comment j\u2019\u00e9cris ? En fait, j\u2019\u00e9cris autour du chat \u00bb, Malraux</p>\n</blockquote><p>Chapeau \u00e0 A. Malraux d\u2019avoir obtenu le prix Goncourt en 1933 en d\u00e9pit de son chat qui voulait l\u2019emp\u00eacher de travailler ! Et vous ? Constatez-vous une interp\u00e9n\u00e9tration entre votre travail et votre vie priv\u00e9e ? Le premier qui envahit l\u2019autre ou la seconde qui aimerait reprendre plus de place ?</p><p>Votre travail vous passionne et vous stimule, mais parfois il empi\u00e8te (un peu trop) sur votre vie personnelle et votre entourage vous le reproche ? Comment \u00e9quilibrer les deux sans cesser d\u2019\u00eatre ambitieux(se) et d\u2019\u00e9voluer ? Les conseils qui vont vous changer la vie !</p><h2>1. Coupez</h2><p>Votre job est passionnant et vous pourriez travailler sept jours sur sept. <strong>Stop.</strong></p><p><strong>Pour donner le meilleur de vous-m\u00eame \u00e0 long-terme</strong>, il faut couper.</p><ul><li><strong>\u00c9teignez votre portable professionnel</strong> ou mieux, laissez-le charger au bureau</li>\n<li><strong>Communiquez avec vos collaborateurs</strong> : en cas d\u2019urgence ils peuvent vous appeler, mais soyez bien d\u2019accord sur ce qu\u2019est une urgence</li>\n<li><strong>Ne lisez pas vos mails pro le soir</strong> : ils peuvent attendre le lendemain !</li>\n<li><strong>Videz-vous la t\u00eate</strong> pour laisser le <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/fr/articles/stress-gerer-technique-armee\">stress</a> au bureau.</li>\n</ul><h2>2. Hi\u00e9rarchisez</h2><p>Une \u00e9tude datant de 2016 men\u00e9e par la CFDT sur un \u00e9chantillon repr\u00e9sentatif de 200 personnes montre que <em>51% des Fran\u00e7ais trouvent leur charge de travail excessive</em>, que seulement <em>45% estiment avoir le temps de faire correctement leur travail</em> et que <em>36% ont d\u00e9j\u00e0 fait un <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/fr/articles/confinement-evite-burn-out\">burnout</a> au cours de leur carri\u00e8re</em>.</p><p>Heureusement, vous pouvez vous concentrer sur l\u2019essentiel au quotidien. <em>(\u00e0 lire aussi : <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/fr/articles/8-strategies-efficaces-pour-rester-concentre-en-toutes-circonstances\">8 strat\u00e9gies efficaces pour rester concentr\u00e9 en toutes circonstances</a>)</em></p><p><span class=\"c3\">Le principe de Pareto</span> : <strong>20% des causes produisent 80% des effets</strong>. Paretp a montr\u00e9 qu\u2019en Italie en 1906, 20% de la population poss\u00e9dait 80% des richesses. Ce principe pouvait \u00eatre appliqu\u00e9 \u00e0 de nombreux domaines, et notamment au commerce. Pareto en arriva rapidement \u00e0 d\u00e9montrer que 20% des t\u00e2ches g\u00e9n\u00e8rent 80% des r\u00e9sultats. Cette th\u00e9orie est actuelle : au travail, vous pouvez :</p><ul><li><strong>Vous concentrer sur les 20% de t\u00e2ches qui vont g\u00e9n\u00e9rer 80% de vos r\u00e9sultats</strong>. <em>Par exemple, sur vos meilleurs leads ou clients ou sur les actions les plus strat\u00e9giques</em></li>\n<li><strong>Sous-traiter les 80% qui ne vont d\u00e9gager que 20% de la valeur ajout\u00e9e</strong></li>\n</ul><p><img src=\"https://cdn.welcometothejungle.co/uploads/image/file/8755/150573/large_51033db3-f29d-4553-8273-a92940154db1.jpg\" alt=\"\" referrerpolicy=\"no-referrer\" />Le principe de Pareto / Photo by Processus-amelioration.fr</p><h3><em>Pour aller plus loin\u2026</em></h3><ul><li>L<span class=\"c3\">a Semaine de quatre heures de Timothy Ferriss</span> et <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://tim.blog\">son blog</a> poussent \u00e0 l\u2019extr\u00eame cette logique.</li>\n<li><span class=\"c3\">La matrice d\u2019Eisenhower</span> : <strong>hi\u00e9rarchiser, d\u00e9l\u00e9guer, supprimer.</strong></li>\n<li>Dans la m\u00eame logique<em>,</em> pourquoi ne pas <strong>vous d\u00e9barrasser de toutes les t\u00e2ches peu urgentes et peu importantes ?</strong></li>\n</ul><p><img src=\"https://cdn.welcometothejungle.co/uploads/image/file/8636/150573/large_62e206db-4719-46b6-9a72-481d9121d9b7.jpg\" alt=\"\" referrerpolicy=\"no-referrer\" />La matrice d\u2019Eisenhauer / Photo by Gettingresults.fr</p><h2>3. Adoptez l\u2019efficacit\u00e9 anglo-saxonne</h2><p>Dans le monde anglo-saxon, <strong>si vous partez tard du bureau, vous \u00eates consid\u00e9r\u00e9 comme inefficace</strong>. Le but du jeu est d\u2019\u00eatre plus efficace pour pouvoir partir plus t\u00f4t.</p><ul><li><strong>Structurez vos journ\u00e9es selon VOTRE mode de fonctionnement</strong>. Vous \u00eates plus efficace le matin ? Pas de r\u00e9ponse aux mails avant midi, heure o\u00f9 vous aurez abattu les 20% de t\u00e2ches \u00e0 forte valeur ajout\u00e9e. Et si vous avez besoin d\u2019une sieste, pas de honte \u00e0 la faire ! <em>(\u00e0 lire : <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/fr/articles/et-si-demain-on-faisait-tous-la-sieste-en-entreprise\">Et si demain, on faisait tous la sieste en entreprise ?</a>)</em></li>\n<li><strong>Optimisez vos r\u00e9unions en \u00e9quipe</strong>. Si vous les faites debout, avec un temps de parole, vous \u00e9viterez les r\u00e9unions o\u00f9 l\u2019on d\u00e9croche</li>\n<li>Appuyez-vous sur un rapport hebdomadaire et synth\u00e9tique de <strong><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/fr/pages/emploi-communication\">communication</a> interne</strong>. Ainsi, vous aurez un niveau commun d\u2019informations clefs sans avoir \u00e0 assister \u00e0 toutes les r\u00e9unions</li>\n<li><strong>Faites des <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/fr/articles/salaries-francais-pause-dejeuner\">pauses</a>\u2026 Avec mod\u00e9ration</strong>. S\u2019oxyg\u00e9ner le cerveau est indispensable pour \u00eatre efficace, mais ne tra\u00eenez pas trop pour finir plus t\u00f4t</li>\n<li><strong>Soyez \u00e0 l\u2019aise avec le fait de partir t\u00f4t</strong> tant que votre travail est fait et bien fait</li>\n</ul><p>Vous \u00eates d\u00e9bord\u00e9(e) mais vous sauvez quand m\u00eame votre coll\u00e8gue qui vous demande de finir telle t\u00e2che \u00e0 sa place.</p><ul><li><strong>Vous pouvez y r\u00e9fl\u00e9chir</strong>. Prenez le temps d\u2019\u00e9valuer votre charge de travail, de prendre possession du brief, et de vous demander si vous auriez formul\u00e9 une telle demande \u00e0 votre collaborateur</li>\n<li>Si elle ne vous semble pas r\u00e9alisable au vu de votre charge de travail, refusez. <strong>Sans vous sentir coupable. Sans \u00eatre sur la d\u00e9fensive.</strong></li>\n<li><strong>Expliquez calmement pourquoi</strong> vous ne pouvez pas la prendre en charge cette fois.</li>\n<li><strong>Proposez une alternative</strong> : telle personne peut t\u2019aider, tu peux le faire plus rapidement gr\u00e2ce \u00e0 tel logiciel, etc.</li>\n</ul><p>\u00c9videmment, <strong>l\u2019id\u00e9e n\u2019est pas d\u2019abandonner votre \u00e9quipe</strong>. Aidez autant que vous le pouvez, mais ne vous laissez pas submerger.</p><h2>5. Formez, d\u00e9l\u00e9guez</h2><p>Le probl\u00e8me d\u2019un stagiaire photocopie ? C\u2019est qu\u2019il continue \u00e0 faire des photocopies.</p><p>Au contraire, un stagiaire ou un collaborateur que vous prendrez le temps de manager, de former, et auquel vous laisserez l\u2019occasion de prendre des initiatives sera quelqu\u2019un sur qui vous pourrez vous appuyer. Plus vous <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/fr/articles/syndrome-chef-management\">micro-managerez</a>, moins vous aurez de temps. Au lieu de cela :</p><ul><li><strong>Faites <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/fr/articles/management-construire-confiance-travail\">confiance</a></strong></li>\n<li><strong>Donnez les clefs \u00e0 vos collaborateurs pour \u00eatre autonomes</strong></li>\n</ul><p><em>(\u00c0 lire : <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/articles/les-erreurs-a-eviter-pour-etre-un-bon-manager\">Devenir un excellent manager : les 10 erreurs \u00e0 \u00e9viter</a>)</em></p><h2>6. Travaillez \u00e0 distance une partie du temps</h2><p>Surtout dans les grandes villes, les transports grignotent votre temps libre. Travailler depuis chez vous ou un caf\u00e9 proche de chez vous peut-\u00eatre <strong>un bon moyen de vous d\u00e9gager du temps libre</strong>, si votre \u00e9quipe accepte de fonctionner de cette fa\u00e7on.</p><ul><li><strong>Organisez ce temps \u00e0 distance</strong> au sein de votre \u00e9quipe</li>\n<li><strong>Posez des limites</strong> ne pas travailler plus car vous \u00eates chez vous</li>\n<li><strong>Instaurez une <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/fr/articles/quelle-est-la-meilleure-morning-routine-pour-bien-demarrer-la-journee\">routine</a></strong> (un, deux jours par semaine)</li>\n</ul><p><em>\u00c0 lire :</em></p><h2>7. Prenez du \u00ab vrai \u00bb temps libre</h2><p><strong>Rentrer chez soi pour faire les \u00ab corv\u00e9es \u00bb</strong>. M\u00e9nage, lessive, repassage\u2026 Autant que possible, g\u00e9rez diff\u00e9remment vos t\u00e2ches m\u00e9nag\u00e8res pour passer vos soir\u00e9es et weekends avec vos proches et \u00e0 faire des activit\u00e9s qui vous plaisent !</p><ul><li><strong>Commandez sur internet</strong> en quelques clics</li>\n<li><strong>Embauchez une personne</strong> pour le m\u00e9nage et le repassage</li>\n<li><strong>G\u00e9rez vos t\u00e2ches administratives un apr\u00e8s-midi par mois</strong> au lieu de les \u00e9taler et de les garder en t\u00eate tout du long</li>\n</ul><h2>8. Planifiez une routine de temps pour vous</h2><p><strong>D\u00e9finissez une ou des activit\u00e9(s) \u00ab sacr\u00e9e(s) \u00bb que vous faites pour vous-m\u00eame</strong> et tenez-vous-y, m\u00eame pendant les p\u00e9riodes d\u2019activit\u00e9 plus intenses au travail.</p><p><em>Par exemple, une activit\u00e9 sportive un soir par semaine, un d\u00e9jeuner avec vos proches tel jour, une activit\u00e9 avec vos coll\u00e8gues.</em></p><h2>9. Octroyez-vous r\u00e9guli\u00e8rement un weekend de trois jours</h2><p>Le samedi et le dimanche permettent de d\u00e9compresser, tandis qu\u2019<strong>un jour de <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/fr/articles/rtt-droits-travail\">RTT</a> pour prolonger le weekend \u00e9quivaut \u00e0 une semaine de <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/fr/articles/conges-tout-savoir\">cong\u00e9s</a></strong>, selon la psychologue Isabelle Jahn.</p><p>Rechargez vos batteries r\u00e9guli\u00e8rement, vous n\u2019en serez que meilleur au travail !</p><h2>10. Modulez vos priorit\u00e9s</h2><p>\u00c0 l\u2019\u00e9chelle de votre vie, <strong>vous aurez des moments o\u00f9 votre carri\u00e8re sera votre priorit\u00e9\u2026 Et le contraire</strong>.</p><p>Vous souhaitez gravir les \u00e9chelons rapidement, obtenir une promotion, changer de cap professionnel, ou plut\u00f4t passer du temps avec votre conjoint(e), vos proches, votre b\u00e9b\u00e9, faire le tour du monde, pratiquer un sport de mani\u00e8re intensive ? Les deux ne sont pas inconciliables, c\u2019est une histoire de priorit\u00e9s.</p><ul><li>C\u2019est \u00e0 vous de <strong>placer le curseur</strong></li>\n<li><strong>Personne ne peut vous juger ou faire culpabiliser</strong> \u00e0 ce propos</li>\n<li><strong>Votre bonheur en d\u00e9pend</strong></li>\n<li><strong>Vous seul(e) savez quels r\u00eaves r\u00e9aliser \u00e0 quel moment</strong></li>\n</ul><h3><em>Comment g\u00e9rer ce \u00ab switch \u00bb ?</em></h3><ul><li><strong>Parlez</strong> \u00e0 vos coll\u00e8gues et votre management</li>\n<li><strong>Organisez votre vie</strong> pour l\u2019\u00e9quilibrer dans un sens ou un autre</li>\n<li>N\u2019ayez pas peur de modifier vos priorit\u00e9s, <strong>rien n\u2019est d\u00e9finitif dans la vie</strong>.</li>\n</ul><h3><em>Pour aller plus loin\u2026</em></h3><p>Lors du TEDxSydney, Nigel Marsh - auteur am\u00e9ricain et conf\u00e9rencier - dresse l\u2019organisation d\u2019une journ\u00e9e id\u00e9ale, qui concilie moments en famille, moments pour soi, et <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/fr/articles/travail-productivite-gentillesse\">productivit\u00e9</a> - et donne ses conseils pour y arriver.</p><p><em>\u00c0 lire aussi :</em></p><p><em>Photo by WTTJ @ PALOT IT</em></p>",
    "created_at": "2023-07-25T12:00:30+00:00",
    "updated_at": "2023-07-25T12:00:34+00:00",
    "published_at": "2017-09-19T09:38:00+00:00",
    "published_by": ["Welcome to the Jungle"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "fr",
    "reading_time": 6,
    "domain_name": "www.welcometothejungle.com",
    "preview_picture": "https://cdn-images.welcometothejungle.com/HeF-iNyX6lrhsc-9MwEGm0gKhWM3Fds1XNN0UWCk1ng/rs:auto:1500::/q:85/czM6Ly93dHRqLXByb2R1Y3Rpb24vdXBsb2Fkcy9hcnRpY2xlL2ltYWdlLzQ0OTAvMTUwMzQ5L3ZpZS1wcm9mZXNzaW9ubmVsbGUtZXQtdmllLXBlcnNvbm5lbGxlLWNvbnNlaWxzLXBvdXItdHJvdXZlci1sLWVxdWlsaWJyZS5qcGc",
    "http_status": "200",
    "headers": {
      "date": "Tue, 25 Jul 2023 12:00:30 GMT",
      "content-type": "text/html; charset=utf-8",
      "content-length": "254159",
      "connection": "keep-alive",
      "vary": "Accept-Encoding",
      "x-powered-by": "Express",
      "set-cookie": "wttj-user-language=fr; Max-Age=2592000; Path=/; Expires=Thu, 24 Aug 2023 12:00:30 GMT",
      "content-security-policy": "child-src blob:;connect-src https://api.welcometothejungle.com wss://api.welcometothejungle.com sp.welcometothejungle.com https://alerts.welcometothejungle.com https://employerbrand.welcometothejungle.com wss://realtime.getbeamer.com *.algolianet.com *.algolia.net *.algolia.io *.facebook.com *.sentry.io activity.wisepops.com popup.wisepops.com tracking.wisepops.com app.getwisp.co wisepops.net backend.getbeamer.com www.google-analytics.com vimeo.com *.hotjar.com *.hotjar.io wss://*.hotjar.com ip2c.org autocomplete.geocoder.ls.hereapi.com geocoder.ls.hereapi.com reverse.geocoder.ls.hereapi.com *.batch.com *.axept.io tags.data-driven.fr *.contentsquare.net http://cypress.preprod.wttj.tech/zafoh2ie/ae3 api.maze.co prompts.maze.co;default-src 'none';font-src cdn.welcometothejungle.com cdn.welcometothejungle.com cdn.welcome-ui.com cdn.welcometothejungle.co fonts.gstatic.com data: script.hotjar.com *.axept.io snippet.maze.co;form-action 'self' www.facebook.com;frame-src 'self' platform.linkedin.com www.linkedin.com api.linkedin.com cdn.iframe.ly www.youtube.com www.youtube-nocookie.com www.dailymotion.com www.facebook.com connect.facebook.net w.soundcloud.com optimize.google.com app.getbeamer.com push.getbeamer.com backend.getbeamer.com player.vimeo.com speakerdeck.com www.slideshare.net talks.golang.org docs.google.com accounts.google.com slides.com vars.hotjar.com *.axept.io form.typeform.com www.google.com widget.flexa.careers;img-src http: https: blob: data: optimize.google.com www.google-analytics.com script.hotjar.com static.hotjar.com *.axept.io *.contentsquare.net cdn.wisepops.com tracking.wisepops.com dx4nr741tfc02.cloudfront.net wisp-production-storage.s3.amazonaws.com cdn.wisepops.net snippet.maze.co;media-src cdn.welcometothejungle.com;script-src 'unsafe-inline' cdn.welcometothejungle.com platform.linkedin.com www.linkedin.com www.googletagmanager.com tagmanager.google.com www.google-analytics.com connect.facebook.net www.facebook.com www.youtube.com www.youtube-nocookie.com *.ytimg.com cdn.wisepops.com loader.wisepops.com app.getwisp.co wisepops.net cdn.wisepops.net optimize.google.com app.getbeamer.com realtime.getbeamer.com backend.getbeamer.com player.vimeo.com speakerdeck.com www.slideshare.net talks.golang.org docs.google.com accounts.google.com slides.com static.hotjar.com script.hotjar.com *.batch.com polyfill.io *.axept.io tags.data-driven.fr cdn.goldenbees.fr tag.goldenbees.fr t.contentsquare.net app.contentsquare.com embed.typeform.com www.google.com/recaptcha/api.js www.gstatic.com/recaptcha/ snippet.maze.co widget.flexa.careers;style-src 'unsafe-inline' cdn.welcometothejungle.com tagmanager.google.com fonts.googleapis.com optimize.google.com accounts.google.com app.getbeamer.com *.axept.io embed.typeform.com snippet.maze.co static.hotjar.com script.hotjar.com;upgrade-insecure-requests;worker-src 'self' blob:;base-uri 'self';frame-ancestors 'self';object-src 'none';script-src-attr 'none'",
      "etag": "W/\"3e0cf-j7BRMpLy W/0nadp94tZ6c3EX1E\"",
      "strict-transport-security": "max-age=31536000; includeSubDomains",
      "permissions-policy": "camera=(), microphone=()",
      "x-content-type-options": "nosniff",
      "referrer-policy": "strict-origin-when-cross-origin"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["organisation", "projects", "files"],
    "is_public": false,
    "id": 61,
    "title": "Pour gagner en productivit\u00e9, il faut ranger son bureau... d'ordi ! Nos conseils | Welcome to the Jungle",
    "url": "https://www.welcometothejungle.com/fr/articles/dossiers-ordinateur-organisation",
    "given_url": "https://www.welcometothejungle.com/fr/articles/dossiers-ordinateur-organisation",
    "content": "<p><em>On a d\u00e9j\u00e0 tous pass\u00e9 des heures \u00e0 chercher des documents dans notre ordinateur, essay\u00e9 dix noms possibles pour les retrouver dans la barre de recherche, tent\u00e9 de faire un grand m\u00e9nage de printemps de notre bureau virtuel pour finalement abandonner au bout de cinq minutes\u2026 Imaginez \u00e0 l\u2019\u00e9chelle d\u2019une vie le temps perdu \u00e0 chercher ces (bips) de fichiers ! Alors pour que les projets avancent, mieux vaut avoir les id\u00e9es claires et <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/fr/articles/conseils-organisation-productivite\">une organisation</a> impec\u2019.</em></p><p><em>Pour votre bien-\u00eatre et celui de votre disque dur, l\u2019heure du tri a sonn\u00e9 ! Si \u00e7a fait longtemps que vous ne l\u2019avez pas fait et que de vieux documents se sont accumul\u00e9s, le moment est venu de vous replonger dans vos dossiers ! Ne paniquez pas, il n\u2019y a pas une seule mani\u00e8re de ranger. Trouvez simplement la v\u00f4tre, adapt\u00e9e \u00e0 votre logique et \u00e0 votre fonctionnement. L\u2019objectif est de faire en sorte que la hi\u00e9rarchie de vos fichiers et leurs noms vous permettent de les retrouver facilement. Voici quelques pistes qui pourront vous aider\u2026</em></p><h2>1. Faites le vide sur votre bureau</h2><p>Albert Einstein disait : \u00ab <em>Si un bureau en d\u00e9sordre d\u00e9note un esprit brouillon, que dire d\u2019un bureau vide ?</em> \u00bb Il n\u2019avait visiblement pas de probl\u00e8me pour ranger son <em>desktop</em> d\u2019ordinateur\u2026 Un conseil : adoptez la m\u00e9thode \u201cDesktop Zero\u201d.</p><p>Le concept ? Installer des raccourcis sur votre bureau pour les essentiels, ET C\u2019EST TOUT. Cr\u00e9ez-y un dossier \u201cArchives bureau\u201d o\u00f9 vous classerez tous vos fichiers et gardez uniquement la corbeille. <strong>Placez les documents sur lesquels vous travaillez le jour m\u00eame sur votre bureau d\u2019ordinateur</strong>. Une fois que vous en aurez fini avec ceux-ci, archivez-les dans ledit dossier. Vous prendrez ainsi l\u2019habitude de classer le tout-venant au fur et \u00e0 mesure plut\u00f4t que de tapisser votre fond d\u2019\u00e9cran de mille et un fichiers que vous ne consultez jamais. Vous pourrez \u00e0 nouveau contempler votre merveilleux fond d\u2019\u00e9cran (et si c\u2019est une photo de chat, c\u2019est encore mieux\u2026)</p><h2>2. Conservez un premier niveau de hi\u00e9rarchisation tr\u00e8s \u00e9pur\u00e9</h2><p>Pour ne pas avoir \u00e0 fouiller dans 15 dossiers subdivis\u00e9s en 30 autres pour trouver un document, veillez \u00e0 ne pas multiplier les niveaux de hi\u00e9rarchisation dans l\u2019ic\u00f4ne \u201cArchives bureau\u201d. Si votre ordinateur vous sert pour <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.welcometothejungle.com/fr/articles/vie-professionnelle-et-vie-personnelle-conseils-pour-trouver-l-equilibre\">le pro et le perso</a>, cr\u00e9ez <strong>seulement deux dossiers : un au nom de votre entreprise et un autre \u00e0 votre nom</strong>. C\u2019est \u00e0 l\u2019int\u00e9rieur de ces deux dossiers prioritaires que vous viendrez ranger vos fichiers, sans en cr\u00e9er de nouveaux. Ainsi vous conservez un premier niveau de rangement tr\u00e8s simple et vous ne vous d\u00e9couragerez pas lorsque vous allez devoir classer un nouveau fichier dans vos dossiers. \u00ab <em>Mais alors comment retrouver facilement le document qu\u2019on recherche ?</em> \u00bb, nous demanderez-vous ? On vous dit tout Fred !</p><h2>3. D\u00e9finissez une charte pour nommer vos documents</h2><p>L\u2019objectif ? Que vous parveniez \u00e0 <strong>retrouver vos documents facilement gr\u00e2ce \u00e0 la barre de recherche</strong> de votre ordinateur. Pour cela, nommez-les avec des \u00e9l\u00e9ments permettant de les identifier facilement : la date, le nom du projet ou du fournisseur, le type de document\u2026 Il faut vous imposer une charte. Par exemple, pour un devis d\u2019une soci\u00e9t\u00e9 <em>Alpha</em> re\u00e7u le 4 juillet 2020, votre nom de document pourrait \u00eatre \u201c2020 07 04 Alpha Devis\u201d. \u00c0 vous d\u2019adopter une charte personnelle \u00e0 laquelle vous pourrez vous tenir !</p><h2>4. Hi\u00e9rarchisez vos fichiers gr\u00e2ce aux titres</h2><p>Dans votre dossier pro, <strong>adoptez des petits codes</strong> pour que les fichiers qui s\u2019affichent en premier soient ceux que vous risquez d\u2019ouvrir le plus souvent. On s\u2019explique :</p><ul><li>\n<p>Les fichiers dont le nom commence par \u201c_\u201d s\u2019affichent en premier dans vos dossiers : ce sont ceux auxquels vous aurez le plus rapidement acc\u00e8s. Vous pouvez donc d\u00e9cider de nommer ainsi les documents auxquels vous avez souvent recours de cette mani\u00e8re : \u201c_Nom du fichier\u201d.</p>\n</li>\n<li>\n<p>Les fichiers dont le nom commence par \u201c@\u201d s\u2019affichent en second. Ceux que vous utilisez moins peuvent ainsi porter le libell\u00e9 suivant : \u201c@Nom du fichier\u201d.</p>\n</li>\n<li>\n<p>M\u00eame d\u00e9marche pour les fichiers encore moins prioritaires : nommez-les en commen\u00e7ant par un num\u00e9ro : \u201c1. Nom du fichier\u201d, par exemple.</p>\n</li>\n</ul><p>Si vous voulez faire en sorte qu\u2019un fichier soit plus rapidement reconnaissable, vous pouvez lui <strong>attribuer une ic\u00f4ne de couleur</strong>, ou utiliser la fonction \u201c\u00e9pingler\u201d.</p><h2>5. Choisissez un outil qui effectue le rangement automatiquement</h2><p>Vous pouvez aussi <strong>automatiser le rangement de vos dossiers</strong> gr\u00e2ce \u00e0 des outils. Si vous poss\u00e9dez un Mac, Hazel se r\u00e9v\u00e8le tr\u00e8s efficace pour ranger vos documents selon vos propres r\u00e8gles. Vous pouvez \u00e9galement utiliser <strong>la fonctionnalit\u00e9 native \u201cdossiers intelligents\u201d</strong>. Selon Apple, \u00ab <em>les dossiers intelligents rassemblent automatiquement les fichiers par type et th\u00e8me. Ils sont mis \u00e0 jour au fur et \u00e0 mesure que vous modifiez, ajoutez ou supprimez des fichiers de votre Mac.</em> \u00bb Cette fonctionnalit\u00e9 joue le r\u00f4le de filtre et vous permet de rechercher encore plus facilement des fichiers. Cr\u00e9ez par exemple des dossiers intelligents \u201cen cours\u201d, \u201cen attente\u201d, \u201carchives\u201d et placez-y chaque nouveau fichier.</p><p>Pour ceux qui sont \u00e9quip\u00e9s d\u2019un PC, il existe le logiciel payant Fences qui permet de cr\u00e9er des Post-it g\u00e9ants sur votre bureau reprenant les grandes cat\u00e9gories que vous voulez voir appara\u00eetre. Par d\u00e9faut, l\u2019outil permet d\u00e9j\u00e0 une premi\u00e8re distinction tr\u00e8s claire des applications, dossiers et documents. Mais vous pouvez, l\u00e0 encore, param\u00e9trer et personnaliser votre organisation. Le logiciel effectuera le tri de mani\u00e8re automatique.</p><h2>6. Travaillez un maximum en ligne</h2><p>Id\u00e9alement, appliquez tous les pr\u00e9c\u00e9dents conseils en h\u00e9bergeant directement vos documents professionnels <strong>sur le r\u00e9seau de l\u2019entreprise ou sur Drive</strong>. Vous pourrez consulter vos fichiers partout et tout le temps. Cela vous permettra m\u00eame parfois de sauvegarder automatiquement votre travail sur un document et de le partager avec d\u2019autres personnes.</p><p>Voil\u00e0 quelques conseils qui, nous l\u2019esp\u00e9rons, vous aideront \u00e0 organiser votre ordinateur efficacement en attendant la prochaine <strong>journ\u00e9e mondiale du rangement de bureau, le 21 mars</strong>. Bien que cette journ\u00e9e fasse \u00e0 l\u2019origine r\u00e9f\u00e9rence au bureau physique, votre bureau d\u2019ordinateur en est - en quelque sorte - le prolongement. Alors \u00e0 vos dossiers ! Il faut bien commencer un jour !</p><p><em>Suivez Welcome to the Jungle sur <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.facebook.com/wttj.fr/\">Facebook</a>, <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.linkedin.com/company/wttj-fr\">LinkedIn</a> et <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.instagram.com/welcometothejungle_fr/\">Instagram</a> ou abonnez-vous \u00e0 <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://applicants.welcometothejungle.co/newsletter\">notre newsletter</a> pour recevoir, chaque jour, nos derniers articles !</em></p><p><em>Photo by WTTJ</em></p>",
    "created_at": "2023-07-25T11:59:38+00:00",
    "updated_at": "2023-07-25T11:59:47+00:00",
    "published_at": "2020-07-28T09:02:09+00:00",
    "published_by": ["Welcome to the Jungle"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "fr",
    "reading_time": 5,
    "domain_name": "www.welcometothejungle.com",
    "preview_picture": "https://cdn-images.welcometothejungle.com/6oxqQbyYFNbOUGwpsaMaTuwTfPdnkQnD3IsBAPIDiNY/rs:auto:1500::/q:85/czM6Ly93dHRqLXByb2R1Y3Rpb24vdXBsb2Fkcy9hcnRpY2xlL2ltYWdlLzkxMDIvMTU4MTQzL3Jhbmdlci1kb3NzaWVycy1vcmRpLTEuanBn",
    "http_status": "200",
    "headers": {
      "date": "Tue, 25 Jul 2023 11:59:37 GMT",
      "content-type": "text/html; charset=utf-8",
      "content-length": "259703",
      "connection": "keep-alive",
      "vary": "Accept-Encoding",
      "x-powered-by": "Express",
      "set-cookie": "wttj-user-language=fr; Max-Age=2592000; Path=/; Expires=Thu, 24 Aug 2023 11:59:37 GMT",
      "content-security-policy": "child-src blob:;connect-src https://api.welcometothejungle.com wss://api.welcometothejungle.com sp.welcometothejungle.com https://alerts.welcometothejungle.com https://employerbrand.welcometothejungle.com wss://realtime.getbeamer.com *.algolianet.com *.algolia.net *.algolia.io *.facebook.com *.sentry.io activity.wisepops.com popup.wisepops.com tracking.wisepops.com app.getwisp.co wisepops.net backend.getbeamer.com www.google-analytics.com vimeo.com *.hotjar.com *.hotjar.io wss://*.hotjar.com ip2c.org autocomplete.geocoder.ls.hereapi.com geocoder.ls.hereapi.com reverse.geocoder.ls.hereapi.com *.batch.com *.axept.io tags.data-driven.fr *.contentsquare.net http://cypress.preprod.wttj.tech/zafoh2ie/ae3 api.maze.co prompts.maze.co;default-src 'none';font-src cdn.welcometothejungle.com cdn.welcometothejungle.com cdn.welcome-ui.com cdn.welcometothejungle.co fonts.gstatic.com data: script.hotjar.com *.axept.io snippet.maze.co;form-action 'self' www.facebook.com;frame-src 'self' platform.linkedin.com www.linkedin.com api.linkedin.com cdn.iframe.ly www.youtube.com www.youtube-nocookie.com www.dailymotion.com www.facebook.com connect.facebook.net w.soundcloud.com optimize.google.com app.getbeamer.com push.getbeamer.com backend.getbeamer.com player.vimeo.com speakerdeck.com www.slideshare.net talks.golang.org docs.google.com accounts.google.com slides.com vars.hotjar.com *.axept.io form.typeform.com www.google.com widget.flexa.careers;img-src http: https: blob: data: optimize.google.com www.google-analytics.com script.hotjar.com static.hotjar.com *.axept.io *.contentsquare.net cdn.wisepops.com tracking.wisepops.com dx4nr741tfc02.cloudfront.net wisp-production-storage.s3.amazonaws.com cdn.wisepops.net snippet.maze.co;media-src cdn.welcometothejungle.com;script-src 'unsafe-inline' cdn.welcometothejungle.com platform.linkedin.com www.linkedin.com www.googletagmanager.com tagmanager.google.com www.google-analytics.com connect.facebook.net www.facebook.com www.youtube.com www.youtube-nocookie.com *.ytimg.com cdn.wisepops.com loader.wisepops.com app.getwisp.co wisepops.net cdn.wisepops.net optimize.google.com app.getbeamer.com realtime.getbeamer.com backend.getbeamer.com player.vimeo.com speakerdeck.com www.slideshare.net talks.golang.org docs.google.com accounts.google.com slides.com static.hotjar.com script.hotjar.com *.batch.com polyfill.io *.axept.io tags.data-driven.fr cdn.goldenbees.fr tag.goldenbees.fr t.contentsquare.net app.contentsquare.com embed.typeform.com www.google.com/recaptcha/api.js www.gstatic.com/recaptcha/ snippet.maze.co widget.flexa.careers;style-src 'unsafe-inline' cdn.welcometothejungle.com tagmanager.google.com fonts.googleapis.com optimize.google.com accounts.google.com app.getbeamer.com *.axept.io embed.typeform.com snippet.maze.co static.hotjar.com script.hotjar.com;upgrade-insecure-requests;worker-src 'self' blob:;base-uri 'self';frame-ancestors 'self';object-src 'none';script-src-attr 'none'",
      "etag": "W/\"3f677-vjAqf0qoqp2y zlLyy1R zj1dCc\"",
      "strict-transport-security": "max-age=31536000; includeSubDomains",
      "permissions-policy": "camera=(), microphone=()",
      "x-content-type-options": "nosniff",
      "referrer-policy": "strict-origin-when-cross-origin"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["organisation", "projects", "files"],
    "is_public": false,
    "id": 60,
    "title": "Comment organiser ses donn\u00e9es quand on travaille en entreprise ou en \u00e9quipe ?",
    "url": "https://blog.ostraca.fr/blog/organiser-ses-donnees-en-entreprise/",
    "given_url": "https://blog.ostraca.fr/blog/organiser-ses-donnees-en-entreprise/",
    "content": "<p>Une fois que vous cr\u00e9ez, rassemblez ou commencez \u00e0 <strong>manipuler des donn\u00e9es</strong> et des fichiers, ils peuvent rapidement devenir <strong>d\u00e9sorganis\u00e9s</strong>. Pour gagner du temps et <strong>\u00e9viter les erreurs</strong> par la suite, vous et vos coll\u00e8gues devez d\u00e9cider comment vous allez <strong>nommer et structurer</strong> les <strong>fichiers et dossiers</strong>. L\u2019inclusion de <strong>m\u00e9tadonn\u00e9es</strong> vous permettra d\u2019ajouter <strong>un contexte</strong> \u00e0 vos donn\u00e9es afin que vous et d\u2019autres personnes puissiez les <strong>comprendre \u00e0 court, moyen et long terme</strong>.</p><p>Cet article fait \u00e9cho \u00e0 : <a href=\"https://blog.ostraca.fr/comment-gerer-les-donnees-redondantes-obsoletes-ou-inutiles-rot/\">Comment g\u00e9rer les donn\u00e9es redondantes, obsol\u00e8tes ou inutiles (ROT) ?</a>. Si vous ne l\u2019avez pas encore lu, <strong>n\u2019attendez plus</strong>.</p><h2 id=\"nommer-et-organiser-les-dossiers\">Nommer et organiser les dossiers</h2><p>Choisir une fa\u00e7on <strong>logique et coh\u00e9rente</strong> de <strong>nommer</strong> et d\u2019<strong>organiser</strong> vos fichiers vous permet, \u00e0 vous et \u00e0 d\u2019autres, de les <strong>localiser</strong> et de les <strong>utiliser facilement</strong>. Id\u00e9alement, le meilleur moment pour r\u00e9fl\u00e9chir \u00e0 la mani\u00e8re de <strong>nommer et de structurer les documents</strong> et les <strong>r\u00e9pertoires</strong> que vous cr\u00e9ez est au d\u00e9but d\u2019un projet.</p><p>Convenir d\u2019une <strong>convention de nommage</strong> contribuera \u00e0 assurer la <strong>coh\u00e9rence</strong>, ce qui facilitera <strong>la recherche</strong> et <strong>l\u2019identification</strong> correcte de vos fichiers, et \u00e9vitera les probl\u00e8mes de <strong>contr\u00f4le de version</strong> lorsque vous travaillez sur des <strong>fichiers en collaboration</strong>. En organisant vos fichiers avec soin, vous <strong>gagnerez du temps</strong> et \u00e9viterez les frustrations en vous aidant, vous et vos coll\u00e8gues, \u00e0 <a href=\"https://blog.ostraca.fr/comment-gerer-les-donnees-redondantes-obsoletes-ou-inutiles-rot/#des-d%C3%A9cisions-mal-inform%C3%A9es\">trouver ce dont vous avez besoin au moment voulu.</a></p><p>Que vous travailliez sur un <strong>ordinateur autonome</strong> ou sur un <strong>disque dur en r\u00e9seau</strong>, il est n\u00e9cessaire de mettre en place <strong>un syst\u00e8me</strong> qui vous permette d\u2019<strong>acc\u00e9der \u00e0 vos fichiers</strong>, d\u2019<strong>\u00e9viter les doublons</strong> et de <strong>garantir la sauvegarde</strong> de vos donn\u00e9es. Cette <strong>d\u00e9marche</strong> demande un peu de <strong>planification</strong>. Un bon point de d\u00e9part consiste \u00e0 \u00e9laborer <strong>une structure de dossiers logique</strong>. Les conseils suivants devraient vous <strong>aider \u00e0 d\u00e9velopper un tel syst\u00e8me</strong> :</p><ol><li>\n<p><strong>Utiliser les dossiers</strong> : regrouper les fichiers dans des dossiers de mani\u00e8re \u00e0 ce que les informations sur un sujet particulier se trouvent au m\u00eame endroit.</p>\n</li>\n<li>\n<p><strong>Nommer les dossiers de mani\u00e8re appropri\u00e9e</strong> : nommer les dossiers en fonction des domaines de travail auxquels ils se rapportent et non en fonction des <strong>employ\u00e9s</strong> ou des membres de l\u2019<strong>\u00e9quipe</strong>. Cela permet d\u2019\u00e9viter la <strong>confusion</strong> dans les espaces de travail partag\u00e9s si un employ\u00e9 <strong>quitte l\u2019entreprise</strong>. Mais aussi, cela <strong>facilite la navigation</strong> dans le syst\u00e8me de fichiers, notamment pour les nouvelles personnes qui rejoignent l\u2019espace de travail.</p>\n</li>\n<li>\n<p><strong>Respectez les proc\u00e9dures existantes</strong> : v\u00e9rifiez les approches \u00e9tablies au sein de votre \u00e9quipe ou de votre entreprise que vous pouvez adopter.</p>\n</li>\n<li>\n<p><strong>Soyez coh\u00e9rent</strong> : lorsque vous d\u00e9veloppez une <strong>convention de nommage</strong> pour vos dossiers / fichiers, il est important que vous vous y teniez une fois que vous avez d\u00e9cid\u00e9 d\u2019une m\u00e9thode.</p>\n</li>\n<li>\n<p><strong>Structurer les dossiers de mani\u00e8re hi\u00e9rarchique</strong> : commencer par un <strong>nombre limit\u00e9 de dossiers</strong> pour les sujets plus larges, puis cr\u00e9er des dossiers plus sp\u00e9cifiques \u00e0 l\u2019int\u00e9rieur de ceux-ci. Pour plus de <strong>lisibilit\u00e9</strong>, vous pouvez utiliser des chiffres en d\u00e9but de dossier.</p>\n</li>\n</ol><div class=\"bg-white px-3 py-3 rounded shadow flex flex-col justify-center undefined mb-2 mt-2 astro-AUG7D7RU\"><picture><img alt=\"Exemple de structure d'un projet client chez Novariom\" src=\"https://blog.ostraca.fr/_astro/Ostraca_blog_structure-dossier_1.df00dcfb_ZMURNe.png\" width=\"631\" class=\"astro-AUG7D7RU\" referrerpolicy=\"no-referrer\" /></picture></div><ol start=\"6\"><li><strong>S\u00e9parez les travaux en cours de ceux qui sont termin\u00e9s</strong> : comme vous commencez \u00e0 cr\u00e9er beaucoup de dossiers et de fichiers, il est bon de commencer \u00e0 penser \u00e0 <strong>s\u00e9parer</strong> vos <strong>anciens documents</strong> de ceux sur lesquels vous travaillez actuellement</li>\n</ol><div class=\"bg-white px-3 py-3 rounded shadow flex flex-col justify-center undefined mb-2 mt-2 astro-AUG7D7RU\"><picture><img alt=\"Les projets sont class\u00e9s en amont\" src=\"https://blog.ostraca.fr/_astro/Ostraca_blog_structure-dossier_2.237a3706_W8JvO.png\" width=\"631\" class=\"astro-AUG7D7RU\" referrerpolicy=\"no-referrer\" /></picture></div><ol start=\"7\"><li>\n<p><strong>Examiner les dossiers</strong> : \u00e9valuer les documents r\u00e9guli\u00e8rement, ou, \u00e0 la fin d\u2019un projet. Pour s\u2019assurer que les dossiers ne sont pas conserv\u00e9s inutilement, pensez \u00e0 les archiver.</p>\n</li>\n<li>\n<p><strong>Sauvegarde</strong> : assurez-vous que vos fichiers, qu\u2019ils se trouvent sur votre disque local ou sur un disque r\u00e9seau, <a href=\"https://blog.ostraca.fr/les-meilleures-pratiques-en-matiere-de-protection-des-donnees/#%C3%A9laborer-et-tester-un-plan-de-sauvegarde-et-de-r%C3%A9cup%C3%A9ration\">sont sauvegard\u00e9s</a>.</p>\n</li>\n</ol><h2 id=\"de-quoi-dois-je-tenir-compte-lors-de-la-cr\u00e9ation-dun-nom-de-fichier\">De quoi dois-je tenir compte lors de la cr\u00e9ation d\u2019un nom de fichier ?</h2><p>D\u00e9cidez d\u2019une <strong>convention de nommage des fichiers</strong> au <strong>d\u00e9but</strong> de votre <strong>projet</strong>. Voire mieux, au d\u00e9but de la cr\u00e9ation de l\u2019entreprise.</p><p>Pour qu\u2019un <strong>nom de fichier</strong> soit utile, il a besoin d\u2019\u00eatre :</p><ul><li>coh\u00e9rent</li>\n<li>significatif pour vous et vos coll\u00e8gues</li>\n<li>comporter un tag d\u2019identification (souvent en fonction du projet)</li>\n</ul><p>Il est utile que votre service/\u00e9quipe s\u2019accorde sur les \u00e9l\u00e9ments suivants pour les fichiers :</p><ol><li><strong>Dates</strong> : se mettre d\u2019accord sur une <strong>utilisation logique</strong> des <strong>dates</strong> afin qu\u2019elles s\u2019affichent <strong>chronologiquement</strong>, c\u2019est-\u00e0-dire <strong>AAAA-MM-JJ</strong>.</li>\n<li><strong>Vocabulaire</strong> : choisissez un <strong>vocabulaire standard</strong> pour les noms de fichiers, afin que tout le monde utilise une <strong>langue commune</strong>.</li>\n<li><strong>Ordre</strong> : confirmez quel \u00e9l\u00e9ment doit passer en premier, afin que les fichiers sur le m\u00eame th\u00e8me soient list\u00e9s ensemble et puissent donc \u00eatre trouv\u00e9s facilement.</li>\n<li><strong>Num\u00e9ros</strong> : sp\u00e9cifiez le nombre de chiffres qui seront utilis\u00e9s dans la num\u00e9rotation afin que les fichiers soient \u00e9num\u00e9r\u00e9s num\u00e9riquement, par exemple 01, 002, etc.</li>\n<li><strong>Ponctuation</strong> - d\u00e9cider des conventions pour savoir si et quand utiliser les symboles de ponctuation, les majuscules, les traits d\u2019union et les espaces.</li>\n</ol><p>Le <strong>contr\u00f4le de version</strong> des <strong>documents</strong> est le <strong>processus de suivi</strong> et de <strong>gestion</strong> des diff\u00e9rentes <strong>versions</strong> (ou brouillons) d\u2019un document afin que vous sachiez quelle est l\u2019it\u00e9ration actuelle d\u2019un fichier.</p><p>Les informations ci-dessous sont moins pertinentes si vous cr\u00e9ez des documents \u00e0 l\u2019aide d\u2019applications qui int\u00e8grent un <strong>contr\u00f4le de version</strong> (par exemple, Google Docs), mais elles constituent un <strong>bon moyen de r\u00e9fl\u00e9chir</strong> \u00e0 la mani\u00e8re de s\u2019assurer que vous travaillez toujours dans la bonne version d\u2019un document.</p><h3 id=\"pourquoi-le-contr\u00f4le-des-versions-est-il-important\">Pourquoi le contr\u00f4le des versions est-il important ?</h3><p>Pourquoi voudriez-vous savoir quelle est la <strong>derni\u00e8re version</strong> de quelque chose ?</p><p>Le contr\u00f4le des versions est <strong>important</strong>, car vous savez, alors que <strong>tout le monde</strong> travaille \u00e0 partir de la <strong>m\u00eame version</strong> d\u2019un document, qu\u2019ils ont la <strong>derni\u00e8re version</strong>.</p><p>Imaginez les <strong>heures perdues</strong> si un membre de votre \u00e9quipe travaillait \u00e0 partir de documents obsol\u00e8tes, par exemple. Sans parler des <strong>mauvaises d\u00e9cisions</strong> qui pourraient en d\u00e9couler \u2026</p><p>En l\u2019<strong>absence de contr\u00f4le appropri\u00e9</strong>, cela peut rapidement <strong>entra\u00eener une confusion</strong>, quant \u00e0 la version la plus r\u00e9cente. Voici une suggestion de nos <strong>2 moyens</strong> d\u2019\u00e9viter cela :</p><h3 id=\"utilisez-un-syst\u00e8me-de-num\u00e9rotation-de-r\u00e9vision\">Utilisez un syst\u00e8me de num\u00e9rotation de \u201cr\u00e9vision\u201d.</h3><p>Toute modification importante apport\u00e9e \u00e0 un fichier peut \u00eatre indiqu\u00e9e par des nombres entiers, par exemple, v1 serait la premi\u00e8re version, v2 la deuxi\u00e8me. Les modifications mineures peuvent \u00eatre indiqu\u00e9es en augmentant le chiffre d\u00e9cimal ; par exemple, v1.1 indique qu\u2019une modification mineure a \u00e9t\u00e9 apport\u00e9e \u00e0 la premi\u00e8re version, et v3.1 qu\u2019une modification mineure a \u00e9t\u00e9 apport\u00e9e \u00e0 la troisi\u00e8me version.</p><h3 id=\"utiliser-la-num\u00e9rotation-des-documents-dans-un-tableau-de-contr\u00f4le-de-version\">Utiliser la num\u00e9rotation des documents dans un tableau de contr\u00f4le de version</h3><p>Si vous n\u2019avez pas le logiciel qui peut le faire pour vous, vous pouvez contr\u00f4ler manuellement les versions de vos documents.</p><p>Ajoutez un <strong>tableau de contr\u00f4le de version</strong> au d\u00e9but du document qui indique la <strong>version</strong>, l\u2019<strong>auteur</strong>, un <strong>bref r\u00e9sum\u00e9</strong> des changements dans cette it\u00e9ration du document et <strong>la date</strong>.</p><p>Voici \u00e0 quoi ressemblerait ce <strong>tableau</strong> :</p><table><thead><tr><th>Version</th>\n<th>Date</th>\n<th>Auteur</th>\n<th>Motif</th>\n</tr></thead><tbody><tr><td>0.1</td>\n<td>8 Mars 2021</td>\n<td>Nicolas Verlhiac</td>\n<td>Premi\u00e8re version</td>\n</tr><tr><td>0.2</td>\n<td>9 Mars 2021</td>\n<td>N. Verlhiac</td>\n<td>Correction Orthographique</td>\n</tr></tbody></table>",
    "created_at": "2023-07-25T11:58:39+00:00",
    "updated_at": "2023-07-25T11:58:46+00:00",
    "published_at": "2021-03-07T23:00:00+00:00",
    "published_by": ["Nicolas Verlhiac"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "fr_FR",
    "reading_time": 5,
    "domain_name": "blog.ostraca.fr",
    "preview_picture": "https://blog.ostraca.fr/og-image/organiser-ses-donnees-en-entreprise.png",
    "http_status": "200",
    "headers": {
      "connection": "keep-alive",
      "content-length": "44964",
      "cache-control": "max-age=3600",
      "content-security-policy": "default-src 'self' horus.novariom.fr; script-src 'self' 'unsafe-inline' horus.novariom.fr; style-src 'self' 'unsafe-inline'; img-src 'self' horus.novariom.fr data:; font-src 'self'; media-src 'self'; frame-src 'none'",
      "content-type": "text/html; charset=utf-8",
      "etag": "\"c743eabf58ed30a15c1beb36bd51274919f42c8faf98a5c860b0e4ecb028e8d3\"",
      "last-modified": "Mon, 17 Jul 2023 16:03:28 GMT",
      "strict-transport-security": "max-age=31556926",
      "accept-ranges": "bytes",
      "date": "Tue, 25 Jul 2023 11:58:39 GMT",
      "x-served-by": "cache-lcy-eglc8600056-LCY",
      "x-cache": "MISS",
      "x-cache-hits": "0",
      "x-timer": "S1690286320.712944,VS0,VE179",
      "vary": "x-fh-requested-host, accept-encoding",
      "alt-svc": "h3=\":443\";ma=86400,h3-29=\":443\";ma=86400,h3-27=\":443\";ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["organisation", "journ\u00e9e"],
    "is_public": false,
    "id": 59,
    "title": "Comment Organiser sa journ\u00e9e de travail le temps d'un caf\u00e9",
    "url": "https://temps-action.com/organiser-sa-journee-de-travail",
    "given_url": "https://temps-action.com/organiser-sa-journee-de-travail",
    "content": "<p>Avec une simple feuille de papier, un document Word ou une petite application, on peut gagner des heures chaque semaine.</p>\n<p>Cela n\u2019a rien de sorcier, et pour peu qu\u2019on y mette un minimum du sien, on y arrive facilement.</p>\n<p>On va voir comment s\u2019y prendre pour <a href=\"https://temps-action.com/todo-list\">organiser sa journ\u00e9e</a> de travail <strong>le temps d\u2019une tasse de caf\u00e9</strong>.</p>\n<p class=\"c2\"><img class=\"alignnone wp-image-13483\" src=\"https://temps-action.com/wp-content/uploads/2011/11/organiser-sa-journee-de-travail.png\" alt=\"la m&#xe9;thode expresso pour organiser sa journ&#xe9;e de travail le temps d'une tasse de caf&#xe9;\" width=\"612\" height=\"250\" srcset=\"https://temps-action.com/wp-content/uploads/2011/11/organiser-sa-journee-de-travail.png 817w, https://temps-action.com/wp-content/uploads/2011/11/organiser-sa-journee-de-travail-300x123.png 300w, https://temps-action.com/wp-content/uploads/2011/11/organiser-sa-journee-de-travail-768x314.png 768w\" referrerpolicy=\"no-referrer\" /></p>\n<p><strong>PDF Bonus :</strong> T\u00e9l\u00e9chargez la fiche action gratuite qui vous montre comment organiser votre journ\u00e9e le temps d\u2019un caf\u00e9 (m\u00eame si vos priorit\u00e9s sont floues aujourd\u2019hui et que\u00a0vous ne savez pas par o\u00f9 commencer).</p>\n<h2>\u00cates-vous dans le m\u00eame cas, vous aussi ?</h2>\n<p>Beaucoup de gens pensent qu\u2019il est compliqu\u00e9 de s\u2019organiser, de d\u00e9terminer ses priorit\u00e9s, de savoir <a href=\"https://temps-action.com/par-ou-commencer-pour-sorganiser\">par quoi commencer</a> sa journ\u00e9e, de faire le tri dans tous ses engagements.</p>\n<p>En fait, on n\u2019a pas besoin d\u2019y passer des heures, de se casser la t\u00eate et s\u2019entendre soupirer avant m\u00eame d\u2019avoir commenc\u00e9. On peut s\u2019organiser tr\u00e8s rapidement.</p>\n<p>Car <strong>sans</strong> un minimum de <strong>pr\u00e9paration</strong>, on a souvent tendance \u00e0 se laisser entra\u00eener par la premi\u00e8re t\u00e2che qui attire notre attention.</p>\n<p>Le probl\u00e8me, c\u2019est qu\u2019on peut se <strong>laisser porter</strong> comme \u00e7a pendant des heures, d\u2019une t\u00e2che \u00e0 l\u2019autre, et pr\u00eater beaucoup trop d\u2019attention \u00e0 des t\u00e2ches sans importance.</p>\n<p>On <strong>perd son temps</strong>, et lorsqu\u2019on s\u2019en rend compte, on finit par \u00eatre <strong>frustr\u00e9</strong> et stress\u00e9.</p>\n<p>Une \u00e9tude a r\u00e9v\u00e9l\u00e9 qu\u2019<strong>1 travailleur sur 3</strong> se dit <strong>stress\u00e9</strong> au travail. On peut agir de mani\u00e8re efficace sur ce stress en organisant sa journ\u00e9e \u00e0 l\u2019avance.</p>\n<p>Au lieu de laisser s\u2019\u00e9couler la journ\u00e9e de fa\u00e7on al\u00e9atoire, on lui donne un cap, <strong>une direction</strong>.</p>\n<p>Car si une partie de notre emploi du temps nous est impos\u00e9, on estime qu\u2019on peut <strong>agir</strong> directement sur <strong>60 \u00e0 70% de nos journ\u00e9es</strong>. Ce qui nous laisse une belle marge de man\u0153uvre.</p>\n<h2>L\u2019habitude quotidienne pour gagner du temps</h2>\n<p>S\u2019organiser est un mot qui effraie. Un mot qui ennuie. Un mot qu\u2019on a pas vraiment envie d\u2019utiliser souvent.</p>\n<p>Planifier, s\u2019organiser, <a href=\"https://temps-action.com/utilisez-vous-les-5-fondamentaux-dune-bonne-gestion-du-temps\">g\u00e9rer son temps</a>, \u00e7a parait compliqu\u00e9, c\u2019est p\u00e9nible et \u00e7a fait perdre du temps. C\u2019est la raison majeure qui explique qu\u2019on ne le fasse pas plus souvent.</p>\n<p>Pourtant, je vois au moins <strong>5 avantages</strong> \u00e0 organiser sa journ\u00e9e :</p>\n<ol><li>on ne se laisse pas attirer par la premi\u00e8re chose qui accroche notre attention,</li>\n<li>on ne se laisse pas distraire par une horde d\u2019urgences mineures,</li>\n<li>on sait quelles activit\u00e9s sont \u00e0 faire en premier,</li>\n<li>on se sent ma\u00eetre \u00e0 bord,</li>\n<li>on ressent la satisfaction d\u2019avoir accompli ce qui \u00e9tait pr\u00e9vu.</li>\n</ol><p>Bref, vous commencez votre journ\u00e9e en partant du bon pied, vous savez exactement o\u00f9 vous allez. Et vous gagnez du temps.</p>\n<p>Ceux qui franchissent le pas et d\u00e9cident de s\u2019organiser le font souvent de fa\u00e7on maladroite.</p>\n<p>La plupart des gens cr\u00e9e des listes \u00e0 rallonge avec des tonnes de choses \u00e0 faire. C\u2019est la meilleure fa\u00e7on de se d\u00e9courager et de se sentir d\u00e9bord\u00e9.</p>\n<p>Face \u00e0 ce type de liste, on a le <a href=\"https://temps-action.com/manque-de-temps\">sentiment d\u2019avoir trop de t\u00e2ches \u00e0 faire</a>. Alors forc\u00e9ment, on est d\u00e9courag\u00e9. Et on laisse tra\u00eener.</p>\n<p>Pour y rem\u00e9dier, il nous faut une <strong>m\u00e9thode</strong> :</p>\n<ol><li><strong>simple et rapide</strong> \u00e0 pratiquer jour apr\u00e8s jour,</li>\n<li>qui permet de <strong>trier</strong> ce qui est important de ce qui fait perdre du temps.</li>\n</ol><h2>La m\u00e9thode expresso en 4 \u00e9tapes</h2>\n<p>Pr\u00e9requis : faites-vous couler un bon caf\u00e9.</p>\n<h3>\u00c9tape\u00a01 : Noter</h3>\n<p>Commencez par <strong>noter toutes les t\u00e2ches</strong> que vous avez en t\u00eate, tout ce que vous devez faire.</p>\n<p>Cela devrait vous venir rapidement. Lorsque qu\u2019on commence \u00e0 \u00e9crire les premi\u00e8res t\u00e2ches, les autres suivent facilement comme les wagons d\u2019un train de marchandises.</p>\n<p>Utilisez des verbes d\u2019action, des intitul\u00e9s qui am\u00e8nent un <strong>r\u00e9sultat</strong> et qui vous poussent \u00e0 agir : contacter, r\u00e9diger, noter, consulter\u2026</p>\n<p>Par exemple :</p>\n<ul><li>R\u00e9diger le plan du rapport d\u2019audience d\u2019octobre 2015</li>\n<li>Contacter Julie pour prendre rendez-vous</li>\n<li>Enregistrer la premi\u00e8re le\u00e7on de la formation X</li>\n<li>Vider le premier tiroir du bureau et trier les documents</li>\n<li>Trouver 3 id\u00e9es de titre pour le prochain article</li>\n</ul><p>Retenez qu\u2019une t\u00e2ches doit \u00eatre <strong>rapide \u00e0 faire</strong> et on doit comprendre tout de suite le r\u00e9sultat demand\u00e9.</p>\n<p>Je vous sugg\u00e8re d\u2019\u00e9tablir votre petite liste le matin, au d\u00e9but de votre journ\u00e9e.</p>\n<p>Si pendant la journ\u00e9e, de nouvelles t\u00e2ches vous arrivent, pensez \u00e0 les noter \u00e9galement.</p>\n<h3>\u00c9tape 2 : Clarifier</h3>\n<p>Maintenant, concentrez-vous et <strong>posez-vous la question</strong> suivante :</p>\n<blockquote>\n<p class=\"c3\">Que dois-je faire aujourd\u2019hui absolument ?</p>\n</blockquote>\n<p>L\u00e0 encore, le choix devrait s\u2019imposer rapidement \u00e0 vous, car vous faites <strong>l\u2019effort</strong> de vous poser la question.</p>\n<p><strong>Dessinez une croix devant ces t\u00e2ches</strong>. Le nombre de t\u00e2ches que vous choisirez d\u00e9pend de leur complexit\u00e9.</p>\n<p>Si vous devez entreprendre des activit\u00e9s intellectuelles qui demandent un niveau \u00e9lev\u00e9 de concentration et d\u2019attention, vous n\u2019en aurez probablement que 2 ou 3.</p>\n<p>Quoi qu\u2019il en soit, je vous conseille de ne pas d\u00e9passer <strong>5 t\u00e2ches</strong> par jour. Vous serez plus concentr\u00e9, et vous focaliserez votre attention sur le plus important.</p>\n<p>Encore une fois, s\u00e9lectionnez uniquement les t\u00e2ches qui DOIVENT \u00eatre faites aujourd\u2019hui.</p>\n<p>Par exemple :</p>\n<ul><li>R\u00e9diger le plan du rapport d\u2019audience d\u2019octobre 2015 <strong>\u274c</strong></li>\n<li>Contacter Julie pour prendre rendez-vous</li>\n<li>Enregistrer le premi\u00e8re le\u00e7on de la formation X \u274c</li>\n<li>Vider le premier tiroir du bureau et trier les documents</li>\n<li>Trouver 3 id\u00e9es de titre pour le prochain article \u274c</li>\n</ul><h3>\u00c9tape 3 : Num\u00e9roter</h3>\n<p>L\u2019\u00e9tape 3 consiste \u00e0 <strong>num\u00e9roter les t\u00e2ches</strong> que vous avez soulign\u00e9 par ordre de <strong>priorit\u00e9</strong>.</p>\n<p>Mettez 1 devant la t\u00e2che \u00e0 priorit\u00e9 maximale, 2 devant la t\u00e2che la plus importante qui suit et ainsi de suite.</p>\n<p>Par exemple :</p>\n<ul><li><strong>2</strong> R\u00e9diger le plan du rapport d\u2019audience d\u2019octobre 2015</li>\n<li>Contacter Julie pour prendre rendez-vous</li>\n<li><strong>1</strong> Enregistrer la premi\u00e8re le\u00e7on de la formation X</li>\n<li>Vider le premier tiroir du bureau et trier les documents</li>\n<li><strong>3</strong> Trouver 3 id\u00e9es de titre pour le prochain article</li>\n</ul><h3>\u00c9tape 4 : Prioriser</h3>\n<p><strong>Recopiez</strong> votre liste simplifi\u00e9e au propre dans <strong>l\u2019ordre des num\u00e9ros</strong>.</p>\n<p>Par exemple :</p>\n<ol><li>Enregistrer la premi\u00e8re le\u00e7on de la formation X</li>\n<li>R\u00e9diger le plan du rapport d\u2019audience d\u2019octobre 2015</li>\n<li>Trouver 3 id\u00e9es de titre pour le prochain article</li>\n</ol><p>Votre liste contient l\u2019<strong>essentiel</strong>. Ignorez le reste, concentrez-vous sur ces priorit\u00e9s.</p>\n<p>Commencez par la t\u00e2che num\u00e9ro 1. Oubliez le reste de la liste pour le moment.</p>\n<p>Puis ex\u00e9cutez les autres <strong>une par une</strong>, au fur et \u00e0 mesure.</p>\n<p>Et en ce qui concerne le reste des t\u00e2ches non num\u00e9rot\u00e9es de votre liste compl\u00e8te ? Vous le ferez apr\u00e8s, demain ou dans les jours \u00e0 venir, si vous avez le temps.</p>\n<p>Gardez votre liste compl\u00e8te, o\u00f9 vous avez not\u00e9 toutes les t\u00e2ches. Barrez celles qui sont faites au fil de la journ\u00e9e.</p>\n<p>Demain matin, faites une nouvelle liste de priorit\u00e9s.</p>\n<h2>Int\u00e9grez cette d\u00e9marche dans votre vie</h2>\n<p>\u00c7a peut vous para\u00eetre long comme \u00e7a mais en r\u00e9alit\u00e9 c\u2019est tr\u00e8s rapide \u00e0 faire.</p>\n<p>Plus vous le ferez, plus cela viendra de fa\u00e7on naturelle et intuitive. Faites en <strong>une habitude</strong> comme le geste de vous servir un caf\u00e9 chaud le matin.</p>\n<p>Pensez au d\u00e9but \u00e0 bien vous poser la question \u00e0 l\u2019\u00e9tape num\u00e9ro 2 pour vous assurer de faire un choix logique et objectif.</p>\n<p>Avec un peu de pratique, la s\u00e9lection des t\u00e2ches de la journ\u00e9e ne vous prendra qu\u2019<strong>une poign\u00e9e de secondes</strong>, tout comme la num\u00e9rotation de vos priorit\u00e9s.</p>\n<p>En pr\u00e9parant votre journ\u00e9e de cette fa\u00e7on, vous devenez plus \u00e0 l\u2019aise face \u00e0 l\u2019impr\u00e9vu.</p>\n<p>Si une t\u00e2che nouvelle vous arrive pendant la journ\u00e9e, vous savez si vous devez la traiter tout de suite ou si ce n\u2019est pas une priorit\u00e9.</p>\n<p>Vous \u00eates libre de changer les num\u00e9ros de vos t\u00e2ches et rester flexible selon leur \u00e9volution.</p>\n<p>Vous pouvez <strong>aller plus loin</strong> avec cette technique et l\u2019utiliser pour planifier votre semaine \u00e0 l\u2019avance en suivant le m\u00eame mod\u00e8le.</p>\n<p>Ou encore pour pr\u00e9parer votre liste la veille et profiter du sommeil pour commencer le travail de fa\u00e7on inconsciente. En effet, le cerveau trie, organise et pr\u00e9pare le terrain pendant qu\u2019on dort.</p>\n<p>Enfin, vous pouvez utiliser une application de gestion de t\u00e2ches qui permet de le faire de fa\u00e7on encore plus simple et plus rapide.</p>\n<p>Cette m\u00e9thode peut v\u00e9ritablement vous faire gagner des heures chaque semaine.</p>\n<p>Essayez-l\u00e0 !</p>\n<h3><strong>PDF Bonus</strong></h3>\n<p><strong>T\u00e9l\u00e9chargez la fiche action gratuite</strong> qui vous montre comment organiser votre journ\u00e9e le temps d\u2019un caf\u00e9 (m\u00eame si vos priorit\u00e9s sont floues aujourd\u2019hui et que\u00a0vous ne savez pas par o\u00f9 commencer).</p>",
    "created_at": "2023-07-25T11:52:13+00:00",
    "updated_at": "2023-07-25T11:52:31+00:00",
    "published_by": [""],
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr_FR",
    "reading_time": 7,
    "domain_name": "temps-action.com",
    "preview_picture": "https://temps-action.com/wp-content/uploads/2011/11/organiser-sa-journee-de-travail.png",
    "http_status": "200",
    "headers": {
      "date": "Tue, 25 Jul 2023 11:52:12 GMT",
      "server": "Apache",
      "last-modified": "Tue, 25 Jul 2023 11:50:30 GMT",
      "strict-transport-security": "max-age=16000000",
      "upgrade": "h2",
      "connection": "Upgrade",
      "vary": "Accept-Encoding",
      "transfer-encoding": "chunked",
      "content-type": "text/html; charset=UTF-8"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["organisation", "projects", "files"],
    "is_public": false,
    "id": 58,
    "title": "Comment classer ses documents sur ordinateur: M\u00e9thode Simple",
    "url": "https://temps-action.com/classer-ses-documents-sur-ordinateur",
    "given_url": "https://temps-action.com/classer-ses-documents-sur-ordinateur",
    "content": "<p><em>Article invit\u00e9 de Gabriel Manceau, d\u2019apr\u00e8s la <a href=\"https://www.asianefficiency.com/organization/organize-your-files-folders-documents/\" target=\"_blank\" rel=\"noopener noreferrer\">publication originale d\u2019Asian Efficiency</a>.</em></p><p>Si vous lisez ces lignes, c\u2019est sans doute parce que les documents de votre ordinateur sont mal organis\u00e9s.</p><p>Au point de vous faire des n\u0153uds au cerveau. Et de plomber votre productivit\u00e9.</p><p>Savoir comment classer ses dossiers et fichiers sur PC ou Mac fait partie des bases pour <a title=\"4 pratiques indispensables pour une efficacit\u00e9 maximale\" href=\"https://temps-action.com/efficacite-maximale\">gagner en efficacit\u00e9</a>.</p><p>Alors si vous perdez un temps fou \u00e0 chercher vos documents noy\u00e9s dans une arborescence tentaculaire et sans logique, pas de panique.</p><p>Je suis aussi pass\u00e9 par l\u00e0.</p><p>J\u2019ai appris de mes erreurs.</p><p>Et j\u2019ai pu go\u00fbter au plaisir immense d\u2019avoir chaque chose \u00e0 sa place.</p><p>Et de trouver ce que je cherchais en quelques clics.</p><p>Il en sera de m\u00eame pour vous apr\u00e8s la lecture de cet article.</p><p><strong>Webinaire Gratuit :</strong> <a href=\"https://go.matthieudesroches.com/masterclass-organisation?sa=saba72b7cee71886f780753a0195111f50\" target=\"_blank\">R\u00e9servez votre place ici</a> pour d\u00e9couvrir comment g\u00e9rer tout votre quotidien et organiser vos t\u00e2ches, documents, fichiers et projets.</p><h2>Comment la technologie nous a donn\u00e9 de mauvaises habitudes</h2><p>\u00c0 l\u2019\u00e9poque du \u00ab\u00a0<a title=\"Comment s\u2019organiser avec un Bullet Journal : tuto pas \u00e0 pas\" href=\"https://temps-action.com/bullet-journal\">tout papier</a>\u00ab\u00a0, il \u00e9tait essentiel de <a title=\"G\u00e9rer l\u2019information qui nous parvient \u2013 Etape 2 : Les documents papier\" href=\"https://temps-action.com/gerer-l-information-qui-nous-parvient-etape-2-les-documents-papier\">bien classer ses documents</a> pour pouvoir les retrouver facilement.</p><p>Avec l\u2019arriv\u00e9e des ordinateurs, des moteurs de recherche internes et du stockage dans le cloud, nous avons peut-\u00eatre pens\u00e9 que la technologie rangerait tout \u00e0 notre place.</p><p>Et que quoi qu\u2019il arrive, \u00ab\u00a0on finira bien par le trouver.\u00a0\u00bb</p><ul><li>Premier constat : quand on veut \u00eatre plus productif, organiser ses documents est aussi important qu\u2019<a title=\"La m\u00e9thode expresso : Comment organiser sa journ\u00e9e de travail le temps d\u2019un caf\u00e9\" href=\"https://temps-action.com/organiser-sa-journee-de-travail\">organiser sa journ\u00e9e de travail</a>.</li>\n<li>Deuxi\u00e8me constat : <a title=\"3 pi\u00e8ges courants qui sabotent votre organisation personnelle\" href=\"https://temps-action.com/pieges-organisation-personnelle\">une mauvaise organisation</a> reste une mauvaise organisation, qu\u2019elle soit physique ou num\u00e9rique.</li>\n<li>Troisi\u00e8me constat : plus vous \u00eates d\u00e9sorganis\u00e9, plus il est difficile de revenir en arri\u00e8re. \u00ab\u00a0<a title=\"10 trucs surprenants pour stopper vos envies effr\u00e9n\u00e9es de procrastiner\" href=\"https://temps-action.com/envie-de-procrastiner\">Je rangerais \u00e7a plus tard</a>\u00ab\u00a0, \u00e7a vous parle ?</li>\n</ul><p>C\u2019est typiquement le genre de choses que l\u2019on sait devoir faire, mais que l\u2019on n\u2019a <a title=\"Beaucoup de choses \u00e0 faire mais rien envie de faire ? Voici comment changer la donne :\" href=\"https://temps-action.com/beaucoup-de-choses-a-faire-mais-rien-envie-de-faire-regardez\">jamais envie de faire</a>.</p><p>Cette spirale infernale prend fin aujourd\u2019hui pour vous. Fini les heures perdues \u00e0 chercher vos documents dans un chaos sans nom.</p><p>Je vais vous montrer point par point comment organiser tous les fichiers de votre PC ou Mac de fa\u00e7on simple et pertinente.</p><h2>Les 3 objectifs d\u2019un bon syst\u00e8me d\u2019organisation</h2><p>Au risque de vous d\u00e9cevoir, le syst\u00e8me d\u2019organisation parfait n\u2019existe pas.</p><p>Chaque personne est diff\u00e9rente. \u00a0Et ce qui fonctionne bien pour vous ne conviendra pas forc\u00e9ment \u00e0 tout le monde.</p><p>Le but de cet article est donc de prendre les conseils que je vais vous donner et de les adapter pour cr\u00e9er votre syst\u00e8me d\u2019organisation id\u00e9al.</p><p>Dans <a title=\"Todo list (liste de t\u00e2ches) : le guide complet pour viser la clart\u00e9, le contr\u00f4le et l\u2019efficacit\u00e9\" href=\"https://temps-action.com/todo-list\">un bon syst\u00e8me d\u2019organisation</a>, les fichiers doivent \u00eatre :</p><ol><li><strong>Facile \u00e0 ranger</strong> : vous ne voulez pas d\u2019un syst\u00e8me de rangement compliqu\u00e9 et tentaculaire. Le but est de pouvoir tout classer en un clin d\u2019\u0153il, gr\u00e2ce \u00e0 des noms de dossiers uniques et le minimum de niveaux dans l\u2019arborescence.</li>\n<li><strong>Facile \u00e0 trouver</strong> : que ce soit en cliquant sur les dossiers ou en utilisant la fonction recherche de votre ordinateur. Vous voulez pouvoir trouver n\u2019importe quoi en un temps record. C\u2019est en nommant correctement les dossiers que vous y arriverez.</li>\n<li><strong>R\u00e9utilisable</strong> : avoir la possibilit\u00e9 de r\u00e9utiliser des mod\u00e8les et syst\u00e8mes de rangement \u00e0 la demande.</li>\n</ol><p>Une derni\u00e8re chose importante : <strong>ne vous mettez pas la pression</strong> ! Votre syst\u00e8me n\u2019a pas \u00e0 \u00eatre parfait. Comme j\u2019aime le dire, \u201c<a title=\"Le plan en 3 \u00e9tapes pour sortir du perfectionnisme\" href=\"https://temps-action.com/de-bonnes-nouvelles-pour-les-perfectionnistes\">fait est mieux que parfait.</a>\u201d</p><p>Donc commencez \u00e0 cr\u00e9er votre propre structure de rangement et am\u00e9liorez-l\u00e0 au fur et \u00e0 mesure.</p><h2>Les principes d\u2019un bon syst\u00e8me de rangement</h2><p>Commen\u00e7ons avec quelques r\u00e8gles de bases que vous n\u2019appliquez peut-\u00eatre pas encore :</p><h3>Ne pas mettre de fichiers sur le bureau</h3><p>Comment \u00e7a vous avez 50 fichiers sur votre bureau ? \ud83d\ude04</p><p>Celui-ci devrait rester super propre avec juste un beau fond d\u2019\u00e9cran et la corbeille. Point.</p><p><img class=\"aligncenter wp-image-11402\" src=\"https://temps-action.com/wp-content/uploads/2019/02/fond-ecran-bureau-ordinateur.png\" alt=\"Ecran de bureau d'ordinateur \u00e9pur\u00e9\" width=\"750\" height=\"422\" srcset=\"https://temps-action.com/wp-content/uploads/2019/02/fond-ecran-bureau-ordinateur.png 1600w, https://temps-action.com/wp-content/uploads/2019/02/fond-ecran-bureau-ordinateur-300x169.png 300w, https://temps-action.com/wp-content/uploads/2019/02/fond-ecran-bureau-ordinateur-768x432.png 768w, https://temps-action.com/wp-content/uploads/2019/02/fond-ecran-bureau-ordinateur-1024x576.png 1024w\" referrerpolicy=\"no-referrer\" /></p><p class=\"c2\"><em>Bureau \u00e9pur\u00e9 = plus de constellations de fichiers qui donnent mal \u00e0 la t\u00eate</em></p><p>Des documents peuvent appara\u00eetre sur votre bureau si et seulement si c\u2019est temporaire.</p><p>Soit il ne font que transiter car vous avez copier des fichiers \u00e0 la va-vite depuis un disque dur externe par exemple.</p><p>Soit vous n\u2019allez pas les stocker sur votre ordinateur et ils ne sont l\u00e0 que bri\u00e8vement avant de finir dans la corbeille.</p><h3>Limiter la cr\u00e9ation de dossiers</h3><p>Restez minimaliste.</p><p>Si vous faites un bon travail de hi\u00e9rarchisation au pr\u00e9alable (j\u2019y viens dans un instant), la plupart des documents pourront \u00eatre rang\u00e9s dans votre syst\u00e8me de classement existant.</p><p>La cr\u00e9ation de nouveaux dossiers (ou r\u00e9pertoires informatiques) s\u2019impose lorsque vous sauvez toujours le m\u00eame type de fichiers, mais \u00e0 des fins diff\u00e9rentes.</p><p>Si par exemple vous d\u00e9cidez de vous mettre \u00e0 r\u00e9diger des articles pour d\u2019autres sites internet que le v\u00f4tre, vous pouvez cr\u00e9er un nouveau sous-dossier \u201carticles invit\u00e9s\u201d dans votre dossier \u201carticles\u201d de cette fa\u00e7on :</p><ul><li class=\"c3\">Professionnel &gt; Mon site &gt; Articles &gt; Articles invit\u00e9s</li>\n</ul><p>Cela vous permet de faire la distinction. Et ne pas avoir \u00e0 vous souvenir quel article est sur votre site ou non.</p><p>M\u00eame chose si vous trouvez un nouveau partenaires d\u2019affaires. Ou encore si vous changez d\u2019op\u00e9rateur t\u00e9l\u00e9phonique par exemple.</p><p>Mais gardez \u00e0 l\u2019esprit de limiter le nombre de niveaux. \u00c7a vous obligera \u00e0 cr\u00e9er des noms de dossiers qui ont plus de sens. Et vous gagnerez un temps pr\u00e9cieux au quotidien pour trouver vos documents.</p><p>\u00c7a n\u2019a l\u2019air de rien, mais quelques secondes pass\u00e9es chaque jour \u00e0 trouver vos fichiers se transforment en plusieurs jours de perdus \u00e0 la fin de l\u2019ann\u00e9e.</p><p>Sans compter la r\u00e9p\u00e9tition des petites manipulations laborieuses engendr\u00e9es en cherchant un document.</p><h3>Nommer les fichiers et dossiers de mani\u00e8re strat\u00e9gique</h3><p>C\u2019est essentiel si vous voulez que vos documents soient \u00ab\u00a0facile \u00e0 trouver.\u00a0\u00bb</p><p>Et pour \u00e7a, il va falloir s\u2019appliquer et faire preuve de bon sens.</p><p>Tout le monde a sa mani\u00e8re de penser et de chercher des dossiers. Songez donc \u00e0 la fa\u00e7on dont vous cherchez les documents, pour pouvoir les retrouver facilement plus tard.</p><p>Exemple : si vous cherchez une facture t\u00e9l\u00e9phonique sur votre ordinateur, ne l\u2019appelez pas juste \u00ab\u00a0facture.pdf\u00a0\u00bb ou m\u00eame \u00ab\u00a0facture septembre.pdf\u00a0\u00bb.</p><p>C\u2019est trop vague.</p><p>Une bonne mani\u00e8re de la nommer serait :</p><ul><li>Par date (je cherche la facture de septembre 2017)</li>\n<li>Par op\u00e9rateur (je cherche la facture SFR)</li>\n<li>Par type de document (je cherche une facture)</li>\n</ul><p>M\u00eame si vous avez cr\u00e9\u00e9 un dossier \u00ab\u00a0SFR\u00a0\u00bb, je vous conseille de le r\u00e9p\u00e9ter dans le nom du fichier. Cela facilitera le travail du moteur de recherche de votre ordinateur, et le v\u00f4tre.</p><p>Un bon nom de fichier serait donc \u00ab\u00a0Septembre 2017 SFR Facture.pdf.\u00a0\u00bb</p><p>C\u2019est d\u00e9j\u00e0 beaucoup mieux ! Mais vous pouvez aller plus loin avec vos fichiers dat\u00e9s. Car votre ordinateur suit une logique qui n\u2019est pas forc\u00e9ment la v\u00f4tre.</p><h3>La logique num\u00e9rique pour le classement informatique</h3><p>Regardez. J\u2019ai class\u00e9 ci-dessous mes fichiers avec la date en chiffres et en version fran\u00e7aise (mois \u2013 ann\u00e9e) :</p><p><img class=\"aligncenter wp-image-11404\" src=\"https://temps-action.com/wp-content/uploads/2019/02/classement-errone-des-fichiers-informatiques.png\" alt=\"Classement erron\u00e9 des fichiers dat\u00e9s sur Windows\" width=\"630\" height=\"373\" srcset=\"https://temps-action.com/wp-content/uploads/2019/02/classement-errone-des-fichiers-informatiques.png 523w, https://temps-action.com/wp-content/uploads/2019/02/classement-errone-des-fichiers-informatiques-300x178.png 300w\" referrerpolicy=\"no-referrer\" /></p><p>Le probl\u00e8me ? Le fichier d\u2019ao\u00fbt 2018 se retrouve avant septembre 2017 dans la chronologie. Pas top.</p><p>Pour les fichiers dat\u00e9s, votre pc vous donnera le bon classement en suivant la nomenclature am\u00e9ricaine : <strong>Ann\u00e9e \u2013 Mois \u2013 Jour</strong>. Le tout en chiffres :</p><p><img class=\"aligncenter wp-image-11405\" src=\"https://temps-action.com/wp-content/uploads/2019/02/classement-des-fichiers-informatiques-dates.png\" alt=\"Classement des fichiers informatiques dat\u00e9s\" width=\"600\" height=\"396\" srcset=\"https://temps-action.com/wp-content/uploads/2019/02/classement-des-fichiers-informatiques-dates.png 526w, https://temps-action.com/wp-content/uploads/2019/02/classement-des-fichiers-informatiques-dates-300x198.png 300w\" referrerpolicy=\"no-referrer\" /></p><p>Et si vos dossiers ne sont pas class\u00e9s par date mais que vous voulez tout de m\u00eame cr\u00e9er un ordre pr\u00e9cis, rien de plus simple. Indiquez simplement un num\u00e9ro devant le nom de dossier :</p><p><img class=\"aligncenter wp-image-11407\" src=\"https://temps-action.com/wp-content/uploads/2019/02/classement-chronologique-des-dossiers-informatiques.png\" alt=\"Classement dans l'ordre chronologique des dossiers informatiques\" width=\"750\" height=\"290\" srcset=\"https://temps-action.com/wp-content/uploads/2019/02/classement-chronologique-des-dossiers-informatiques.png 751w, https://temps-action.com/wp-content/uploads/2019/02/classement-chronologique-des-dossiers-informatiques-300x116.png 300w, https://temps-action.com/wp-content/uploads/2019/02/classement-chronologique-des-dossiers-informatiques-750x290.png 750w\" referrerpolicy=\"no-referrer\" /></p><p class=\"c2\"><em>M\u00e9thode de classement des dossiers informatiques dans l\u2019ordre chronologique</em></p><p>Bref, dossiers ou fichiers, m\u00eame consigne. Donnez leur un titre pr\u00e9cis pour faciliter la recherche et comprendre tout de suite ce dont il s\u2019agit.</p><h2>Comment organiser vos documents</h2><p>Sur Mac ou Windows, les documents se pr\u00e9sentent, \u00e0 quelques d\u00e9tails pr\u00e8s, de cette mani\u00e8re : Utilisateur/Documents.</p><p>Si vous utilisez votre ordinateur \u00e0 la fois \u00e0 des fins personnelles et professionnelles, je vous conseille de commencer avec la structure suivante :</p><ul><li>/Documents/Professionnel</li>\n<li>/Documents/Personnel</li>\n</ul><p>Si vous utilisez Google Drive (ou tout autre service de stockage en ligne), cela se pr\u00e9sente de la m\u00eame mani\u00e8re :</p><ul><li>/Google Drive/Professionnel</li>\n<li>/Google Drive/Personnel</li>\n</ul><p>Maintenant que vous avez s\u00e9par\u00e9 votre vie perso et pro, le reste de l\u2019arborescence d\u00e9pend de la mani\u00e8re dont vous voyez les diff\u00e9rents \u00ab\u00a0compartiments\u00a0\u00bb de votre vie.</p><p>Voici quelques exemples :</p><ul><li>/Documents/Personnel/Sant\u00e9</li>\n<li>/Documents/Personnel/Maison</li>\n<li>/Documents/Personnel/Finances</li>\n<li>/Documents/Personnel/Social</li>\n<li>/Documents/Personnel/Voyages</li>\n<li>/Documents/Personnel/Famille</li>\n</ul><p>A vous de trouver la mani\u00e8re qui vous semble logique pour cr\u00e9er des dossiers qui correspondent aux diff\u00e9rents aspects de votre vie personnelle et professionnelle.</p><p>D\u00e9marrez avec les dossiers principaux qui serviront de base \u00e0 tout le reste. Vous pourrez ensuite ajouter des sous-dossiers \u00e0 l\u2019int\u00e9rieur de fa\u00e7on \u00e0 regrouper vos documents de fa\u00e7on logique.</p><p>Par exemple :</p><ul><li>/Personnel/Maison <strong>(dossier principal)</strong>\n<ul><li>/Internet <strong>(sous-dossier)</strong></li>\n<li>/Eau</li>\n<li>/Electricit\u00e9</li>\n<li>/Entretien</li>\n<li>/Notaire</li>\n</ul></li>\n</ul><div class=\"thrivecb light shnd\"><strong>Note :</strong>Comme l\u2019a indiqu\u00e9 Alain dans les commentaires, pensez \u00e0 cr\u00e9er votre arborescence de dossiers \u00e0 partir de OS (C:) comme ci-dessous :<p><img class=\"aligncenter wp-image-11447 size-full\" src=\"https://temps-action.com/wp-content/uploads/2019/02/creation-dossiers-informatiques-depuis-C.png\" alt=\"\" width=\"688\" height=\"278\" srcset=\"https://temps-action.com/wp-content/uploads/2019/02/creation-dossiers-informatiques-depuis-C.png 688w, https://temps-action.com/wp-content/uploads/2019/02/creation-dossiers-informatiques-depuis-C-300x121.png 300w, https://temps-action.com/wp-content/uploads/2019/02/creation-dossiers-informatiques-depuis-C-250x100.png 250w\" referrerpolicy=\"no-referrer\" /></p><p>Cela vous \u00e9vitera de perdre vos donn\u00e9es si vous deviez r\u00e9installer Windows et que vous n\u2019aviez pas fait de sauvegarde.</p><p>Pour vos dossiers Google Drive, aucun souci. Une fois param\u00e9tr\u00e9s, vos documents sont sauvegard\u00e9s d\u2019office dans votre compte en ligne.</p></div><h3>Organiser vos documents professionnels</h3><p>De la m\u00eame mani\u00e8re que pour les documents personnels, la partie professionnelle doit r\u00e9pondre \u00e0 une certaine logique en fonction de votre activit\u00e9.</p><p>Si vous \u00eates dans une grosse entreprise avec un syst\u00e8me d\u00e9j\u00e0 en place, vous n\u2019aurez g\u00e9n\u00e9ralement pas la main dessus.</p><p>Si l\u2019entreprise est plus petite, vous pouvez envisager d\u2019organiser un brainstorming sur la meilleure mani\u00e8re pour tous d\u2019organiser les dossiers et trouver les fichiers facilement.</p><p>Si vous travaillez localement avec vos propres dossiers sans passer par le serveur partag\u00e9 d\u2019une entreprise, vous avez carte blanche pour vous organiser.</p><p>Voici un exemple qui pourrait fonctionner :</p><ul><li>/Projet 1</li>\n<li>/Projet 1/brainstorming</li>\n<li>/Projet 1/planning</li>\n<li>/Projet 1/marketing</li>\n<li>/Projet 2</li>\n<li>/Projet 3</li>\n<li>/Archives</li>\n</ul><p>Organisez vos sous-dossiers en fonction des types de t\u00e2ches \u00e0 effectuer pour un projet. Ou des diff\u00e9rents intervenants par exemple (sous-traitants, partenaires, banquier, clients\u2026).</p><p>Le mieux est peut-\u00eatre de commencer sur une feuille de papier.</p><p>Notez tous les projets sur lesquels vous travaillez et les t\u00e2ches que vous effectuez au quotidien.</p><p>Cela vous aidera \u00e0 regrouper logiquement les activit\u00e9s et cr\u00e9er les dossiers correspondants.</p><p>Vous pouvez aussi cr\u00e9er une mindmap \u00e0 l\u2019aide d\u2019outils comme <a href=\"https://www.mindjet.com/mindmanager/\" target=\"_blank\" rel=\"noopener noreferrer\">MindManager</a> ou\u00a0<a href=\"https://www.mindmeister.com/fr\" target=\"_blank\" rel=\"noopener noreferrer\">Mindmeister</a>. Ou sur papier pour vous aider \u00e0 visualiser et ordonner au mieux votre classement.</p><p><img class=\"aligncenter wp-image-11406\" src=\"https://temps-action.com/wp-content/uploads/2019/02/Mindmap-conception-design.jpg\" alt=\"Mind Map designer freelance\" width=\"750\" height=\"460\" srcset=\"https://temps-action.com/wp-content/uploads/2019/02/Mindmap-conception-design.jpg 883w, https://temps-action.com/wp-content/uploads/2019/02/Mindmap-conception-design-300x184.jpg 300w, https://temps-action.com/wp-content/uploads/2019/02/Mindmap-conception-design-768x471.jpg 768w\" referrerpolicy=\"no-referrer\" /></p><p class=\"c2\"><em>Exemple de Mind Map pour une activit\u00e9 de Designer Freelance</em></p><p>Encore une fois, l\u2019essentiel est que cela soit parfaitement logique pour vous.</p><div class=\"icb icb1 blue icb-i\"><p><strong>Note :</strong> Si vous n\u2019utilisez pas de service en ligne pour stocker vos documents num\u00e9riques, assurez-vous de programmer une sauvegarde r\u00e9guli\u00e8re dans votre agenda.</p><p>Selon la fr\u00e9quence de modification ou de cr\u00e9ation de nouveaux fichiers, vous pouvez opter pour une sauvegarde hebdomadaire ou mensuelle sur un disque dur externe.</p></div><h3>Cr\u00e9er des mod\u00e8les de dossiers</h3><p>Au fur et \u00e0 mesure, vous allez apprivoiser votre organisation et vous rendre compte que vous utilisez souvent les m\u00eames dossiers et sous-dossiers.</p><p>C\u2019est peut-\u00eatre le moment de cr\u00e9er un dossier avec tous vos mod\u00e8les de dossier dedans, pour pouvoir les copier et les coller facilement en cas de besoin.</p><p>Les avantages :</p><ul><li>Vous allez gagner du temps sur la cr\u00e9ation de dossiers qui seront d\u00e9j\u00e0 pr\u00eats.</li>\n<li>Vous gardez une coh\u00e9rence dans l\u2019ensemble de vos dossiers qui garderont la m\u00eame structure.</li>\n</ul><p><strong>Un exemple ?</strong> Si votre activit\u00e9 consiste \u00e0 cr\u00e9er des produits num\u00e9riques, vous pouvez cr\u00e9er un mod\u00e8le de dossier appel\u00e9 \u201cProduit [Nom-du-produit]\u00a0\u00bb :</p><p><img class=\"aligncenter wp-image-11408 size-full\" src=\"https://temps-action.com/wp-content/uploads/2019/02/Modele-de-dossier.png\" alt=\"Mod\u00e8le de dossier pr\u00eat \u00e0 l'emploi\" width=\"548\" height=\"258\" srcset=\"https://temps-action.com/wp-content/uploads/2019/02/Modele-de-dossier.png 548w, https://temps-action.com/wp-content/uploads/2019/02/Modele-de-dossier-300x141.png 300w\" referrerpolicy=\"no-referrer\" /></p><p>Puis d\u00e9cliner chaque nouveau produit de la sorte :</p><p><img class=\"aligncenter wp-image-11409 size-full\" src=\"https://temps-action.com/wp-content/uploads/2019/02/modele-de-classement-des-dossiers-informatiques.png\" alt=\"Mod\u00e8le de sous-dossiers r\u00e9utilisables\" width=\"564\" height=\"333\" srcset=\"https://temps-action.com/wp-content/uploads/2019/02/modele-de-classement-des-dossiers-informatiques.png 564w, https://temps-action.com/wp-content/uploads/2019/02/modele-de-classement-des-dossiers-informatiques-300x177.png 300w\" referrerpolicy=\"no-referrer\" /></p><p>Ainsi, vous aurez juste \u00e0 copier-coller le dossier /Produit [Nom-du-produit] d\u00e8s la cr\u00e9ation d\u2019un nouveau produit. Pratique.</p><p>\u00c9videmment, le but est ensuite d\u2019affiner tout \u00e7a au fur et \u00e0 mesure pour avoir l\u2019organisation id\u00e9ale pour vous.</p><h3>Les raccourcis sont vos amis</h3><p>Que ce soit avec le Finder d\u2019un Mac ou l\u2019Explorateur de fichiers sur Windows, vous pouvez glisser et d\u00e9poser les dossiers que vous utilisez tout le temps dans la barre d\u2019acc\u00e8s rapide.</p><p><img class=\"aligncenter wp-image-11410\" src=\"https://temps-action.com/wp-content/uploads/2019/02/Glisse-depose-dossiers-barre-action-rapide.png\" alt=\"Gliss\u00e9 d\u00e9pos\u00e9 un dossier dans la barre d'acc\u00e8s rapide\" width=\"750\" height=\"422\" srcset=\"https://temps-action.com/wp-content/uploads/2019/02/Glisse-depose-dossiers-barre-action-rapide.png 1600w, https://temps-action.com/wp-content/uploads/2019/02/Glisse-depose-dossiers-barre-action-rapide-300x169.png 300w, https://temps-action.com/wp-content/uploads/2019/02/Glisse-depose-dossiers-barre-action-rapide-768x432.png 768w, https://temps-action.com/wp-content/uploads/2019/02/Glisse-depose-dossiers-barre-action-rapide-1024x576.png 1024w\" referrerpolicy=\"no-referrer\" /></p><p class=\"c2\"><em>Glisser d\u00e9poser d\u2019un dossier depuis l\u2019explorateur Windows vers la barre des t\u00e2ches</em></p><p>Une fois ajout\u00e9, faites simplement un clic droit sur l\u2019ic\u00f4ne dossier qui se trouve maintenant dans la barre des t\u00e2ches. Vous verrez alors appara\u00eetre le raccourci (ici \u201cArticles invit\u00e9s\u201d) que vous venez de cr\u00e9er.</p><p><img class=\"aligncenter wp-image-11411\" src=\"https://temps-action.com/wp-content/uploads/2019/02/raccourci-dossier-barre-des-taches.png\" alt=\"Raccourci de dossier dans la barre des t\u00e2ches\" width=\"750\" height=\"422\" srcset=\"https://temps-action.com/wp-content/uploads/2019/02/raccourci-dossier-barre-des-taches.png 1600w, https://temps-action.com/wp-content/uploads/2019/02/raccourci-dossier-barre-des-taches-300x169.png 300w, https://temps-action.com/wp-content/uploads/2019/02/raccourci-dossier-barre-des-taches-768x432.png 768w, https://temps-action.com/wp-content/uploads/2019/02/raccourci-dossier-barre-des-taches-1024x576.png 1024w\" referrerpolicy=\"no-referrer\" /></p><p>Cela vous permet d\u2019\u00eatre \u00e0 seulement un clic des dossiers que vous utilisez le plus sans avoir \u00e0 aller les chercher.</p><p>Et si ce n\u2019est qu\u2019un projet temporaire, rien ne vous emp\u00eache ensuite de le supprimer.</p><p>En compl\u00e9ment, vous pouvez bien s\u00fbr utiliser la fonction recherche de votre ordinateur pour trouver un document rapidement :</p><ul><li>Sur PC, un simple clic sur la touche \u201cwindows\u201d permet d\u2019activer la barre de recherche.</li>\n<li>Sur Mac, utilisez le raccourci clavier \u201cCommande (Cmd) + barre d\u2019espace.\u201d</li>\n</ul><p>Mais il existe des outils de recherche plus puissants.</p><h3>Doper les fonctionnalit\u00e9s de votre ordinateur</h3><p>Pour aller plus loin dans l\u2019acc\u00e8s et la recherche hyper rapide de tous les fichiers sur votre ordinateur, je vous recommande le logiciel <a href=\"https://www.listary.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Listary pour Windows</a>, et <a href=\"https://www.alfredapp.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Alfred pour Mac</a>.</p><p>Ces deux logiciels proposent un outil de recherche extr\u00eamement puissant pour trouver en quelques secondes n\u2019importe quels fichier, dossier, ou application.</p><p>Prenons Listary.</p><p>Lorsque l\u2019explorateur de fichiers est ouvert, tapez directement votre recherche, sans avoir \u00e0 cliquer nulle part au pr\u00e9alable. Un exemple ici o\u00f9 je recherche mon article sur la fameuse m\u00e9thode pomodoro en tapant simplement \u201cpomo\u201d depuis l\u2019explorateur :</p><p><img class=\"aligncenter wp-image-11412 size-full\" src=\"https://temps-action.com/wp-content/uploads/2019/02/recherche-fichier-listary-exemple-1.png\" alt=\"Commande de recherche automatique de Listary depuis le gestionnaire des t\u00e2ches\" width=\"512\" height=\"430\" srcset=\"https://temps-action.com/wp-content/uploads/2019/02/recherche-fichier-listary-exemple-1.png 512w, https://temps-action.com/wp-content/uploads/2019/02/recherche-fichier-listary-exemple-1-300x252.png 300w\" referrerpolicy=\"no-referrer\" /></p><p>Autre exemple de la puissance de Listary. Tapez deux fois sur le bouton contr\u00f4le de votre clavier \u201cCtrl + Ctrl\u201d pour voir appara\u00eetre la barre de recherche qui peut litt\u00e9ralement tout trouver sur votre ordinateur. \u00a0Des fichiers en passant par les dossiers ou les applications \u00e0 lancer.</p><p>Un exemple ici en tapant \u201cphoto\u201d :</p><p><img class=\"aligncenter wp-image-11413 size-full\" src=\"https://temps-action.com/wp-content/uploads/2019/02/recherche-fichier-listary-exemple-2.png\" alt=\"Raccourci clavier commande de recherche Listary\" width=\"512\" height=\"269\" srcset=\"https://temps-action.com/wp-content/uploads/2019/02/recherche-fichier-listary-exemple-2.png 512w, https://temps-action.com/wp-content/uploads/2019/02/recherche-fichier-listary-exemple-2-300x158.png 300w\" referrerpolicy=\"no-referrer\" /></p><p>De quoi vous faire gagner un temps pr\u00e9cieux en \u00e9vitant d\u2019avoir \u00e0 ouvrir plusieurs dossiers et sous dossiers avant de trouver le fichier ou l\u2019application voulue.</p><p>C\u2019est un peu comme avoir le moteur de recherche de Google, mais pour son ordinateur.</p><p>Et avec ses multiples fonctions activ\u00e9es par de simples commandes o\u00f9 le clic d\u2019une souris, cela rend la gestion des documents encore plus fluide.</p><h3>Les applications de sauvegarde dans le Cloud</h3><p>Un mot pour vous parler des applications de sauvegarde en ligne comme <a href=\"https://www.google.com/intl/fr/drive/\" target=\"_blank\" rel=\"noopener\">Google Drive</a>, Dropbox ou encore OneDrive que je vous recommande chaudement.</p><p>Ils offrent tous une petite capacit\u00e9 de stockage gratuite. Et les tarifs pour passer aux versions payantes sont tr\u00e8s abordables. \u00a0Entre 5 et 10 euros par mois pour 1 \u00e0 2 To d\u2019espace de stockage dans le cloud.</p><p>Avec \u00e7a, vous avez de quoi tenir.</p><p>Vous pouvez bien s\u00fbr organiser vos fichiers comme vous le faites sur votre ordinateur.</p><p>La diff\u00e9rence ? Vos documents sont disponibles o\u00f9 que vous soyez. Vous pouvez y acc\u00e9der sur votre ordinateur, mais aussi sur une tablette ou votre mobile avec l\u2019application web s\u00e9curis\u00e9e.</p><p><img class=\"aligncenter wp-image-11438\" src=\"https://temps-action.com/wp-content/uploads/2019/02/sauvegarder-des-donnees-en-ligne.png\" alt=\"synchronisation et sauvegarde des donn\u00e9es en ligne\" width=\"750\" height=\"390\" srcset=\"https://temps-action.com/wp-content/uploads/2019/02/sauvegarder-des-donnees-en-ligne.png 1280w, https://temps-action.com/wp-content/uploads/2019/02/sauvegarder-des-donnees-en-ligne-300x156.png 300w, https://temps-action.com/wp-content/uploads/2019/02/sauvegarder-des-donnees-en-ligne-768x400.png 768w, https://temps-action.com/wp-content/uploads/2019/02/sauvegarder-des-donnees-en-ligne-1024x533.png 1024w\" referrerpolicy=\"no-referrer\" /></p><p class=\"c2\"><em>Vos donn\u00e9es sont stock\u00e9es en ligne et synchronis\u00e9es sur tous vos appareils avec les applications de sauvegarde en ligne</em></p><p>Et si votre ordinateur rend l\u2019\u00e2me, vos documents sont sauvegard\u00e9s. De quoi dormir tranquille.</p><h2>Comment g\u00e9rer votre dossier \u201cT\u00e9l\u00e9chargements\u201d</h2><p>Mais si vous savez. Celui o\u00f9 vous avez t\u00e9l\u00e9charg\u00e9 tout et n\u2019importe quoi. Dont pas mal de choses que vous avez oubli\u00e9es depuis longtemps.</p><p>Chaque personne g\u00e8re \u00e7a de mani\u00e8re diff\u00e9rente. Mais j\u2019aimerais vous proposer une approche de \u201crangement\u201d un peu sp\u00e9ciale.</p><p>Vous \u00eates pr\u00eats ?</p><p>N\u2019y touchez pas ! Ou du moins, n\u2019essayez pas de le ranger.</p><p>Apr\u00e8s tout, il porte tr\u00e8s bien son nom. C\u2019est l\u00e0 que vous allez trouver tout ce que vous avez t\u00e9l\u00e9charg\u00e9 depuis internet. Pratique, non ?</p><p>Si vous commencez \u00e0 vouloir ranger son contenu dans d\u2019autres dossiers, vous risquez de tout disperser et rendre tout \u00e7a encore plus complexe \u00e0 trouver.</p><p>En utilisant le logiciel Listary comme je vous l\u2019ai recommand\u00e9, vous n\u2019aurez plus aucun probl\u00e8me \u00e0 trouver un fichier dans le dossier t\u00e9l\u00e9chargement.</p><p><strong>Une exception :</strong> si vous t\u00e9l\u00e9chargez un document \u00e0 conserver re\u00e7u par email : une facture, un document officiel de votre notaire, un contrat\u2026 Rangez-le aussit\u00f4t dans le dossier correspondant de votre syst\u00e8me de classement.</p><p>Et si vous pr\u00e9f\u00e9rez proc\u00e9der \u201c\u00e0 l\u2019ancienne\u201d, voici ma m\u00e9thode :</p><ul><li>Triez les fichiers de votre dossier \u201cT\u00e9l\u00e9chargements\u201d par date et non pas par nom. Cela vous permet de voir d\u2019un coup d\u2019\u0153il les derniers t\u00e9l\u00e9chargements que vous avez effectu\u00e9s et les retrouver facilement.</li>\n</ul><p><img class=\"aligncenter wp-image-11414\" src=\"https://temps-action.com/wp-content/uploads/2019/02/classement-des-fichiers-telecharges-par-date-pc.png\" alt=\"Classement par date des documents du dossier t\u00e9l\u00e9chargement sur PC\" width=\"750\" height=\"542\" srcset=\"https://temps-action.com/wp-content/uploads/2019/02/classement-des-fichiers-telecharges-par-date-pc.png 1032w, https://temps-action.com/wp-content/uploads/2019/02/classement-des-fichiers-telecharges-par-date-pc-300x217.png 300w, https://temps-action.com/wp-content/uploads/2019/02/classement-des-fichiers-telecharges-par-date-pc-768x555.png 768w, https://temps-action.com/wp-content/uploads/2019/02/classement-des-fichiers-telecharges-par-date-pc-1024x740.png 1024w\" referrerpolicy=\"no-referrer\" /></p><p class=\"c2\"><em>Classement des fichiers t\u00e9l\u00e9charg\u00e9s par date sur PC</em></p><ul><li>Supprimez de temps en temps les fichiers le plus anciens qui ne vous sont plus utiles. Cela lib\u00e9rera de l\u2019espace disque, en plus de faciliter la recherche dans le dossier.</li>\n</ul><h2>Conclusion (et plan d\u2019action)</h2><p>Voici un plan d\u2019action pour appliquer d\u00e8s maintenant ce que l\u2019on vient de voir. Un jeu d\u2019enfant :</p><ol><li>Choisissez d\u2019organiser vos dossiers en local ou dans le cloud</li>\n<li>Cr\u00e9ez deux dossiers principaux : Personnel et Professionnel</li>\n<li>Cr\u00e9ez les sous-dossiers de mani\u00e8re ordonn\u00e9e et logique pour vous en fonction des fichiers que vous utilisez au quotidien (voir exemples plus haut).</li>\n<li>Cr\u00e9ez des mod\u00e8les et des raccourcis pour les dossiers que vous utilisez le plus.</li>\n</ol><p>J\u2019esp\u00e8re que vous avez appr\u00e9ci\u00e9 les conseils donn\u00e9s dans cet article. Et que cela vous aide \u00e0 y voir plus clair dans votre mani\u00e8re de bien organiser vos dossiers.</p><p>Si vous avez la moindre question, n\u2019h\u00e9sitez pas \u00e0 me la poser dans les commentaires.</p><p>D\u2019ailleurs, j\u2019aimerais savoir : \u00a0Comment organisez-vous vos dossiers ?</p><p></p><h3>\u00c0 Propos de l\u2019Auteur</h3>\nCoach en productivit\u00e9 et globe-trotter, Gabriel aide les entrepreneurs \u00e0 devenir plus productifs en ma\u00eetrisant leur temps, leur \u00e9nergie et leur attention, le tout avec une philosophie minimaliste.\u00a0",
    "created_at": "2023-07-25T11:51:20+00:00",
    "updated_at": "2023-07-25T11:51:26+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr_FR",
    "reading_time": 14,
    "domain_name": "temps-action.com",
    "preview_picture": "https://temps-action.com/wp-content/uploads/2019/02/fond-ecran-bureau-ordinateur.png",
    "http_status": "200",
    "headers": {
      "date": "Tue, 25 Jul 2023 11:51:19 GMT",
      "server": "Apache",
      "last-modified": "Tue, 25 Jul 2023 05:51:50 GMT",
      "strict-transport-security": "max-age=16000000",
      "upgrade": "h2",
      "connection": "Upgrade",
      "vary": "Accept-Encoding",
      "transfer-encoding": "chunked",
      "content-type": "text/html; charset=UTF-8"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["organisation", "projects", "files"],
    "is_public": false,
    "id": 57,
    "title": "5-tips-for-setting-up-an-organized-folder-structure-like-a-pro",
    "url": "https://www.extensis.com/fr-fr/blog/5-tips-for-setting-up-an-organized-folder-structure-like-a-pro",
    "given_url": "https://www.extensis.com/fr-fr/blog/5-tips-for-setting-up-an-organized-folder-structure-like-a-pro",
    "content": "wallabag can't retrieve contents for this article. Please <a href=\"https://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that\">troubleshoot this issue</a>.\n",
    "created_at": "2023-07-25T11:49:50+00:00",
    "updated_at": "2023-07-25T11:49:58+00:00",
    "published_by": [""],
    "annotations": [],
    "reading_time": 0,
    "domain_name": "www.extensis.com"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["organisation", "files", "tags"],
    "is_public": false,
    "id": 56,
    "title": "How to use tags and labels to organize your files | Zapier",
    "url": "https://zapier.com/blog/how-to-use-tags-and-labels/",
    "given_url": "https://zapier.com/blog/how-to-use-tags-and-labels/",
    "content": "<p class=\"css-1kvqkq0 e1lejebg5\">If your files look anything like mine, they're a maze of folders wrangling the hundreds (thousands?) of documents you keep on hand. Folders help us make sense of our files, but they can be a one-dimensional system.</p><p class=\"css-1kvqkq0 e1lejebg5\">Tags add another dimension to your file system to help you</p><a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/digital-declutter/\" target=\"_self\">make sense of the chaos</a>. Here's how to tag your files to find and sort them more easily.<ol class=\"css-1s9e6cf e1lejebg8\"><li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/how-to-use-tags-and-labels/#app\" target=\"_self\">Choose a home base for your files</a></p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/how-to-use-tags-and-labels/#brainstorm\" target=\"_self\">Brainstorm your tags and clean them up</a></p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/how-to-use-tags-and-labels/#hierarchy\" target=\"_self\">Create a tag (and folder) hierarchy</a></p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/how-to-use-tags-and-labels/#automation\" target=\"_self\">Build automation into your folders and files</a></p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/how-to-use-tags-and-labels/#create\" target=\"_self\">Create your tags and go through a test run</a></p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/how-to-use-tags-and-labels/#revisit\" target=\"_self\">Revisit your tags and adjust</a></p>\n</li>\n</ol><h2 class=\"css-ezd0ov e1lejebg0\">Tags vs. folders: What's the difference?</h2><p class=\"css-1kvqkq0 e1lejebg5\">Tags and folders are tools you can use to organize your files in different ways. Here's how each one works:</p><ul class=\"css-1r9xe42 e1lejebg9\"><li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Folders:</strong> Folders sort files into groups. You can set up a hierarchy of folders by putting folders into other folders, but you usually wouldn't put one file into multiple folders.</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Tags:</strong> Tags work like keywords you assign to files. You can add as many tags as you like to a file, but in most systems, you can't put a tag within a tag like you can with a folder.\u00a0</p>\n</li>\n</ul><p class=\"css-1kvqkq0 e1lejebg5\">Tags tend to be popular in note-taking systems, but less so in file management systems. My suggestion? Use tags and folders together to suit your organizational needs.</p><p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Note:</strong> As AI gets better at organizing data, we might start counting on tags and folders less and let AI do the work. Apps like <a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/mem-ai/\" target=\"_self\">Mem</a> are already automatically sorting notes, so the same could happen with our files, too. But AI works best <a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/how-to-use-ai-badly/\" target=\"_self\">with a well-informed human at the helm</a>, so understanding how to organize your files manually will serve you well no matter how things turn out.</p><h2 class=\"css-ezd0ov e1lejebg0\">How to create a file tagging system for your documents</h2><p class=\"css-1kvqkq0 e1lejebg5\">It takes a little forethought and organization to tag your files effectively. Here's my recommendation for how to make it work.</p><h3 class=\"css-bmqgnp e1lejebg1\">1. Choose a home base for your files</h3><p class=\"css-1kvqkq0 e1lejebg5\">Decide which app you'll use to keep and tag your files. Many storage platforms are free or have free options, so don't be afraid to try more than one, and <a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/experimentation-technology-automation/\" target=\"_self\">push all the buttons</a>. Here are some popular storage options with tagging features.</p><h4 class=\"css-1jp6fx4 e1lejebg2\">Windows File Explorer</h4><div class=\"css-lgj0h8 eurb20r0 css-xi606m eurb20r3\"><img alt=\"Adding tags to photos on Windows\" src=\"https://images.ctfassets.net/lzny33ho1g45/4ktALE9AMkZ6pmcXcsvuqr/bf96f16f11c8e336da91bf6f342e5e81/how-to-use-tags-image3.png?w=1400\" class=\"eurb20r1 e7ascrl0 css-134qt3o e5cerj40\" referrerpolicy=\"no-referrer\" /></div><p class=\"css-1kvqkq0 e1lejebg5\">Both Windows 10 and 11 have tagging features built into their File Explorers, although you have to dig a little to find them. It's the same process for both versions:</p><ol class=\"css-1s9e6cf e1lejebg8\"><li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Right-click on the file you want to tag, and select <strong class=\"css-0 e1lejebg11\">Properties</strong>.</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Go to the <strong class=\"css-0 e1lejebg11\">Details</strong> tab.</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Click the <strong class=\"css-0 e1lejebg11\">Tags</strong> option, and enter the tags you want to add, separated by semicolons.</p>\n</li>\n</ol><p class=\"css-1kvqkq0 e1lejebg5\">You can then search for a certain tag by entering \"tag:\" plus the tag you want to search for in File Explorer's search box.</p><h4 class=\"css-1jp6fx4 e1lejebg2\"><a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://www.microsoft.com/en-us/microsoft-365/onedrive/online-cloud-storage\" rel=\"nofollow noopener\" target=\"_blank\">OneDrive</a></h4><div class=\"css-lgj0h8 eurb20r0 css-xi606m eurb20r3\"><img alt=\"Adding tags to photos in OneDrive\" src=\"https://images.ctfassets.net/lzny33ho1g45/1NCPXf5z6IKv18Dth0a3Cd/f0b90bc37be807eb7145e9848e89094b/how-to-use-tags-image1.png?w=1400\" class=\"eurb20r1 e7ascrl0 css-134qt3o e5cerj40\" referrerpolicy=\"no-referrer\" /></div><p class=\"css-1kvqkq0 e1lejebg5\">If you use OneDrive to manage your files, you can only add tags to photos. Here's how:</p><ol class=\"css-1s9e6cf e1lejebg8\"><li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Hover your mouse over the image you want to tag.</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Click the <strong class=\"css-0 e1lejebg11\">i</strong> icon.</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Select <strong class=\"css-0 e1lejebg11\">Add tag</strong> in the sidebar that pops up on the right side of your screen.</p>\n</li>\n</ol><p class=\"css-1kvqkq0 e1lejebg5\">After you tag your OneDrive files, you can search for specific tags in the search bar at the top of your screen.</p><h4 class=\"css-1jp6fx4 e1lejebg2\">Mac</h4><div class=\"css-lgj0h8 eurb20r0 css-xi606m eurb20r3\"><img alt=\"Tagging files on a Mac\" src=\"https://images.ctfassets.net/lzny33ho1g45/4M0MGq3wkFdAyV5oVzuy5q/812f77099a72520e3e2ea9e34bcd47d9/b91a0467f5bf0cae45b60a59e7bfb534__1_.png?w=1400\" class=\"eurb20r1 e7ascrl0 css-134qt3o e5cerj40\" referrerpolicy=\"no-referrer\" /></div><p class=\"css-1kvqkq0 e1lejebg5\">Mac is more tag-friendly than Windows (+1 to them in the rivalry, I guess). There are three ways to tag files in MacOS:</p><ul class=\"css-1r9xe42 e1lejebg9\"><li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Tag a file in your Finder or desktop by right-clicking the file and selecting <strong class=\"css-0 e1lejebg11\">Tags</strong> from the menu.</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Tag an open file when you save it by clicking the down arrow that appears when you hover over the right side of the file name and editing the <strong class=\"css-0 e1lejebg11\">Tags</strong> field.</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Tag a file as you save it by clicking the <strong class=\"css-0 e1lejebg11\">Tags</strong> field in the <em class=\"css-0 e1lejebg13\">Save</em> dialog box.</p>\n</li>\n</ul><p class=\"css-1kvqkq0 e1lejebg5\">You'll see your available tags in the Finder sidebar. Choose which ones appear there by going to <strong class=\"css-0 e1lejebg11\">Finder &gt; Preferences &gt;</strong> <strong class=\"css-0 e1lejebg11\">Tags</strong>.</p><h4 class=\"css-1jp6fx4 e1lejebg2\"><a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://www.dropbox.com/\" rel=\"nofollow noopener\" target=\"_blank\">Dropbox</a></h4><div class=\"css-lgj0h8 eurb20r0 css-xi606m eurb20r3\"><img alt=\"Tagging images in Dropbox\" src=\"https://images.ctfassets.net/lzny33ho1g45/4PbdSY5PBo5Ztqp95AtMOB/b4c4646c512eb248715ee1df1457eee0/how-to-use-tags-image5.png?w=1400\" class=\"eurb20r1 e7ascrl0 css-134qt3o e5cerj40\" referrerpolicy=\"no-referrer\" /></div><p class=\"css-1kvqkq0 e1lejebg5\">When you use Dropbox, tagging happens right in your file lists:</p><ol class=\"css-1s9e6cf e1lejebg8\"><li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Click the checkbox next to the file or folder you want to add a tag to.</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Enter the tag you want to add in the <em class=\"css-0 e1lejebg13\"># Add a tag</em> field in the right side panel, right under the file icon.</p>\n</li>\n</ol><p class=\"css-1kvqkq0 e1lejebg5\">From there, you can search for a specific tag using the format <em class=\"css-0 e1lejebg13\">#tag_name</em>, and Dropbox will suggest tags as you type in the search bar.</p><h4 class=\"css-1jp6fx4 e1lejebg2\"><a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://www.google.com/drive/\" rel=\"nofollow noopener\" target=\"_blank\">Google Drive</a></h4><div class=\"css-lgj0h8 eurb20r0 css-xi606m eurb20r3\"><img alt=\"Tagging photos in Google Drive\" src=\"https://images.ctfassets.net/lzny33ho1g45/6fERPD7lqTau4JlbvQ2d4R/64e347fb210ea2009a53013a35fe4c59/how-to-use-tags-image4.png?w=1400\" class=\"eurb20r1 e7ascrl0 css-134qt3o e5cerj40\" referrerpolicy=\"no-referrer\" /></div><p class=\"css-1kvqkq0 e1lejebg5\">Google Drive's tag situation is\u2026 interesting, but tags are indeed there. Google is rolling out a <a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://support.google.com/a/answer/9292382?hl=en\" rel=\"nofollow noopener\" target=\"_blank\">labels feature</a> for paid plans that administrators can use on an organizational level. But only certain people can use it, and one file can only have up to five labels.</p><p class=\"css-1kvqkq0 e1lejebg5\">You can get around these hurdles with what I call \"the people's tagging method,\" which any user can do. Hat tip to <a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://charli.ai/how-to-use-google-drive-tags/\" rel=\"nofollow noopener\" target=\"_blank\">CharliAI</a> for coming up with this idea. Here's how you do it:</p><ol class=\"css-1s9e6cf e1lejebg8\"><li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Click the <strong class=\"css-0 e1lejebg11\">i</strong> symbol in the upper-right corner of your Google Drive interface. This will bring up the information panel on the right side of your screen.</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Choose the file you want to tag and scroll down to the <strong class=\"css-0 e1lejebg11\">Description</strong> section in the information panel.</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Enter your tags beginning with a # symbol and separated by commas.</p>\n</li>\n</ol><p class=\"css-1kvqkq0 e1lejebg5\">You can then find a tag by searching for it with its # symbol in your search box. It's not perfect\u2014I found that I had to press enter to go through the full list of results to find my file. But it's better than nothing if you're a die-hard Google Drive user.</p><h4 class=\"css-1jp6fx4 e1lejebg2\"><a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://www.tagspaces.org/\" rel=\"nofollow noopener\" target=\"_blank\">TagSpaces</a> (Web, Windows, MacOS, Linux, Android)</h4><div class=\"css-lgj0h8 eurb20r0 css-xi606m eurb20r3\"><img alt=\"Tagging files in TagSpaces\" src=\"https://images.ctfassets.net/lzny33ho1g45/7fpNYdh6aKWuFA1hTf2udq/bed5055584f0da66e3f7c920b6542726/how-to-use-tags-image2.png?w=1400\" class=\"eurb20r1 e7ascrl0 css-134qt3o e5cerj40\" referrerpolicy=\"no-referrer\" /></div><p class=\"css-1kvqkq0 e1lejebg5\">TagSpaces offers cross-platform, tag-focused file management. TagSpaces Lite, the free version, includes all of the app's fundamental tagging features. Or you can play around with unique file organization views like Kanban boards and geotagging maps with TagSpacesPro, the paid version.</p><p class=\"css-1kvqkq0 e1lejebg5\">Plus, if you prefer to store your files 100% locally like me, the desktop versions keep everything on your drive, not in the cloud.</p><h4 class=\"css-1jp6fx4 e1lejebg2\"><a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://tabbles.net/\" rel=\"nofollow noopener\" target=\"_blank\">Tabbles</a> (Windows)</h4><div class=\"css-lgj0h8 eurb20r0 css-xi606m eurb20r3\"><img alt=\"Tagging files in Tabbles\" src=\"https://images.ctfassets.net/lzny33ho1g45/3sDfWQImy8WJE0zCzIaEn9/e63f38380e0bc608b8b79b80c4cacdc1/how-to-use-tags-image6.png?w=1400\" class=\"eurb20r1 e7ascrl0 css-134qt3o e5cerj40\" referrerpolicy=\"no-referrer\" /></div><p class=\"css-1kvqkq0 e1lejebg5\">Tabbles is completely free and uses tag bubbles (tabbles) to organize files. Drag and drop your files to the tabbles you choose to quickly tag them in batches. This app is free for up to 5,000 files and has pretty affordable plans for higher file limits.</p><p class=\"css-1kvqkq0 e1lejebg5\">Like TagSpaces, Tabbles has a local option, or you can manage files from cloud apps like Google Drive.</p><h4 class=\"css-1jp6fx4 e1lejebg2\">Your favorite cloud storage app</h4><p class=\"css-1kvqkq0 e1lejebg5\">If none of the above options vibe with you, you can also research more options in Zapier's roundup of <a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/best-cloud-storage-apps/\" target=\"_self\">the best cloud storage apps</a>.</p><h3 class=\"css-bmqgnp e1lejebg1\">2. Brainstorm your tags and clean them up</h3><p class=\"css-1kvqkq0 e1lejebg5\">With your files' home settled, let's move on to tags.</p><p class=\"css-1kvqkq0 e1lejebg5\">We're going to start big and narrow down from there. Grab a notepad or open a blank document, and write as many ideas for tags as you can based on categories like:</p><ul class=\"css-1r9xe42 e1lejebg9\"><li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Document purpose</strong> (Examples: Blog post, reference doc, contract, ledger)</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Phase of work/client relationship</strong> (Examples: Onboarding, proposal, performance evaluation)\u00a0</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">File status</strong> (Examples: To-do, doing, done)</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Department or client</strong> (Examples: Finance department, My Client Inc.)</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Personal vs. work</strong> (Examples: Personal picture, work document)</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Project or campaign</strong> (Examples: Spring 2023 Social Media Campaign, Summer 2023 PR Push)</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Genre</strong> (Examples: Vacation photos, pet photos, insurance photos)</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Event</strong> (Examples: Winter 2024 Fundraising Gala, Aunt Shelly's birthday party)</p>\n</li>\n</ul><p class=\"css-1kvqkq0 e1lejebg5\">What thoughts go through your head when you look for files? Do you need to find them based on certain purposes over others? Write those concepts down.</p><p class=\"css-1kvqkq0 e1lejebg5\">Then, clean up your list. Look for tags that overlap and combine them where needed. Make your tags consistent by answering questions like:</p><ul class=\"css-1r9xe42 e1lejebg9\"><li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Will you stick to singular or plural words (e.g., \"template\" vs. \"templates\")?</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Do you want to use only nouns, adjectives, or verbs, or will you combine them?</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">How will you capitalize your tags?</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\">Will you use symbols and characters?</p>\n</li>\n</ul><h3 class=\"css-bmqgnp e1lejebg1\">3. Create a tag (and folder) hierarchy</h3><p class=\"css-1kvqkq0 e1lejebg5\">Combining folders and tags in your file organization system often works better than counting on one or the other. Tags help you organize on the micro level, while folders excel at the macro level.</p><p class=\"css-1kvqkq0 e1lejebg5\">While you could rely on tags only, things will get unwieldy fast if you can't remember a tag or file name off the top of your head. And you can get lost in folders if you make one based on every single trait. Using the two together lets you play off the strengths of both tools while minimizing their weaknesses.</p><p class=\"css-1kvqkq0 e1lejebg5\">We'll combine folders and tags by using folders as high-level categories and tags as lower-level categories. Look at your list of tags and find groups to sort them into, then create folders based on them.</p><p class=\"css-1kvqkq0 e1lejebg5\">But don't finalize your tag and folder hierarchy just yet\u2014we'll need to consider how automation will come into play.</p><h3 class=\"css-bmqgnp e1lejebg1\">4. Build automation into your folders and files</h3><p class=\"css-1kvqkq0 e1lejebg5\">Some of your tags may be time- or action-based, making them more suitable to automate into folders instead of tags. Automation works well for adding new files to folders or moving them between folders, so take advantage of that fact by <a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/organize-files-with-automation/\" target=\"_self\">integrating it into your file management workflow</a>.</p><p class=\"css-1kvqkq0 e1lejebg5\">For example, you could move a one-time client's onboarding documents into your ongoing client folder if they decide to keep working with you. Let's say you make a new entry for them in your Notion database for your ongoing clients. You can use this Zapier automation (Zap) to move their onboarding file.</p><div data-testid=\"zap-template\" class=\"css-1m4wy5f e1643pok0\"><article class=\"css-yhprt8-ZapCard\"><div data-testid=\"ZapCard__inner\" class=\"css-i2pr5v-ZapCard__inner css-19i7p4n-ZapCard__layout--card\"><a class=\"css-1ug00xd-ZapCard__link\" href=\"https://zapier.com/webintent/create-zap?template=1357515\" target=\"_blank\">Organize new Notion database items by moving files in Google Drive</a><p><a class=\"css-v1uafy-ZapCard__ctaLink\" href=\"https://zapier.com/webintent/create-zap?template=1357515\" tabindex=\"-1\" target=\"_blank\">Try it</a></p><div class=\"css-1w29jlw-ZapCard__servicesArea css-1giyix1-TooltipWrapper--non-interactive\"><ul aria-label=\"Zap uses Notion, Google Drive\" class=\"css-vitnfe-ServiceIcons\"><li class=\"css-1qwpe4d\"><img alt=\"Notion logo\" aria-hidden=\"false\" data-testid=\"img\" class=\"css-1nmlj8-Img c3\" width=\"30\" height=\"30\" src=\"https://zapier-images.imgix.net/storage/services/0de44c7d5f0046873886168b9b498f66_3.png?auto=format&amp;fit=crop&amp;h=30&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30\" srcset=\"https://zapier-images.imgix.net/storage/services/0de44c7d5f0046873886168b9b498f66_3.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=1 1x, https://zapier-images.imgix.net/storage/services/0de44c7d5f0046873886168b9b498f66_3.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=2 2x, https://zapier-images.imgix.net/storage/services/0de44c7d5f0046873886168b9b498f66_3.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=3 3x, https://zapier-images.imgix.net/storage/services/0de44c7d5f0046873886168b9b498f66_3.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=4 4x, https://zapier-images.imgix.net/storage/services/0de44c7d5f0046873886168b9b498f66_3.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=5 5x\" referrerpolicy=\"no-referrer\" /></li>\n<li class=\"css-1qwpe4d\"><img alt=\"Google Drive logo\" aria-hidden=\"false\" data-testid=\"img\" class=\"css-1nmlj8-Img c3\" width=\"30\" height=\"30\" src=\"https://zapier-images.imgix.net/storage/services/a5b8a9920e9dae8a73711590e7090d3d.png?auto=format&amp;fit=crop&amp;h=30&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30\" srcset=\"https://zapier-images.imgix.net/storage/services/a5b8a9920e9dae8a73711590e7090d3d.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=1 1x, https://zapier-images.imgix.net/storage/services/a5b8a9920e9dae8a73711590e7090d3d.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=2 2x, https://zapier-images.imgix.net/storage/services/a5b8a9920e9dae8a73711590e7090d3d.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=3 3x, https://zapier-images.imgix.net/storage/services/a5b8a9920e9dae8a73711590e7090d3d.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=4 4x, https://zapier-images.imgix.net/storage/services/a5b8a9920e9dae8a73711590e7090d3d.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=5 5x\" referrerpolicy=\"no-referrer\" /></li>\n</ul><p>Notion, Google Drive</p></div><p>Notion + Google Drive</p></div></article></div><p class=\"css-1kvqkq0 e1lejebg5\">(Zapier tip: Click <strong class=\"css-0 e1lejebg11\">Add search step</strong> next to the file or folder name in your action to make your automation search for a file that matches your new database entry.)</p><p class=\"css-1kvqkq0 e1lejebg5\">Whatever combo works best for your situation, keep an eye out for the <strong class=\"css-0 e1lejebg11\">Move File</strong> action for your file management app. Check out all the <a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/apps/categories/files\" target=\"_blank\">file management apps that Zapier works with</a>.</p><p class=\"css-1kvqkq0 e1lejebg5\">If you use an app that manages files in another app that works with Zapier, you can combine them. For example, even though there's no Zapier integration for Tabbles, you could connect Google Drive. Then, you could set up Zaps in Google Drive and manage those Google Drive files with Tabbles.</p><div class=\"css-edievn eknmw0f0\"><p class=\"css-djh8eo e1lejebg6\">Zapier is a no-code automation tool that lets you connect your apps into automated workflows, so that every person and every business can move forward at growth speed. Learn more about <a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/how-it-works\" target=\"_blank\">how it works</a>.</p></div><h3 class=\"css-bmqgnp e1lejebg1\">5. Create your tags and go through a test run</h3><p class=\"css-1kvqkq0 e1lejebg5\">Once you have your files, folders, and automations planned out, set them up and test how they work for a month. It'll be easier to try out your tags if you can reference them, so clean up your tag finalists into a list grouped by category and folder. Write down any issues you come across or things you could do better for you to review at the end of the month.</p><h3 class=\"css-bmqgnp e1lejebg1\">6. Revisit your tags and adjust for success</h3><p class=\"css-1kvqkq0 e1lejebg5\">After your month-long trial, look at your tag list and the notes you made. Use that information to remove tags you don't use, add tags you need, and change other tags to fit your workflow better.</p><p class=\"css-1kvqkq0 e1lejebg5\">This is also a great time to look for any more opportunities to automate your file management system. Consider which folders and tags you use the most, and find ways to keep them running smoothly.</p><h2 class=\"css-ezd0ov e1lejebg0\">More ways to organize your work with technology</h2><p class=\"css-1kvqkq0 e1lejebg5\">Tags and folders aren't the only way to organize your day-to-day work. Try <a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/automation-stay-organized/\" target=\"_self\">automating other aspects of your work life</a>. Identify your favorite apps, and look through <a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/apps\" target=\"_blank\">the Zapier app directory</a> to see how they can work together.</p><p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Related reading:</strong></p><ul class=\"css-1r9xe42 e1lejebg9\"><li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/dropbox-hidden-features/\" target=\"_self\">14 advanced Dropbox features that you should start using</a></p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/manage-google-storage/\" target=\"_self\">How to free up space in your Google account</a></p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/organize-files-folders/\" target=\"_self\">Find files faster: How to organize files and folders</a></p>\n</li>\n</ul><p class=\"css-1kvqkq0 e1lejebg5\"><em class=\"css-0 e1lejebg13\">This article was originally published in June 2019 by Aja Frost. The most recent update was June 2023.</em></p>",
    "created_at": "2023-07-25T11:49:26+00:00",
    "updated_at": "2023-07-25T11:49:32+00:00",
    "published_at": "2019-06-04T00:00:00+00:00",
    "published_by": ["Melissa King"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 9,
    "domain_name": "zapier.com",
    "preview_picture": "https://images.ctfassets.net/lzny33ho1g45/how-to-use-tags-and-labels-p-img/19fc4d9181f4d2ce78a8411f911bccfb/image_31.jpg",
    "http_status": "200",
    "headers": {
      "server": "CloudFront",
      "content-type": "text/html; charset=utf-8",
      "content-length": "378007",
      "connection": "keep-alive",
      "date": "Tue, 25 Jul 2023 11:49:26 GMT",
      "content-security-policy": "frame-ancestors self",
      "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
      "x-frame-options": "deny",
      "x-download-options": "noopen",
      "x-content-type-options": "nosniff",
      "x-xss-protection": "1; mode=block",
      "x-nextjs-cache": "HIT",
      "etag": "\"11786emogxe83nf\"",
      "cache-control": "s-maxage=1800, stale-while-revalidate",
      "vary": "Accept-Encoding",
      "via": "1.1 050d939953f5c92a3b38475f9313802a.cloudfront.net (CloudFront)",
      "set-cookie": "visitor_id=da5a05f2-60b1-4f5b-8e3a-0ee1db2c392a; Path=/; Max-Age=5897232000; Domain=zapier.com; SameSite=None; Secure",
      "x-cache": "Miss from cloudfront",
      "x-amz-cf-pop": "LHR61-P4",
      "x-amz-cf-id": "x3BW7Olnar34YgKmFaSkmFbqcMJTNIqqkJNU9jQQZKa7BIdHSGE0RQ=="
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["organisation", "projects"],
    "is_public": false,
    "id": 55,
    "title": "How to organize files and folders | Zapier",
    "url": "https://zapier.com/blog/organize-files-folders/",
    "given_url": "https://zapier.com/blog/organize-files-folders/",
    "content": "<p class=\"css-1kvqkq0 e1lejebg5\">Once upon a time, my system of clothes organization was simply to throw everything into the closet. Then, when I needed to get dressed, I'd dig around aimlessly and cross my fingers that the top I needed would magically appear. (I never said it was a great system.)</p><p class=\"css-1kvqkq0 e1lejebg5\">This was the same approach I used to organize files on my computer. And as a surprise to no one, it resulted in me wasting a <em class=\"css-0 e1lejebg13\">lot</em> of time trying to find specific files that I'd arbitrarily named and tucked away.\u00a0</p><p class=\"css-1kvqkq0 e1lejebg5\">I've come a long way since those haphazard years. My clothes are now arranged by color and style, and I use a simple folder structure to organize my digital files\u2014both of which make it easy to find what I need, when I need it.</p><p class=\"css-1kvqkq0 e1lejebg5\">If you're looking to</p><a class=\"css-1l9i3yq-Link css-0 e1lejebg14 c2\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/digital-declutter/\" target=\"_self\">bring order to digital chaos</a>, here are five effective ways to organize files and folders.<h2 class=\"css-ezd0ov e1lejebg0\">What is a folder structure?</h2><p class=\"css-1kvqkq0 e1lejebg5\">A folder structure is a hierarchical system you use to organize your files. The goal is to have every file (document, photos, etc.) neatly stored in a designated folder\u2014steering clear of standalone files floating around\u2014for faster access.\u00a0</p><p class=\"css-1kvqkq0 e1lejebg5\">Let's say you're a lawyer, and you need a systematic way to organize your clients' files. A basic folder hierarchy might look like this:\u00a0</p><div class=\"css-lgj0h8 eurb20r0 css-xi606m eurb20r3\"><img alt=\"Portion of a Mac Finder window which shows a top-level folder named, &quot;Active clients,&quot; and its two subfolders.\" src=\"https://images.ctfassets.net/lzny33ho1g45/7M286awdXjL4Hsh7P6Zm1s/d68720f4eb5b36bf45c65b2bf27ba250/organize-files-folders-image1.png?w=1400\" class=\"eurb20r1 e7ascrl0 css-134qt3o e5cerj40\" referrerpolicy=\"no-referrer\" /></div><p class=\"css-1kvqkq0 e1lejebg5\">If the contents of each of the nested subfolders (<em class=\"css-0 e1lejebg13\">Client documents</em> and <em class=\"css-0 e1lejebg13\">OC documents</em>) warrant further grouping, you could take it one step further.</p><div class=\"css-lgj0h8 eurb20r0 css-xi606m eurb20r3\"><img alt=\"Portion of a Mac Finder window which shows a top-level folder named, &quot;Active clients,&quot; along with expanded views of the two layers of nested subfolders.\" src=\"https://images.ctfassets.net/lzny33ho1g45/1OxkdcrJXxCq643e6TSib0/924edd006d454a00c1198223a3bf0e7c/organize-files-folders-image3.png?w=1400\" class=\"eurb20r1 e7ascrl0 css-134qt3o e5cerj40\" referrerpolicy=\"no-referrer\" /></div><p class=\"css-1kvqkq0 e1lejebg5\">Nested folders generally make it easier to find specific files later, because you don't have to sift through all your files at once.</p><div class=\"css-edievn eknmw0f0\"><p class=\"css-djh8eo e1lejebg6\"><strong class=\"css-0 e1lejebg11\">Tip:</strong> Folders are great for organization, but having too many nested folders can make finding files cumbersome. If you regularly find yourself clicking through four or five layers of folders to access what you need, that's a sign you may need to simplify your structure.</p></div><h2 class=\"css-ezd0ov e1lejebg0\">How to organize files and folders on your computer\u00a0</h2><p class=\"css-1kvqkq0 e1lejebg5\">Browsing through folders should be an intuitive process. Continuing with our lawyer example, let's say you need to find out when your client paid their retainer. The obvious folder to look in would be <em class=\"css-0 e1lejebg13\">Client invoices</em>\u2014not <em class=\"css-0 e1lejebg13\">Client comms</em>.</p><p class=\"css-1kvqkq0 e1lejebg5\">If you find yourself doing mental gymnastics to figure out where you stored something, update your organization system with these file management tips.\u00a0</p><h3 class=\"css-bmqgnp e1lejebg1\">1. Establish a clear hierarchical folder structure</h3><p class=\"css-1kvqkq0 e1lejebg5\">Start organizing your files by creating a logical, hierarchical folder structure. The best folder structure will mimic the way you work.</p><p class=\"css-1kvqkq0 e1lejebg5\">For example, if you're a freelance writer, your top-level folder may be <em class=\"css-0 e1lejebg13\">Freelance projects</em>, and within that folder, you have subfolders for the clients you write for, like <em class=\"css-0 e1lejebg13\">Zapier</em>, <em class=\"css-0 e1lejebg13\">WIRED</em>, and so on.\u00a0</p><h3 class=\"css-bmqgnp e1lejebg1\">2. Use a consistent naming convention\u00a0</h3><p class=\"css-1kvqkq0 e1lejebg5\">Give your folders and files specific, logical names\u2014and be consistent. The goal is to use names that clearly indicate what's inside without having to open it. While there's no one-size-fits-all approach to naming conventions, here are some tips to keep in mind.\u00a0</p><ul class=\"css-1r9xe42 e1lejebg9\"><li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Include keywords.</strong> Consider what terms you might search for to retrieve the file. For example,</p>\n<code class=\"css-b2d7nb e1lejebg12\">Invoice_2301</code> or <code class=\"css-b2d7nb e1lejebg12\">Receipt_2301</code>. And if you're sharing the file with a client, consider using words that make it clear what's inside.\u00a0\u00a0</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Use Pascal case.</strong> If using compound words, capitalize the first letter of each word to make it easier to read. For example, <code class=\"css-b2d7nb e1lejebg12\">Lau_AmendedContract</code> (vs. <code class=\"css-b2d7nb e1lejebg12\">Lau_Amendedcontract</code>).\u00a0</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Add a date.</strong> By putting a date (e.g., <code class=\"css-b2d7nb e1lejebg12\">yymmdd</code>) at the beginning of your file name, it'll automatically be listed in chronological order.\u00a0</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Include the version.</strong> If you're working with multiple versions of a file, include the version number (e.g., <code class=\"css-b2d7nb e1lejebg12\">V3</code>). This will make it easier to identify the most recent version and avoid any costly mixups if there are multiple iterations of the same file.</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Sequential numbers.</strong> To arrange your files in a specific order, add leading zeros (e.g., <code class=\"css-b2d7nb e1lejebg12\">01</code>, <code class=\"css-b2d7nb e1lejebg12\">02</code>, and <code class=\"css-b2d7nb e1lejebg12\">03</code>) instead of <code class=\"css-b2d7nb e1lejebg12\">1</code>, <code class=\"css-b2d7nb e1lejebg12\">2</code>, and <code class=\"css-b2d7nb e1lejebg12\">3</code>.\u00a0</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Add \"AA.\"</strong> By adding \"AA\" at the beginning of your file name, it'll automatically stack it at the top of your list, making it easily accessible.\u00a0</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Keep it concise.</strong> Some software programs have character limits on file names, or don't allow certain special characters (e.g., <code class=\"css-b2d7nb e1lejebg12\">#</code>,\u00a0 <code class=\"css-b2d7nb e1lejebg12\">@</code>, and <code class=\"css-b2d7nb e1lejebg12\">&amp;</code>). To keep your file and folder names consistent\u2014regardless of the program you're using\u2014include only necessary information and cut anything superfluous (e.g., words like \"a,\" \"and,\" and \"the\").</p>\n</li>\n</ul><div class=\"css-edievn eknmw0f0\"><p class=\"css-djh8eo e1lejebg6\"><strong class=\"css-0 e1lejebg11\">Tip:</strong> To keep naming conventions consistent across your organization, create a naming convention cheat sheet that everyone can reference, as needed.\u00a0</p></div><h3 class=\"css-bmqgnp e1lejebg1\">3. Add tags</h3><p class=\"css-1kvqkq0 e1lejebg5\">Depending on the number of files you need to organize, you can <a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/how-to-use-tags-and-labels/\" target=\"_self\">use a tagging system</a> instead of, or in addition to, folder structures. For example, if you're a food photographer, you might tag your photos based on type (e.g., soups, desserts, and salads). Then, whether you've grouped <em class=\"css-0 e1lejebg13\">all</em> your photos into one main folder or multiple subfolders, you can quickly pull up every dessert photo simply by searching for the <em class=\"css-0 e1lejebg13\">Desserts</em> tag.\u00a0</p><div class=\"css-lgj0h8 eurb20r0 css-xi606m eurb20r3\"><img alt=\"Portion of a Mac Finder window which all files tagged with a &quot;Desserts&quot; label.\" src=\"https://images.ctfassets.net/lzny33ho1g45/50S7f7RbcFsrxWDscEo6Oq/ecbeb969dea9e0abcb1cf12b5f18705a/organize-files-folders-image2.png?w=1400\" class=\"eurb20r1 e7ascrl0 css-134qt3o e5cerj40\" referrerpolicy=\"no-referrer\" /></div><div class=\"css-edievn eknmw0f0\"><p class=\"css-djh8eo e1lejebg6\"><strong class=\"css-0 e1lejebg11\">Tip:</strong> If you store files directly on your desktop, here's how to tag and search for files on <a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://support.apple.com/en-ca/guide/mac-help/mchlp15236/mac\" rel=\"nofollow noopener\" target=\"_blank\">Mac</a> and <a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://www.lifewire.com/tag-files-in-windows-4587240\" rel=\"nofollow noopener\" target=\"_blank\">Windows</a>.\u00a0</p></div><h3 class=\"css-bmqgnp e1lejebg1\">4. Delete and archive unnecessary files</h3><p class=\"css-1kvqkq0 e1lejebg5\">By the end of any given month, my computer's <em class=\"css-0 e1lejebg13\">Downloads</em> folder is filled with screenshots I use for Zapier articles. This is intentional because I prefer to organize my folders in batches instead of filing as I go (more on that later). At the start of every month, I reserve 30 minutes to organize my folders\u2014deleting files I don't need anymore and re-homing the ones I do need. And for the files I don't need right away, I archive those in <a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/best-cloud-storage-apps/\" target=\"_self\">the cloud</a>.</p><div class=\"css-edievn eknmw0f0\"><p class=\"css-djh8eo e1lejebg6\"><strong class=\"css-0 e1lejebg11\">Tip:</strong> If you have a lot of files and folders that need to be sorted, it <em class=\"css-0 e1lejebg13\">will</em> take time to get everything organized. To make the process more manageable, consider moving all the files you won't need in the immediate future into an <em class=\"css-0 e1lejebg13\">Archives</em> or <em class=\"css-0 e1lejebg13\">To be sorted</em> folder. Then set aside 15 minutes once a week to sort through these files\u2014again, ruthlessly deleting the files you won't need again and rehoming the ones you do need.\u00a0\u00a0</p></div><h3 class=\"css-bmqgnp e1lejebg1\">5. File as you go\u00a0</h3><p class=\"css-1kvqkq0 e1lejebg5\">If you work with a lot of files, organizing your folders once a month may result in an insurmountable pile of chaos. To prevent this, give every file an accurate name and home as soon as you create it.</p><h2 class=\"css-ezd0ov e1lejebg0\">Experiment with these folder structure examples</h2><p class=\"css-1kvqkq0 e1lejebg5\">Ready to get organized, but not sure how to start? Let's take it from the top: Establish a clear hierarchical folder structure.\u00a0</p><p class=\"css-1kvqkq0 e1lejebg5\">First, determine your top-level folder. Here are a few ideas to get you started:\u00a0</p><ul class=\"css-1r9xe42 e1lejebg9\"><li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">By project:</strong> If you work on a lot of different projects, use the project name as your top-level folder name.\u00a0</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">By project type:</strong> If you work on different <em class=\"css-0 e1lejebg13\">types</em> of projects, organize your folders based on project type. For example, writers might work on blog posts, emails, and landing pages.</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">By time:</strong> If it's easier for you to reference your work by date, use the month or year for the name of your parent folder.\u00a0</p>\n</li>\n</ul><p class=\"css-1kvqkq0 e1lejebg5\">Once you've established your top-level folders, it's time to organize your subfolders. Here are the two most effective folder structures I've used in the past.\u00a0</p><h3 class=\"css-bmqgnp e1lejebg1\">1. \"Working,\" \"final,\" and \"archive\" subfolders</h3><p class=\"css-1kvqkq0 e1lejebg5\">Here's how to organize your files using the working/final/archive subfolder system:\u00a0</p><ul class=\"css-1r9xe42 e1lejebg9\"><li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Working:</strong> Any projects you're currently working on. This is also a good place to keep native or source files for easy access.\u00a0</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Final:</strong> Any files that have been approved by relevant stakeholders, and are ready for launch.\u00a0</p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Archive:</strong> Anything that doesn\u2019t fit into your <em class=\"css-0 e1lejebg13\">Working</em> or <em class=\"css-0 e1lejebg13\">Final</em> folder. Put your notes, brainstorms, research, and other miscellaneous files here.\u00a0</p>\n</li>\n</ul><p class=\"css-1kvqkq0 e1lejebg5\">This system is particularly useful if you're working on a project with multiple pieces. It's also great for teams working on a project where several people are working on the same deliverable.\u00a0</p><p class=\"css-1kvqkq0 e1lejebg5\">Let's use an email campaign as an example. The copywriter will store the draft copy doc for the emails in the <em class=\"css-0 e1lejebg13\">Working</em> folder until they're ready for approval. Once the copy's been approved, the file will move to the <em class=\"css-0 e1lejebg13\">Final</em> folder, which will indicate to the Email Ops team that the emails are ready to be built.\u00a0</p><h3 class=\"css-bmqgnp e1lejebg1\">2. \"Year\" or \"client\" folders</h3><p class=\"css-1kvqkq0 e1lejebg5\">If your desktop houses hundreds of files that are related to work for specific clients, creating folders for each client might be your best bet. Or, if you have an overwhelming number of receipts of business expenses, sorting them into folders by year or month may be the simple folder structure you need. Remember: more folders aren't necessarily better.\u00a0</p><p class=\"css-1kvqkq0 e1lejebg5\">However simple, find a system that works for you, and then stick with it. Consistency is what will help you stay organized in the long run.\u00a0</p><h2 class=\"css-ezd0ov e1lejebg0\">How to quickly find files\u00a0</h2><p class=\"css-1kvqkq0 e1lejebg5\">If your folders contain <em class=\"css-0 e1lejebg13\">lots</em> of important files, it can take a few minutes of scrolling through to find what you need\u2014even with a clear folder hierarchy and naming convention in place.\u00a0</p><p class=\"css-1kvqkq0 e1lejebg5\">For cases like this, it's much faster to use your computer's built-in search tool to retrieve your file.</p><h3 class=\"css-bmqgnp e1lejebg1\">How to quickly find files on a Mac desktop</h3><p class=\"css-1kvqkq0 e1lejebg5\">On a Mac, <a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://support.apple.com/en-ca/guide/mac-help/mchlp1008/mac\" rel=\"nofollow noopener\" target=\"_blank\">Spotlight</a> helps you quickly find documents, images, and other files.\u00a0</p><p class=\"css-1kvqkq0 e1lejebg5\">To use it, click the <strong class=\"css-0 e1lejebg11\">Spotlight</strong> icon in the menu bar, which looks like a magnifying glass. Alternatively, you can use a keyboard shortcut: <code class=\"css-b2d7nb e1lejebg12\">command</code> + <code class=\"css-b2d7nb e1lejebg12\">space</code>. Then, type in the file or folder name you're looking for.\u00a0</p><h3 class=\"css-bmqgnp e1lejebg1\">How to quickly find files on a PC running Windows\u00a0</h3><p class=\"css-1kvqkq0 e1lejebg5\">On a PC, there are two main ways to find your files: search from the taskbar or search <em class=\"css-0 e1lejebg13\">File Explorer</em>. Depending on which program you're running (Windows 10 or 11), <a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://support.microsoft.com/en-us/windows/find-your-documents-in-windows-5c7c8cfe-c289-fae4-f5f8-6b3fdba418d2#ID0EDD=Windows_11\" rel=\"nofollow noopener\" target=\"_blank\">how you use each method varies slightly</a>.\u00a0</p><h2 class=\"css-ezd0ov e1lejebg0\">Automate your file management</h2><p class=\"css-1kvqkq0 e1lejebg5\">With Zapier, you can connect your go-to file storage app (e.g., GoogleDrive, OneDrive, and Dropbox) with thousands of other apps, so you can take the manual work out of file management. Learn more about <a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/organize-files-with-automation/\" target=\"_self\">automating your files</a> and <a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/4-ways-to-improve-document-control-with-automation/\" target=\"_self\">document control</a>, or check out these workflows that you can automate right away.\u00a0</p><div data-testid=\"zap-template\" class=\"css-1m4wy5f e1643pok0\"><article class=\"css-yhprt8-ZapCard\"><div data-testid=\"ZapCard__inner\" class=\"css-i2pr5v-ZapCard__inner css-19i7p4n-ZapCard__layout--card\"><a class=\"css-1ug00xd-ZapCard__link\" href=\"https://zapier.com/webintent/create-zap?template=192\" target=\"_blank\">Save new Gmail attachments to Google Drive</a><p><a class=\"css-v1uafy-ZapCard__ctaLink\" href=\"https://zapier.com/webintent/create-zap?template=192\" tabindex=\"-1\" target=\"_blank\">Try it</a></p><div class=\"css-1w29jlw-ZapCard__servicesArea css-1giyix1-TooltipWrapper--non-interactive\"><p>Gmail, Filter by Zapier, Google Drive</p></div><p>Gmail + Filter by Zapier + Google Drive</p></div></article></div><div data-testid=\"zap-template\" class=\"css-1m4wy5f e1643pok0\"><article class=\"css-yhprt8-ZapCard\"><div data-testid=\"ZapCard__inner\" class=\"css-i2pr5v-ZapCard__inner css-19i7p4n-ZapCard__layout--card\"><a class=\"css-1ug00xd-ZapCard__link\" href=\"https://zapier.com/webintent/create-zap?template=1950\" target=\"_blank\">Save new Google Docs documents to OneDrive</a><p><a class=\"css-v1uafy-ZapCard__ctaLink\" href=\"https://zapier.com/webintent/create-zap?template=1950\" tabindex=\"-1\" target=\"_blank\">Try it</a></p><div class=\"css-1w29jlw-ZapCard__servicesArea css-1giyix1-TooltipWrapper--non-interactive\"><ul aria-label=\"Zap uses Google Docs, OneDrive\" class=\"css-vitnfe-ServiceIcons\"><li class=\"css-1qwpe4d\"><img alt=\"Google Docs logo\" aria-hidden=\"false\" data-testid=\"img\" class=\"css-1nmlj8-Img c3\" width=\"30\" height=\"30\" src=\"https://zapier-images.imgix.net/storage/services/ae42824b58d556d36b5e5b217377fc5e.png?auto=format&amp;fit=crop&amp;h=30&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30\" srcset=\"https://zapier-images.imgix.net/storage/services/ae42824b58d556d36b5e5b217377fc5e.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=1 1x, https://zapier-images.imgix.net/storage/services/ae42824b58d556d36b5e5b217377fc5e.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=2 2x, https://zapier-images.imgix.net/storage/services/ae42824b58d556d36b5e5b217377fc5e.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=3 3x, https://zapier-images.imgix.net/storage/services/ae42824b58d556d36b5e5b217377fc5e.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=4 4x, https://zapier-images.imgix.net/storage/services/ae42824b58d556d36b5e5b217377fc5e.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=5 5x\" referrerpolicy=\"no-referrer\" /></li>\n<li class=\"css-1qwpe4d\"><img alt=\"OneDrive logo\" aria-hidden=\"false\" data-testid=\"img\" class=\"css-1nmlj8-Img c3\" width=\"30\" height=\"30\" src=\"https://zapier-images.imgix.net/storage/services/e67867e9f6f5c089e243dad54467ad33.png?auto=format&amp;fit=crop&amp;h=30&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30\" srcset=\"https://zapier-images.imgix.net/storage/services/e67867e9f6f5c089e243dad54467ad33.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=1 1x, https://zapier-images.imgix.net/storage/services/e67867e9f6f5c089e243dad54467ad33.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=2 2x, https://zapier-images.imgix.net/storage/services/e67867e9f6f5c089e243dad54467ad33.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=3 3x, https://zapier-images.imgix.net/storage/services/e67867e9f6f5c089e243dad54467ad33.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=4 4x, https://zapier-images.imgix.net/storage/services/e67867e9f6f5c089e243dad54467ad33.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=5 5x\" referrerpolicy=\"no-referrer\" /></li>\n</ul><p>Google Docs, OneDrive</p></div><p>Google Docs + OneDrive</p></div></article></div><div data-testid=\"zap-template\" class=\"css-1m4wy5f e1643pok0\"><article class=\"css-yhprt8-ZapCard\"><div data-testid=\"ZapCard__inner\" class=\"css-i2pr5v-ZapCard__inner css-19i7p4n-ZapCard__layout--card\"><a class=\"css-1ug00xd-ZapCard__link\" href=\"https://zapier.com/webintent/create-zap?template=2608\" target=\"_blank\">Save new Gmail attachment as a file in Box [Business Gmail Accounts Only]</a><p><a class=\"css-v1uafy-ZapCard__ctaLink\" href=\"https://zapier.com/webintent/create-zap?template=2608\" tabindex=\"-1\" target=\"_blank\">Try it</a></p><div class=\"css-1w29jlw-ZapCard__servicesArea css-1giyix1-TooltipWrapper--non-interactive\"><ul aria-label=\"Zap uses Gmail, Box\" class=\"css-vitnfe-ServiceIcons\"><li class=\"css-1qwpe4d\"><img alt=\"Gmail logo\" aria-hidden=\"false\" data-testid=\"img\" class=\"css-1nmlj8-Img c3\" width=\"30\" height=\"30\" src=\"https://zapier-images.imgix.net/storage/services/1afcb319c029ec5da10efb593b7159c8.png?auto=format&amp;fit=crop&amp;h=30&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30\" srcset=\"https://zapier-images.imgix.net/storage/services/1afcb319c029ec5da10efb593b7159c8.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=1 1x, https://zapier-images.imgix.net/storage/services/1afcb319c029ec5da10efb593b7159c8.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=2 2x, https://zapier-images.imgix.net/storage/services/1afcb319c029ec5da10efb593b7159c8.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=3 3x, https://zapier-images.imgix.net/storage/services/1afcb319c029ec5da10efb593b7159c8.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=4 4x, https://zapier-images.imgix.net/storage/services/1afcb319c029ec5da10efb593b7159c8.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=5 5x\" referrerpolicy=\"no-referrer\" /></li>\n<li class=\"css-1qwpe4d\"><img alt=\"Box logo\" aria-hidden=\"false\" data-testid=\"img\" class=\"css-1nmlj8-Img c3\" width=\"30\" height=\"30\" src=\"https://zapier-images.imgix.net/storage/services/3c3623c6d6bf18a053d7e0db73649703.png?auto=format&amp;fit=crop&amp;h=30&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30\" srcset=\"https://zapier-images.imgix.net/storage/services/3c3623c6d6bf18a053d7e0db73649703.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=1 1x, https://zapier-images.imgix.net/storage/services/3c3623c6d6bf18a053d7e0db73649703.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=2 2x, https://zapier-images.imgix.net/storage/services/3c3623c6d6bf18a053d7e0db73649703.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=3 3x, https://zapier-images.imgix.net/storage/services/3c3623c6d6bf18a053d7e0db73649703.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=4 4x, https://zapier-images.imgix.net/storage/services/3c3623c6d6bf18a053d7e0db73649703.png?auto=format&amp;fit=crop&amp;ixlib=react-9.5.4&amp;q=50&amp;w=30&amp;h=30&amp;dpr=5 5x\" referrerpolicy=\"no-referrer\" /></li>\n</ul><p>Gmail, Box</p></div><p>Gmail + Box</p></div></article></div><div class=\"css-edievn eknmw0f0\"><p class=\"css-djh8eo e1lejebg6\">To get started with a Zap template\u2014what we call our pre-made workflows\u2014just click on the button. It only takes a few minutes to set up. You can <a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://help.zapier.com/hc/en-us/articles/8496309697421\" target=\"_blank\" referrerpolicy=\"unsafe-url\">read more about setting up Zaps here</a>.</p></div><p class=\"css-1kvqkq0 e1lejebg5\"><strong class=\"css-0 e1lejebg11\">Related reading:\u00a0</strong></p><ul class=\"css-1r9xe42 e1lejebg9\"><li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/dropbox-hidden-features/\" target=\"_self\">Advanced Dropbox features that you should start using</a></p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/dropbox-vs-onedrive/\" target=\"_self\">Dropbox vs. OneDrive: Which should you use?</a></p>\n</li>\n<li class=\"css-oiqntf e1lejebg7\">\n<p class=\"css-1kvqkq0 e1lejebg5\"><a class=\"css-1l9i3yq-Link\" data-color=\"primary\" data-weight=\"inherit\" href=\"https://zapier.com/blog/manage-google-storage/\" target=\"_self\">How to free up space in your Google account</a></p>\n</li>\n</ul><p class=\"css-1kvqkq0 e1lejebg5\"><em class=\"css-0 e1lejebg13\">This article was originally published in March 2016 by Chelsea Beck. The most recent update was in June 2023.</em></p>",
    "created_at": "2023-07-25T11:48:32+00:00",
    "updated_at": "2023-07-25T11:48:38+00:00",
    "published_at": "2016-03-01T00:00:00+00:00",
    "published_by": ["Jessica Lau"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 9,
    "domain_name": "zapier.com",
    "preview_picture": "https://images.ctfassets.net/lzny33ho1g45/4YXL5eCylJkBZ7YduJ0wuh/d71899e9c28c65bcb84b24553d74b1ba/folder-hero.jpg",
    "http_status": "200",
    "headers": {
      "server": "CloudFront",
      "content-type": "text/html; charset=utf-8",
      "content-length": "401685",
      "connection": "keep-alive",
      "date": "Tue, 25 Jul 2023 11:48:31 GMT",
      "content-security-policy": "frame-ancestors self",
      "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
      "x-frame-options": "deny",
      "x-download-options": "noopen",
      "x-content-type-options": "nosniff",
      "x-xss-protection": "1; mode=block",
      "x-nextjs-cache": "HIT",
      "etag": "\"f4f4bqu83s8ltt\"",
      "cache-control": "s-maxage=1800, stale-while-revalidate",
      "vary": "Accept-Encoding",
      "via": "1.1 4cafceb008e6fb971d9321d02b918f8e.cloudfront.net (CloudFront)",
      "set-cookie": "visitor_id=a924af1f-8b1e-41dd-872b-e60016e610a2; Path=/; Max-Age=5897232000; Domain=zapier.com; SameSite=None; Secure",
      "x-cache": "Miss from cloudfront",
      "x-amz-cf-pop": "LHR61-P4",
      "x-amz-cf-id": "Spd46uNhHb3_FEitULYonPgP4CyTm-rys-Tds7D-UuStH6qCTxvFrg=="
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["organisation"],
    "is_public": false,
    "id": 54,
    "title": "how-to-stay-organized-at-work",
    "url": "https://slack.com/intl/fr-fr/blog/productivity/how-to-stay-organized-at-work",
    "given_url": "https://slack.com/intl/fr-fr/blog/productivity/how-to-stay-organized-at-work",
    "content": "wallabag can't retrieve contents for this article. Please <a href=\"https://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that\">troubleshoot this issue</a>.\n",
    "created_at": "2023-07-25T11:45:49+00:00",
    "updated_at": "2023-07-25T11:45:55+00:00",
    "published_by": [""],
    "annotations": [],
    "reading_time": 0,
    "domain_name": "slack.com"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": [
      "data",
      "thomas_cotinet",
      "r\u00e9publique_num\u00e9rique",
      "d\u00e9cideurs_publics"
    ],
    "is_public": false,
    "id": 53,
    "title": "Pour une r\u00e9publique num\u00e9rique en pleine possession de ses moyens",
    "url": "https://medium.com/@ThomasCOTTINET/pour-une-r%C3%A9publique-num%C3%A9rique-en-pleine-possession-de-ses-moyens-fa465704b023",
    "given_url": "https://medium.com/@ThomasCOTTINET/pour-une-r%C3%A9publique-num%C3%A9rique-en-pleine-possession-de-ses-moyens-fa465704b023",
    "content": "<article><div class=\"l\"><div class=\"l\"><section><div><div><div class=\"ab ca\"><div class=\"ch bg fv fw fx fy\"><div class=\"speechify-ignore gj gk gl gm gn l\"><div class=\"go gp gq gr gs\"><div class=\"speechify-ignore ab co\"><div class=\"speechify-ignore bg l\"><div class=\"gt gu gv gw gx ab\"><div><div class=\"ab gy\"><a rel=\"noopener follow\" href=\"https://medium.com/@ThomasCOTTINET?source=post_page-----fa465704b023--------------------------------\"><div><div class=\"bl\" aria-hidden=\"false\"><div class=\"l gz ha bx hb hc\"><div class=\"l ff\"><img alt=\"Thomas Cottinet\" class=\"l fa bx dc dd cw\" src=\"https://miro.medium.com/v2/resize:fill:88:88/0*EIPb-JP8p8BirTBT.jpeg\" width=\"44\" height=\"44\" referrerpolicy=\"no-referrer\" /></div></div></div></div></a></div></div><div class=\"bm bg l\"><div class=\"ab\"><div><div class=\"hg ab q\"><div class=\"ab q hh\"><div class=\"ab q\"><div><div class=\"bl\" aria-hidden=\"false\"><p class=\"be b hi hj bj\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar hk\" rel=\"noopener follow\" href=\"https://medium.com/@ThomasCOTTINET?source=post_page-----fa465704b023--------------------------------\">Thomas Cottinet</a></p></div></div></div>\u00b7<p class=\"be b hi hj dt\"><a class=\"hn ho ah ai aj ak al am an ao ap aq ar eu hp hq\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fsubscribe%2Fuser%2Fd6188ae498bd&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40ThomasCOTTINET%2Fpour-une-r%C3%A9publique-num%C3%A9rique-en-pleine-possession-de-ses-moyens-fa465704b023&amp;user=Thomas+Cottinet&amp;userId=d6188ae498bd&amp;source=post_page-d6188ae498bd----fa465704b023---------------------post_header-----------\">Follow</a></p></div></div></div></div><div class=\"l hr\"><div class=\"ab cm hs ht hu\"><div class=\"ab ae\">7 min read<div class=\"hv hw l\" aria-hidden=\"true\">\u00b7</div>Oct 4, 2020</div></div></div></div></div><div class=\"ab co hx hy hz ia ib ic id ie if ig ih ii ij ik il im\"><div class=\"h k w fc fd q\"><div class=\"jc l\"><div class=\"ab q jd\"><div class=\"pw-multi-vote-icon ff je jf jg jh\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2Ffa465704b023&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40ThomasCOTTINET%2Fpour-une-r%25C3%25A9publique-num%25C3%25A9rique-en-pleine-possession-de-ses-moyens-fa465704b023&amp;user=Thomas+Cottinet&amp;userId=d6188ae498bd&amp;source=-----fa465704b023---------------------clap_footer-----------\"><div class=\"ji ao fg jj jk jl am jm jn jo jh\"></div></a></div><div class=\"pw-multi-vote-count l jp jq jr js jt ju jv\"><p class=\"be b du z dt\">--</p></div></div></div><div><div class=\"bl\" aria-hidden=\"false\"></div></div><div class=\"ab q in io ip iq ir is it iu iv iw ix iy iz ja jb\"><div class=\"h k\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div><div class=\"bl\" aria-hidden=\"false\" aria-describedby=\"postFooterSocialMenu\" aria-labelledby=\"postFooterSocialMenu\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div></div></div></div></div></div></div></div><div class=\"ky kz la lb lc\"><div class=\"ab ca\"><div class=\"ch bg fv fw fx fy\"><p id=\"806c\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\"><strong class=\"lg mc\">Pour une r\u00e9publique num\u00e9rique en pleine possession de ses moyens</strong></p><p id=\"0895\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\">{Un article \u00e9crit au printemps et publi\u00e9 en juin 2020 dans le num\u00e9ro \u201cGouverner \u00e0 l\u2019\u00e8re du num\u00e9rique\u201d de la revue L\u2019Ena hors les murs}</p><p id=\"27d4\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\">Tandis que <em class=\"md\">gouverner par le num\u00e9rique</em> va demeurer pendant un certain temps un levier essentiel de la modernisation publique, ne pas \u00eatre <em class=\"md\">gouvern\u00e9s par le num\u00e9rique</em> s\u2019impose comme une pr\u00e9occupation majeure.</p><p id=\"b0aa\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\"><strong class=\"lg mc\">Premi\u00e8re pr\u00e9occupation : le niveau de compr\u00e9hension par les d\u00e9cideurs publics des technologies num\u00e9riques. Il peut conditionner leur libre arbitre.</strong> Le cloisonnement des comp\u00e9tences est bien install\u00e9 dans les administrations entre les experts des politiques publiques et les experts du num\u00e9rique. Les personnes ou les \u00e9quipes qui cumulent les deux types de comp\u00e9tences sont rares. Cette d\u00e9l\u00e9gation de comp\u00e9tences du politique \u00e0 l\u2019univers de la tech inqui\u00e8te : la fronti\u00e8re entre d\u00e9l\u00e9gation de comp\u00e9tences et d\u00e9l\u00e9gation de vision est vite franchie. Certain.e.s r\u00e9torquent que ce type de foss\u00e9 existe d\u00e9j\u00e0 dans de nombreuses mati\u00e8res tr\u00e8s techniques o\u00f9 politiques et fonctionnaires ont \u00e0 prendre des d\u00e9cisions, \u00e0 l\u2019instar du b\u00e2timent, des r\u00e9seaux de transports, d\u2019eau, d\u2019assainissement, d\u2019\u00e9clairage, de communication ou d\u2019\u00e9nergie. Pour aider la prise de d\u00e9cision, des experts ext\u00e9rieurs interviennent si besoin : c\u2019est accept\u00e9, organis\u00e9 et encadr\u00e9.</p><p id=\"d032\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\">Force est de constater que pour le num\u00e9rique on ne peut se contenter de raisonner de la sorte. Non seulement le num\u00e9rique est transverse \u00e0 tous les pans de l\u2019action publique, mais les choix de solutions num\u00e9riques peuvent conditionner le degr\u00e9 de respect de certains fondamentaux de nos soci\u00e9t\u00e9s d\u00e9mocratiques.</p><figure class=\"mh mi mj mk ml mm me mf paragraph-image\"><div role=\"button\" tabindex=\"0\" class=\"mn mo ff mp bg mq\"><div class=\"me mf mg\"><picture></picture></div></div></figure><p id=\"39ce\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\">Dans ces conditions les ministres, parlementaires, \u00e9lus locaux, dirigeants publics, cadres fonctionnaires peuvent-ils ne pas ma\u00eetriser un minimum de notions s\u2019agissant par exemple de la data, de l\u2019intelligence artificielle, de la plateformisation, du cloud, de la blockchain, de la cybers\u00e9curit\u00e9, de l\u2019open source ? Dans les cas des contrats liant Microsoft au minist\u00e8re de la D\u00e9fense et Palantir au minist\u00e8re de l\u2019Int\u00e9rieur (DGSI), ou pour l\u2019annonce du projet de monnaie mondiale Libra par Facebook, ne pourrait-on pas consid\u00e9rer qu\u2019un maximum de parlementaires, et non les seuls \u201cgeeks\u201d \u201cusuals suspects\u201d, devraient \u00eatre \u00e0 m\u00eame d\u2019identifier et comprendre les questions qui se posent ? D\u00e9l\u00e9guer cela aux experts, chercheurs, conseils, ONG, journalistes ou aux lanceurs d\u2019alertes ne suffit pas.</p><p id=\"ddd7\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\">Il y a urgence \u00e0 acculturer les d\u00e9cideurs publics aux fondamentaux scientifiques et techniques du num\u00e9rique. Il ne s\u2019agit pas uniquement d\u2019une logique d\u00e9fensive pour \u00e9viter des risques de d\u00e9rives d\u2019un num\u00e9rique mal ma\u00eetris\u00e9 dans son int\u00e9gration aux politiques publiques. Il s\u2019agit aussi d\u2019une logique offensive pour une r\u00e9ponse publique ayant plus souvent recours au potentiel du num\u00e9rique, et de fa\u00e7on native c-a-d en pensant d\u2019embl\u00e9e le service dans un univers en partie digital. Les d\u00e9cideurs publics sont eux aussi en capacit\u00e9 de cr\u00e9er et d\u2019imaginer des usages et des services innovants, sans que ces derniers leurs soient souffl\u00e9s par des consultants. Ce bagage minimum en culture scientifique et technique num\u00e9riques, qu\u2019on pourrait comparer au bagage en droit public de tout cadre fonctionnaire, aiderait \u00e9galement \u00e0 \u00e9viter les pi\u00e8ges du solutionnisme technologique et des effets de mode (ex : blockchain, IA\u2026) en rendant les acteurs publics moins d\u00e9pendants des pr\u00e9conisations ext\u00e9rieures.</p><p id=\"2701\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\">La data science et l\u2019intelligence artificielle occupent une place \u00e0 part au sein de ce vernis de compr\u00e9hension num\u00e9rique pour d\u00e9cideurs publics : la donn\u00e9e et l\u2019IA qui l\u2019exploite cristallisent les enjeux et les risques pour les libert\u00e9s fondamentales, la souverainet\u00e9 et la s\u00e9curit\u00e9, tout en incarnant le potentiel vertigineux du num\u00e9rique pour l\u2019action publique (nouveaux services efficients) et son co\u00fbt pour l\u2019environnement. Doter les d\u00e9cideurs publics de ce bagage minimum en culture scientifique et technique num\u00e9rique est une ambition \u00e0 la port\u00e9e de la France au vu de la densit\u00e9 et la qualit\u00e9 de ses acteurs de la formation. Les ressources d\u00e9j\u00e0 existantes au sein des administrations pourraient aussi \u00eatre plus souvent mobilis\u00e9es, par exemple avec plus de mentorat invers\u00e9. Ce tronc commun pourrait \u00eatre augment\u00e9 d\u2019initiation en sciences comportementales (nudge), lean, design, prospective et innovation ouverte : pour une d\u00e9couverte de ces corpus souvent associ\u00e9s \u00e0 l\u2019int\u00e9gration du num\u00e9rique dans les choix d\u2019organisation de l\u2019action publique.</p><p id=\"0446\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\"><strong class=\"lg mc\">Deuxi\u00e8me point d\u2019attention : acceptons de politiser le num\u00e9rique public, de cliver, de rendre publics les risques, les tenants et aboutissants ! Suscitons des controverses.</strong> Alimentons la population sur les corollaires des d\u00e9cisions publiques \u00e0 fort enjeu num\u00e9rique : protection de la vie priv\u00e9e, accessibilit\u00e9 et efficience du service public, \u00e9thique, comp\u00e9titivit\u00e9 de l\u2019\u00e9conomie, empreinte \u00e9cologique et souverainet\u00e9. Mettons r\u00e9guli\u00e8rement \u00e0 l\u2019agenda du Parlement (et du CESE et des collectivit\u00e9s volontaires) ces sujets m\u00eame si en apparence ils sont surtout techniques : charge au Parlement de s\u2019adapter pour que la fa\u00e7on d\u2019en d\u00e9battre int\u00e9resse largement la population. D\u2019ailleurs s\u2019agissant du couple Parlement / Ex\u00e9cutif, tendre vers des \u00e9tudes d\u2019impact plus robustes pourrait aussi servir utilement cet objectif.</p><p id=\"2a8d\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\">N\u2019ayons pas crainte de dramatiser ces sujets, de les raccrocher aux grands enjeux politiques des soci\u00e9t\u00e9s d\u00e9mocratiques : attirons l\u2019attention, expliquons, organisons le d\u00e9bat, apportons un maximum de cl\u00e9s de compr\u00e9hension sur les dimensions techniques, juridiques, politiques, \u00e9conomiques, \u00e9cologiques et sociales. En faisant sortir de la bulle des experts les cons\u00e9quences de ces choix digitaux publics, ces controverses f\u00e9condes peuvent d\u00e9boucher sur des nouveaux principes contribuant au progr\u00e8s de la soci\u00e9t\u00e9. A une autre \u00e9chelle, le RGPD et les travaux qui l\u2019ont pr\u00e9c\u00e9d\u00e9 t\u00e9moignent de l\u2019opportunit\u00e9 de d\u00e9battre ouvertement en assumant toutes les influences et les rapports de force.</p><p id=\"fb29\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\">Ces sujets \u00e0 d\u00e9battre pour ensuite d\u00e9cider et agir sont multiples : fracture num\u00e9rique, acc\u00e8s au service public, respect de la vie priv\u00e9, empreinte \u00e9cologique, impact social sur les emplois, diversit\u00e9 des \u00e9quipes num\u00e9riques (dont la place des femmes), transparence et \u00e9thique des algorithmes, infox, achat public innovant de solutions digitales, cybers\u00e9curit\u00e9 ou encore les questions de souverainet\u00e9 soulev\u00e9es par les grandes plateformes priv\u00e9es (Gafam, Batx). Car ces plateformes syst\u00e9miques en fixant leurs propres r\u00e8gles r\u00e9gulent les acc\u00e8s \u00e0 des services publics et priv\u00e9s, et \u00e0 des contenus. De fait il y a un transfert de souverainet\u00e9 en cours. Il est urgent d\u2019en d\u00e9battre publiquement puis d\u2019agir.</p><p id=\"8f61\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\"><strong class=\"lg mc\">Un autre point de vigilance est le recours \u00e0 l\u2019open source dans les civic tech</strong>, c\u2019est \u00e0 dire dans les solutions technologiques qui op\u00e8rent la d\u00e9mocratie participative (vote, consultation, analyse et interpr\u00e9tation des contributions, budget participatif\u2026). La transparence et l\u2019explicabilit\u00e9 des algorithmes plac\u00e9s au c\u0153ur du fonctionnement d\u00e9mocratique sont essentielles. Continuons l\u00e0 aussi \u00e0 en d\u00e9battre et d\u00e9cidons.</p><p id=\"8eef\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\"><strong class=\"lg mc\">Autre enjeu majeur dont doit s\u2019emparer le num\u00e9rique public fran\u00e7ais : les femmes doivent \u00eatre mieux repr\u00e9sent\u00e9es</strong>. Il s\u2019agit de b\u00e9n\u00e9ficier de la richesse de la vari\u00e9t\u00e9 des talents et d\u2019\u00e9viter les biais dans les solutions digitales et donc dans les politiques publiques qui les utilisent. Actuellement sur le march\u00e9 de l\u2019emploi des cadres, la volont\u00e9 de s\u2019orienter vers des missions qui font sens, voire d\u2019int\u00e9r\u00eat g\u00e9n\u00e9ral, constitue une opportunit\u00e9 pour le service public : elle lui conf\u00e8re une attractivit\u00e9 en termes de recrutement et de fid\u00e9lisation. Cette fen\u00eatre de tir pourrait \u00eatre exploit\u00e9e pour int\u00e9grer massivement dans le service public des talents tech avec une ambition de diversit\u00e9, pour plus de <em class=\"md\">role model</em> tech f\u00e9minins dans le secteur public fran\u00e7ais.</p><p id=\"2c81\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\"><strong class=\"lg mc\">Une derni\u00e8re suggestion : faisons de la gov tech un secteur prioritaire de la recherche et d\u00e9veloppement ! La gov tech est aussi un march\u00e9, en pleine croissance et un enjeu d\u2019ind\u00e9pendance et d\u2019influence.</strong> \u00catre \u00e0 l\u2019avant-garde des standards modernes du gouverner par le num\u00e9rique est un enjeu de soci\u00e9t\u00e9 majeur pour les d\u00e9mocraties, en concurrence avec d\u2019autres mod\u00e8les de soci\u00e9t\u00e9. Aidons donc les acteurs fran\u00e7ais et europ\u00e9ens de la gov tech \u00e0 se doter d\u2019avantages concurrentiels : intensifions les collaborations et la fertilisation crois\u00e9e entre l\u2019administration et les acteurs de la recherche et de l\u2019innovation. Comme les entreprises, les administrations sont des partenaires pour les acteurs de la recherche, capables d\u2019innover avec eux et de s\u2019offrir comme terrains d\u2019exp\u00e9rimentation. Par ailleurs \u00eatre moins d\u00e9pendants des grandes plateformes priv\u00e9es en terme de num\u00e9rique public passe aussi par cette ambition en mati\u00e8re de recherche et d\u2019innovation, et par l\u2019implication des administrations dans cette ambition. La France pourrait sur ce sujet impulser au niveau europ\u00e9en un champ de recherche ambitieux au sein de l\u2019EIT (European Institute of Innovation &amp; Technology) avec une CCI d\u00e9di\u00e9e (Communaut\u00e9 de la connaissance et de l\u2019innovation). Au niveau national, les acteurs de l\u2019excellence de la recherche en num\u00e9rique et en sciences humaines et sociales et les administrations innovantes des trois fonctions publiques pourraient cr\u00e9er un p\u00f4le de comp\u00e9titivit\u00e9 ou cluster d\u00e9di\u00e9 \u00e0 la gov tech. Il contribuerait \u00e0 l\u2019\u00e9mergence de solutions fran\u00e7aises innovantes, co-con\u00e7ues et d\u00e9ploy\u00e9es par les administrations et leurs \u00e9cosyst\u00e8mes (citoyens, associations, territoires, entreprises dont les entreprises \u00e0 mission).</p><p id=\"d44b\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\">\u00ab Le citoyen est tour \u00e0 tour gouverneur et gouvern\u00e9 \u00bb : faisons-en sorte que gr\u00e2ce au num\u00e9rique ce gouvernement soit efficace, en connaissance de cause et sans angle mort sur des aspects fondamentaux du libre arbitre et de l\u2019\u00c9tat de droit.</p><p id=\"d541\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\">Thomas COTTINET</p><p id=\"cffa\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\">Avril 2020</p><p id=\"5674\" class=\"pw-post-body-paragraph ld le lf lg b lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb ky bj\">Les autres articles du dossier \u201cGouverner \u00e0 l\u2019\u00e8re du num\u00e9rique\u201d :</p><figure class=\"mh mi mj mk ml mm me mf paragraph-image\"><div role=\"button\" tabindex=\"0\" class=\"mn mo ff mp bg mq\"><div class=\"me mf mt\"><picture></picture></div></div></figure></div></div></div></div></div></div></div></section></div></div></article><article class=\"dv\"><div class=\"dv nl l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv rz sa sb sc sd se sf sg sh si sj sk sl\"><div class=\"sm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview Image\" rel=\"noopener follow\" href=\"https://medium.com/artificial-corner/youre-using-chatgpt-wrong-here-s-how-to-be-ahead-of-99-of-chatgpt-users-886a50dabc54?source=read_next_recirc-----fa465704b023----0---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"so sp sq sr ss\"><img alt=\"\" class=\"bg st su sv sw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*y0vJwEfN45barnQO9jiYew.jpeg\" role=\"presentation\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sn ab ca cn\"><div class=\"sx sy sz ta tb ab\"><div class=\"mx l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@frank-andrade?source=read_next_recirc-----fa465704b023----0---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"l ff\"><img alt=\"The PyCoach\" class=\"l fa bx tc td cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*veEX4-CiLz5jqUjwWfQo_Q.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"te l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar hk ab q\" rel=\"noopener follow\" href=\"https://medium.com/@frank-andrade?source=read_next_recirc-----fa465704b023----0---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><p class=\"be b du z tf tg th ti tj tk tl tm bj\">The PyCoach</p></a></div></div></div><div class=\"te l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar hk ab q\" href=\"https://medium.com/artificial-corner?source=read_next_recirc-----fa465704b023----0---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\" rel=\"noopener follow\"><p class=\"be b du z tf tg th ti tj tk tl tm bj\">Artificial Corner</p></a></div></div></div></div><div class=\"tn to tp tq tr ts tt tu tv tw l ky\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview Title\" rel=\"noopener follow\" href=\"https://medium.com/artificial-corner/youre-using-chatgpt-wrong-here-s-how-to-be-ahead-of-99-of-chatgpt-users-886a50dabc54?source=read_next_recirc-----fa465704b023----0---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div title=\"You\u2019re Using ChatGPT Wrong! Here\u2019s How to Be Ahead of 99% of ChatGPT Users\"><h2 class=\"be mc pu pv tx ty pw px py tz ua pz lp ub uc ud ue lt uf ug uh ui lx uj uk ul um tf th ti tk tm bj\">You\u2019re Using ChatGPT Wrong! Here\u2019s How to Be Ahead of 99% of ChatGPT Users</h2></div><div class=\"un l\"><h3 class=\"be b hi z tf uo th ti up tk tm dt\">Master ChatGPT by learning prompt engineering.</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview memebership and reading time information\" rel=\"noopener follow\" href=\"https://medium.com/artificial-corner/youre-using-chatgpt-wrong-here-s-how-to-be-ahead-of-99-of-chatgpt-users-886a50dabc54?source=read_next_recirc-----fa465704b023----0---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"ab q\"><div class=\"nl ab\"><div class=\"bl\" aria-hidden=\"false\"></div>\u00b77 min read\u00b7Mar 17</div></div></a><div class=\"uq ur us ut uu l\"><div class=\"ab co\"><div class=\"am uv uw ux uy uz va vb vc vd ve ab q\"><div class=\"ab q jd\"><div class=\"pw-multi-vote-icon ff je jf jg jh\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fartificial-corner%2F886a50dabc54&amp;operation=register&amp;redirect=https%3A%2F%2Fartificialcorner.com%2Fyoure-using-chatgpt-wrong-here-s-how-to-be-ahead-of-99-of-chatgpt-users-886a50dabc54&amp;user=The+PyCoach&amp;userId=fb44e21903f3&amp;source=-----886a50dabc54----0-----------------clap_footer----44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"ji ao fg jj jk jl am jm jn jo jh\"></div></a></div><div class=\"pw-multi-vote-count l jp jq jr js jt ju jv\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vf l\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/artificial-corner/youre-using-chatgpt-wrong-here-s-how-to-be-ahead-of-99-of-chatgpt-users-886a50dabc54?source=read_next_recirc-----fa465704b023----0---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------&amp;responsesOpen=true&amp;sortBy=REVERSE_CHRON\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></a></div></div><div class=\"ab q vh vi\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv nl l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv rz sa sb sc sd se sf sg sh si sj sk sl\"><div class=\"sm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview Image\" rel=\"noopener follow\" href=\"https://medium.com/@toni.becerra/10-seconds-that-ended-my-20-year-marriage-a6f367f02e53?source=read_next_recirc-----fa465704b023----1---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"so sp sq sr ss\"><img alt=\"\" class=\"bg st su sv sw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*2PEPQ0LxKFELp2lojVF-lw.jpeg\" role=\"presentation\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sn ab ca cn\"><div class=\"sx sy sz ta tb ab\"><div class=\"mx l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@toni.becerra?source=read_next_recirc-----fa465704b023----1---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"l ff\"><img alt=\"Unbecoming\" class=\"l fa bx tc td cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*_FyD8-JlhRRmfaZnEgCrkA.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"te l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar hk ab q\" rel=\"noopener follow\" href=\"https://medium.com/@toni.becerra?source=read_next_recirc-----fa465704b023----1---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><p class=\"be b du z tf tg th ti tj tk tl tm bj\">Unbecoming</p></a></div></div></div></div><div class=\"tn to tp tq tr ts tt tu tv tw l ky\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview Title\" rel=\"noopener follow\" href=\"https://medium.com/@toni.becerra/10-seconds-that-ended-my-20-year-marriage-a6f367f02e53?source=read_next_recirc-----fa465704b023----1---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div title=\"\"><h2 class=\"be mc pu pv tx ty pw px py tz ua pz lp ub uc ud ue lt uf ug uh ui lx uj uk ul um tf th ti tk tm bj\">10 Seconds That Ended My 20 Year Marriage</h2></div><div class=\"un l\"><h3 class=\"be b hi z tf uo th ti up tk tm dt\">It\u2019s August in Northern Virginia, hot and humid. I still haven\u2019t showered from my morning trail run. I\u2019m wearing my stay-at-home mom\u2026</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview memebership and reading time information\" rel=\"noopener follow\" href=\"https://medium.com/@toni.becerra/10-seconds-that-ended-my-20-year-marriage-a6f367f02e53?source=read_next_recirc-----fa465704b023----1---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"ab q\"><div class=\"nl ab\"><div class=\"bl\" aria-hidden=\"false\"></div>\u00b74 min read\u00b7Feb 16, 2022</div></div></a><div class=\"uq ur us ut uu l\"><div class=\"ab co\"><div class=\"am uv uw ux uy uz va vb vc vd ve ab q\"><div class=\"ab q jd\"><div class=\"pw-multi-vote-icon ff je jf jg jh\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2Fa6f367f02e53&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40toni.becerra%2F10-seconds-that-ended-my-20-year-marriage-a6f367f02e53&amp;user=Unbecoming&amp;userId=822077a7247e&amp;source=-----a6f367f02e53----1-----------------clap_footer----44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"ji ao fg jj jk jl am jm jn jo jh\"></div></a></div><div class=\"pw-multi-vote-count l jp jq jr js jt ju jv\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vf l\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@toni.becerra/10-seconds-that-ended-my-20-year-marriage-a6f367f02e53?source=read_next_recirc-----fa465704b023----1---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------&amp;responsesOpen=true&amp;sortBy=REVERSE_CHRON\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></a></div></div><div class=\"ab q vh vi\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv nl l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv rz sa sb sc sd se sf sg sh si sj sk sl\"><div class=\"sm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview Image\" rel=\"noopener follow\" href=\"https://medium.com/gitconnected/why-i-keep-failing-candidates-during-google-interviews-dc8f865b2c19?source=read_next_recirc-----fa465704b023----0---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"so sp sq sr ss\"><img alt=\"\" class=\"bg st su sv sw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*FyaF0pPskcOtQ_MmEnBjZA.jpeg\" role=\"presentation\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sn ab ca cn\"><div class=\"sx sy sz ta tb ab\"><div class=\"mx l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@alexcancode?source=read_next_recirc-----fa465704b023----0---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"l ff\"><img alt=\"Alexander Nguyen\" class=\"l fa bx tc td cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*cwYWYCjbeXNc_pAtTeq_Zg.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"te l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar hk ab q\" rel=\"noopener follow\" href=\"https://medium.com/@alexcancode?source=read_next_recirc-----fa465704b023----0---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><p class=\"be b du z tf tg th ti tj tk tl tm bj\">Alexander Nguyen</p></a></div></div></div><div class=\"te l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar hk ab q\" href=\"https://medium.com/gitconnected?source=read_next_recirc-----fa465704b023----0---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\" rel=\"noopener follow\"><p class=\"be b du z tf tg th ti tj tk tl tm bj\">Level Up Coding</p></a></div></div></div></div><div class=\"tn to tp tq tr ts tt tu tv tw l ky\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview Title\" rel=\"noopener follow\" href=\"https://medium.com/gitconnected/why-i-keep-failing-candidates-during-google-interviews-dc8f865b2c19?source=read_next_recirc-----fa465704b023----0---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div title=\"\"><h2 class=\"be mc pu pv tx ty pw px py tz ua pz lp ub uc ud ue lt uf ug uh ui lx uj uk ul um tf th ti tk tm bj\">Why I Keep Failing Candidates During Google Interviews\u2026</h2></div><div class=\"un l\"><h3 class=\"be b hi z tf uo th ti up tk tm dt\">They don\u2019t meet the bar.</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview memebership and reading time information\" rel=\"noopener follow\" href=\"https://medium.com/gitconnected/why-i-keep-failing-candidates-during-google-interviews-dc8f865b2c19?source=read_next_recirc-----fa465704b023----0---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"ab q\"><div class=\"nl ab\"><div class=\"bl\" aria-hidden=\"false\"></div>\u00b74 min read\u00b7Apr 13</div></div></a><div class=\"uq ur us ut uu l\"><div class=\"ab co\"><div class=\"am uv uw ux uy uz va vb vc vd ve ab q\"><div class=\"ab q jd\"><div class=\"pw-multi-vote-icon ff je jf jg jh\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fgitconnected%2Fdc8f865b2c19&amp;operation=register&amp;redirect=https%3A%2F%2Flevelup.gitconnected.com%2Fwhy-i-keep-failing-candidates-during-google-interviews-dc8f865b2c19&amp;user=Alexander+Nguyen&amp;userId=a148fd75c2e9&amp;source=-----dc8f865b2c19----0-----------------clap_footer----44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"ji ao fg jj jk jl am jm jn jo jh\"></div></a></div><div class=\"pw-multi-vote-count l jp jq jr js jt ju jv\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vf l\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/gitconnected/why-i-keep-failing-candidates-during-google-interviews-dc8f865b2c19?source=read_next_recirc-----fa465704b023----0---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------&amp;responsesOpen=true&amp;sortBy=REVERSE_CHRON\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></a></div></div><div class=\"ab q vh vi\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv nl l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv rz sa sb sc sd se sf sg sh si sj sk sl\"><div class=\"sm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview Image\" rel=\"noopener follow\" href=\"https://medium.com/better-advice/10-things-to-do-in-the-evening-instead-of-watching-netflix-4e270e9dd6b9?source=read_next_recirc-----fa465704b023----1---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"so sp sq sr ss\"><img alt=\"\" class=\"bg st su sv sw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*tt2eKUl9wFmNBJdTuML0JA.jpeg\" role=\"presentation\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sn ab ca cn\"><div class=\"sx sy sz ta tb ab\"><div class=\"mx l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@aleid-tw?source=read_next_recirc-----fa465704b023----1---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"l ff\"><img alt=\"Aleid ter Weel\" class=\"l fa bx tc td cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*tHh3UgKbUaChv0I04U3BfQ.jpeg\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"te l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar hk ab q\" rel=\"noopener follow\" href=\"https://medium.com/@aleid-tw?source=read_next_recirc-----fa465704b023----1---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><p class=\"be b du z tf tg th ti tj tk tl tm bj\">Aleid ter Weel</p></a></div></div></div><div class=\"te l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar hk ab q\" href=\"https://medium.com/better-advice?source=read_next_recirc-----fa465704b023----1---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\" rel=\"noopener follow\"><p class=\"be b du z tf tg th ti tj tk tl tm bj\">Better Advice</p></a></div></div></div></div><div class=\"tn to tp tq tr ts tt tu tv tw l ky\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview Title\" rel=\"noopener follow\" href=\"https://medium.com/better-advice/10-things-to-do-in-the-evening-instead-of-watching-netflix-4e270e9dd6b9?source=read_next_recirc-----fa465704b023----1---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div title=\"\"><h2 class=\"be mc pu pv tx ty pw px py tz ua pz lp ub uc ud ue lt uf ug uh ui lx uj uk ul um tf th ti tk tm bj\">10 Things To Do In The Evening Instead Of Watching Netflix</h2></div><div class=\"un l\"><h3 class=\"be b hi z tf uo th ti up tk tm dt\">Device-free habits to increase your productivity and happiness.</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview memebership and reading time information\" rel=\"noopener follow\" href=\"https://medium.com/better-advice/10-things-to-do-in-the-evening-instead-of-watching-netflix-4e270e9dd6b9?source=read_next_recirc-----fa465704b023----1---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"ab q\"><div class=\"nl ab\"><div class=\"bl\" aria-hidden=\"false\"></div>\u00b75 min read\u00b7Feb 15, 2022</div></div></a><div class=\"uq ur us ut uu l\"><div class=\"ab co\"><div class=\"am uv uw ux uy uz va vb vc vd ve ab q\"><div class=\"ab q jd\"><div class=\"pw-multi-vote-icon ff je jf jg jh\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fbetter-advice%2F4e270e9dd6b9&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Fbetter-advice%2F10-things-to-do-in-the-evening-instead-of-watching-netflix-4e270e9dd6b9&amp;user=Aleid+ter+Weel&amp;userId=6ffe087f07e5&amp;source=-----4e270e9dd6b9----1-----------------clap_footer----44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"ji ao fg jj jk jl am jm jn jo jh\"></div></a></div><div class=\"pw-multi-vote-count l jp jq jr js jt ju jv\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vf l\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/better-advice/10-things-to-do-in-the-evening-instead-of-watching-netflix-4e270e9dd6b9?source=read_next_recirc-----fa465704b023----1---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------&amp;responsesOpen=true&amp;sortBy=REVERSE_CHRON\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></a></div></div><div class=\"ab q vh vi\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv nl l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv rz sa sb sc sd se sf sg sh si sj sk sl\"><div class=\"sm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview Image\" rel=\"noopener follow\" href=\"https://medium.com/swlh/if-you-want-to-be-a-creator-delete-all-but-two-social-media-platforms-c1ac70b2d98e?source=read_next_recirc-----fa465704b023----2---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"so sp sq sr ss\"><img alt=\"four cartoonish images of a white woman in business wear. i like this image because it looks like 4 different social media profiles.\" class=\"bg st su sv sw\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*EIScZ6OOE_KBoCF8afluyw.png\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sn ab ca cn\"><div class=\"sx sy sz ta tb ab\"><div class=\"mx l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@zulie?source=read_next_recirc-----fa465704b023----2---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"l ff\"><img alt=\"Zulie Rane\" class=\"l fa bx tc td cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*sPU_ZHS0My6X5eDlT7uA-w.png\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"te l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar hk ab q\" rel=\"noopener follow\" href=\"https://medium.com/@zulie?source=read_next_recirc-----fa465704b023----2---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><p class=\"be b du z tf tg th ti tj tk tl tm bj\">Zulie Rane</p></a></div></div></div><div class=\"te l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar hk ab q\" href=\"https://medium.com/swlh?source=read_next_recirc-----fa465704b023----2---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\" rel=\"noopener follow\"><p class=\"be b du z tf tg th ti tj tk tl tm bj\">The Startup</p></a></div></div></div></div><div class=\"tn to tp tq tr ts tt tu tv tw l ky\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview Title\" rel=\"noopener follow\" href=\"https://medium.com/swlh/if-you-want-to-be-a-creator-delete-all-but-two-social-media-platforms-c1ac70b2d98e?source=read_next_recirc-----fa465704b023----2---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div title=\"If You Want to Be a Creator, Delete All (But Two) Social Media Platforms\"><h2 class=\"be mc pu pv tx ty pw px py tz ua pz lp ub uc ud ue lt uf ug uh ui lx uj uk ul um tf th ti tk tm bj\">If You Want to Be a Creator, Delete All (But Two) Social Media Platforms</h2></div><div class=\"un l\"><h3 class=\"be b hi z tf uo th ti up tk tm dt\">In October 2022, during the whole Elon Musk debacle, I finally deleted Twitter from my phone. Around the same time, I also logged out of\u2026</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview memebership and reading time information\" rel=\"noopener follow\" href=\"https://medium.com/swlh/if-you-want-to-be-a-creator-delete-all-but-two-social-media-platforms-c1ac70b2d98e?source=read_next_recirc-----fa465704b023----2---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"ab q\"><div class=\"nl ab\"><div class=\"bl\" aria-hidden=\"false\"></div>\u00b78 min read\u00b7Apr 19</div></div></a><div class=\"uq ur us ut uu l\"><div class=\"ab co\"><div class=\"am uv uw ux uy uz va vb vc vd ve ab q\"><div class=\"ab q jd\"><div class=\"pw-multi-vote-icon ff je jf jg jh\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fswlh%2Fc1ac70b2d98e&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Fswlh%2Fif-you-want-to-be-a-creator-delete-all-but-two-social-media-platforms-c1ac70b2d98e&amp;user=Zulie+Rane&amp;userId=14d5c41e0264&amp;source=-----c1ac70b2d98e----2-----------------clap_footer----44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"ji ao fg jj jk jl am jm jn jo jh\"></div></a></div><div class=\"pw-multi-vote-count l jp jq jr js jt ju jv\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vf l\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/swlh/if-you-want-to-be-a-creator-delete-all-but-two-social-media-platforms-c1ac70b2d98e?source=read_next_recirc-----fa465704b023----2---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------&amp;responsesOpen=true&amp;sortBy=REVERSE_CHRON\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></a></div></div><div class=\"ab q vh vi\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div><div class=\"j i d\"></div></div></div></div></div></div></div></article><article class=\"dv\"><div class=\"dv nl l\"><div class=\"bg dv\"><div class=\"dv l\"><div class=\"dv rz sa sb sc sd se sf sg sh si sj sk sl\"><div class=\"sm\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview Image\" rel=\"noopener follow\" href=\"https://medium.com/better-humans/how-to-wake-up-at-5-a-m-every-day-ceb02e29c802?source=read_next_recirc-----fa465704b023----3---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"so sp sq sr ss\"><img alt=\"\" class=\"bg st su sv wc\" src=\"https://miro.medium.com/v2/resize:fit:1358/1*-Y9ozbNWSViiCmal1TT32w.jpeg\" role=\"presentation\" referrerpolicy=\"no-referrer\" /></div></a></div><div class=\"sn ab ca cn\"><div class=\"sx sy sz ta tb ab\"><div class=\"mx l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/@bryanye?source=read_next_recirc-----fa465704b023----3---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"l ff\"><img alt=\"Bryan Ye\" class=\"l fa bx tc td cw\" src=\"https://miro.medium.com/v2/resize:fill:40:40/1*AscZbV1rFfGzqjJX8ofzNw.png\" width=\"20\" height=\"20\" referrerpolicy=\"no-referrer\" /></div></a></div></div></div><div class=\"te l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar hk ab q\" rel=\"noopener follow\" href=\"https://medium.com/@bryanye?source=read_next_recirc-----fa465704b023----3---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><p class=\"be b du z tf tg th ti tj tk tl tm bj\">Bryan Ye</p></a></div></div></div><div class=\"te l\"><p class=\"be b du z dt\">in</p></div><div class=\"l\"><div><div class=\"bl\" aria-hidden=\"false\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar hk ab q\" href=\"https://medium.com/better-humans?source=read_next_recirc-----fa465704b023----3---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\" rel=\"noopener follow\"><p class=\"be b du z tf tg th ti tj tk tl tm bj\">Better Humans</p></a></div></div></div></div><div class=\"tn to tp tq tr ts tt tu tv tw l ky\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview Title\" rel=\"noopener follow\" href=\"https://medium.com/better-humans/how-to-wake-up-at-5-a-m-every-day-ceb02e29c802?source=read_next_recirc-----fa465704b023----3---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div title=\"\"><h2 class=\"be mc pu pv tx ty pw px py tz ua pz lp ub uc ud ue lt uf ug uh ui lx uj uk ul um tf th ti tk tm bj\">How To Wake Up at 5 A.M. Every Day</h2></div><div class=\"un l\"><h3 class=\"be b hi z tf uo th ti up tk tm dt\">An unconventional and compassionate guide to becoming an early bird</h3></div></a></div><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" aria-label=\"Post Preview memebership and reading time information\" rel=\"noopener follow\" href=\"https://medium.com/better-humans/how-to-wake-up-at-5-a-m-every-day-ceb02e29c802?source=read_next_recirc-----fa465704b023----3---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"ab q\"><div class=\"nl ab\"><div class=\"bl\" aria-hidden=\"false\"></div>\u00b715 min read\u00b7Oct 3, 2019</div></div></a><div class=\"uq ur us ut uu l\"><div class=\"ab co\"><div class=\"am uv uw ux uy uz va vb vc vd ve ab q\"><div class=\"ab q jd\"><div class=\"pw-multi-vote-icon ff je jf jg jh\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fbetter-humans%2Fceb02e29c802&amp;operation=register&amp;redirect=https%3A%2F%2Fbetterhumans.pub%2Fhow-to-wake-up-at-5-a-m-every-day-ceb02e29c802&amp;user=Bryan+Ye&amp;userId=b784e65fa75a&amp;source=-----ceb02e29c802----3-----------------clap_footer----44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------\"><div class=\"ji ao fg jj jk jl am jm jn jo jh\"></div></a></div><div class=\"pw-multi-vote-count l jp jq jr js jt ju jv\"><p class=\"be b du z dt\">--</p></div></div><div class=\"vf l\"><a class=\"af ag ah ai aj ak al am an ao ap aq ar as at\" rel=\"noopener follow\" href=\"https://medium.com/better-humans/how-to-wake-up-at-5-a-m-every-day-ceb02e29c802?source=read_next_recirc-----fa465704b023----3---------------------44ba7786_5aae_40a8_bc23_d4c03f5f9b63-------&amp;responsesOpen=true&amp;sortBy=REVERSE_CHRON\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></a></div></div><div class=\"ab q vh vi\"><div><div class=\"bl\" aria-hidden=\"false\"></div></div></div></div></div></div></div></div></div></div></article>",
    "created_at": "2023-05-26T08:01:28+00:00",
    "updated_at": "2023-05-26T08:02:16+00:00",
    "published_at": "2020-10-21T14:38:21+00:00",
    "published_by": ["Thomas Cottinet"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 8,
    "domain_name": "medium.com",
    "preview_picture": "https://miro.medium.com/v2/resize:fit:1151/1*Oplkf1hPytEUws257n8_pg.jpeg",
    "http_status": "200",
    "headers": {
      "date": "Fri, 26 May 2023 08:01:28 GMT",
      "content-type": "text/html; charset=utf-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "cf-ray": "7cd47d8119593cbf-CDG",
      "cf-cache-status": "DYNAMIC",
      "cache-control": "no-cache, no-store, max-age=0, must-revalidate",
      "set-cookie": "uid=lo_7de305cace59; Domain=medium.com; Path=/; Expires=Sun, 26 May 2024 08:01:27 GMT; HttpOnly; Secure; SameSite=None, __cfruid=d92c3ca8ba0f331a38e44b89a590febe8ac7bbf2-1685088088; path=/; domain=.medium.com; HttpOnly; Secure; SameSite=None",
      "strict-transport-security": "max-age=15552000; includeSubDomains; preload",
      "vary": "Accept-Encoding",
      "content-security-policy": "frame-ancestors 'self' https://medium.com",
      "medium-fulfilled-by": "edgy/8.3.0, valencia/main-20230523-120437-50b6ff5800, lite/main-20230525-212820-efb0a5fb73, rito/main-20230525-212820-efb0a5fb73, tutu/main-20230525-195645-84c5efb914",
      "medium-missing-time": "206",
      "worker-missing-cookies": "1",
      "x-content-type-options": "nosniff",
      "x-envoy-upstream-service-time": "687",
      "x-request-received-at": "1685088087283",
      "server": "cloudflare",
      "alt-svc": "h3=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["organisation", "plain-text"],
    "is_public": false,
    "id": 52,
    "title": "Links",
    "url": "https://plaintextproject.online/links.html",
    "given_url": "https://plaintextproject.online/links.html",
    "content": "<p>Links</p>\n<main><p>This is a list of links to articles and sites that explain how to effectively use plain text in your life and your work. Note that this page <em>isn\u2019t</em> meant to be a comprehensive or definitive set of links.</p>\n<p>Click the arrow beside any heading below to expand what\u2019s under it.</p>\n<details><h2 class=\"c1\" id=\"plain-text-websites\">Plain Text Websites</h2>\n<ul><li><a href=\"http://plaintext-productivity.net/\" target=\"_blank\">Plaintext Productivity</a></li>\n<li><a href=\"https://github.com/captn3m0/plaintext-everything\" target=\"_blank\">Plain Text Everything</a></li>\n<li><a href=\"https://plaintext.bearblog.dev/\" target=\"_blank\">A Plain Defense for Plain Text</a></li>\n<li><a href=\"https://plaintextworld.com/\">Plaintext World</a></li>\n</ul></details><details><h2 class=\"c1\" id=\"productivity\">Productivity</h2>\n<ul><li><a href=\"http://www.makeuseof.com/tag/8-everyday-things-can-track-text-files/\" target=\"_blank\">8 Everyday Things You Can Track with Text Files</a></li>\n<li><a href=\"https://zapier.com/blog/plain-text-files-for-productivity/\" target=\"_blank\">10 Plain Text Files You Should Have on Your Desktop for Higher Productivity</a></li>\n<li><a href=\"http://calnewport.com/blog/2015/10/27/deep-habits-workingmemory-txt-the-most-important-productivity-tool-youve-never-heard-of/\" target=\"_blank\">WorkingMemory.txt (The Most Important Productivity Tool You\u2019ve Never Heard Of)</a></li>\n<li><a href=\"https://medium.com/pixers-stories/managing-it-projects-in-a-text-mode-and-more-374cd497309d\" target=\"_blank\">Managing IT Projects in Text Mode</a></li>\n<li><a href=\"https://onetapless.com/blog/why-i-moved-my-tasks-to-plain-text\" target=\"_blank\">Why I moved my tasks to plain text</a></li>\n<li><a href=\"http://danlucraft.com/blog/2008/04/plain-text-organizer/\" target=\"_blank\">A Plain Text Personal Organizer</a></li>\n<li><a href=\"https://www.ostricher.com/2016/03/go-plain-personal-productivity-system/\" target=\"_blank\">Go Plain: My Simplicity-Driven Personal Productivity System</a></li>\n<li><a href=\"https://medium.com/@sverrirv/the-unsexy-plain-text-todo-file-8b4f77d835e\" target=\"_blank\">The unsexy plain text todo file</a></li>\n<li><a href=\"http://mcdaniel.blogs.rice.edu/?p=153\" target=\"_blank\">How I\u2019m Using Notational Velocity, Simplenote, and Merlin Mann\u2019s QQ Trick as a Replacement for the GTD Application Things</a></li>\n<li><a href=\"http://www.blossomassociates.org/Plan/\" target=\"_blank\">Simple Planning With Plain Text</a></li>\n<li><a href=\"https://www.calnewport.com/blog/2020/03/16/text-file-time-blocking/\" target=\"_blank\">Text File Time Blocking</a></li>\n<li><a href=\"https://donlelek.github.io/2015-03-09-text-only-workflow/\">How to: Achieve a text-only work-flow, for academics</a></li>\n<li><a href=\"https://www.leonardobighi.com/how-i-organize-my-life-in-plain-text/\">How I organize my life in plaintext</a></li>\n</ul></details><details><h2 class=\"c1\" id=\"writing\">Writing</h2>\n<ul><li><a href=\"http://becomeawritertoday.com/plain-text/\" target=\"_blank\">5 Unexpected Benefits of Plain Text for Writers</a></li>\n<li><a href=\"http://kairos.technorhetoric.net/20.2/inventio/stolley/\" target=\"_blank\">The Lo-Fi Manifesto</a></li>\n<li><a href=\"http://u.arizona.edu/~selisker/post/workflow/\" target=\"_blank\">A Plain Text Workflow for Academic Writing with Atom</a></li>\n<li><a href=\"https://www.digitalocean.com/community/tutorials/how-to-use-git-to-manage-your-writing-project\" target=\"_blank\">How To Use Git to Manage Your Writing Project</a></li>\n<li><a href=\"https://www.johnborwick.com/2019/02/24/emacs-writing.html\" target=\"_blank\">Writing in Emacs</a></li>\n</ul></details><details><h2 class=\"c1\" id=\"markdown\">Markdown</h2>\n<ul><li><em><a href=\"https://gumroad.com/l/learnmarkdown\" target=\"_blank\">Learning Markdown</a></em> (OK, this is my book. You can't blame a guy for marketing his own work!)</li>\n<li><a href=\"https://writingcenter.appstate.edu/blog/markup-markdown-write-elegant-plain-text\" target=\"_blank\">Markup, Markdown: Write In Elegant Plain Text</a></li>\n<li><a href=\"https://commonmark.org/help/\" target=\"_blank\">Markdown Reference</a></li>\n<li><a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">Mastering Markdown</a></li>\n<li><a href=\"https://www.makeuseof.com/tag/create-markdown-table/\" target=\"_blank\">How to Create a Markdown Table</a></li>\n<li><a href=\"https://brettterpstra.com/2020/04/29/markdown-and-code-snippet-management/\" target=\"_blank\">Markdown and code snippet management</a></li>\n<li><a href=\"https://www.thoughtco.com/what-is-markdown-formatting-4689009\">What Is Markdown Formatting?</a></li>\n</ul></details><details><h2 class=\"c1\" id=\"languages\">Other Markup Languages</h2>\n<ul><li><em><a href=\"https://gumroad.com/l/learnhtml\" target=\"_blank\">Learning HTML</a></em> (OK, this is my book. Again, you can't blame a guy for marketing his own work!)</li>\n<li><a href=\"https://www.latex-tutorial.com/\" target=\"_blank\">LaTeX-Tutorial.com</a></li>\n<li><a href=\"https://opensource.com/article/17/9/docbook\" target=\"_blank\">Getting Started with DocBook</a></li>\n<li><a href=\"https://www.linuxlinks.com/restructuredtext-what-you-see-is-what-you-get-plaintext-markup-language/\" target=\"_blank\">reStructuredText \u2013 what-you-see-is-what-you-get plaintext markup language</a></li>\n<li><a href=\"https://html.com/\" target=\"_blank\">HTML.com</a></li>\n<li><a href=\"http://asciimath.org/\" target=\"_blank\">AsciiMath</a></li>\n<li><a href=\"https://pretextbook.org/\" target=\"_blank\">PreText</a></li>\n<li><a href=\"https://www.linuxlinks.com/asciidoc-text-document-format-writing/\" target=\"_blank\">AsciiDoc \u2013 text document format for writing</a></li>\n<li><a href=\"https://myst-parser.readthedocs.io/en/latest/index.html\" target=\"_blank\">MyST - Markedly Structured Text</a></li>\n<li><a href=\"https://karl-voit.at/2017/09/23/orgmode-as-markup-only/\" target=\"_blank\">Org Mode Is One of the Most Reasonable Markup Languages to Use for Text</a></li>\n</ul></details><details><ul><li><a href=\"https://sive.rs/plaintext\" target=\"_blank\">Write plain text files</a></li>\n<li><a href=\"https://www.howtogeek.com/465420/what-is-plain-text/\" target=\"_blank\">What is Plain Text?</a></li>\n<li><a href=\"https://opensource.com/article/20/5/pandoc-cheat-sheet\" target=\"_blank\">Pandoc cheatsheet</a></li>\n<li><a href=\"https://www.lifewire.com/txt-text-file-4150707\" target=\"_blank\">What Is a Text File?</a></li>\n<li><a href=\"http://www.lifehack.org/articles/technology/why-geeks-love-plain-text-and-why-you-should-too.html\" target=\"_blank\">Why Geeks Love Plain Text (And Why You Should, Too)</a></li>\n<li><a href=\"http://mnmlist.com/a-case-for-storing-all-your-info-in-text-files/\" target=\"_blank\">store everything in text files</a></li>\n<li><a href=\"http://www.macworld.com/article/1168148/software-productivity/how-i-organize-everything-with-plain-text-notes.html\" target=\"_blank\">How I organize everything with plain-text notes</a></li>\n<li><a href=\"http://thume.ca/2017/03/04/my-text-editor-journey-vim-spacemacs-atom-and-sublime-text/\" target=\"_blank\">My Text Editor Journey: Vim, Spacemacs, Atom and Sublime Text</a></li>\n<li><a href=\"https://graydon2.dreamwidth.org/193447.html\" target=\"_blank\">always bet on text</a></li>\n<li><a href=\"https://www.computerhope.com/issues/ch001872.htm\" target=\"_blank\">What can and cannot be done in a text file?</a></li>\n<li><a href=\"https://computers.tutsplus.com/tutorials/quick-tip-how-to-set-up-a-text-based-notes-system--mac-49142\" target=\"_blank\">How to Set Up a Text-Based Notes System</a></li>\n<li><a href=\"https://muckhacker.com/elements-of-the-web-text-519c1028ffce?gi=a7d2dd345077\" target=\"_blank\">Simple and Universal: A History of Plain Text, and Why It Matters</a></li>\n<li><a href=\"https://plaintextaccounting.org/\" target=\"_blank\">Plain Text Accounting</a></li>\n<li><a href=\"https://useplaintext.email/\" target=\"_blank\">Use plaintext email</a></li>\n<li><a href=\"http://evantravers.com/articles/2019/07/01/my-world-in-textfiles/\" target=\"_blank\">My World in Textfiles</a></li>\n<li><a href=\"https://www.gozgeek.com/posts/2021/my-journey-into-the-plain-text-life-intro/\">My journey into the plain text life - Intro</a></li>\n<li><a href=\"https://www.bigbad.tech/2022/02/24/the-power-of-plain-text/\">The Power of Plain Text</a></li>\n<li><a href=\"https://evantravers.com/articles/2019/07/01/my-world-in-textfiles/\">My World in Text Files</a></li>\n</ul></details></main><footer><small>The Plain Text Project is licensed under <a href=\"https://creativecommons.org/licenses/by-nc-sa/4.0/\" target=\"_blank\">CC BY-NC-SA 4.0</a>. <img src=\"https://scottnesbitt.gitlab.io/images/by-nc-nd.png\" alt=\"CC BY-NC-ND 4.0\" referrerpolicy=\"no-referrer\" class=\"c1\" /></small></footer>",
    "created_at": "2023-05-21T20:38:34+00:00",
    "updated_at": "2023-05-21T20:38:48+00:00",
    "published_by": [""],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "reading_time": 2,
    "domain_name": "plaintextproject.online",
    "preview_picture": "https://scottnesbitt.gitlab.io/images/by-nc-nd.png",
    "http_status": "200",
    "headers": {
      "cache-control": "max-age=600",
      "content-length": "11702",
      "content-type": "text/html; charset=utf-8",
      "etag": "\"6549aad354104bae431104daff4622b01bedde5b03f5e6a3ae81553dcfefb9f0\"",
      "expires": "Sun, 21 May 2023 20:48:33 UTC",
      "last-modified": "Wed, 17 May 2023 02:39:04 GMT",
      "permissions-policy": "interest-cohort=()",
      "vary": "Origin",
      "date": "Sun, 21 May 2023 20:38:34 GMT"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["organisation", "plain-text"],
    "is_public": false,
    "id": 51,
    "title": "The Plain Text Life: Note Taking, Writing and Life Organization Using Plain Text Files",
    "url": "http://www.markwk.com/plain-text-life.html",
    "given_url": "http://www.markwk.com/plain-text-life.html",
    "content": "<blockquote>\n<p>\u201cThe power of the unaided mind is highly overrated. Without external aids, deep, sustained reasoning is difficult.\u201d</p>\n<p>Don Norman, professor and author of <em>The Design of Everyday Things</em></p>\n</blockquote>\n<p>External aids, especially writing, are the key to sustained learning and a creative life. The goal of your productivity, writing or note-taking systems should be to enable you to think clearly, stay organized, learn, and create. They should augment your ability to reason, to develop connections across knowledge, and produce a targeted output.</p>\n<p>There are a lot of tools that can help you in this pursuit. We live in a world of nearly endless options for productivity and writing software. Personally, I\u2019ve tried many. But sometimes the best solution is one of the simplest and oldest. For me, that solution was \u201cdowngrading\u201d to plain text files as my primary means for note-taking, writing, knowledge management and life organization.</p>\n<p>Rather than a fully featured notes or writing tool, I now have a bunch of plain text files and a lot of them. The files themselves are simple, can be edited on any system, and are future-proof. I write in <a href=\"http://daringfireball.net/projects/markdown/\">markdown</a>. I use plain text files not only for my writings, study notes and note-taking but also for my goals, organizational, project notes.</p>\n<p>I call this method and approach a <strong>plain text life</strong>, by which I mean <strong>a note-taking, organizational, and writing system based on plain text files</strong>.</p>\n<p>The files and notes themselves have been intentionally designed to be \u201corganized\u201d as network of information. Practically-speaking this translates into notes stored in a few directories, tagged, and connected together using a links. The end result is a loosely-coupled web of notes. It\u2019s evolving, has emergent properties and is trackable too.</p>\n<p><strong>This setup helps me focus on what matters: writing and keeping my projects, ideas and thinking organized and interconnected.</strong></p>\n<p>In this post, I want to share my take on the \u201cplain text life\u201d and how using plain text files and combination of tools, best practices, and organizational principles can unlock a powerful and efficient framework for writing, thinking, note-taking, project management, goal tracking, or whatever you are working on.</p>\n<p>This post is divided into four sections with four questions:</p>\n<ul><li>Why plain text files and what are the current limitations?</li>\n<li>What tools can I use for writing and managing plain text files?</li>\n<li>How to stay organized?</li>\n<li>What are my notes for and how to organize towards my creative, learning or organizational goals?</li>\n</ul><p>At its core the plain text life is just a just a bunch of text files, but hopefully you too can assemble a powerful framework for staying organized, writing, learning and creating.</p>\n<p>Let\u2019s get started exploring a plain text life!</p>\n<p><strong>NOTE</strong>: For a how-to post on migrating off of Evernote, check out <a href=\"http://www.markwk.com/migrate-evernote-plaintext.html\">Post-Evernote: How to Migrate Your Notes, Images and Tag into Plain Text Markdown</a>.</p>\n<h3 id=\"the-why-advantages-and-disadvantages-of-plaintext-files\">The Why: Advantages and Disadvantages of Plaintext Files</h3>\n<blockquote>\n<p>\u201cWriting is thinking. To write well is to think clearly. That\u2019s why it\u2019s so hard.\u201d</p>\n<p>David McCullough</p>\n</blockquote>\n<p>Writing is arguably <em>the</em> critical ingredient to how we think and learn. If you can\u2019t write about something coherently and intelligibly, then your thinking on that topic or subject is vague and incomplete.</p>\n<p>Similarly, I\u2019d argue writing is a key aspect to personal and professional organization too. Often through lists, note-taking, project management tools, or a process journal, we write out our plans, goals, intentions and other aspects that clarify what we want to accomplish. Writing allows us to express vague feelings and turn them into intentions and goals.</p>\n<p>Writing is also a way to keep track of things. It is argued that written language evolved largely as a mean to help us keep track of early business transactions. Writing is central factor in externalizing our memory. It also provides how we pass knowledge from generation to generation.</p>\n<p>Over the years, I\u2019ve used a number of tools to help me write, learn, and stay organized. I recently <a href=\"http://www.markwk.com/migrate-evernote-plaintext.html\">migrated off of Evernote</a>. I elected not to switch to another note-taking app and instead started using just plain text files.</p>\n<h5 id=\"key-advantages-of-plain-text-files\">Key Advantages of Plain Text Files:</h5>\n<p>Plain text will never require a subscription, lock away features, or go out of business. It\u2019s free and here forever.</p>\n<ul><li><strong>Flexibility: Open Them Anywhere</strong>: Plain text files are the most flexible file format we have. They can be opened by hundreds, if not thousands, of applications. Since they are a basic component of computers, you can even open them on the computer command line.</li>\n<li><strong>No New Tools</strong>: We all get excited by new stuff, and for productivity junkies, we perk up with excitement to try out a new piece of software. Unfortunately tools come and go, and switching system can be wasteful and counterproductive. Switching to plain text means you never need to migrate to a new tool.</li>\n<li><strong>Portability</strong>: By portability I mean that your files can be moved to and from different operating systems, platforms and devices and you can still open them. Whether you are on a Mac, Linux, Windows or some future tool, you\u2019ll be able to open and edit your plain text files there.</li>\n<li><strong>Future-Proof</strong>: A while back I discovered several writings I did in high school using Windows 95 and a version of Microsoft Word. While I was able to eventually open the files, the formatting had been lost. This revealed a potential danger in locking your words into a format that may not be around forever. Fortunately, while other file formats may come and go, plain text files will remain.</li>\n<li><strong>Trackable</strong>: While self-tracking may not be a priority for everyone, if you are someone like me who <a href=\"http://www.markwk.com/category/track-everything/\">likes to track</a>, plain text files provide the most trackable file format. As I\u2019ll share in detail in a separate post, plain text files allows you to leverage Git, a common code management system, to track your notes and writings. This lets you see your daily changes in topics and word counts as well as the evolution of your notes, projects and manuscripts. You can see a <a href=\"https://gist.github.com/markwk/c85a8a72bc8c03d0f510262bb5219a34\">git-based notes tracking script example</a> here.</li>\n</ul><h5 id=\"notable-disadvantages-of-plain-text-files\">Notable Disadvantages of Plain Text Files:</h5>\n<p>There are also notable concerns with using plain text files. Chief among them is the requirement for more personal discipline and personal organization. By not using someone else\u2019s designed setup, you have to make your own choices on how to stay organized.</p>\n<ul><li><strong>Less Unified, Weaker User Experience:</strong> Unlike a complete note-taking or writing tool like Evernote, Ulysses, or Simple Note, editing and managing plain text files can feel more fragmented. Instead of a single app, you just have a bunch of files. This can make it feel less unified and provide a weaker user experience. Several tools, like The Archive and nvALT, provide organizational solutions on-top of plain text files. These include file and tag search. This brings much of the same feel and user experience as a complete note-taking tool, while keeping all of your files in plain text.</li>\n<li><strong>Poorly Designed Tools for Writers and Note-Takers</strong>: Historically plain text editors were developed for software engineers and coders. Most are (or were) free or open source. This focus on writing code and being open source has resulted in many plain text editors that are not very attractive or well-designed for writers. They can be a bit intimidating to use too. Fortunately, with the rise of markdown many new and beautiful editors have appeared.</li>\n<li><strong>Search and Discoverability Challenges:</strong> For me the key disadvantage since switching to plain text files has been search and discoverability. Since its indexing and search functionality was so strong, Evernote Search allowed you to get away with loose or poor note organization. You didn\u2019t need to be that organized since search could still find what you were looking for. Plain text files can also be searched but the results are not as strong as other tools. Personally, I\u2019ve realized that search may not be the best solution for dealing with a complex and growing network of notes and writings. As such search is not as important for me.</li>\n<li><strong>Requires More Personal Discipline and Organizational Habits</strong>: Like a junk drawer or an unsorted inbox, things can get get pretty disorganized using plain text files. By default plain text files setup does force any kind of structure. You\u2019ll need to develop and follow your own process.</li>\n</ul><p>While it might seem like there are a lot of disadvantages or at least challenges to a plain text file-based setup, they might all be boiled down a singular question: <em>How to stay organized with plain text files?</em></p>\n<p>Let\u2019s at check out a few plain text file tools first before returning to this question.</p>\n<h3 id=\"the-how-great-tools-for-editing-and-managing-plain-text-files\">The How: Great Tools for Editing and Managing Plain Text Files</h3>\n<p>The great thing about working with plain text files is you can open them up on almost any tool. This makes it quick and easy to edit a document in the command line, on your phone or on any number of text or code editors.</p>\n<p>While I listed \u201cpoorly designed\u201d and \u201cweak user experience\u201d as one of the disadvantages to using plain text files and existing editors, this issue has started to change. In fact, due to the increased popularity of simple writing tool, there are a number of great plain text editors out there.</p>\n<p>Here several I like:</p>\n<h5 id=\"typora-one-of-the-best-looking-and-best-user-experiences-for-markdown-writing\">Typora: one of the best looking and best user experiences for markdown writing</h5>\n<p>Along with The Archive, Typora is my primary plain text editor.</p>\n<p><img src=\"http://www.markwk.com/images/2018-resources/evernote-to-plaintext-exported-files-example.jpg\" alt=\"\" referrerpolicy=\"no-referrer\" /></p>\n<p>Typora provides both a great looking interface and smooth user experience. The layout and typography makes for a pleasurable appearance. Unlike most other editors, Typora hides the actual markdown as you write and shows you the preview of what you\u2019ll see in the output. It\u2019s much like a WYSIWYG (\u201cWhat You See Is What You Get\u201d) editor. You\u2019ll need to get used to a few shortcuts to make the experience smooth, but once you get the hang of it, it really is a great way to write and edit plain text documents.</p>\n<p>One of my favorite features with Typora is its ability to embed images. This allows me to include local and external images that are displayed seamlessly, much like other full-featured note-taking tools.</p>\n<p>Typora is available for Mac, Windows and Linux and is under active development.</p>\n<p>Keeping your notes organized and connected is one of the principal challenges to using plain text files. The Archive provides one of the best solutions so far.</p>\n<p>Basically, after opening a directory of files, The Archive feels much like a normal note-taking app but uses any directory of files. You can search and open notes by file name or find related notes by a tag. You can add sidebar shortcuts to tags or specific searches, much like you would in a tool like Evernote. It also provides a simple and clean interface for editing plain text files or option to open an external editor.</p>\n<p><img src=\"http://www.markwk.com/generated/images/2019-resources/the-archive-writing-tool-800-b1c5d8303.jpg\" srcset=\"/generated/images/2019-resources/the-archive-writing-tool-400-b1c5d8303.jpg 400w, /generated/images/2019-resources/the-archive-writing-tool-600-b1c5d8303.jpg 600w, /generated/images/2019-resources/the-archive-writing-tool-800-b1c5d8303.jpg 800w\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\n<p>The Archive is attempting to solve the problem of connecting together notes into a robust knowledge base using wiki-style links and tagging. So, if you\u2019ve migrated your notes from a system with existing tags, then it should provide much of the same functionality you had before.</p>\n<p>Embracing the philosophy of plain text files and tool independence, The Archive\u2019s explicit focus is helping you build a <a href=\"http://www.markwk.com/smart-notes.html\">Zettelkasten or Connected Knowledge System</a> on top of your existing plain text files. We will explore several of these organizational aspects around plain text files below.</p>\n<p>The creators of The Archive also provide a good intro to <a href=\"https://zettelkasten.de/posts/overview/\">what is a Zettelkasten</a> and a list of other <a href=\"https://zettelkasten.de/tools/\">compatible tools for a connected notes system using plain text files</a>. Most notable are nvAlt and DevonThing.</p>\n<p>The Archive is currently only available on Mac and is under active development.</p>\n<p>There are a lot of markdown editors for iOS. You can view <a href=\"http://brettterpstra.com/ios-text-editors/\">feature-by-feature breakdown of markdown apps here</a>. I\u2019ve tried several and found 1Writer to be the most complete solution. The editor itself is solid, and the preview option is great. But the real distinguishing feature is file search and tagging. 1Writer makes it easy to find files with a certain tag, view recently changed files or search. At present, I find the search function superior and faster on iOS to The Archive on Mac.</p>\n<h5 id=\"monospace-solid-plain-text-editor-for-android\">Monospace: Solid Plain Text Editor for Android</h5>\n<p>I don\u2019t do much writing or permanent note-taking on Android. I mostly just jot notes into a standard note-taking app that I sync and process on the computer. That said, my preferred editor for Android right now is Monospace. It looks great and performs well. I also find Writer Plus to be another solid option.</p>\n<h5 id=\"plain-text-editors-abound\">Plain Text Editors Abound</h5>\n<p>Considering how active the space around plain text and markdown editors is, I highly recommend you do your own research and testing on the best markdown and plain text editor for you.</p>\n<h3 id=\"a-few-key-practical-organizational-principles\">A Few Key Practical Organizational Principles</h3>\n<p>In a previous section, we left a question on the table, <em>How to stay organized with plain text files?</em> This question might be shortened to just: <em>How to stay organized?</em></p>\n<p>Personally, I\u2019ve invested a lot of thought, testing, and writings to personal organization, and it\u2019s been an important aspect of a productive and creative professional life. For me, the core of my productivity and note-taking systems have come from <a href=\"http://www.markwk.com/category/getting-things-done\">Getting Things Done (GTD)</a>, The Organized Mind, Wikipedia and, most recently, the Zettelkasten Method, which I covered in <a href=\"http://www.markwk.com/smart-notes.html\">A Book Review of How To Take Smart Notes by S\u00f6nke Ahrens</a>.</p>\n<p><img src=\"http://www.markwk.com/generated/images/2019-resources/organizational-principles-infographic-450-d439e00a1.png\" srcset=\"/generated/images/2019-resources/organizational-principles-infographic-400-d439e00a1.png 400w, /generated/images/2019-resources/organizational-principles-infographic-450-d439e00a1.png 450w\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\n<p>A few practical principles have emerged:</p>\n<ul><li><strong>Outcome Thinking</strong>: Think about what you want to accomplish. Every project, task or goal should clarify what you intend to accomplish.</li>\n<li><strong>Establish Next Actions</strong>: Figure out what is the next best action is on something and then do it.</li>\n<li><strong>Leverage External Systems</strong>: Our memories should not be the primary place where we store information or organize the things we need to do. Use a list, notebook, calendar or to-do list application to get stuff out of your head and into a system. In short, embrace tools that help you work best.</li>\n<li><strong>Develop Processes</strong>: Processes allow you to automate how you do something and remove the need to think too much. Much of what stresses us out about work are open threads and unprocessed items. We similarly struggle early on in a new job or facing a new type of task. In these situations, it\u2019s best to spend some time learning and experimenting with processes. Once you figure out processes and flows to deal with any challenge, then you start to remove the start and automate a best way of doing something. This apply to nearly everything, like inbox emails, requests, information and other stuff. Research how others are doing but be willing to use your processes too.</li>\n<li><strong>Review and Reflect</strong>: Taking a step back, cleaning up and reviewing are critical to a robust organizational system. For me the best single thing I do is a <a href=\"http://www.markwk.com/data-driven-weekly-review.html\">Weekly Review</a>.</li>\n<li><strong>Do the Work</strong>: Assuming you have a system, tools and processes, then it should empower you to not be stressed out, find a zen-like state and focus on the work.</li>\n</ul><p>These principles apply most directly to project and task management. The main tools I\u2019ve used historically are <a href=\"http://www.markwk.com/gtd-with-evernote.html\">Evernote</a>, Todoist, and a Calendar. I still use <a href=\"http://www.markwk.com/gtd-with-todoist.html\">Todoist as my GTD-inspired task manager</a> as well as a way to <a href=\"http://www.markwk.com/task-tracking-with-todoist.html\">track what I get done</a>. In place of Evernote, I now use plain text files to accomplish many of the same roles, like outcome thinking, goal planning, clarifying next steps and periodic reviews.</p>\n<h3 id=\"the-how-best-practices-for-naming-tagging-and-linking-files\">The How: Best Practices for Naming, Tagging and Linking Files</h3>\n<p><strong>The core organizational idea behind my plain text files-based notes, organization or writing system is this: uniquely named plain text files; files connected together using manual tagging and links between files; and files grouped into a few targeted directories by either project or purpose.</strong></p>\n<p>The only requirements of my notes and writing system are: 1. notes must have a permanent and unique identifier, and 2. they must be capable of being connected to other notes. The unique id is generated by a date timestamp, which by the passage of time means it won\u2019t be repeated. Connections are provided through manual links between notes and by adding tags.</p>\n<p>All files should have a unique file name.</p>\n<p>There are various opinions on how best to name your files. For our needs, setting your own title won\u2019t work, because you might change it one day. It might not be unique, especially if you occasional create similarly titled notes.</p>\n<p>It might not seem obvious why you want your file names to be unique. A unique identifier is responsible for keeping that note separate from other notes and allows for connections between files. With a unique and immutable identifier you can separate that piece of content from everything else and you can be sure links to it will go to the right place.</p>\n<p>So, the current best practice to use a unique name based on the datetime when you create that file. This results in files like 201902111136.md or 201603302120.txt.</p>\n<p>A program like The Archive or 1Writer can be configured such that new files default to this naming convention. Additionally, you can use a <a href=\"https://gist.github.com/markwk/86ad08822d7cfe47ed8533eb812a233d\">bash script to automate creating unique plain text files</a>.</p>\n<p>While I recognize the need for unique filenames and believe that the file\u2019s creation datetime is the best starting point, I still find it useful to have an indicative name or keyword as well. Without a keyword in the filename, search because a challenge.</p>\n<p>Personally, the best file naming convention I\u2019ve found includes a unique name based on the creation data with an optional keyword or short title after. This results in files that look like this: 201812182000_neurofeedback.md, 201602261908_My_Studies_Meta-Note.md, or 201901101453_model_of_habits.md.</p>\n<p>This ensures a unique identifier with the datetime so you can reference and link to the file elsewhere as well as making file lookups faster from memory.</p>\n<p>All notes should be linked to other pieces of information in your system.</p>\n<p>Search and discoverability have always seemed key features for me when looking for a note taking and knowledge setup. But I\u2019ve come to realize the the ease of search has resulted in significant cognitive overload later and a somewhat muddled way of organizing things overall.</p>\n<p>With search we can often times can get to what we wanted, eventually. As <a href=\"https://zettelkasten.de/posts/search-alone-is-not-enough/\">one of the writers on Zettelkasten notes</a>, search is like a shotgun. Sometimes it hits but it\u2019s method is a wide blast and often times it\u2019s just getting you a broad selection you still need to process through to find something. What we want is a sniper\u2019s precision rather than a shotgun approach. Manual connections and proper tagging are the sniper and curator at its best.</p>\n<p>My objective is to create a latticework of notes, much like how our brains work. What I\u2019m building is a curated network of linked information. As such, we need consciously built connections for this to work.</p>\n<p>There are a couple of practical ways to create connections between notes. If you are using a Zettelkasten tool like The Archive, you can use wiki-style links with double brackets. You can also use a full-qualified link to the file on your file system. Personally, I use both methods. In both cases I\u2019ve literally connected pieces of information into a network that makes it easy to \u201cdance\u201d through referenced notes and related topics smoothly.</p>\n<p>I believe all tags must also include at least one tag.</p>\n<p>Tags are another form of organization. Unlike a folder or directory, tags are flat and non-hierarchical. Multiple notes will all reference a single tag. You can then do a search on a single or multiple tags to find all tagged content. Like a link, tags are a manual, curated process where you build out key connections in your network of notes.</p>\n<p>Tags can be quite flexible, allowing you to build flexible groupings. Applying tags to certain notes allows you to reference a topic that may not even be mentioned in the note\u2019s text.</p>\n<p>While tagging can seem easy initially, as your system grows tagging can admittedly become rather huge and overwhelming, especially if you have dozens or hundreds of notes sharing the same tag. Tags remains one area where you likely should consider specialized tags based on the type of note. For example, a comprehensive summary note might be tagged #SummaryNote or a blog draft as #DraftWorking.</p>\n<h3 id=\"notes-for-what-how-to-stay-organized-with-plain-text-files\">Notes for What?: How to Stay Organized with Plain Text Files</h3>\n<p>If you are a regular writer or note-taker, then it\u2019s likely you have lots and lots of files and notes. In my own case, <a href=\"http://www.markwk.com/migrate-evernote-plaintext.html\">when I migrated off of Evernote</a>, I ended up with 11,278 note files. That\u2019s so many files that I couldn\u2019t even use certain basic search functions on the command line. And since I had many different types of notes from personal writings and project notes to collected articles, journal entries and random thoughts, it was not immediately obvious how to organize all of these files.</p>\n<p>Sure, everything was tagged, but where should everything go?</p>\n<p>We often conflate working on our productivity system with actually being productive and working. They are not the same thing. In fact, how you stay organized should serve the outcomes you want to achieve (and not the other way around). As such, we need to remember that <strong>our file and notes system are for two purposes: organization and creation/learning</strong>.</p>\n<p>This means we should develop and maintain a system that help us towards those two roles of planning and staying organizing and creating and learning stuff.</p>\n<h3 id=\"fallacy-of-the-collector\">Fallacy of the Collector</h3>\n<p>One of the key things I realized early on when I switched to plain text was that a lot of my notes didn\u2019t serve either of these roles. Instead they just helped me collect stuff.</p>\n<p>As a self-tracker and documenting guy, I love collecting stuff and tracking different aspects of my life. For example, automation tools like IFTTT and Zapier can make it seamless for me to pull in links, articles and clippings from tools like Todoist or Instapaper. Evernote and most note-taking tools also make it a tad too easily to be used for miscellaneous collecting. Once all of my notes were into plain text, I discovered how much of it was just collected stuff.</p>\n<p>The key realization here is that your plain text files system should not just be another collection system. In fact, collecting and aggregating should be a minor aspect of what these systems should do. What our system should help us do is to learn, connect and create and to stay organized.</p>\n<h3 id=\"note-types-different-notes-for-different-needs\">Note Types: Different Notes for Different Needs</h3>\n<p>One helpful step in the direction of better organization was clarifying the type of notes I have and generate. At present I have six primary types of notes:</p>\n<ol><li><strong>Impermanent, Fleeting Note</strong>: These are the quick notes notes you capture while reading or learning. You jot-down them in a physical notebook while reading a book or article or watching a video online. A thought may come on a walk or on a commute that I record in an audio file or my phone\u2019s notepad app. They are often just a rough concept you want to capture immediately. The intention isn\u2019t permanence since eventually you process and transfer these fleeting notes into something more permanent, like an insight note.</li>\n<li><strong>Permanent, Insight Note or Smart Note</strong>: A smart note is a distilled, atomic idea you create in writing. They explain something in a concise and precise expression. You can\u2019t just copy someone else\u2019s way of putting it. You have to express in your own words and thoughts. The notes should be connected to other notes, tagged with key concepts, and include references to the related source material if possible. As I put it in <a href=\"http://www.markwk.com/smart-notes.html\">A Book Review of How To Take Smart Notes by S\u00f6nke Ahrens</a>, \u201cthese permanent notes strive to be the stepping stone between our fleeting notes from what we read and our eventual creative production.\u201d These notes can be used as both a form of elaborative learning and to provide processed knowledge notes for on-going use in your thinking and creating.</li>\n<li><strong>Project Notes</strong>: These are meta-level, organizational notes. They can used for both professional and personal projects, initiatives, goals, studies, etc. These notes often include lists, plans, to-do\u2019s, personal reflections, and references to follow up on. It might be a process journal for initial drafting, planning, and thinking through. They often serve as a way to reflect <em>about</em> the work. The work itself is covered in actual writings, insight notes or elsewhere. For me project notes have a list of next actions and links at the top and a journal of progress below.</li>\n<li><strong>Actual Writings (or Creation Notes)</strong>: These are the actual things you create. This includes drafts, manuscripts, scripts, dialogues, published writings, or whatever you target output is. This is where you do the work. For me, these are blog drafts, chapters, and even markdown slides.</li>\n<li><strong>Summary Notes (aka Structure Notes)</strong>: Sometimes called Outlines, Index Files and Theme notes, these kinds of notes serve as an entry point into a specific topic or area. It might be an early draft or a way to conceptualize how different pieces of knowledge fit together. It could include a raw unsorted list of links to the various notes related to that topic or, as I prefer, a more sorted, organized format. In general, these structure notes service as a high-level organizational tool making it easy to build up knowledge over time and an intermediary step between insight notes and a manuscript or other creation. Depending on the project or topic, a summary note might also be be a nice complement a project note showing you what you have and gaps that you may want to work on.</li>\n<li><strong>Collection (or \u201cCollector\u201d) Notes</strong>: These are random assortments of links, highlights, clippings, and quotes from books, articles and online material. I find that they are best kept separate to avoid polluting these other notes with the unprocessed stuff. It is nice to have them available when you want to check a reference or find a specific quote from a book or article. Frankly, as a long-time collector of notes rather than a taker of a notes, these collected bits should not be the goal of your system.</li>\n</ol><p>With these note types, I\u2019m now better at staying organized and at using certain notes towards an intended purpose. This is better than what I previously had which was one mega note that mixed quotes, insights, reflections and collected study materials.</p>\n<p>For me the core distinction worth reiterating is between project notes and insight notes. Insight notes are atomic ideas distilled largely in your own words on a single topic or idea. Project notes are the meta-note about an area I\u2019m working on. These could be goal, a field of study or some other largely unified area.</p>\n<p>For example, my reflection on the process for a goal or project is best separated from the work itself, like learning notes or writing on that project. This is actually how writers like John Steinbeck worked. They had the book they were writing and a separate meta or process journal as well as letters to friends describing the effort and challenges of that project.</p>\n<p>Similarly, it doesn\u2019t make sense to mix my actual study notes with the meta-level note on the goal-striving related to those studies. Their roles are separate so it makes sense to split up the notes.</p>\n<p>This realization has lead to the primary way of separating notes into directories.</p>\n<h3 id=\"the-where-organizing-separate-directories-and-grouping-your-files-and-notes\">The Where: Organizing Separate Directories and Grouping Your Files and Notes</h3>\n<p>Now that we\u2019ve defined our core note types, we can then think about where those files should go and how to organize them.</p>\n<p>While we\u2019ve set a few key requirements around filenames and organizational aspects and with tags and direct links, we haven\u2019t talked about how best to group and organize all of your notes.</p>\n<p>Some argue in favor of splitting notes into different projects and areas, while others believe it is best to keep everything in a single system, like a Luhmnan\u2019s Zettelkasten. In general it is best to not split your notes into too many subdirectories or sub-projects. this leads to notes getting buried and lost.</p>\n<p>In view of my goal of a networked system of notes, my notes work best all together, linked through flexible structures like tags and direct links.</p>\n<p>The one exception is your \u201ccollector notes,\u201d which I\u2019d say are best kept entirely separate. These notes are other people\u2019s words, pollute search and distract from the importance of putting things in your own words.</p>\n<p>For the other notes, keep as many of the notes as you can together and use tagging as main way of staying organized.</p>\n<p>In terms of how many folders and directories to use, it depends on you, but I find that a balanced approach works best for me. At present, I have four folders or file directories:</p>\n<ul><li><strong>My Archive</strong>: This is where my writings, insight or smart notes, and summary notes go. This is where I do my work. Since writing involves using my insight notes, it makes sense to have them in a unified setup.</li>\n<li><strong>My Project Notes</strong>: This is where all of my notes on projects, initiatives, goals and progress logs are kept. I typically have a separate notes for each project, learning area, or goal. Inside I have a list of next actions and important links at the top, and at the bottom, I have a process journal recording my progress and reflections.</li>\n<li><strong>The Collected Stuff Directory:</strong> Beyond these core three, I also have a directory entitled <strong>z_collected</strong>. This is where clippings from articles and kindle readings go. It\u2019s also where I have stored my legacy notes, unsorted stuff, and past articles. For example, I use some python code to take Kindle clippings from each book I read and convert them into a separate note. I have another script that takes highlights from Instapaper articles I read too. These are nice things to have but best kept separate.</li>\n</ul><p>Arguably I could go and either combine all of my notes into a single directory or further refine my notes into additional subdirectories. I find that the current separation works well for me.</p>\n<p>It separates out three key areas of my life and work. I have notes about my projects and goals, which serve meta-level organizational objectives; I have my writings and learning notes in a single knowledge and creation base, which allows for an organic and connective approach to learning and writing; and I have my coder notes to follow my technology work. Overall, this division is a good conceptual division too. It also makes it possible to track the evolution of each of these areas separately.</p>\n<p>There is a lot more that I could share related how I take and manage specific types of notes. For now, I\u2019ll have to leave these topics for future posts.</p>\n<p>My main advice here is to realize that notes and writing serve different purposes. You generally want all of your notes together and to use manual connections and flexible tagging to serve as your primarily organizational methods. When developing your own setup, define specific note types towards your creative and your organizational goals.</p>\n<h3 id=\"conclusion-building-a-latticework-of-notes\">Conclusion: Building a Latticework of Notes</h3>\n<blockquote>\n<p>My goal was not to replace Evernote but to evolve my system. My objective was to reconsider my organization, writing, and how I capture, process and use bits of information productively, creatively and meaningfully.</p>\n<p><em><a href=\"http://www.markwk.com/migrate-evernote-plaintext.html\">Post-Evernote: How to Migrate Your Notes, Images and Tag into Plain Text Markdown</a></em></p>\n</blockquote>\n<p>When I migrated all of my notes off of Evernote and into plain text, I wasn\u2019t looking to repeat what I had done before: Create a convenient, grab-bag collection of notes, articles, writings and project ideas. Instead, I wanted to \u201cevolve my system.\u201d The current working result is what I call <em>a plain text life</em>.</p>\n<p>At its core are simple plain text files that are future-proof and flexible. I write my files in markdown. These files can be opened up on any device and edited on any number of text editors. Currently my two favorites are Typora and The Archive.</p>\n<p>The real challenge has been and remains: How to stay organized? This isn\u2019t merely a question of information management and note-taking but of learning, memory and human creativity.</p>\n<p>So far, a few practical, organizational principles have emerged.</p>\n<p>First, all files need a unique name. My current preference is a combination of a unique datetime and an indicative keyword or title. This second feature enables easily file look-ups.</p>\n<p>Second, all files should be connected to other files through direct links as well as an evolving system of tags. While it\u2019s possible to have notes that aren\u2019t linked to others, what we are building should hint at the flaw in this. It would be like having a single neuron storing a single memory but not connected to anything else. The memory neuron would be useless since it wouldn\u2019t be connected or retrievable. It\u2019d be a memory you could never get to. Notes should aim to be interconnected.</p>\n<p>Third, strive to keep all files together in as few directories as possible. This is both practical and conceptually. Practically, fewer directories forces you to develop an interconnected network, rather than sub-divided directories. Files come into contact and become more meaningful when interlinked. Conceptually, I define and divide things using a different note types and a few directories according to my primary use cases: learning/writing, organization/projects/goals and coder notes. This corresponds with how the plain text life applies to my work as such as a writer, engineer, and life-long learner. There are a lot of ways to organize information and knowledge and I encourage you to explore your own way.</p>\n<p>This final point leads me again to ponder the question of organization. It\u2019s a question that I suspect will continue to haunt me going forward too. To repose the question: <strong>What is the best way to organize information, knowledge or our creative work, especially in view of our goal of creative output?</strong></p>\n<p>In writing this post, I realize that at times I may have come off as a \u201ccomprehensive,\u201d \u201csystematic\u201d or all knowing. This was more about my trying to encompass and write about a range of topics, rather than some claim at the definitive answer. Learning and creativity are complex topics. Both are still being actively studied by researchers today and much still needs to be explored before we can claim a definitive understanding of how thinking works.</p>\n<p>That said, at least two key aspects from the research stand out to me when it comes to learning and creativity. Those are network and complexity. Basically our brains work through a network of connections. <a href=\"http://www.markwk.com/science-of-learning.html\">As we learn</a>, we build connections between chunks of information. Complexity defines that fact that we can never reduce it to its individual aspects and instead properties and new aspects emerge from that complexity and network. In our brains, as a complex network of ideas emerge, these existing and emergent connections enable us to learn, think and create. We are the product of complex, internal neurological networks.</p>\n<p>In this same spirit, my notes system strives to emulate and evolve as a complex network of notes too. The organizational structure holds similar assumptions such that notes should be linked together and exist as part of a complex network of interconnections.</p>\n<p>This complex, connective approach to notes means we must largely move beyond any attempt at hierarchy. Notes will never fully or completely be ordered and organized. This includes knowledge and smart notes, written drafts and organizational project notes. We must accept them as a network since it\u2019s from this network where emergent, magical things happens, like thinking, learning and creativity. In our notes and writing systems, we must embrace the network and endeavor to write and create notes much like how our brains works: as a complex <strong>latticework of connections</strong>.</p>",
    "created_at": "2023-05-21T19:26:19+00:00",
    "updated_at": "2023-05-21T19:26:49+00:00",
    "published_at": "2019-02-14T00:00:00+00:00",
    "published_by": [""],
    "annotations": [],
    "mimetype": "text/html",
    "language": "en",
    "reading_time": 30,
    "domain_name": "www.markwk.com",
    "preview_picture": "http://www.markwk.com/images/2018-resources/evernote-to-plaintext-exported-files-example.jpg",
    "http_status": "200",
    "headers": {
      "x-amz-id-2": "EpdGLco0jNVMv80RmxBmRpVhlK z0TvZUu1IOsv AzUYRNcOTNyG2i0CTe79cZXnBfxORhh37YY=",
      "x-amz-request-id": "2XKM7F11EAAM8GV7",
      "date": "Sun, 21 May 2023 19:26:19 GMT",
      "x-amz-meta-s3cmd-attrs": "atime:1683093577/ctime:1683654809/gid:20/gname:staff/md5:a9879d93f828e088228e4a9545b73a9d/mode:33188/mtime:1683654809/uid:501/uname:markkoester",
      "last-modified": "Tue, 09 May 2023 17:56:17 GMT",
      "etag": "\"a9879d93f828e088228e4a9545b73a9d\"",
      "content-type": "text/html",
      "server": "AmazonS3",
      "content-length": "61630"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["opendata", "opendatafrance"],
    "is_public": false,
    "id": 50,
    "title": "Sur l\u2019Open Data, les bons \u00e9l\u00e8ves sont \u00e0 l\u2019Ouest",
    "url": "https://www.lagazettedescommunes.com/860051/sur-lopen-data-les-bons-eleves-sont-a-louest/",
    "origin_url": "https://www.lagazettedescommunes.com/860051/?abo=1",
    "given_url": "https://www.lagazettedescommunes.com/860051/?abo=1",
    "content": "<p>Il n\u2019y a jamais eu autant de donn\u00e9es ouvertes par les collectivit\u00e9s territoriales fran\u00e7aises. L\u2019association Open Data France rel\u00e8ve 868 publicateurs dans <a href=\"https://www.observatoire-opendata.fr/resultats/\" rel=\"nofollow\">son dernier Observatoire, publi\u00e9 le 27 mars 2023</a>. Le chiffre confirme une augmentation r\u00e9guli\u00e8re d\u2019environ 150 collectivit\u00e9s chaque ann\u00e9e.\u00ab\u00a0Quelque part, on peut m\u00eame dire que toutes les communes font de l\u2019open data puisqu\u2019elles produisent toutes leurs donn\u00e9es des \u00e9lections et qu\u2019elles sont accessibles sur le portail du gouvernement\u00a0\u00bb, veut croire Jean-Marie Bourgogne, d\u00e9l\u00e9gu\u00e9 g\u00e9n\u00e9ral d\u2019Open Data France.</p><p>\u00ab\u00a0Mais il faut faire la distinction entre production et publication. Ceux que nous consid\u00e9rons comme publicateurs sont ceux qui ont un portail \u00e0 leur nom, qui portent la responsabilit\u00e9 de l\u2019ouverture de leurs donn\u00e9es. Typiquement, en Bretagne, plus de 250 communes ont publi\u00e9 leurs d\u00e9lib\u00e9rations sur leur propre portail, identifi\u00e9 avec le nom de la mairie\u00a0\u00bb.</p>\n<p>Et pour les autres, celles qui publient uniquement sur des portails tiers\u00a0? Open Data France consid\u00e8rent qu\u2019elles sont encore aux pr\u00e9misses et qu\u2019elles doivent aller plus loin pour permettre l\u2019utilisation des donn\u00e9es par les citoyens et les acteurs priv\u00e9s.</p>\n<p><a href=\"https://www.lagazettedescommunes.com/open-data-gazette/\"><img src=\"https://www.lagazettedescommunes.com/wp-content/themes/gazette_v5/images/shortcodes/open-data/open-data.png\" border=\"0\" referrerpolicy=\"no-referrer\" alt=\"image\" /></a></p>\n<h2>L\u2019efficacit\u00e9 de la mutualisation</h2>\n<p>La sp\u00e9cificit\u00e9 bretonne s\u2019observe sur la carte recensant les collectivit\u00e9s engag\u00e9es dans l\u2019ouverture des donn\u00e9es. Cette \u00ab\u00a0peau de panth\u00e8re\u00a0\u00bb, pour reprendre les mots de Jean-Marie Bourgogne, est l\u2019objectif et il a \u00e9t\u00e9 atteint en Bretagne gr\u00e2ce au syndicat mixte local, <a href=\"https://www.megalis.bretagne.bzh/\" rel=\"nofollow\">M\u00e9galis</a> (64 collectivit\u00e9s <a href=\"https://www.lagazettedescommunes.com/lexique/epci/\">EPCI</a>, 3,33 millions d\u2019hab.). \u00ab\u00a0C\u2019est la mutualisation qui a fait le travail dans la plus grande longueur\u00a0\u00bb, continue le d\u00e9l\u00e9gu\u00e9 g\u00e9n\u00e9ral d\u2019Open data France. \u00ab\u00a0Ils ont une approche \u00ab\u00a0open data by design\u00a0\u00bb qui permet un impact massif\u00a0\u00bb, car l\u2019ouverture de la donn\u00e9e est pr\u00e9vue d\u00e8s la cr\u00e9ation de ladite donn\u00e9e.</p>\n<p>Mais l\u2019accompagnement par des structures de mutualisation a lieu ailleurs. <a href=\"https://www.ternum-bfc.fr/\" rel=\"nofollow\">L\u2019agence r\u00e9gionale du num\u00e9rique et de l\u2019intelligence artificielle</a>, Arnia, anciennement GIP Bourgogne Franche-Comt\u00e9 (1412 communes), fait \u00e9galement ce travail, ainsi que Montpellier M\u00e9diterran\u00e9e M\u00e9tropole (31 communes, 491\u00a0417 hab.) ou la r\u00e9gion Grand Est.</p>\n<p>C\u2019est le constat g\u00e9n\u00e9ral de l\u2019observatoire 2022 de l\u2019association\u00a0: pour faire bouger un territoire, il faut un acteur qui accompagne les autres. Cela peut \u00eatre une r\u00e9gion, un syndicat mixte, un GIP, etc., mais cela peut aussi \u00eatre un dispositif national. \u00ab\u00a0Ce qu\u2019a fait transport.gouv est un bon exemple\u00a0\u00bb, reprend Jean-Marie Bourgogne. \u00ab\u00a0Ils ont appel\u00e9 une \u00e0 une les autorit\u00e9s r\u00e9gulatrices de mobilit\u00e9 pour r\u00e9cup\u00e9rer les donn\u00e9es de transport en commun et, en 2 ans, nous sommes pass\u00e9s de 8 \u00e0 90\u00a0% de donn\u00e9es ouvertes. C\u2019est gr\u00e2ce \u00e0 ce travail que l\u2019on peut trouver les horaires de transport sur Google Maps\u00a0\u00bb.</p>\n<h2>L\u2019ouverture des donn\u00e9es face \u00e0 son plafond de verre</h2>\n<p>Le 27 mars, lors de la pr\u00e9sentation de l\u2019Observatoire, les bons points s\u2019encha\u00eenent. Augmentation du nombre de collectivit\u00e9s publicatrices, rappel des <a href=\"https://publier.etalab.studio/\" rel=\"nofollow\">standards r\u00e9f\u00e9renc\u00e9s par Data.gouv</a>, annonce d\u2019une \u00e9tude sur l\u2019impact de l\u2019open data, en partenariat avec la FNCCR\u2026</p>\n<p>Quelques points d\u2019alertes sont malgr\u00e9 tout \u00e9voqu\u00e9s. D\u2019abord, la r\u00e9currence des collectivit\u00e9s qui arr\u00eatent d\u2019ouvrir leurs donn\u00e9es. C\u2019est parfois \u00e0 cause du d\u00e9part d\u2019un agent ou d\u2019un \u00e9lu qui \u00e9tait moteur sur la question mais aussi, et c\u2019est le motif d\u2019inqui\u00e9tude d\u2019Open Data France, lorsqu\u2019un acteur de mutualisation coupe son service et son accompagnement.</p>\n<p>Viens ensuite le probl\u00e8me de la republication des donn\u00e9es. \u00ab\u00a0Aujourd\u2019hui, tout le monde moissonne tout le monde\u00a0\u00bb, explique le d\u00e9l\u00e9gu\u00e9 g\u00e9n\u00e9ral d\u2019Open Data France. \u00ab\u00a0Lorsqu\u2019il s\u2019agit d\u2019un r\u00e9f\u00e9rencement, c\u2019est une bonne chose, mais lorsqu\u2019il y a aussi une r\u00e9plication, on ne sait plus d\u2019o\u00f9 vient la donn\u00e9e initiale\u00a0\u00bb.</p>\n<p>Enfin, Jean-Marie Bourgogne alerte sur la possibilit\u00e9 d\u2019un \u00ab\u00a0plafond de verre\u00a0\u00bb. Moins de 16\u00a0% des collectivit\u00e9s qui sont oblig\u00e9s par la loi d\u2019ouvrir leurs donn\u00e9es le font <sup><a href=\"https://www.lagazettedescommunes.com/860051/sur-lopen-data-les-bons-eleves-sont-a-louest/#fn-860051-1\" id=\"fnref-860051-1\" title=\"Lire la note n\u00b01\">(1)</a></sup>. \u00ab\u00a0Ce chiffre n\u2019est pas exponentiel. On risque d\u2019arriver \u00e0 20\u00a0% et de ne pas d\u00e9passer ce palier, car au-del\u00e0, ce sont les collectivit\u00e9s les plus petites. D\u2019ailleurs, on le voit sur les types d\u2019usage de la donn\u00e9e, qui sont souvent des usages urbains. Si l\u2019on voulait soutenir des actions, il faudrait surtout soutenir des actions en dehors de la sph\u00e8re d\u2019influence naturelle des intercommunalit\u00e9s\u00a0\u00bb.</p>\n<div class=\"encadre\">\n<h2>Une nouvelle pr\u00e9sidente pour Open Data France</h2>\n<p>Constance Nebbula, Vice-Pr\u00e9sidente d\u2019Angers Loire M\u00e9tropole, a \u00e9t\u00e9 \u00e9lue Pr\u00e9sidente de l\u2019association OpenDataFrance le 23 mars. Elle succ\u00e8de \u00e0 Akim Oural.</p>\n</div>\n<h2>Cet article est en relation avec les dossiers</h2>\n<div class=\"blocTag blocTag--margin40-0\">\n<p class=\"blocTag__title\">Th\u00e8mes abord\u00e9s</p>\n</div>\n<div class=\"blocNote blocNote--margin40-0\">\n<p class=\"blocNote__title\" id=\"fn-860051-1\">Notes</p>\n<div class=\"jqContentBloc\">\n<p class=\"blocNote__content\"><a class=\"jqRetourNote blocNote__note\" href=\"https://www.lagazettedescommunes.com/860051/sur-lopen-data-les-bons-eleves-sont-a-louest/#fnref-860051-1\">Note 01</a> la loi Lemaire de 2016 vise les collectivit\u00e9s de plus de 3500 habitants et 50 agents <a class=\"jqRetourNote blocNote__return\" href=\"https://www.lagazettedescommunes.com/860051/sur-lopen-data-les-bons-eleves-sont-a-louest/#fnref-860051-1\">Retour au texte</a></p>\n</div>\n</div>",
    "created_at": "2023-03-28T13:29:52+00:00",
    "updated_at": "2023-03-28T13:30:08+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr_FR",
    "reading_time": 3,
    "domain_name": "www.lagazettedescommunes.com",
    "preview_picture": "https://www.lagazettedescommunes.com/wp-content/uploads/2023/03/carte-opendata2022-une.jpg",
    "http_status": "200",
    "headers": {
      "date": "Tue, 28 Mar 2023 13:29:52 GMT",
      "content-type": "text/html; charset=UTF-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "set-cookie": "lagazette=9akq8o9m45g65785vbsfdk6bq7; path=/; Secure; domain=.lagazettedescommunes.com, gazSVCRemember=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; Secure; domain=.lagazettedescommunes.com, checkedIP=1; expires=Tue, 28-Mar-2023 13:59:48 GMT; Max-Age=1800; path=/; Secure; domain=.lagazettedescommunes.com, recognisedIP=0; expires=Tue, 28-Mar-2023 13:59:48 GMT; Max-Age=1800; path=/; Secure; domain=.lagazettedescommunes.com, gaz_fs=1|1682602188|860051; expires=Thu, 27-Apr-2023 13:29:48 GMT; Max-Age=2592000; path=/; Secure; domain=.lagazettedescommunes.com; secure, SESSIONILGC=1897994412.20480.0000; expires=Tue, 28-Mar-2023 13:59:52 GMT; path=/; Secure",
      "expires": "Thu, 19 Nov 1981 08:52:00 GMT",
      "cache-control": "no-store, no-cache, must-revalidate, post-check=0, pre-check=0",
      "pragma": "no-cache",
      "vary": "Accept-Encoding",
      "serverid": "moniteur-apach13",
      "strict-transport-security": "max-age=63072000",
      "cf-cache-status": "DYNAMIC",
      "server": "cloudflare",
      "cf-ray": "7af039748d6f0068-CDG"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["gtd"],
    "is_public": false,
    "id": 49,
    "title": "Keeping it simple and getting things done: The move to a plaintext GTD system",
    "url": "https://rtalbert.org/plaintext-gtd/",
    "given_url": "https://rtalbert.org/plaintext-gtd/",
    "content": "<p><em><strong>Update</strong>: After experimenting with todo.txt, I eventually moved back to using ToDoist. <a href=\"http://rtalbert.org/back-to-todoist/\">This post explains why</a>; but still, the temporary switch to plain text was interesting and useful for my overall productivity, so it's worth reading about IMO.</em></p><p>As readers of this blog know, I'm a big proponent of <strong>Getting Things Done</strong>, the time/task/project/life management method detailed in <a href=\"http://a.co/gk0kMGA\">David Allen's book Getting Things Done: The Art of Stress-Free Productivity</a>. I've practiced GTD for almost 10 years and written a lot about it here on the website. One of the points I have made about GTD, especially for beginners, <a href=\"http://rtalbert.org/gtd-for-academics-simple-trusted-system/\">is the importance of not confusing GTD with the tools used to implement GTD</a>. Many GTD newbies get caught up with GTD apps rather than GTD itself and fail to adopt the habits of mind needed to really succeed with GTD. The key is to develop the behaviors needed for good GTD practice first and then choose the simplest, most trusted system you can to implement it.</p><p>When I started using GTD, I used the venerable <a href=\"https://www.youtube.com/watch?v=6YW-c9-az7Y\">Kinkless GTD system</a> that is just a collection of Applescripts that work with OmniOutliner files. Kinkless morphed into what's now known as <a href=\"https://www.omnigroup.com/omnifocus\">OmniFocus</a>, and I was an alpha tester on the original, buggy-as-heck-but-super-promising OmniFocus releases. I used OmniFocus for 4-5 years before switching to <a href=\"https://nozbe.com/\">Nozbe</a> (I had traded in my iPhone for an Android phone and needed something non-iOS). For various reasons I got tired of Nozbe after a couple of years and switched to <a href=\"https://todoist.com/\">ToDoist</a>, which has been my main platform for GTD...</p><p>...Until recently. I've switched again based on some new concerns I have had, not about ToDoist (which is IMO the best paid GTD app out there) but about the relationship that has existed between my GTD data --- my \"stuff\" --- and the apps that work with it. <strong>TL;DR -- I have been experimenting with <a href=\"http://todotxt.com/\">todo.txt</a>, a minimalist GTD implementation that uses only plain text files, and it is pretty awesome.</strong></p><h2 id=\"theproblemwithtools\">The problem with tools</h2><p>What got me thinking about my tools was <a href=\"https://techcrunch.com/2017/04/19/microsoft-to-shut-down-wunderlist-in-favor-of-its-new-app-to-do/\">the recent purchase of Wunderlist by Microsoft</a>. Basically, Microsoft bought Wunderlist and promptly killed it, and reanimated its zombie corpse into something called <a href=\"https://todo.microsoft.com/en-us/\">Microsoft ToDo</a>. This \"new\" tool sort of looks like Wunderlist and has a handful of the basic features of Wunderlist but none of the features that made it really useful for GTD.</p><p>While I wasn't using Wunderlist when this happened, I felt the pain of all those Wunderlist users who were now scrambling to find a new tool to use and hoping that they can import their data into it successfully. This made me think: What if I had stuck with Wunderlist for my GTD system? How much time and energy would I be spending trying to maintain my system rather than actually getting things done? And who's to say that what happened with Wunderlist won't also happen with ToDoist or any other app that I use --- being bought and killed off by a larger company, or being incompatible with the next macOS or iOS upgrade, or simply going out of business?</p><p>In some ways you can never get away from those concerns. I always have to trust the hardware and software that I choose. But I began to wonder: What tools for implementing GTD would give me the best balance of control, simplicity, and future-proof-ness --- and decouple my data from apps? After doing some research and some thinking about this, I realized that the optimum solution was right under my nose: The humble plain text file.</p><h2 id=\"thecaseforplaintext\">The case for plain text</h2><p>There are a lot of reasons to like plain text --- including formats like Markdown and LaTeX that are based on plain text --- for, really, anything:</p><ul><li><strong>Text files are future-proof</strong>. They have been around since the beginning of computing and will be around long after all the apps we currently use are dead/gone/bought out by Microsoft.</li>\n<li><strong>Text files are the ultimate in simplicity</strong>, containing precisely zero formatting and zero fluff.</li>\n<li><strong>Text files are lightweight</strong>. You can have thousands of them on a storage device before they even make a dent, and sharing their contents is trivial.</li>\n<li><strong>Text files are absolutely platform-independent</strong>, with high-quality text editors available on every OS and device<sup class=\"footnote-ref\"><a href=\"https://rtalbert.org/plaintext-gtd/#fn1\" id=\"fnref1\">[1]</a></sup>. They can also be turned into any other kind of format you want using simple tools like pandoc.</li>\n</ul><p>There is nothing inherent in GTD practice that says we can't use something as simple as plain text files to handle our stuff. <a href=\"http://a.co/7kRtpes\">In fact in Leo Babauta's book Zen To Done</a> (which was the basis for my GTD for Academics series) he makes the point strongly that we have to keep the GTD system as simple as possible, and all that's really needed are basic lists. That's easily done with text files -- or even just a notebook and a pen. The trick is in having a <em>system</em> for working with lists in text files to make it easy to search and filter stuff within the lists. It turns out there's a simple, platform-agnostic system out there in use that works very well, and it's called <strong>todo.txt</strong>.</p><h2 id=\"todotxt\">todo.txt</h2><p><a href=\"http://todotxt.com/\">Todo.txt</a> is a system of formatting plain text files for task and project management. It does not require any particular app and uses no proprietary file format. It's merely a layer of syntax used in a plain text file for task management. Tasks are housed in a plain text file called <code>todo.txt</code>, one task per line and formatted using three different kinds of data:</p><ul><li><em>Priority</em>, indicated using capital letters in parentheses, <code>(A)</code> through <code>(Z)</code>.</li>\n<li><em>Context</em>. These are indicated with an <code>@</code> symbol, for example <code>@phone</code>. As in canonical GTD, context can refer to any sort of tag you wish to put on a task and is used for filtering tasks by physical location or tools available. <a href=\"http://rtalbert.org/gtd-for-academics-simple-trusted-system/\">I explained my use of contexts in this older post</a>.</li>\n<li><em>Projects</em>, indicated with a <code>+</code> sign, for example <code>+BookReview</code>.</li>\n</ul><p>Tasks can be labeled with any combination of priority, context, or project, including none of those. The system is flexible and you can use as many or as few of these data points as you want. In fact the only rules for formatting tasks are:</p><ul><li>Each task should appear on its own line.</li>\n<li>If a task has a priority, the priority is to be listed first.</li>\n<li>Contexts and projects may appear anywhere in the line but are to appear after the priority and start date.</li>\n<li>To mark a task as completed, put an <code>x</code> with a space at the beginning and put the date of completion directly following the <code>x</code>.</li>\n</ul><p>For example, here are correctly formatted tasks in todo.txt:</p><pre> (A) Post blog article about todo.txt @computer +Blogging\n (C) Call mom due:2017-07-15\n 2017-07-07 Read article about standards-based grading @online \n x 2017-07-07 Draft article about todo.txt @computer +Blogging\n</pre><p>The first task has a priority, context and project. The second has a priority and a due date but nothing else. The third has a start date and context but no priority or project. The last one is a completed task.</p><p>The other part of the todo.txt overall system is a second text file called <code>done.txt</code> that is used to house all your completed tasks. This is an optional piece of the overall system but most apps (see below) use it.</p><p>So, the whole system consists two plain text files, one holding the current uncompleted tasks and the other holding the completed ones, with simple syntax for managing the contents. That's it. There are no apps, no proprietary formatting or rules, and no worries about portability or compatibility.</p><h2 id=\"reallynoapps\">Really? No apps?</h2><p>Well, there are actually plenty of apps for working with todo.txt. These are listed at <a href=\"http://todotxt.com/\">the todo.txt main page</a> and include a wide variety of approaches and platforms including natives apps for Mac, Windows, and Linux; Chrome extensions; mobile apps for iOS and Android; and more. All of these apps are merely graphical interfaces to the <code>todo.txt</code> file and none of them are necessary --- you could just work with the plain text file in an editor of your choice if you wanted.</p><p>For me, the two most compelling \"apps\" for working with todo.txt for me are the <a href=\"https://github.com/ginatrapani/todo.txt-cli\">todo.sh command line script</a> and the <a href=\"https://github.com/dertuxmalwieder/SublimeTodoTxt\">SublimeTodoTxt plugin</a> for the Sublime Text editor. The todo.sh script simply allows manipulation of the todo.txt file --- adding and editing tasks, listing tasks filtered by search queries, marking tasks as done and archiving them to done.txt, and more --- from command line entries. The SublimeTodoTxt plugin provides syntax highlighting, and I can bring the full power of Sublime Text's features to bear on my tasks.</p><p>The header image on this post shows the top 1/3 of my current <code>todo.txt</code> file in Sublime Text so you can see what it looks like. It definitely satsifies that part of my brain --- a large part --- that craves simplicity.</p><h2 id=\"myplaintextworkflowsofar\">My plaintext workflow (so far)</h2><p>I started working with todo.txt a couple of months ago when my semester ended, because my workload this summer is low and so it's a good time to experiment. I am still figuring some parts of my workflow out, but here's what I have so far that's worked pretty well.</p><p>I have the two essential files <code>todo.txt</code> and <code>done.txt</code> in a special Dropbox folder for syncing purposes<sup class=\"footnote-ref\"><a href=\"https://rtalbert.org/plaintext-gtd/#fn2\" id=\"fnref2\">[2]</a></sup>. I also introduced two other text files to help with my workflow: A file called <code>inbox.txt</code> for capturing incoming thoughts (I treat this as just another inbox, along with my email accounts, Google Keep, and my physical inboxes); and a file called <code>masterlist.txt</code> which contains a master list of all my projects and all the tasks associated with those projects.</p><p>My \"stuff\" goes through a progression of these four files --- <code>inbox</code>, <code>masterlist</code>, <code>todo</code>, and <code>done</code> --- as follows:</p><ol><li>Incoming \"stuff\" shows up gets captured into an inbox (not necessarily <code>inbox.txt</code>).</li>\n<li>On a regular basis --- usually at my <a href=\"http://rtalbert.org/gtd-for-academics-weekly-review/\">Weekly Review</a> --- I process all the stuff that's accumulated in my inboxes. <a href=\"http://rtalbert.org/gtd-for-academics-process/\">As discussed in this post on processing</a>, items that are actionable and take more than 2 minutes and aren't delegated to a calendar or another person end up in a task list --- <code>masterlist.txt</code> in this case. Tasks going into <code>masterlist.txt</code> are given project/context/priorities and due dates if applicable. While todo.txt allows for up to 26 levels of priority (<code>(A)</code> through <code>(Z)</code>), I only use three: <code>(A)</code> designates most important things (MITs) for the day, <code>(B)</code> designates other stuff that are not MITs but which I would like to do today, and <code>(C)</code> designates stuff to do this week. Tasks that need my attention but don't fall into any of those categories show up in <code>todo.txt</code> as tasks without priorities.</li>\n<li>At the weekly review, I process through <code>masterlist.txt</code> and if there are tasks that need my attention, I cut and paste them into <code>todo.txt</code>. So all my tasks are split between <code>masterlist.txt</code> and <code>todo.txt</code>: The ones on my radar screen are in <code>todo</code> and the tasks that will eventually be on the radar screen, but not yet, remain in <code>masterlist</code>.</li>\n<li>On a daily basis, I have <code>todo.txt</code> open and make choices about what to do based on what's in that file. Just as with any other GTD implementation, I make those choices based on my physical context, energy level, and time available. I have contexts set up to help me search and filter: They are the same contexts as I used in ToDoist, <a href=\"http://rtalbert.org/gtd-for-academics-simple-trusted-system/\">which I spelled out in this post</a>.</li>\n</ol><p>The use of <code>masterlist.txt</code> in conjunction with <code>todo.txt</code> is my invention. In previous GTD implementations I would often find myself completely paralyzed trying to decide on a task to do, because I used my system to hold <em>all</em> the tasks I could <em>possibly ever</em> do on a project, and it would overflow my buffers with tasks that didn't really need to be in my attention. I felt I needed to split the complete list of tasks into the ones needing attention and the ones that could wait. I did this in ToDoist with labels, but that wasn't enough: I needed those tasks that didn't belong on the radar screen to be out of sight and out of mind. For me, <code>masterlist.txt</code> is the staging area while <code>todo.txt</code> is where my attention is directed.</p><p>As far as apps go, I've tried out several and have gravitated toward these:</p><ul><li>On my phone (a Samsung Galaxy S8) I use the original <a href=\"https://play.google.com/store/apps/details?id=com.todotxt.todotxttouch&amp;hl=en\">Todo.txt Android app</a>.</li>\n<li>On my iPad, it's <a href=\"http://swiftodoapp.com/\">SwifTodo</a>.</li>\n<li>On my Mac, I go back and forth between <a href=\"https://mjdescy.github.io/TodoTxtMac/\">TodoTxtMac</a> and using just the text file itself in Sublime Text and the <code>todo.sh</code> command line interface.</li>\n</ul><p>But note, none of these apps is necessary. I could easily just work with the text file in Sublime Text and many times I do just that.</p><h2 id=\"proscons\">Pros/cons</h2><p>So far here's what I like about todo.txt and what I don't like as much.</p><p>I really love the minimalism of todo.txt. Working with plain text files is the ultimate in simplicity and control and portability. It gives me options for how I want to work with my data, and those data are not married to anybody's app. Going with plain text does mean forgoing some features you'd get in a GTD app (see below) but what you get in return is a completely future-proof, fool-proof system.</p><p>I also love the fact that going plaintext makes me think a lot more about the <em>nature</em> of my projects and tasks and what role they play in the big picture. I spend a lot more time now thinking about <em>why</em> tasks appear in my system in the first place and whether they should have my attention or not. Before with ToDoist, there was so little friction in using the system that I could just forward any old email into my system without stopping to think about whether that email <em>should</em> go in the system. Now I think there's an appropriate amount of friction there, and the things that end up in <code>todo.txt</code> truly belong there.</p><p>I've also been surprised at how little I notice the changes I've made. Aside from a few missing features that I've had to work around, I find that I am able to do everything I need to do without all the frills.</p><p>There are some things about todo.txt I'm not a fan of:</p><ul><li>There's definitely not the vibrant community of developers you'll find with ToDoist or OmniFocus. In fact there's not much going on at all with todo.txt in terms of app development. Some of the apps mentioned on <a href=\"http://todotxt.com\">todotxt.com</a> no longer exist, and <a href=\"https://github.com/ginatrapani/todo.txt-cli\">some of Gina Trapani's code for todo.txt on GitHub</a> hasn't seen a commit in 4-5 years. Using some of the todo.txt apps is like stepping back in time 6-7 years and I don't mean that in a good way. SwifTodo, which is maintained by <a href=\"https://twitter.com/mjdescy\">Michael Descy</a>, is a big exception: He returns tweets minutes after sending and updates the app about once every six weeks, and the app -- while quite basic -- looks and behaves like a modern iOS app.</li>\n<li>Most of the todo.txt apps are based on syncing the <code>todo.txt</code> file via Dropbox, and this has led to some scary sync conflicts and data loss a few times for me.</li>\n<li>Editing text files on a smartphone (at least on Android) has not yet evolved into a pleasant experience, and that's your only option on mobile if you don't want to deal with an app.</li>\n</ul><h2 id=\"whatsnext\">What's next</h2><p>I really like todo.txt and plan on continuing with it when I emerge from this summer and into <a href=\"http://rtalbert.org/sabbatical\">my sabbatical</a>, when I'll have a real workload again and the system can really be put through its paces. In the meanwhile I am going to try to tweak and optimize my system. For example, while I have a reasonable rationale for using the <code>masterlist.txt</code> file, I'm not certain it's necessary; and I am becoming fairly certain that I don't need <code>inbox.txt</code> at all.</p><p>I also plan on doing some development of todo.txt tools, especially workflows for <a href=\"http://omz-software.com/editorial/\">Editorial</a>, my go-to text editor on iOS. <a href=\"http://www.editorial-workflows.com/workflows/search?q=todo.txt\">Right now there is just one todo.txt workflow available</a> (that marks tasks as done). I use my iPad more and more as my main computer for all but coding purposes and it would be nice to use Editorial as my todo.txt \"app\" (even though SwifTodo is a very good app by itself).</p><p>Finally, I'll just note that my move to todo.txt is part of a larger push to move <em>everything</em> I do to plain text files, patterned after <a href=\"http://plaintext-productivity.net/\">this Plaintext Productivity system</a> outlined by SwifTodo's Michael Descy. I'll have more on that big picture in a later post.</p><hr class=\"footnotes-sep\" /><section class=\"footnotes\"><ol class=\"footnotes-list\"><li id=\"fn1\" class=\"footnote-item\">\n<p>Except Android apparently. If I'm wrong on that, give me your recommendations. <a href=\"https://rtalbert.org/plaintext-gtd/#fnref1\" class=\"footnote-backref\">\u21a9\ufe0e</a></p>\n</li>\n<li id=\"fn2\" class=\"footnote-item\">\n<p>You could argue that using Dropbox defeats the whole \"decouple your data from apps\" ethos here and there's some truth to this. I suppose I could self-host the data, but (1) most of the apps for todo.txt use Dropbox for syncing, so if you use the apps you need to use Dropbox and (2) call me naive, but I trust Dropbox from having used it for almost a decade. <a href=\"https://rtalbert.org/plaintext-gtd/#fnref2\" class=\"footnote-backref\">\u21a9\ufe0e</a></p>\n</li>\n</ol></section>",
    "created_at": "2023-02-28T22:03:04+00:00",
    "updated_at": "2023-02-28T22:03:11+00:00",
    "published_at": "2017-07-10T16:00:00+00:00",
    "published_by": ["Robert Talbert"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 14,
    "domain_name": "rtalbert.org",
    "preview_picture": "http://rtalbert.org/content/images/2018/12/todo-ss.png",
    "http_status": "200",
    "headers": {
      "server": "nginx/1.10.3 (Ubuntu)",
      "date": "Tue, 28 Feb 2023 22:03:03 GMT",
      "content-type": "text/html; charset=utf-8",
      "content-length": "39878",
      "connection": "keep-alive",
      "x-powered-by": "Express",
      "cache-control": "public, max-age=0",
      "etag": "W/\"9bc6-qYhizHhGxwuVnjHrFSlQUf/ZYXQ\"",
      "vary": "Accept-Encoding",
      "strict-transport-security": "max-age=63072000; includeSubDomains; preload",
      "x-frame-options": "SAMEORIGIN",
      "x-content-type-options": "nosniff"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["data", "guvernance", "act"],
    "is_public": false,
    "id": 48,
    "title": "Strat\u00e9gie europ\u00e9enne pour la donn\u00e9e : la CNIL et ses homologues se prononcent sur le Data Governance Act et le Data Act",
    "url": "https://www.cnil.fr/fr/strategie-europeenne-pour-la-donnee-la-cnil-et-ses-homologues-se-prononcent-sur-le-data-governance",
    "given_url": "https://www.cnil.fr/fr/strategie-europeenne-pour-la-donnee-la-cnil-et-ses-homologues-se-prononcent-sur-le-data-governance",
    "content": "<h2><em>Data Governance Act</em>, <em>Data Act</em>\u00a0: de quoi s\u2019agit-il\u00a0?</h2><p>Le <em>Data Governance Act</em> et le <em>Data Act</em> s\u2019inscrivent dans le cadre de la strat\u00e9gie europ\u00e9enne pour les donn\u00e9es, pr\u00e9sent\u00e9e par la Commission europ\u00e9enne en f\u00e9vrier 2020. Cette strat\u00e9gie vise \u00e0 d\u00e9velopper un march\u00e9 unique de la donn\u00e9e en soutenant l\u2019acc\u00e8s, le partage et la r\u00e9utilisation responsables, dans le respect des valeurs de l\u2019Union europ\u00e9enne et notamment la protection des <a href=\"https://www.cnil.fr/fr/definition/donnee-personnelle\" target=\"_blank\" title=\"Donn\u00e9e personnelle - D\u00e9finition - Nouvelle fen\u00eatre\">donn\u00e9es personnelles</a>.</p><p>Elle s\u2019inscrit dans le contexte plus large du plan d\u2019action de la Commission europ\u00e9enne visant \u00e0 assurer la souverainet\u00e9 num\u00e9rique de l\u2019Europe \u00e0 l\u2019horizon 2030, et est compl\u00e9mentaire de la <a href=\"https://www.cnil.fr/fr/intelligence-artificielle-lavis-de-la-cnil-et-de-ses-homologues-sur-le-futur-reglement-europeen\" target=\"_blank\" title=\"Intelligence artificielle : l\u2019avis de la CNIL et de ses homologues sur le futur r\u00e8glement europ\u00e9en - Nouvelle fen\u00eatre\">strat\u00e9gie europ\u00e9enne en mati\u00e8re d\u2019intelligence artificielle</a>.</p><h3>Le r\u00e8glement sur la gouvernance des donn\u00e9es (<em>Data Governance Act</em>)</h3><p>Premi\u00e8re brique de la s\u00e9rie de mesures annonc\u00e9es dans le cadre de la strat\u00e9gie europ\u00e9enne des donn\u00e9es, le <em>Data Governance</em> <em>Act</em> a \u00e9t\u00e9 adopt\u00e9 en mai 2022, et sera applicable en septembre 2023. Il vise \u00e0 favoriser le partage des donn\u00e9es personnelles et non personnelles en mettant en place des structures d\u2019interm\u00e9diation. Ce r\u00e8glement comporte\u00a0:</p><ul><li>un encadrement ainsi qu\u2019une assistance technique et juridique facilitant <strong>la r\u00e9utilisation de certaines cat\u00e9gories de donn\u00e9es prot\u00e9g\u00e9es du secteur public</strong> (informations commerciales confidentielles, propri\u00e9t\u00e9 intellectuelle, donn\u00e9es personnelles)\u00a0;</li>\n<li><strong>une certification obligatoire pour les fournisseurs de services d\u2019</strong><a href=\"https://www.cnil.fr/fr/definition/services-dintermediation-de-la-donnee\" target=\"_blank\" title=\"Services d'interm\u00e9diation de la donn\u00e9e - D\u00e9finition - Nouvelle fen\u00eatre\">interm\u00e9diation de donn\u00e9es</a>\u00a0;</li>\n<li><strong>une certification facultative pour les organismes pratiquant l\u2019</strong><a href=\"https://www.cnil.fr/fr/definition/latruisme-en-matiere-de-donnees-data-altruism\" target=\"_blank\" title=\"L'altruisme en mati\u00e8re de donn\u00e9es - Nouvelle fen\u00eatre\">altruisme en mati\u00e8re de donn\u00e9es</a>.</li>\n</ul><div><h3>Le r\u00e8glement sur les donn\u00e9es (<em>Data Act</em>)</h3><p>La proposition l\u00e9gislative de la Commission europ\u00e9enne, pr\u00e9sent\u00e9e le 23 f\u00e9vrier 2022, a pour objectif <strong>d\u2019assurer une meilleure r\u00e9partition de la valeur issue de l\u2019utilisation des donn\u00e9es personnelles et non personnelles entre les acteurs de l\u2019\u00e9conomie de la donn\u00e9e,</strong> notamment li\u00e9es \u00e0 l\u2019utilisation des <a href=\"https://www.cnil.fr/fr/objets-connectes\" target=\"_blank\" title=\"Objets connect\u00e9s - Nouvelle fen\u00eatre\">objets connect\u00e9s</a> et au d\u00e9veloppement de l\u2019Internet des objets.</p><p>\u00c0 ce titre, la proposition de <em>Data Act</em>\u00a0a pour objectifs de\u00a0:</p><ul><li><strong>faciliter le partage entre entreprises (B2B) et avec le consommateur (B2C) des donn\u00e9es</strong>, en fixant notamment une obligation de rendre accessibles les donn\u00e9es g\u00e9n\u00e9r\u00e9es par l\u2019utilisation des objets connect\u00e9s et services connexes, en contrepartie d\u2019une compensation juste et \u00e9quitable\u00a0;</li>\n<li><strong>permettre l\u2019utilisation des donn\u00e9es d\u00e9tenues par les entreprises et, sous r\u00e9serve de justifier d\u2019un besoin exceptionnel</strong>, <strong>par les organismes publics</strong> des \u00c9tats membres et les institutions, agences ou organes de l\u2019Union\u00a0;</li>\n<li><strong>faciliter\u00a0le changement de fournisseur de services de traitement de donn\u00e9es (<em>cloud</em> et <em>edge computing)</em></strong> par l\u2019encadrement des relations contractuelles entre les fournisseurs de services et les consommateurs, et notamment par la suppression progressive des frais li\u00e9s au changement pour le consommateur\u00a0;</li>\n<li>pr\u00e9voir l\u2019\u00e9laboration <strong>de normes d\u2019interop\u00e9rabilit\u00e9</strong> pour les donn\u00e9es et leurs r\u00e9utilisations entre les secteurs\u00a0;</li>\n<li>mettre en place des <strong>garanties contre les acc\u00e8s illicites de gouvernements de pays tiers</strong> aux donn\u00e9es non-personnelles contenues dans le cloud.</li>\n</ul><h2>Les avis de la CNIL et de ses homologues</h2><p>Les enjeux li\u00e9s \u00e0 l\u2019articulation de ce nouveau cadre l\u00e9gislatif sur les donn\u00e9es avec le r\u00e8glement g\u00e9n\u00e9ral sur la protection des donn\u00e9es personnelles (RGPD) ont conduit la Commission europ\u00e9enne \u00e0 solliciter l\u2019expertise de la CNIL et de ses homologues. Le <em>Data Governance Act</em> et le <em>Data Act</em>\u00a0n\u00e9cessitent, sous des angles diff\u00e9rents, deux \u00e9l\u00e9ments cl\u00e9s pour garantir leur bonne articulation avec le RGPD :</p><ul><li>la <strong>coh\u00e9rence</strong>\u00a0de ces futures dispositions avec les droits et obligations du RGPD ; et</li>\n<li>une <strong>gouvernance intelligente</strong> <strong>gravitant autour des autorit\u00e9s de protection des donn\u00e9es</strong> afin d\u2019assurer l\u2019application efficace et effective des diff\u00e9rents cadres juridiques et d\u2019assurer leur lisibilit\u00e9 pour les citoyens et acteurs \u00e9conomiques concern\u00e9s.</li>\n</ul><h3>La n\u00e9cessit\u00e9 de veiller \u00e0 la coh\u00e9rence avec le RGPD</h3><h4>Des objectifs l\u00e9gitimes et l\u2019am\u00e9lioration de certains droits et protections</h4><p>Les autorit\u00e9s de protection des donn\u00e9es et le <a href=\"https://www.cnil.fr/fr/definition/controleur-europeen-de-la-protection-des-donnees-cepd\" target=\"_blank\" title=\"Le contr\u00f4leur europ\u00e9en de la protection des donn\u00e9es - D\u00e9finition - Nouvelle fen\u00eatre\">Contr\u00f4leur europ\u00e9en</a> reconnaissent l\u2019objectif l\u00e9gitime du <em>DGA</em> de favoriser la disponibilit\u00e9 des donn\u00e9es par la mise en place de structures d\u2019interm\u00e9diation de donn\u00e9es et par le renforcement des m\u00e9canismes de partage de donn\u00e9es dans l\u2019ensemble de l\u2019Union. De m\u00eame, l\u2019objectif du <em>Data Act</em> de lib\u00e9rer le potentiel des donn\u00e9es afin de d\u00e9velopper des connaissances pr\u00e9cieuses pour des secteurs tels que la science, la sant\u00e9 ou l\u2019action climatique est accueilli favorablement par les autorit\u00e9s de protection des donn\u00e9es et le Contr\u00f4leur europ\u00e9en.</p><p>Le <em>Data Act</em> pourra par ailleurs permettre un droit plus effectif \u00e0 <a href=\"https://www.cnil.fr/fr/le-droit-la-portabilite-obtenir-et-reutiliser-une-copie-de-vos-donnees\" target=\"_blank\" title=\"Le droit \u00e0 la portabilit\u00e9 : obtenir et r\u00e9utiliser une copie de vos donn\u00e9es - Nouvelle fen\u00eatre\">la portabilit\u00e9 des donn\u00e9es</a> en vue de faciliter l\u2019innovation et de promouvoir la concurrence, et de permettre aux consommateurs de contr\u00f4ler de mani\u00e8re significative la mani\u00e8re dont leurs donn\u00e9es g\u00e9n\u00e9r\u00e9es par l\u2019utilisation des objets connect\u00e9s sont utilis\u00e9es.</p><p><strong>Enfin, l\u2019encadrement des demandes d\u2019acc\u00e8s par des autorit\u00e9s \u00e9trang\u00e8res et des transferts de donn\u00e9es non-personnelles par ces deux r\u00e8glements fera converger les mod\u00e8les de protection des donn\u00e9es personnelles et non personnelles.</strong></p><h4>Des garanties n\u00e9cessaires pour pr\u00e9server les droits des personnes</h4><p><strong>Dans le m\u00eame temps,</strong> <strong>la protection des donn\u00e9es personnelles est essentielle et fait partie int\u00e9grante de la confiance dans le d\u00e9veloppement de l\u2019\u00e9conomie num\u00e9rique</strong>. Le Comit\u00e9 europ\u00e9en de la protection des donn\u00e9es et le Contr\u00f4leur europ\u00e9en de la protection des donn\u00e9es ont appel\u00e9 les co-l\u00e9gislateurs (Parlement europ\u00e9en et Conseil de l\u2019UE) \u00e0 veiller \u00e0 ce que le <em>DGA</em> et le <em>Data Act</em> ne portent pas atteinte \u00e0 la protection des donn\u00e9es personnelles. Les co-l\u00e9gislateurs ont tenu compte de cette recommandation pour le <em>DGA</em> en sp\u00e9cifiant que le RGPD pr\u00e9vaudrait en cas de conflit avec le <em>DGA</em>.</p><p>En ce qui concerne les droits d\u2019acc\u00e8s, d\u2019utilisation et de partage des donn\u00e9es pr\u00e9vus par le <em>Data Act</em>, la CNIL et ses homologues demandent aux co-l\u00e9gislateurs de mettre en place des garanties additionnelles pour les personnes concern\u00e9es. Ils doivent \u00e9galement veiller \u00e0 la l\u00e9galit\u00e9, la n\u00e9cessit\u00e9 et la proportionnalit\u00e9 de l\u2019obligation de mettre les donn\u00e9es \u00e0 la disposition des organismes du secteur public et des institutions de l\u2019UE en raison d\u2019un besoin exceptionnel, et d\u00e9finir plus strictement les hypoth\u00e8ses d\u2019\u00ab\u00a0urgence publique\u00a0\u00bb ou de \u00ab\u00a0besoin exceptionnel\u00a0\u00bb.</p><h3>La n\u00e9cessit\u00e9 d\u2019assurer une gouvernance intelligente</h3><p>La CNIL et ses homologues alertent \u00e9galement sur le fait que la non-d\u00e9signation des autorit\u00e9s charg\u00e9es de la protection des donn\u00e9es pour la supervision du <em>DGA</em> pourraient entra\u00eener une r\u00e9elle <strong>complexit\u00e9 pour les acteurs num\u00e9riques et les personnes concern\u00e9es, et nuire \u00e0 la coh\u00e9rence de la surveillance de l\u2019application du RGPD</strong>. Les co-l\u00e9gislateurs ont toutefois indiqu\u00e9 que les autorit\u00e9s de protection des donn\u00e9es pouvaient \u00eatre consid\u00e9r\u00e9es comme des autorit\u00e9s comp\u00e9tentes pour le <em>DGA</em>.</p><p>De m\u00eame, la d\u00e9signation des autorit\u00e9s de protection des donn\u00e9es comme autorit\u00e9s comp\u00e9tentes pour le <em>Data Act</em> permettra d\u2019\u00e9viter les incoh\u00e9rences avec le droit fondamental \u00e0 la protection des donn\u00e9es personnelles et d\u2019assurer un guichet unique aux acteurs de la donn\u00e9e. Les co-l\u00e9gislateurs devraient donc <strong>d\u00e9signer les autorit\u00e9s de protection des donn\u00e9es comme autorit\u00e9s coordinatrices pour l\u2019application de l\u2019ensemble du <em>Data Act</em>.</strong> En effet, les autorit\u00e9s de protection des donn\u00e9es ont une <strong>expertise juridique et technique</strong> dans la supervision des traitements de donn\u00e9es personnelles, et l\u2019accompagnement des acteurs et mod\u00e8les d\u2019affaires innovants.</p><p>\u00c0 ce titre, la CNIL a lanc\u00e9 un <a href=\"https://www.cnil.fr/fr/ouverture-des-donnees-la-cnil-publie-son-cahier-air2021?msclkid=ebad0394cec511ec90faae8d75a7c3f3\" target=\"_blank\" title=\"Ouverture des donn\u00e9es : la CNIL publie son cahier air2021 - Nouvelle fen\u00eatre\">groupe de travail sur l\u2019ouverture et le partage des donn\u00e9es</a> qui produira un guide pratique, avec des crit\u00e8res et exemples tr\u00e8s concrets, sur la fa\u00e7on dont s\u2019appliquent ces textes.</p></div>",
    "created_at": "2023-02-27T13:10:20+00:00",
    "updated_at": "2023-02-27T13:10:31+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "fr",
    "reading_time": 6,
    "domain_name": "www.cnil.fr",
    "preview_picture": "https://www.cnil.fr/sites/default/files/thumbnails/image/europe.jpg",
    "http_status": "200",
    "headers": {
      "date": "Mon, 27 Feb 2023 13:10:19 GMT",
      "server": "Apache",
      "x-drupal-cache": "HIT",
      "content-language": "fr",
      "x-frame-options": "SAMEORIGIN",
      "x-content-type-options": "nosniff",
      "x-generator": "Drupal 7 (http://drupal.org)",
      "link": "<https://www.cnil.fr/fr/strategie-europeenne-pour-la-donnee-la-cnil-et-ses-homologues-se-prononcent-sur-le-data-governance>; rel=\"canonical\",<https://www.cnil.fr/fr/node/122900>; rel=\"shortlink\"",
      "cache-control": "public, max-age=900",
      "expires": "Sun, 19 Nov 1978 05:00:00 GMT",
      "vary": "Cookie,Accept-Encoding",
      "strict-transport-security": "max-age=63072000; includeSubdomains; preload",
      "referrer-policy": "strict-origin-when-cross-origin",
      "content-security-policy-report-only": "form-action 'self'; style-src 'self' 'unsafe-inline' ; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' data: *.cnil.fr *.educnum.fr; frame-ancestors 'self' www.dailymotion.com www.youtube-nocookie.com www.youtube.com; img-src 'self'; frame-src 'self' www.dailymotion.com www.youtube-nocookie.com www.youtube.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://piwik.cnil.fr; object-src 'self'; font-src 'self'; base-uri 'self'; block-all-mixed-content; default-src 'self' data: blob:;",
      "last-modified": "Mon, 27 Feb 2023 11:21:45 GMT",
      "x-xss-protection": "1; mode=block",
      "content-type": "text/html; charset=utf-8",
      "x-varnish": "28262034",
      "age": "0",
      "via": "1.1 varnish-v4",
      "etag": "W/\"1677496905-1\"",
      "x-cache": "MISS",
      "x-cache-hits": "0",
      "transfer-encoding": "chunked",
      "accept-ranges": "bytes"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["shogun2023", "securit\u00e9"],
    "is_public": false,
    "id": 47,
    "title": "S\u00e9curit\u00e9 des API : le guide complet pour 2022",
    "url": "https://www.pingidentity.com/fr/resources/blog/post/complete-guide-to-api-security.html",
    "given_url": "https://www.pingidentity.com/fr/resources/blog/post/complete-guide-to-api-security.html",
    "content": "<div id=\"rte-78e56db1-f644-43d8-931e-59c592a44782\" class=\"rte\"><p>Comme indiqu\u00e9 ci-dessus, la port\u00e9e de la s\u00e9curit\u00e9 des API est \u00e9tendue. De nombreuses couches, chacune se concentrant sur son propre p\u00e9rim\u00e8tre de s\u00e9curit\u00e9 API, sont n\u00e9cessaires pour atteindre un niveau de protection \u00e9lev\u00e9.</p><h3 class=\"body--103-medium\">D\u00e9couverte des API</h3><p>Vous ne pouvez pas s\u00e9curiser ce dont vous n\u2019\u00eates pas au courant. Les obstacles qui emp\u00eachent les agents de s\u00e9curit\u00e9 d\u2019avoir une visibilit\u00e9 compl\u00e8te sur toutes les API expos\u00e9es par leur entreprise sont nombreux. Tout d\u2019abord, vous avez des silos d\u2019API comme d\u00e9crit dans la section pr\u00e9c\u00e9dente. Les silos d\u2019API affectent la visibilit\u00e9 des API en ayant des listes partielles d\u2019API, sous une gouvernance d\u00e9connect\u00e9e.</p><p>Un autre obstacle \u00e0 la visibilit\u00e9 de l\u2019API est l\u2019API escroc ou fant\u00f4me. Une API est dite fant\u00f4me lorsqu\u2019elle est d\u00e9velopp\u00e9e dans le cadre d\u2019une application, mais que l\u2019API m\u00eame est consid\u00e9r\u00e9e comme un d\u00e9tail d\u2019impl\u00e9mentation de l\u2019application et n\u2019est connue que par un groupe de d\u00e9veloppeurs tr\u00e8s soud\u00e9. Les API fant\u00f4mes ne sont pas sur le radar des agents de s\u00e9curit\u00e9, car elles n\u2019ont pas de visibilit\u00e9 sur les d\u00e9tails du d\u00e9ploiement.</p></div><div id=\"row-296156eb-8434-44dc-adff-e3e6f407ebd1\" class=\"row row-cols-auto justify-content-center padding-left-sm--0 padding-right-sm--0 padding-left-md--32 padding-right-md--32 padding-left-lg--64 padding-right-lg--64 col aem-Grid aem-Grid--12 aem-Grid--default--12 img-fluid image__container image__wrapper c8\" data-effects=\"\"><img id=\"\" srcset=\"https://images.pingidentity.com/image/upload/f_auto,q_80,w_320,c_scale/ping_dam/content/dam/picr/dia/bl/2022/0511/api-security-discover-forgotten-and-shadow-apis.png 320w, https://images.pingidentity.com/image/upload/f_auto,q_80,w_768,c_scale/ping_dam/content/dam/picr/dia/bl/2022/0511/api-security-discover-forgotten-and-shadow-apis.png 768w, https://images.pingidentity.com/image/upload/f_auto,q_80,w_1024,c_scale/ping_dam/content/dam/picr/dia/bl/2022/0511/api-security-discover-forgotten-and-shadow-apis.png 1024w, https://images.pingidentity.com/image/upload/f_auto,q_80,w_1200,c_scale/ping_dam/content/dam/picr/dia/bl/2022/0511/api-security-discover-forgotten-and-shadow-apis.png 1200w, https://images.pingidentity.com/image/upload/f_auto,q_80,w_1440,c_scale/ping_dam/content/dam/picr/dia/bl/2022/0511/api-security-discover-forgotten-and-shadow-apis.png 1440w, https://images.pingidentity.com/image/upload/f_auto,q_80,w_1914,c_scale/ping_dam/content/dam/picr/dia/bl/2022/0511/api-security-discover-forgotten-and-shadow-apis.png 1914w\" class=\"cmp-image__image cld-responsive\" itemprop=\"contentUrl\" alt=\"\" title=\"\" src=\"https://images.pingidentity.com/image/upload/f_auto,q_auto,w_auto,c_scale/ping_dam/content/dam/picr/dia/bl/2022/0511/api-security-discover-forgotten-and-shadow-apis.png\" referrerpolicy=\"no-referrer\" /></div><div id=\"rte-b0f8da11-e374-4285-9e90-4273708f111c\" class=\"rte\"><p>\u00c0 la fin, les API suivent leur propre cycle de vie. Une API \u00e9volue au fil du temps, de nouvelles versions d\u2019une API apparaissent ou une API peut m\u00eame \u00eatre obsol\u00e8te mais continuer \u00e0 fonctionner pendant une p\u00e9riode temporaire pour une question de compatibilit\u00e9 descendante. Elle peut ensuite \u00eatre oubli\u00e9e ou dispara\u00eetre progressivement du radar en raison du peu de trafic re\u00e7u.</p><p>La d\u00e9couverte des PI est une course entre les fournisseurs d\u2019API et les pirates informatiques qui exploiteront facilement les API une fois trouv\u00e9es. Pour d\u00e9couvrir vos API avant les pirates, vous pouvez extraire les m\u00e9tadonn\u00e9es de votre trafic d\u2019API. Ces donn\u00e9es sont extraites des passerelles API, des \u00e9quilibreurs de charge ou directement en ligne du trafic r\u00e9seau, puis transmises \u00e0 un moteur sp\u00e9cialis\u00e9 qui fournit une liste efficace d\u2019API pouvant ensuite \u00eatre compar\u00e9e \u00e0 des catalogues d\u2019API disponibles via une couche de gestion d\u2019API.</p><h3 class=\"body--103-medium\">OAuth et contr\u00f4le d\u2019acc\u00e8s aux API</h3><p>Afin de restreindre les ressources de l\u2019API aux seuls utilisateurs qui devraient \u00eatre autoris\u00e9s \u00e0 y acc\u00e9der, l\u2019utilisateur\u00a0\u2013 et potentiellement l\u2019application qui agit au nom de l\u2019utilisateur\u00a0\u2013 doit \u00eatre identifi\u00e9. Ceci est g\u00e9n\u00e9ralement r\u00e9alis\u00e9 en exigeant des applications c\u00f4t\u00e9 client qu\u2019elles incluent un jeton dans les appels d\u2019API qu\u2019elles effectuent vers le service, qui peut ensuite valider ce jeton et en obtenir les informations utilisateur. <a href=\"https://www.pingidentity.com/fr/resources/content-library/articles/oauth.html\">OAuth</a> est la norme qui d\u00e9crit comment une application c\u00f4t\u00e9 client obtient un jeton d\u2019acc\u00e8s en premier lieu. OAuth d\u00e9finit de nombreux types d\u2019octroi diff\u00e9rents pour s\u2019adapter \u00e0 divers flux et exp\u00e9riences utilisateur. Pour plus d\u2019informations sur OAuth 2, ce <a target=\"_blank\" href=\"https://docs.pingidentity.com/bundle/developer/page/ftz1601508081721.html#ftz1601508081721\">guide du d\u00e9veloppeur</a> d\u00e9crit en d\u00e9tail ces diff\u00e9rents flux OAuth.</p></div><div id=\"row-b4584ea5-27b3-4998-b4ba-e135059f8e08\" class=\"row row-cols-auto justify-content-center padding-left-sm--0 padding-right-sm--0 padding-left-md--32 padding-right-md--32 padding-left-lg--64 padding-right-lg--64 col aem-Grid aem-Grid--12 aem-Grid--default--12 img-fluid image__container image__wrapper c9\" data-effects=\"\"><img srcset=\"https://images.pingidentity.com/image/upload/f_auto,q_80,w_320,c_scale/ping_dam/content/dam/picr/dia/bl/2022/0511/api-security-oauth-and-api-access-control.png 320w, https://images.pingidentity.com/image/upload/f_auto,q_80,w_768,c_scale/ping_dam/content/dam/picr/dia/bl/2022/0511/api-security-oauth-and-api-access-control.png 768w, https://images.pingidentity.com/image/upload/f_auto,q_80,w_1024,c_scale/ping_dam/content/dam/picr/dia/bl/2022/0511/api-security-oauth-and-api-access-control.png 1024w, https://images.pingidentity.com/image/upload/f_auto,q_80,w_1200,c_scale/ping_dam/content/dam/picr/dia/bl/2022/0511/api-security-oauth-and-api-access-control.png 1200w, https://images.pingidentity.com/image/upload/f_auto,q_80,w_1440,c_scale/ping_dam/content/dam/picr/dia/bl/2022/0511/api-security-oauth-and-api-access-control.png 1440w, https://images.pingidentity.com/image/upload/f_auto,q_80,w_2473,c_scale/ping_dam/content/dam/picr/dia/bl/2022/0511/api-security-oauth-and-api-access-control.png 2473w\" class=\"cmp-image__image cld-responsive\" itemprop=\"contentUrl\" alt=\"\" title=\"\" src=\"https://images.pingidentity.com/image/upload/f_auto,q_auto,w_auto,c_scale/ping_dam/content/dam/picr/dia/bl/2022/0511/api-security-oauth-and-api-access-control.png\" referrerpolicy=\"no-referrer\" /></div><div id=\"rte-e185eb5d-bcc3-4e59-a12e-ba850aefb74e\" class=\"rte\"><p>Sur la base d\u2019un jeton entrant, des r\u00e8gles de contr\u00f4le d\u2019acc\u00e8s peuvent \u00eatre appliqu\u00e9es. Par exemple, une r\u00e8gle peut \u00eatre utilis\u00e9e pour d\u00e9terminer si l\u2019application ou l\u2019utilisateur doit \u00eatre autoris\u00e9 \u00e0 effectuer cet appel d\u2019API particulier.</p><p>La d\u00e9finition et la gestion des r\u00e8gles se font via des outils de d\u00e9finition de politique, et une couche d\u2019application de politique doit pouvoir appliquer ces r\u00e8gles au moment de l\u2019ex\u00e9cution. Ces r\u00e8gles prennent en consid\u00e9ration des caract\u00e9ristiques telles que\u00a0:</p><ul><li>\n<p>L\u2019identit\u00e9 de l\u2019utilisateur et ses attributs ou revendications associ\u00e9s</p>\n</li>\n<li>\n<p>Les \u00e9tendues d\u2019application et OAuth associ\u00e9es au jeton</p>\n</li>\n<li>\n<p>Les ressources en cours d\u2019acc\u00e8s ou la requ\u00eate en cours</p>\n</li>\n<li>\n<p>Les pr\u00e9f\u00e9rences de confidentialit\u00e9 de l\u2019utilisateur</p>\n</li>\n</ul><p>Dans un environnement h\u00e9t\u00e9rog\u00e8ne, contr\u00f4ler l\u2019acc\u00e8s de mani\u00e8re coh\u00e9rente \u00e0 travers les silos d\u2019API n\u00e9cessite des processus et une int\u00e9gration.</p><h3 class=\"body--103-medium\">Gouvernance des donn\u00e9es des API et application de la confidentialit\u00e9</h3><p>Les fuites se produisent via les API car les donn\u00e9es transitent par les API. Pour cette raison, la s\u00e9curit\u00e9 des API doit \u00e9galement inclure l\u2019examen des donn\u00e9es structur\u00e9es entrant et sortant via vos API et l\u2019application des r\u00e8gles au niveau de la couche de donn\u00e9es.</p><p>\u00c9tant donn\u00e9 que les donn\u00e9es sont structur\u00e9es de mani\u00e8re pr\u00e9visible dans votre trafic API, l\u2019application de la s\u00e9curit\u00e9 des donn\u00e9es en inspectant le trafic API est tr\u00e8s bien adapt\u00e9e \u00e0 cette t\u00e2che. En plus des r\u00e8gles de type [oui/non], la gouvernance des donn\u00e9es API vous permet de transformer les donn\u00e9es structur\u00e9es dans votre trafic API en temps r\u00e9el \u00e0 des fins de r\u00e9daction. Un exemple typique de ce mod\u00e8le consiste \u00e0 masquer des champs sp\u00e9cifiques pouvant contenir des informations qui, selon les param\u00e8tres de confidentialit\u00e9 d\u2019un utilisateur, doivent rester cach\u00e9es \u00e0 l\u2019application demandeuse. Comme indiqu\u00e9 pr\u00e9c\u00e9demment, l\u2019application du contr\u00f4le d\u2019acc\u00e8s au niveau des donn\u00e9es vous aide \u00e0 prendre en charge GraphQL qui n\u2019identifie pas les identifiants de ressources via les URI.</p></div><div id=\"rte-e7d16dba-573c-41e0-90f0-e007e6cbe14f\" class=\"rte\"><p>Le d\u00e9couplage de la gestion et de l\u2019application des pr\u00e9f\u00e9rences de confidentialit\u00e9 d\u2019une impl\u00e9mentation de service GraphQL offre un certain nombre d\u2019avantages. Les logiciels d\u00e9velopp\u00e9s en interne ont un co\u00fbt de possession \u00e9lev\u00e9 et peuvent \u00eatre lents \u00e0 s\u2019adapter. Le d\u00e9veloppeur Node.js et la personne responsable de l\u2019application des r\u00e8gles de confidentialit\u00e9 se croisent rarement. Mais donner aux architectes de s\u00e9curit\u00e9 et aux business analysts leur propre outil pour mettre en \u0153uvre ce niveau de contr\u00f4le d\u2019acc\u00e8s acc\u00e9l\u00e8re la transformation num\u00e9rique. De plus, ce d\u00e9couplage p\u00e9rennise l\u2019investissement dans les services GraphQL et les API\u00a0REST, en les rendant plus r\u00e9silients aux changements en ce qui concerne la gouvernance des donn\u00e9es \u00e0 granularit\u00e9 fine.</p><h3 class=\"body--103-medium\">La d\u00e9tection des menaces contre les API</h3><p>La d\u00e9tection des menaces contre les l\u2019API h\u00e9rite des mesures g\u00e9n\u00e9rales de protection contre les menaces. Par exemple, les API se trouvent souvent derri\u00e8re un pare-feu qui offre une protection de base. Les API se trouvent \u00e9galement parfois derri\u00e8re un pare-feu d\u2019application Web (WAF). Un WAF peut analyser le trafic de l\u2019API pour la d\u00e9tection des menaces bas\u00e9e sur les signatures, \u00e0 la recherche d\u2019\u00e9l\u00e9ments tels que les injections SQL et d\u2019autres attaques par injection. Les passerelles API jouent \u00e9galement un r\u00f4le dans la d\u00e9tection des menaces sous un angle sp\u00e9cifique \u00e0 l\u2019API. Une passerelle peut imposer un sch\u00e9ma strict \u00e0 l\u2019entr\u00e9e et un nettoyage g\u00e9n\u00e9ral des entr\u00e9es. Elle recherchera des mod\u00e8les d\u2019imbrication profonds, des bombes XML et appliquera des limites de d\u00e9bit en plus d\u2019agir comme un point d\u2019application des politiques.</p><h3 class=\"body--103-medium\">Comportement et analyse des API</h3><p>\u00c0 l\u2019aide des m\u00e9tadonn\u00e9es du trafic des API, un moteur d\u2019IA peut cr\u00e9er des mod\u00e8les pour le trafic des API normal et tirer parti de ce mod\u00e8le pour rechercher un comportement anormal. Ces anomalies peuvent aider \u00e0 identifier les attaques en cours, mais peuvent \u00e9galement indiquer des mauvais comportements du syst\u00e8me et d\u2019autres formes d\u2019interruption non malveillante de votre service, telles qu\u2019un tir ami, des failles d\u2019API ou un partenaire qui utilise mal ou abuse d\u2019une API. En analysant les m\u00e9tadonn\u00e9es du trafic de l\u2019API, une telle couche peut identifier la source de cette attaque ou de ce comportement inappropri\u00e9 et ces informations peuvent ensuite \u00eatre exploit\u00e9es pour arr\u00eater l\u2019incident en cours, r\u00e9parer l\u2019API ou r\u00e9soudre le probl\u00e8me avec le partenaire.</p></div>",
    "created_at": "2023-02-09T15:22:18+00:00",
    "updated_at": "2023-02-09T15:22:28+00:00",
    "published_at": "2022-05-11T06:00:00+00:00",
    "published_by": ["Bernard Harguindeguy"],
    "annotations": [],
    "mimetype": "text/html;charset=utf-8",
    "language": "fr",
    "reading_time": 6,
    "domain_name": "www.pingidentity.com",
    "preview_picture": "https://www.pingidentity.com/content/dam/picr/og/gen/man-laptop-mobile-OG.jpg",
    "http_status": "200",
    "headers": {
      "content-type": "text/html;charset=utf-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "access-control-allow-credentials": "true",
      "cache-control": "private, no-store",
      "content-language": "en",
      "x-vhost": "www.pingidentity.com",
      "x-xss-protection": "1; mode=block;",
      "x-content-type-options": "nosniff",
      "accept-ranges": "bytes",
      "date": "Thu, 09 Feb 2023 15:22:17 GMT",
      "strict-transport-security": "max-age=31557600",
      "x-served-by": "cache-lcy-eglc8600054-LCY",
      "x-timer": "S1675956137.804374,VS0,VS0,VE1107",
      "vary": "Accept-Encoding,Origin",
      "x-cache": "Miss from cloudfront",
      "via": "1.1 630aaa2a715d73fcf3b0d43858ff4de6.cloudfront.net (CloudFront)",
      "x-amz-cf-pop": "LHR50-P2",
      "x-amz-cf-id": "M-s64ttlDrK8kRS-b6ouOrFbdVDvSMixNmIqpjrKjRH1_KjkENRkkg=="
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["shogun2023", "securit\u00e9"],
    "is_public": false,
    "id": 46,
    "title": "7 best practices pour s\u00e9curiser vos API - Astrakhan",
    "url": "https://astrakhan.fr/blog/7-best-practices-pour-securiser-vos-api/",
    "given_url": "https://astrakhan.fr/blog/7-best-practices-pour-securiser-vos-api/",
    "content": "<h3>Qu\u2019est-ce que la s\u00e9curit\u00e9 des API ?</h3><p>La s\u00e9curit\u00e9 des interfaces de programmation d\u2019applications (API) d\u00e9signe la pratique qui consiste \u00e0 pr\u00e9venir ou \u00e0 r\u00e9duire les attaques contre les API.</p><p>Une API est une interface qui permet aux diff\u00e9rents logiciels de communiquer. <strong>Elle contr\u00f4le les types de requ\u00eates qui se produisent entre les programmes concern\u00e9s, la mani\u00e8re dont ces requ\u00eates sont effectu\u00e9es et les types de formats de donn\u00e9es utilis\u00e9s.</strong> Les API sont utilis\u00e9es majoritairement dans les applications de l\u2019Internet des Objets (IoT) et sur les sites web. Elles recueillent et traitent souvent des donn\u00e9es ou permettent \u00e0 l\u2019utilisateur de saisir des informations qui sont trait\u00e9es dans l\u2019environnement abritant l\u2019API. <strong>Ainsi, les API servent de cadre d\u2019arri\u00e8re-plan aux applications mobiles et web. Il est donc essentiel de prot\u00e9ger les donn\u00e9es sensibles qu\u2019elles transf\u00e8rent.</strong></p><h3>Pourquoi la s\u00e9curit\u00e9 des API est si importante\u00a0?</h3><p><strong>Avec l\u2019essor de l\u2019IoT, la s\u00e9curit\u00e9 des API est devenue de plus en plus importante.</strong> Des donn\u00e9es cruciales et sensibles sont transf\u00e9r\u00e9es entre les utilisateurs, les API et les applications et syst\u00e8mes avec lesquels ils interagissent. Une API non s\u00e9curis\u00e9e peut constituer une cible facile pour les hackers, qui peuvent ainsi acc\u00e9der aux donn\u00e9es de l\u2019entreprise. Et il est aujourd\u2019hui crucial de prot\u00e9ger ses donn\u00e9es car elles ont de la valeur.</p><h3>7 best-practices pour prot\u00e9ger vos API</h3><h4>1. Identifier les points faibles de votre syst\u00e8me</h4><p>La s\u00e9curit\u00e9 des API commence par la compr\u00e9hension des risques au sein de votre syst\u00e8me. <strong>Pour identifier les points faibles du cycle de vie de l\u2019API, vous pouvez commencer \u00e0 identifier des vuln\u00e9rabilit\u00e9s sp\u00e9cifiques \u00e0 votre syst\u00e8me.</strong> Par exemple, vous pouvez v\u00e9rifier les attaques bas\u00e9es sur les signatures, comme les injections de langage de requ\u00eate structur\u00e9 (SQL), utiliser des r\u00e8gles plus strictes pour les chemins et les sch\u00e9mas JSON (JavaScript Object Notation), ou utiliser des limites de d\u00e9bit pour assurer la protection des backends d\u2019API.</p><h4>2. Mettre en place des jetons (token)</h4><p>Les jetons de s\u00e9curit\u00e9 (Security\u00a0Token) fonctionnent en exigeant l\u2019authentification d\u2019un jeton de chaque c\u00f4t\u00e9 d\u2019une communication avant que cette communication ait lieu. <strong>Les jetons peuvent \u00eatre utilis\u00e9s pour contr\u00f4ler l\u2019acc\u00e8s aux ressources du r\u00e9seau car tout programme ou utilisateur qui tente d\u2019interagir avec la ressource du r\u00e9seau sans le jeton appropri\u00e9 sera rejet\u00e9.</strong></p><h4>3. Recourir au chiffrement (ou cryptage)</h4><p>Le cryptage consiste \u00e0 masquer les donn\u00e9es \u00e0 une extr\u00e9mit\u00e9 de la communication et \u00e0 ne permettre leur d\u00e9chiffrement \u00e0 l\u2019autre extr\u00e9mit\u00e9 que si la cl\u00e9 de d\u00e9cryptage appropri\u00e9e est utilis\u00e9e. Si cette condition n\u2019est pas remplie, les donn\u00e9es crypt\u00e9es repr\u00e9sentent un m\u00e9lange absurde de caract\u00e8res, de chiffres et de lettres. <strong>Le chiffrement prend en charge la s\u00e9curit\u00e9 des API en rendant les donn\u00e9es illisibles pour les utilisateurs non autoris\u00e9s dont les appareils ne peuvent pas d\u00e9chiffrer les donn\u00e9es.</strong></p><h4>4. Utiliser OAuth et OpenID Connect</h4><p>L\u2019autorisation ouverte (OAuth) d\u00e9termine comment l\u2019application c\u00f4t\u00e9 client obtient les jetons d\u2019acc\u00e8s. OpenID Connect (OIDC) est une couche d\u2019authentification qui s\u2019appuie sur OAuth et permet aux clients de v\u00e9rifier l\u2019identit\u00e9 de l\u2019utilisateur final. <strong>Ces deux \u00e9l\u00e9ments renforcent l\u2019authentification et l\u2019autorisation en limitant le transfert d\u2019informations aux seules personnes disposant du jeton approuv\u00e9 et v\u00e9rifi\u00e9.</strong></p><h4>5. Mettre en place des restrictions et quotas</h4><p>Les quotas prot\u00e8gent la bande passante car ils limitent l\u2019acc\u00e8s \u00e0 un syst\u00e8me. Ainsi, les quotas limitent le nombre d\u2019appels aux API, ce qui peut emp\u00eacher les attaques qui submergent les ressources d\u2019un syst\u00e8me d\u2019information par des appels en masse.</p><h4>6. Cr\u00e9er une passerelle API (API Gateway)</h4><p>Une passerelle API se situe entre le client et la collection de services sp\u00e9cifiques au backend. Elle joue le r\u00f4le d\u2019un proxy invers\u00e9 et, lorsque le trafic la traverse, il est authentifi\u00e9 et autoris\u00e9 selon des normes pr\u00e9d\u00e9termin\u00e9es. <strong>Ainsi, une passerelle API vous aidera \u00e0 s\u00e9curiser, contr\u00f4ler et surveiller votre trafic.</strong></p><h4>7. Mod\u00e8le Tol\u00e9rance z\u00e9ro</h4><p>Le mod\u00e8le de s\u00e9curit\u00e9 \u00ab\u00a0tol\u00e9rance z\u00e9ro\u00a0\u00bb part du principe que tout le trafic, qu\u2019il provienne de l\u2019int\u00e9rieur ou de l\u2019ext\u00e9rieur d\u2019un r\u00e9seau, n\u2019est pas fiable. Par cons\u00e9quent, avant que le trafic ne soit autoris\u00e9 \u00e0 circuler dans ou \u00e0 travers le r\u00e9seau, les droits de l\u2019utilisateur doivent \u00eatre d\u2019abord authentifi\u00e9s. <strong>Une approche de tol\u00e9rance z\u00e9ro peut assurer la s\u00e9curit\u00e9 des donn\u00e9es et des applications en emp\u00eachant les utilisateurs non autoris\u00e9s d\u2019acc\u00e9der \u00e0 un syst\u00e8me \u2013 y compris les utilisateurs r\u00e9currents qu\u2019un imposteur peut usurper en utilisant un dispositif pr\u00e9c\u00e9demment authentifi\u00e9.</strong></p><p>Vous en savez maintenant davantage sur les m\u00e9canismes de base pour prot\u00e9ger vos API. N\u2019h\u00e9sitez pas \u00e0 contacter Astrakhan afin que nous puissions vous \u00e9pauler dans la mise en place de solutions correspondant \u00e0 vos besoins\u00a0!</p>",
    "created_at": "2023-02-09T15:20:40+00:00",
    "updated_at": "2023-02-09T15:20:46+00:00",
    "published_at": "2021-04-12T07:16:00+00:00",
    "published_by": ["Lily"],
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr_FR",
    "reading_time": 3,
    "domain_name": "astrakhan.fr",
    "http_status": "200",
    "headers": {
      "date": "Thu, 09 Feb 2023 15:20:39 GMT",
      "content-type": "text/html; charset=UTF-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "server": "Apache",
      "x-powered-by": "PHP/7.4",
      "set-cookie": "pll_language=fr; expires=Fri, 09-Feb-2024 15:20:39 GMT; Max-Age=31536000; path=/; secure; SameSite=Lax",
      "link": "<https://astrakhan.fr/wp-json/>; rel=\"https://api.w.org/\", <https://astrakhan.fr/wp-json/wp/v2/posts/18840>; rel=\"alternate\"; type=\"application/json\", <https://astrakhan.fr/?p=18840>; rel=shortlink",
      "strict-transport-security": "max-age=63072000; includeSubDomains",
      "x-frame-options": "SAMEORIGIN",
      "expires": "Thu, 09 Feb 2023 17:20:38 GMT",
      "vary": "Accept-Encoding",
      "access-control-allow-origin": "*",
      "content-security-policy": "media-src *; img-src 'self' data: blob: filesystem: https://csi.gstatic.com https://maps.gstatic.com https://maps.googleapis.com *.amazonaws.com *.google.com http://ps.w.org http://i0.wp.com http://i1.wp.com *.gravatar.com *.googleapis.com *.gstatic.com http://www.google-analytics.com *.twitter.com *.twimg.com http://cdnjs.cloudflare.com https://cdnjs.cloudflare.com https://astrakhan.fr https://astrakhan.hk; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.gstatic.com https://fast.wistia.com https://use.fontawesome.com *.fontawesome.com http://s7.addthis.com *.google.com *.googleapis.com www.google-analytics.com *.twitter.com https://cdn.syndication.twimg.com https://code.jquery.com http://maps.google.com https://maps.googleapis.com http://maps.googleapis.com https://astrakhan.automation.webmecanik.com http://astrakhan.automation.webmecanik.com *.youtube.com https://s.ytimg.com http://cdnjs.cloudflare.com https://cdnjs.cloudflare.com https://cdn.polyfill.io https://astrakhan.hk https://tag.getdrip.com https://api.getdrip.com https://astrakhan.fr https://astrakhan.fr; style-src 'self' 'unsafe-inline' https://maps.googleapis.com https://fonts.googleapis.com *.fontawesome.com *.bootstrapcdn.com *.googleapis.com *.twitter.com *.google.com *.jsdelivr.net https://astrakhan.automation.webmecanik.com http://astrakhan.automation.webmecanik.com http://cdnjs.cloudflare.com https://cdnjs.cloudflare.com https://astrakhan.fr https://astrakhan.hk; base-uri 'self';",
      "x-xss-protection": "1; mode=block",
      "x-content-type-options": "nosniff"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["shogun2023", "securit\u00e9"],
    "is_public": false,
    "id": 45,
    "title": "S\u00e9curiser une API REST : tout ce qu\u2019il faut savoir - OCTO Talks !",
    "url": "https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/",
    "given_url": "https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/",
    "content": "<p>Exposer votre m\u00e9tier via des API, que ce soit pour le reste de votre entreprise ou pour le monde entier, est une belle id\u00e9e. Vous avez pass\u00e9 du temps \u00e0 en <a href=\"https://blog.octo.com/designer-une-api-rest/\">concevoir le design pour les rendre facile d\u2019utilisation par les d\u00e9veloppeurs</a>, et vous avez repens\u00e9 l\u2019<a href=\"https://blog.octo.com/strategie-d-architecture-api/\">architecture de votre SI</a> pour leur offrir la place qu\u2019elles m\u00e9ritent\u2026 Et vous vous heurtez \u00e0 la crainte de vos coll\u00e8gues et de vos sup\u00e9rieurs : \u201cMais si j\u2019expose mes applications sur le web, mes donn\u00e9es ne seront pas en s\u00e9curit\u00e9 !\u201d.\u00a0</p><p>Gardez \u00e0 l\u2019esprit que le but d\u2019une strat\u00e9gie API, c\u2019est de permettre \u00e0 des d\u00e9veloppeurs de consommer vos ressources, pour aider vos utilisateurs. Il est donc crucial, non seulement d\u2019authentifier et d\u2019autoriser vos utilisateurs, mais aussi d\u2019authentifier et d\u2019autoriser les applications qui consomment votre API.\u00a0</p>\n<p>Cet article a pour but d\u2019expliquer comment exposer, sans danger, votre API sur le web\u2026 et par cons\u00e9quent \u00e0 votre entreprise ! Sans oublier les deux objectifs d\u2019une strat\u00e9gie de s\u00e9curisation d\u2019application : mener la vie dure aux attaquants potentiels, tout en facilitant la vie des consommateurs l\u00e9gitimes. Deux objectifs entre lesquels il faudra trouver un \u00e9quilibre.</p>\n<h2>Sommaire</h2>\n<ul><li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#security_principles\">Principes de s\u00e9curit\u00e9 applicative</a>\n<ul><li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#private_public_resources\">Ressources publiques ou priv\u00e9es ?</a></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#security_pillars\">Les 3 piliers de la s\u00e9curit\u00e9 applicative</a></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#expected_functions\">Les diff\u00e9rentes fonctions attendues</a></li>\n</ul></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#existing_protocols\">Protocoles existants</a>\n<ul><li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#api_key\">API Key</a></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#oauth2_oidc\">OAuth2 et OpenID Connect</a></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#do_not_use\">\u00c0 ne pas utiliser</a></li>\n</ul></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#oauth2\">OAuth2</a>\n<ul><li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#client_types\">3 types de clients</a></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#flows\">4 sc\u00e9narios pour obtenir un token</a></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#use_a_token\">Utiliser un token</a></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#scopes\">Scopes</a></li>\n</ul></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#oidc\">OpenID Connect</a>\n<ul><li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#oidc_why\">Pourquoi ?</a></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#oidc_principle\">Principe</a></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#id_token\">Plus de d\u00e9tails sur l\u2019ID Token</a></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#oidc_flows\">Flows</a></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#jwt\">JWT</a></li>\n</ul></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#summary\">\u00c0 retenir</a>\n<ul><li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#summary_security\">S\u00e9curit\u00e9</a></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#summary_oauth2\">OAuth2</a></li>\n<li><a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#summary_oidc\">OpenID Connect</a></li>\n</ul></li>\n</ul><h2 id=\"security_principles\">Principes de s\u00e9curit\u00e9 applicative</h2>\n<h3 id=\"private_public_resources\">Ressources publiques ou priv\u00e9es ?</h3>\n<p>Toutes les ressources expos\u00e9es par votre API ne n\u00e9cessitent pas le m\u00eame niveau de vigilance. On distingue deux types de ressources.\u00a0</p>\n<h4>Ressources publiques</h4>\n<p>Comme leur nom l\u2019indique, les informations contenues dans ces ressources sont publiques. Par exemple, <code>/products</code> ou <code>/offers</code> sont des ressources qui sont probablement faciles \u00e0 consulter sur votre site Internet, sans aucune connexion pr\u00e9alable de l\u2019utilisateur.\u00a0</p>\n<p>M\u00eame si les donn\u00e9es expos\u00e9es sont publiques, nous recommandons de mettre en place une strat\u00e9gie d\u2019<a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#api_key\">API_KEY</a>. Cela vous permettra de g\u00e9rer les quotas d\u2019utilisation de vos ressources et donc d\u2019\u00e9viter des abus.\u00a0</p>\n<h4>Ressources priv\u00e9es</h4>\n<p>Il s\u2019agit de ressources auxquelles tout le monde ne doit pas avoir acc\u00e8s, en g\u00e9n\u00e9ral des informations qui sont propres \u00e0 un utilisateur : un historique de commandes, des informations bancaires, des donn\u00e9es personnelles, etc. De telles informations ne doivent \u00eatre accessibles que par leur propri\u00e9taire.\u00a0</p>\n<h4>Ressources priv\u00e9es et clients externes</h4>\n<p>Le cas particulier d\u2019une API, c\u2019est qu\u2019elle est potentiellement consomm\u00e9e par plusieurs clients diff\u00e9rents, certains internes \u00e0 votre entreprise, d\u2019autres qui lui sont \u00e9trangers. Et le propri\u00e9taire d\u2019une ressource priv\u00e9e peut vouloir acc\u00e9der \u00e0 cette ressource via plusieurs clients d\u2019API diff\u00e9rents !</p>\n<p>Prenons un exemple : vous voulez acc\u00e9der \u00e0 votre compte en banque avec le site de votre banque, et aussi \u00e0 travers une application d\u2019agr\u00e9gation bancaire. Les informations de votre compte en banque sont priv\u00e9es, donc l\u2019API de votre banque ne doit pas les exposer de fa\u00e7on publique pour que n\u2019importe quelle application puisse les lire. Elle autorise probablement son propre site \u00e0 y acc\u00e9der facilement ; mais l\u2019agr\u00e9gateur bancaire est g\u00e9r\u00e9 par une entreprise ind\u00e9pendante, la banque ne lui donne donc pas acc\u00e8s \u00e0 toutes ses ressources.</p>\n<p>Pour pouvoir utiliser cet agr\u00e9gateur, <strong>il vous faut donc un moyen d\u2019informer l\u2019API de votre banque que vous autorisez l\u2019agr\u00e9gateur bancaire \u00e0 acc\u00e9der \u00e0 votre compte en banque en votre nom</strong>. Et ce, de mani\u00e8re suffisamment s\u00e9curis\u00e9e pour que l\u2019API soit certaine de vous avoir identifi\u00e9.</p>\n<p>C\u2019est ce probl\u00e8me que nous allons aborder, ainsi que les protocoles et frameworks qui permettent de le r\u00e9soudre. Mais d\u2019abord, encore quelques d\u00e9finitions.</p>\n<h3 id=\"security_pillars\">Les 3 piliers de la s\u00e9curit\u00e9 applicative</h3>\n<p>Ces 3 piliers se r\u00e9sument en anglais par le triple A : <em>Authentication, Authorization, Accountability</em>. Dans la langue de Moli\u00e8re, nous les traduisons par <em>Authentification, Autorisation,</em> et <em>Tra\u00e7abilit\u00e9.</em>\u00a0</p>\n<p>Les deux concepts <strong>d\u2019authentification</strong> et <strong>d\u2019autorisation</strong> sont trop souvent confondus, et malheureusement le langage du Web n\u2019aide pas \u00e0 faire la distinction. On pourra citer la sp\u00e9cification OAuth qui utilise l\u2019abr\u00e9viation anglaise \u201cauth\u201d, ou encore l\u2019en-t\u00eate HTTP \u201cAuthorization\u201d qui se charge en r\u00e9alit\u00e9 d\u2019authentification.</p>\n<h4>Authentification</h4>\n<p>L\u2019authentification, c\u2019est savoir <em>qui</em> appelle notre API. \u00c0 partir d\u2019un ensemble d\u2019informations, il est possible de savoir de qui vient l\u2019appel HTTP. L\u2019exemple le plus simple (et probablement le moins s\u00fbr) est le suivant :</p>\n<p><code>GET /v1/some-resourceHost: some.apiAccept: application/jsonI-Am: Renaud Dahl</code></p>\n<p>Dans cet exemple, l\u2019ensemble d\u2019informations utilis\u00e9 pour identifier l\u2019utilisateur appelant est\u2026 son nom en clair. Cette information n\u2019est bien entendu pas fiable et ne peut \u00eatre utilis\u00e9e en l\u2019\u00e9tat ! Nous verrons plus loin comment r\u00e9soudre ce probl\u00e8me.</p>\n<h4>Autorisation</h4>\n<p>Une fois que la personne qui appelle votre API a \u00e9t\u00e9 identifi\u00e9e, l\u2019autorisation consiste \u00e0 savoir <em>ce que cette personne a le droit de faire</em>. Dans la mesure o\u00f9 chaque appel HTTP est trait\u00e9 ind\u00e9pendamment (une API REST est <em>stateless</em>), \u00e0 chaque fois que vous recevrez un appel, il vous faudra d\u00e9cider si oui ou non l\u2019appelant a le droit de consommer cette ressource en particulier.</p>\n<p>Il n\u2019est pas prudent de r\u00e9cup\u00e9rer ce genre d\u2019information depuis l\u2019appel HTTP en lui-m\u00eame. Voyez plut\u00f4t :</p>\n<p><code>GET /v1/some-resourceHost: some.apiAccept: application/jsonI-Am: Renaud DahlI-Can: do pretty much anything</code></p>\n<p>Ce serait assez ridicule. Par cons\u00e9quent, savoir ce que l\u2019auteur d\u2019une requ\u00eate est autoris\u00e9 \u00e0 faire est une information qui DOIT \u00eatre contr\u00f4l\u00e9e et valid\u00e9e par votre propre syst\u00e8me.</p>\n<h4>Tra\u00e7abilit\u00e9</h4>\n<p>Il s\u2019agit de savoir qui a fait quoi, quand, avec quelles ressources. Il peut s\u2019agir simplement d\u2019un fichier de <em>logs</em>, mais attention ! Dans le cas d\u2019une API, le \u201cqui\u201d est assez vague et repr\u00e9sente finalement plusieurs personnes. Pour suivre pr\u00e9cis\u00e9ment ce qui se passe dans votre syst\u00e8me, il vous faut noter pour chaque appel HTTP :\u00a0</p>\n<ul><li>Quoi\n<ul><li>La <strong>ressource</strong> consomm\u00e9e</li>\n<li>Le <strong>verbe</strong> HTTP appel\u00e9 sur cette ressource</li>\n<li>Le <strong>code</strong> HTTP de la r\u00e9ponse</li>\n</ul></li>\n<li>Qui\n<ul><li>L\u2019utilisateur final \u00e0 l\u2019origine de l\u2019appel, <strong>propri\u00e9taire de la ressource</strong>\u00a0</li>\n<li>L\u2019<strong>application</strong> qu\u2019utilise cet utilisateur</li>\n</ul></li>\n<li>Quand\n<ul><li>Le <strong>moment</strong> o\u00f9 a \u00e9t\u00e9 ex\u00e9cut\u00e9e la requ\u00eate (par piti\u00e9 utilisez <a href=\"http://www.iso.org/iso/iso8601\">ISO-8601</a>)</li>\n</ul></li>\n</ul><p>Une telle \u201ccomptabilit\u00e9\u201d pourra vous aider plus tard pour de la r\u00e9vocation d\u2019acc\u00e8s, si vous d\u00e9couvrez qu\u2019un des \u00e9l\u00e9ments ci-dessus a \u00e9t\u00e9 compromis. Cela peut aussi vous permettre de noter le type d\u2019appareil d\u2019o\u00f9 vient la requ\u00eate, ainsi que sa r\u00e9gion, gr\u00e2ce \u00e0 des m\u00e9thodes simples de localisation.</p>\n<p>\u00c0 partir des d\u00e9finitions que nous avons donn\u00e9es jusque l\u00e0, on peut d\u00e9duire que pour une ressource priv\u00e9e, il vous faudra g\u00e9rer l\u2019Authentification et l\u2019Autorisation. Enfin, la Tra\u00e7abilit\u00e9 sera n\u00e9cessaire pour toutes les ressources.</p>\n<p>Maintenant, nous sommes tous d\u2019accord sur quelles ressources prot\u00e9ger, et sur les 3 piliers qui se cachent derri\u00e8re ce mot \u201cprot\u00e9ger\u201d. Passons au \u201ccomment\u201d : quels sont les diff\u00e9rents r\u00f4les impliqu\u00e9s ? Quels sont les protocoles \u00e0 utiliser ?</p>\n<h3 id=\"expected_functions\">Les diff\u00e9rentes fonctions attendues</h3>\n<p>R\u00e9sumons qui sont les parties prenantes :\u00a0</p>\n<ul><li>Le <strong>Resource Provider</strong> expose des ressources, publiques ou priv\u00e9es, sur le Web via une API REST <a href=\"http://blog.octo.com/fr/designer-une-api-rest/\">bien design\u00e9e</a>. Cher lecteur, il s\u2019agit probablement de votre produit !</li>\n<li>Le <strong>D\u00e9veloppeur</strong> veut utiliser ces ressources afin de fournir un nouveau service via son application.</li>\n<li>L\u2019<strong>Utilisateur</strong> utilise vos services, et a peut-\u00eatre d\u00e9j\u00e0 suffisamment de droits pour consommer certaines ressources priv\u00e9es. Et il voudrait y acc\u00e9der via l\u2019application du d\u00e9veloppeur d\u00e9crit pr\u00e9c\u00e9demment.</li>\n<li>L\u2019<strong>Identity Provider</strong> sait qui est qui, et sait comment savoir qui est qui. Vous avez suivi ? Il s\u2019agit peut-\u00eatre aussi de vous, cher lecteur. Beaucoup de <em>resource providers</em> sont aussi des <em>identity providers</em> (pensez \u00e0 Google, \u00e0 Facebook\u2026). Si vous stockez votre base d\u2019utilisateurs dans un LDAP d\u2019entreprise, vous n\u2019\u00eates pas loin d\u2019avoir \u00e0 votre disposition un <em>identity provider</em>.</li>\n</ul><p>Vous l\u2019aurez remarqu\u00e9, les deux r\u00f4les <em>identity provider</em> et <em>resource provider</em> sont souvent un seul et m\u00eame acteur. Ce n\u2019est pas compl\u00e8tement illogique : une identit\u00e9 peut tr\u00e8s bien \u00eatre une ressource comme une autre ! Mais ce m\u00e9lange des genres peut avoir des effets secondaires probl\u00e9matiques :\u00a0</p>\n<ul><li>En tant qu\u2019utilisateur, chaque nouveau site que vous utilisez vous demande \u00e0 nouveau votre email, mot de passe, nom de jeune fille, nom de votre premier animal de compagnie et vos 5 derni\u00e8res adresses ;</li>\n<li>En tant que d\u00e9veloppeur, les concepts d\u2019authentification et d\u2019autorisation risquent fort de se m\u00e9langer dans votre t\u00eate.</li>\n</ul><h2 id=\"existing_protocols\">Protocoles existants</h2>\n<h3 id=\"api_key\">API Key</h3>\n<p>Pour des ressources publiques, pas question d\u2019authentification ou d\u2019autorisation\u2026 Mais vous voulez quand m\u00eame s\u00fbrement g\u00e9rer des acc\u00e8s ! Pour mettre en place une tarification \u00e0 base de quotas par exemple, ou simplement \u00e9viter des abus. Pour ce genre de cas, une strat\u00e9gie d\u2019<strong>API Key</strong> convient parfaitement.</p>\n<p>Une telle cl\u00e9 est facile \u00e0 r\u00e9cup\u00e9rer par un d\u00e9veloppeur d\u2019application :\u00a0</p>\n<ol><li>Le d\u00e9veloppeur s\u2019inscrit sur votre portail d\u00e9veloppeur</li>\n<li>Il r\u00e9cup\u00e8re sa cl\u00e9 d\u2019acc\u00e8s (g\u00e9n\u00e9r\u00e9e par votre portail)</li>\n<li>Il la stocke dans le code de son application cliente</li>\n<li>Il l\u2019envoie dans chacune de ses requ\u00eates API, par exemple :</li>\n</ol><p><code>GET /v1/some-resourceHost: some.apiAccept: application/jsonX-API-KEY: MyAwes0m3API_KeY</code></p>\n<p>Mais cette fa\u00e7on de faire a bien s\u00fbr des inconv\u00e9nients :\u00a0</p>\n<ul><li>la cl\u00e9 d\u2019API peut \u00eatre compromise (si elle est stock\u00e9e dans une <a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#client_types\">application publique comme une SPA</a>)</li>\n<li>elle ne permet d\u2019identifier que l\u2019application cliente, pas\u00a0 un utilisateur</li>\n<li>pas de date d\u2019expiration</li>\n</ul><p>Pour g\u00e9rer l\u2019authentification et l\u2019autorisation, nous avons donc besoin d\u2019autres protocoles.</p>\n<h3 id=\"oauth2_oidc\"><a href=\"https://oauth.net/2/\">OAuth2</a> et OpenID Connect</h3>\n<p>Les standards de l\u2019industrie pour l\u2019authentification et l\u2019autorisation sont OAuth2 et OpenID Connect : OAuth2 est d\u00e9di\u00e9 \u00e0 la d\u00e9l\u00e9gation de droits (\u201cmoi, utilisateur, autorise cette application \u00e0 lire mes mails en mon nom\u201d) et OIDC, \u00e0 la gestion d\u2019identit\u00e9s.</p>\n<p>Ces deux protocoles couvrent \u00e0 eux deux 99,9% des cas possibles. Nous vous D\u00c9CONSEILLONS FORTEMENT d\u2019essayer d\u2019utiliser d\u2019autres protocoles ou d\u2019essayer de r\u00e9inventer la roue, ce serait un frein inutile ajout\u00e9 \u00e0 vos clients que sont les d\u00e9veloppeurs d\u2019applications.</p>\n<p>Vous pouvez vous contenter d\u2019utiliser OAuth2 si vous \u00eates \u00e0 la fois <em>resource provider</em> et <em>identity provider</em> (et rappelez-vous que vous l\u2019\u00eates s\u00fbrement). OpenID Connect est une extension du protocole OAuth2 et vous permettra donc une migration sans douleur si vous d\u00e9cidez d\u2019utiliser un <em>identity provider</em> externe (connexion avec Facebook, Linkedin, Google, etc).</p>\n<h3 id=\"do_not_use\">\u00c0 ne pas utiliser\u00a0</h3>\n<p>Un certain nombre d\u2019outils ne sont pas efficaces ou pas utiles dans la s\u00e9curit\u00e9 de votre API :\u00a0</p>\n<ul><li>WAF : Web Application Firewall, c\u2019est un outil destin\u00e9 \u00e0 \u00eatre utilis\u00e9 sur des sites web, non pas des API.</li>\n<li>VPN : En mettre un en place \u00e9quivaut en quelque sorte \u00e0 ne pas exposer votre API sur le Web, ce qui \u00e9tait le but initial. L\u2019affordance de votre API en p\u00e2tira.</li>\n<li>Certificats TLS c\u00f4t\u00e9 client : ils sont chers, difficiles \u00e0 g\u00e9rer, et sont utilis\u00e9s de fa\u00e7ons tr\u00e8s vari\u00e9es selon les impl\u00e9mentations des clients HTTP. D\u2019autant plus que HTTPS assure d\u00e9j\u00e0 la confidentialit\u00e9, l\u2019int\u00e9grit\u00e9, et l\u2019authentification du serveur.</li>\n<li>OAuth1 : il laisse le d\u00e9veloppeur client g\u00e9rer le m\u00e9canisme de signature et est donc tr\u00e8s compliqu\u00e9 \u00e0 impl\u00e9menter.</li>\n<li>Un protocole \u201ccustom\u201d : difficile \u00e0 maintenir par vos d\u00e9veloppeurs, et difficile \u00e0 comprendre pour des d\u00e9veloppeurs externes habitu\u00e9s \u00e0 OAuth2/OIDC. Un protocole maison a par ailleurs toutes les chances d\u2019\u00eatre moins s\u00e9curis\u00e9 que des protocoles largement \u00e9prouv\u00e9s depuis des ann\u00e9es.</li>\n</ul><p>Enfin, il est toujours utile de le rappeler : <strong>toutes les communications r\u00e9seau doivent passer par HTTPS</strong> pour \u00e9viter des attaques de type \u201cman-in-the-middle\u201d.</p>\n<p>Nous avons beaucoup parl\u00e9 d\u2019OAuth2. Il est temps d\u2019entrer dans le vif du sujet et de d\u00e9couvrir en quoi il consiste ! Vous \u00eates pr\u00eats ? C\u2019est parti !</p>\n<h2 id=\"oauth2\">OAuth2</h2>\n<p>Le framework OAuth2 est con\u00e7u pour autoriser des applications, \u00e9crites par des d\u00e9veloppeurs, \u00e0 consommer les ressources d\u2019un <em>resource provider</em> au nom d\u2019un utilisateur. On parle de d\u00e9l\u00e9gation, via le consentement de l\u2019utilisateur.</p>\n<p>Ce framework a un vocabulaire sp\u00e9cifique :\u00a0</p>\n<ul><li><strong>Client</strong>: l\u2019application \u00e9crite par le d\u00e9veloppeur, qui consomme les ressources de l\u2019API</li>\n<li><strong><em>Resource Server</em></strong> <strong>(Serveur de ressources)</strong>: le <em>resource provider</em> d\u00e9crit plus haut, qui expose via une API REST les ressources auxquelles le Client veut acc\u00e9der</li>\n<li><strong><em>Resource Owner</em></strong> <strong>(Propri\u00e9taire de la ressource)</strong><em>:</em> l\u2019utilisateur final dont nous parlons, qui utilise le Client</li>\n<li><strong><em>Authorization Server</em></strong> <strong>(Serveur d\u2019autorisation)</strong>: un nouvel acteur, dont le r\u00f4le est de fournir des jetons (<em>tokens</em>) aux clients</li>\n<li><strong><em>Scope</em></strong> <strong>(P\u00e9rim\u00e8tre)</strong>: une description de ce que l\u2019utilisateur permet \u00e0 l\u2019application de faire en son nom</li>\n<li><strong><em>Consumer</em></strong> <strong>(Consommateur)</strong>: le d\u00e9veloppeur de l\u2019application. Il n\u2019est pas pr\u00e9sent explicitement dans la <a href=\"https://tools.ietf.org/html/rfc6749#section-1.1\">sp\u00e9cification</a> mais est pr\u00e9sent dans beaucoup d\u2019impl\u00e9mentations</li>\n<li><strong><em>Token</em></strong> <strong>(Jeton)</strong>: une information opaque (il s\u2019agit d\u2019une suite de caract\u00e8res qui donne peu envie de la lire) qui relie un client, un ou plusieurs scopes et \u00e9ventuellement un utilisateur.</li>\n</ul><p>Petit sch\u00e9ma pour r\u00e9capituler tout \u00e7a :</p>\n<div class=\"wp-block-image c2\">\n<figure class=\"aligncenter\"><img class=\"alignnone wp-image-94897 size-full\" src=\"https://blog.octo.com/wp-content/uploads/2019/09/vocabulaire-oauth2.jpeg\" alt=\"\" width=\"947\" height=\"480\" srcset=\"https://blog.octo.com/wp-content/uploads/2019/09/vocabulaire-oauth2.jpeg 947w, https://blog.octo.com/wp-content/uploads/2019/09/vocabulaire-oauth2-300x152.jpeg 300w, https://blog.octo.com/wp-content/uploads/2019/09/vocabulaire-oauth2-160x81.jpeg 160w\" referrerpolicy=\"no-referrer\" /></figure></div>\n<p>En plus de ce vocabulaire, OAuth2 d\u00e9finit diff\u00e9rents types de clients.</p>\n<h3 id=\"client_types\">3 types de clients</h3>\n<p>Petit rappel : les clients dont nous parlons sont des applications \u00e9crites par des d\u00e9veloppeurs, qui veulent consommer votre API. Ces clients peuvent \u00eatre <em>confidentiels</em>, <em>externes</em>, ou <em>publics.</em></p>\n<p>La distinction entre ces 3 types de clients d\u00e9pend de</p>\n<ul><li>la confiance qu\u2019a le Serveur d\u2019Autorisation dans leur capacit\u00e9 \u00e0 prot\u00e9ger leurs identifiants (s\u2019assurer qu\u2019ils restent secrets) et ceux des utilisateurs</li>\n<li>la fa\u00e7on dont le Serveur d\u2019Autorisation interagit avec eux.</li>\n</ul><h4>Clients confidentiels (ou clients de confiance)</h4>\n<p>Il s\u2019agit de clients qui sont d\u00e9velopp\u00e9s, d\u00e9ploy\u00e9s, et exploit\u00e9s par la m\u00eame organisation que celle qui g\u00e8re les ressources et le Serveur d\u2019Autorisation. Par exemple, des applications de votre entreprise qui ont besoin d\u2019acc\u00e9der \u00e0 des donn\u00e9es g\u00e9r\u00e9es par une autre application.</p>\n<p>Pour un client confidentiel, le Serveur d\u2019Autorisation a confiance dans les points suivants :</p>\n<ul><li>les identifiants du client sont en s\u00e9curit\u00e9 (par exemple un <code>client_id</code> et un <code>client_secret</code>)</li>\n<li>il saura les mettre \u00e0 jour dans le cas o\u00f9 ils seraient compromis</li>\n<li>il ne conservera pas de donn\u00e9es utilisateur de fa\u00e7on non s\u00e9curis\u00e9e (voire pas du tout)</li>\n<li>il ne conservera pas les identifiants des utilisateurs\u00a0</li>\n</ul><p>Ces hypoth\u00e8ses sont bas\u00e9es sur le fait que le serveur d\u2019autorisation a une certaine connaissance de l\u2019impl\u00e9mentation et du processus de livraison du client. Dans certains cas, vous pouvez consid\u00e9rer que l\u2019application mobile de votre entreprise est un client confidentiel de confiance. Puisqu\u2019elle est d\u00e9velopp\u00e9e et publi\u00e9e sous le nom de la m\u00eame organisation, les utilisateurs peuvent donner leurs identifiants en toute confiance. Vous n\u2019avez pas de scrupules \u00e0 renseigner votre mot de passe Facebook\u2026 dans l\u2019application mobile Facebook, si ?\u00a0</p>\n<h4>Clients externes</h4>\n<p>Les clients externes sont les clients de base des anciennes sp\u00e9cifications OAuth0 et OAuth1. L\u2019exemple canonique est un site internet h\u00e9berg\u00e9 sur un serveur diff\u00e9rent (de celui qui h\u00e9berge votre API) et d\u00e9velopp\u00e9 par des d\u00e9veloppeurs externes.</p>\n<p>Pour un client externe, le Serveur d\u2019Autorisation :</p>\n<ul><li>peut lui faire confiance pour garder ses identifiants secrets</li>\n<li>ne peut <strong>pas</strong> lui faire confiance pour les mettre \u00e0 jour rapidement s\u2019ils sont compromis (aucun contr\u00f4le sur le travail des d\u00e9veloppeurs externes)</li>\n<li>ne peut <strong>pas</strong> lui faire confiance par rapport aux identifiants des utilisateurs.</li>\n</ul><p>Pour ces raisons, dans nos sc\u00e9narios d\u2019interaction, nous n\u2019exposerons pas les identifiants de l\u2019utilisateur \u00e0 ce type de client. Par contre, nous leur autoriserons quelques raccourcis pour r\u00e9cup\u00e9rer un nouveau token si, dans le pass\u00e9, ils en ont d\u00e9j\u00e0 obtenu un pour leur utilisateur (par exemple avec des m\u00e9canismes de <em>refresh token</em>).\u00a0</p>\n<h4>Clients publics</h4>\n<p>Comme leur nom l\u2019indique, les clients publics sont ceux auxquels nous ferons le moins confiance. Dans cette cat\u00e9gorie, nous regroupons tous les clients qui ne peuvent pas garantir la s\u00e9curit\u00e9 de leurs identifiants (<code>client_id</code> et <code>client_secret</code>), typiquement des applications mobiles ou des SPA (<em>single-page applications</em>) dont le code source peut \u00eatre r\u00e9cup\u00e9r\u00e9.</p>\n<p>Pour un client public, le Serveur d\u2019Autorisation :</p>\n<ul><li>ne peut <strong>pas</strong> lui faire confiance pour garder ses identifiants secrets</li>\n<li>ne peut <strong>pas</strong> lui faire confiance pour les mettre \u00e0 jour rapidement s\u2019ils sont compromis</li>\n<li>ne peut <strong>pas</strong> lui faire confiance par rapport aux identifiants des utilisateurs.</li>\n</ul><p>Pour ces raisons, nous utiliserons des techniques pour valider \u201cimplicitement\u201d l\u2019identit\u00e9 de l\u2019utilisateur final \u00e0 travers ce type de client (tous les d\u00e9tails viendront plus loin dans l\u2019article, ne vous en faites pas !) De plus, les tokens attribu\u00e9s \u00e0 ce type de client auront une dur\u00e9e de vie courte, et ne seront pas automatiquement renouvelables.</p>\n<p>Il faut donc plusieurs sc\u00e9narios d\u2019interaction entre l\u2019API, le Serveur d\u2019Autorisation, et le client, afin de pouvoir interagir avec tous les types de clients que nous venons de d\u00e9crire ! OAuth2 en propose 4 pour couvrir tous nos besoins.</p>\n<h3 id=\"flows\">4 sc\u00e9narios pour obtenir un token\u00a0</h3>\n<p>OAuth2 propose 4 sc\u00e9narios, ou \u201cflows\u201d dans la langue de Shakespeare (et souvent utilis\u00e9 par les d\u00e9veloppeurs fran\u00e7ais aussi). Open ID Connect propose les m\u00eames (puisqu\u2019il est une extension d\u2019OAuth2, vous suivez toujours ?)</p>\n<h4>Client Credentials Grant</h4>\n<p>Commen\u00e7ons par le sc\u00e9nario le plus \u201csimple\u201d. Contrairement aux autres, il ne permet pas \u00e0 un client d\u2019effectuer des actions au nom d\u2019un utilisateur : il ne fait que fournir un token \u00e0 un Client pour l\u2019identifier aupr\u00e8s d\u2019un serveur de ressources.</p>\n<p>Ce sc\u00e9nario est tr\u00e8s utile pour des cas o\u00f9 vous avez besoin d\u2019un \u201cutilisateur technique\u201d pour des traitements serveur \u00e0 serveur (<em>batch</em> \u00a0ou d\u2019autres actions d\u2019administration). Il permet aussi \u00e0 des applications de mettre \u00e0 jour leurs propres informations (nom de l\u2019application, pays, conditions d\u2019utilisation\u2026)\u00a0Puisque le client va devoir \u00eatre authentifi\u00e9, il devra savoir conserver ses identifiants en s\u00e9curit\u00e9 : ce sc\u00e9nario ne doit donc \u00eatre utilis\u00e9 que pour des <strong>clients confidentiels ou externes</strong>.</p>\n<div class=\"wp-block-image c2\">\n<figure class=\"aligncenter\"><figcaption><em><img class=\"alignnone wp-image-94927 size-large\" src=\"https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175707-1024x557.png\" alt=\"Flows OAuth2 : Client Credentials\" width=\"1024\" height=\"557\" srcset=\"https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175707-1024x557.png 1024w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175707-300x163.png 300w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175707-160x87.png 160w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175707.png 1063w\" referrerpolicy=\"no-referrer\" /></em></figcaption></figure></div>\n<p>Dans cette s\u00e9quence vous pouvez noter que :\u00a0</p>\n<ul><li>Le client utilise son <code>client_id</code> et son <code>client_secret</code> comme identifiants (<em>credentials</em>, d\u2019o\u00f9 le nom du sc\u00e9nario)</li>\n<li>Il n\u2019y a pas d\u2019interaction avec un utilisateur</li>\n<li>Toutes les communications passent par HTTPS.</li>\n</ul><h4>Resource Owner Credentials Grant</h4>\n<p>Dans ce sc\u00e9nario, le Client re\u00e7oit un token directement depuis le serveur d\u2019autorisation sur un <em>endpoint</em> <code>/token</code>. Pour identifier le <em>Resource Owner</em>, le client a la responsabilit\u00e9 de r\u00e9cup\u00e9rer les identifiants de l\u2019utilisateur. Ces informations \u00e9tant des donn\u00e9es sensibles, ce sc\u00e9nario est seulement acceptable dans le cas d\u2019un <strong>client confidentiel</strong>.\u00a0</p>\n<p>Il est particuli\u00e8rement utile pour des applications <em>legacy</em> qui fonctionnaient auparavant en r\u00e9cup\u00e9rant directement les identifiants de l\u2019utilisateur. Il peut servir de substitution (pas de changement du point de vue de l\u2019exp\u00e9rience utilisateur), l\u2019avantage principal \u00e9tant que l\u2019application <em>legacy</em> n\u2019a plus besoin de stocker les identifiants utilisateur car elle va se contenter du token d\u2019acc\u00e8s.</p>\n<p>Puisque ce sc\u00e9nario n\u2019est acceptable que pour des clients confidentiels, le Serveur d\u2019Autorisation DOIT toujours contr\u00f4ler les identifiants du client (<code>client_id</code> et <code>client_secret</code>) en plus des identifiants de l\u2019utilisateur.\u00a0</p>\n<div class=\"wp-block-image c2\">\n<figure><img class=\"alignnone wp-image-94930 size-full\" src=\"https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175816.png\" alt=\"Flows OAuth2: Resource Owner Credentials\" width=\"1064\" height=\"521\" srcset=\"https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175816.png 1064w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175816-300x147.png 300w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175816-1024x501.png 1024w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175816-160x78.png 160w\" referrerpolicy=\"no-referrer\" /></figure></div>\n<p>\u00c0 retenir de ce diagramme :\u00a0</p>\n<ul><li>L\u2019application Client a acc\u00e8s aux identifiants de l\u2019utilisateur et pourrait les stocker\u00a0</li>\n<li>Le Serveur d\u2019Autorisation envoie le token directement au client</li>\n<li>Toutes les communications passent par HTTPS.</li>\n</ul><h4>Implicit Grant</h4>\n<p>Ce flow est con\u00e7u pour des <strong>clients publics</strong>. Dans le sc\u00e9nario \u201cimplicite\u201d, il n\u2019y a pas de code d\u2019autorisation interm\u00e9diaire envoy\u00e9 au client. Le token d\u2019acc\u00e8s lui est envoy\u00e9 directement via une URL de confiance connue par le Serveur d\u2019Autorisation (<em>redirect url)</em>.</p>\n<p>Cette URL <em>doit</em> n\u2019\u00eatre accessible qu\u2019avec HTTPS et inclure un programme Javascript capable de lire le token \u00e0 partir du fragment de l\u2019URL correspondante. \u00c0 partir de l\u00e0, le token peut \u00eatre utilis\u00e9 par cette application Javascript.</p>\n<div class=\"wp-block-image c2\">\n<figure class=\"aligncenter\"><figcaption><em><img class=\"alignnone wp-image-94933 size-large\" src=\"https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175906-1024x561.png\" alt=\"Flows OAuth2: Implicit\" width=\"1024\" height=\"561\" srcset=\"https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175906-1024x561.png 1024w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175906-300x164.png 300w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175906-160x88.png 160w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-175906.png 1076w\" referrerpolicy=\"no-referrer\" /></em></figcaption></figure></div>\n<p>Vous pouvez constater dans cette s\u00e9quence que :</p>\n<ul><li>L\u2019application Client n\u2019a jamais acc\u00e8s aux identifiants de l\u2019utilisateur</li>\n<li>Le Serveur d\u2019Autorisation envoie le token directement au navigateur</li>\n<li>Le Serveur d\u2019Autorisation a confiance dans le fait que l\u2019URL de <em>callback</em> est g\u00e9r\u00e9e par l\u2019application Client (d\u2019o\u00f9 le nom \u201cimplicite\u201d: le Client n\u2019est pas identifi\u00e9 \u201cdirectement\u201d par des identifiants, mais implicitement par son URL de <em>callback</em>)\u00a0</li>\n<li>L\u2019application Client doit avoir un moyen de r\u00e9cup\u00e9rer le token depuis l\u2019URL</li>\n<li>Toutes les communications passent par HTTPS.</li>\n</ul><h4>Authorization Code Grant</h4>\n<p>Le sc\u00e9nario \u201cAuthorization Code Grant\u201d est le sc\u00e9nario \u201ctraditionnel\u201d, h\u00e9rit\u00e9 d\u2019OAuth1 et simplifi\u00e9. Il est con\u00e7u pour g\u00e9rer la communication de serveur \u00e0 serveur, pour un service web (c\u2019est-\u00e0-dire dans le cas o\u00f9 l\u2019utilisateur final utilise un navigateur web). Il convient aux clients <strong>confidentiels</strong> et <strong>externes</strong>, et il s\u2019agit d\u2019un cas o\u00f9 le client (au sens OAuth2 du terme c\u2019est-\u00e0-dire l\u2019application consommant votre API) est un <em>serveur</em>. Il y a donc trois serveurs en pr\u00e9sence, le Serveur d\u2019Autorisation, le Serveur de Ressources et le Client : on appelle donc souvent ce sc\u00e9nario un <em>three-legged flow.\u00a0</em></p>\n<div class=\"wp-block-image c2\">\n<figure class=\"aligncenter\"><figcaption><em>\u00a0<img class=\"alignnone wp-image-94936 size-full\" src=\"https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-180205.png\" alt=\"\" width=\"965\" height=\"644\" srcset=\"https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-180205.png 965w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-180205-300x200.png 300w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-180205-160x107.png 160w\" referrerpolicy=\"no-referrer\" /></em></figcaption></figure></div>\n<p>Vous pouvez voir dans ce sch\u00e9ma que :\u00a0</p>\n<ul><li>Le site web Client n\u2019a jamais acc\u00e8s aux identifiants de l\u2019utilisateur</li>\n<li>Le navigateur web n\u2019a jamais acc\u00e8s au <em>token</em></li>\n<li>Toutes les communications passent par HTTPS.</li>\n</ul><p>\u00c0 noter que ce sc\u00e9nario existe avec une variante destin\u00e9e aux clients mobiles : la variante <a href=\"https://tools.ietf.org/html/rfc7636\">Authorization code + PKCE</a>. Son but est d\u2019\u00e9viter une interception du <em>token</em> d\u2019acc\u00e8s par une autre application mobile malicieuse : pour cela il ajoute une \u00e9tape d\u2019\u00e9change et de v\u00e9rification de secrets entre le client et le Serveur d\u2019Autorisation.\u00a0</p>\n<h4>Quel flow utiliser ?</h4>\n<p>Un petit r\u00e9capitulatif ne fait pas de mal ! Petit rappel des principaux termes utilis\u00e9s :\u00a0</p>\n<ul><li><strong>Client</strong>: l\u2019application \u00e9crite par le d\u00e9veloppeur</li>\n<li><strong>Serveur de ressources</strong>: le <em>resource provider</em> d\u00e9crit plus haut, qui expose via une API REST les ressources auxquelles le Client veut acc\u00e9der</li>\n<li><strong><em>Resource Owner</em></strong><em>:</em> l\u2019utilisateur final dont nous parlons</li>\n<li><strong>Serveur d\u2019autorisation</strong>: un nouvel acteur, dont le r\u00f4le est de fournir des jetons (<em>tokens</em>) aux clients</li>\n</ul><p>Voil\u00e0 les questions \u00e0 se poser pour choisir un <em>flow</em> (source : <a href=\"https://auth0.com/docs/api-auth/which-oauth-flow-to-use\">https://auth0.com/docs/api-auth/which-oauth-flow-to-use</a> )</p>\n<div class=\"wp-block-image c2\">\n<figure class=\"aligncenter\"><figcaption><em><img class=\"alignnone wp-image-94915 size-large\" src=\"https://blog.octo.com/wp-content/uploads/2019/09/choix-oauth2-flow-1024x674.jpeg\" alt=\"Comment choisir un flow OAuth2 ?\" width=\"1024\" height=\"674\" srcset=\"https://blog.octo.com/wp-content/uploads/2019/09/choix-oauth2-flow-1024x674.jpeg 1024w, https://blog.octo.com/wp-content/uploads/2019/09/choix-oauth2-flow-300x198.jpeg 300w, https://blog.octo.com/wp-content/uploads/2019/09/choix-oauth2-flow-160x105.jpeg 160w, https://blog.octo.com/wp-content/uploads/2019/09/choix-oauth2-flow.jpeg 1321w\" referrerpolicy=\"no-referrer\" /></em></figcaption></figure></div>\n<p>La version encore plus r\u00e9sum\u00e9e : chaque sc\u00e9nario correspond \u00e0 une architecture Web ! Donc pour choisir lequel utiliser, il vous suffit de regarder votre architecture.</p>\n<p>En utilisant un de ces sc\u00e9narios, le client a donc obtenu un token. Mais comment l\u2019utilise-t-on pour s\u00e9curiser l\u2019acc\u00e8s \u00e0 des ressources ?</p>\n<h3 id=\"use_a_token\">Utiliser un <em>token</em></h3>\n<h4>Autoriser l\u2019acc\u00e8s \u00e0 une ressource</h4>\n<p>Quand un Serveur de Ressources re\u00e7oit un token dans les en-t\u00eates d\u2019une requ\u00eate HTTP, il doit d\u00e9terminer \u00e0 quelle combinaison de (client, user, scopes)ce token correspond. La fa\u00e7on la plus \u00e9vidente : il peut interroger le Serveur d\u2019Autorisation !\u00a0</p>\n<div class=\"wp-block-image c2\">\n<figure class=\"aligncenter is-resized\"><figcaption><em><img class=\"alignnone wp-image-94921 size-large\" src=\"https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-174603-1024x366.png\" alt=\"Autoriser l\u2019acc\u00e8s \u00e0 une ressource\" width=\"1024\" height=\"366\" srcset=\"https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-174603-1024x366.png 1024w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-174603-300x107.png 300w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-174603-160x57.png 160w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-174603.png 1466w\" referrerpolicy=\"no-referrer\" /></em></figcaption></figure></div>\n<h4>Bloquer l\u2019acc\u00e8s \u00e0 une ressource</h4>\n<p>Si l\u2019acc\u00e8s \u00e0 la ressource n\u00e9cessite un <em>scope</em> qui n\u2019est pas inclus dans le token d\u2019acc\u00e8s, alors le Serveur de Ressources doit refuser la requ\u00eate et r\u00e9pondre en utilisant le code HTTP 403.</p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img class=\"wp-image-85136\" src=\"https://blog.octo.com/wp-content/uploads/2019/09/verif_token-3.png\" alt=\"\" referrerpolicy=\"no-referrer\" /></figure></div>\n<h4>Autoriser l\u2019acc\u00e8s \u00e0 une ressource priv\u00e9e\u00a0</h4>\n<p>Une ressource priv\u00e9e est une ressource dont l\u2019acc\u00e8s, en plus d\u2019\u00eatre limit\u00e9 \u00e0 des clients qui ont un certain <em>scope</em>, est aussi limit\u00e9 \u00e0 un certain ensemble d\u2019utilisateurs. Dans notre exemple ci-dessous, la ressource de l\u2019utilisateur n\u2019est accessible que par lui-m\u00eame (pensez \u00e0 un compte en banque par exemple).\u00a0</p>\n<div class=\"wp-block-image c2\">\n<figure class=\"aligncenter is-resized\"><figcaption><em><img class=\"alignnone wp-image-94924 size-large\" src=\"https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-174935-1024x347.png\" alt=\"Autoriser l'acc\u00e8s \u00e0 une ressource priv\u00e9e\" width=\"1024\" height=\"347\" srcset=\"https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-174935-1024x347.png 1024w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-174935-300x102.png 300w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-174935-160x54.png 160w, https://blog.octo.com/wp-content/uploads/2019/09/capture-decran-2021-10-20-a-174935.png 1510w\" referrerpolicy=\"no-referrer\" /></em></figcaption></figure></div>\n<h3 id=\"scopes\">Scopes</h3>\n<p>Avec OAuth2 et OpenID Connect, un token d\u2019acc\u00e8s est li\u00e9 \u00e0 un <em>scope</em> donn\u00e9. Un <em>scope</em> d\u00e9crit les limites des actions que le <em>Resource Owner</em> a autoris\u00e9 le client \u00e0 faire en son nom. Il est souvent d\u00e9crit par une cha\u00eene de caract\u00e8res ou de symboles.\u00a0</p>\n<p>Nous vous recommandons d\u2019utiliser la casse <em>snake_case</em> pour d\u00e9crire votre scope : par exemple friend_list, full_profile, administrator_uk, etc.).</p>\n<p>Quelle que soit la m\u00e9thode utilis\u00e9e pour d\u00e9crire comment un client est autoris\u00e9 \u00e0 acc\u00e9der \u00e0 du contenu, vous ne devriez pr\u00e9voir qu\u2019un petit nombre de scopes. Si vous vous rendez compte que le nombre de scopes augmente \u00e0 chaque nouvelle ressource / nouveau verbe HTTP / nouveau r\u00f4le utilisateur, vous avez probablement choisi une mauvaise strat\u00e9gie\u2026 Prendre un peu de temps pour r\u00e9fl\u00e9chir \u00e0 cette strat\u00e9gie est donc probablement une bonne id\u00e9e.\u00a0\u00a0</p>\n<h4>Scopes bas\u00e9s sur des actions</h4>\n<p>Cette strat\u00e9gie est bas\u00e9e sur le pattern \u201cAccess Control List\u201d (ACL). Si vous appliquez ce pattern aux scopes tels que d\u00e9crits par OAuth2, vous allez probablement vous retrouver avec des scopes du type &lt;ressource&gt;_&lt;r\u00f4le&gt;_&lt;action&gt; (par exemple, article_redactor_write). C\u2019est une approche parfaitement convenable pour configurer les <strong>droits d\u2019acc\u00e8s des utilisateurs</strong>, mais elle n\u2019est pas appropri\u00e9e pour les acc\u00e8s des <strong>clients</strong>. Le nombre de scopes possibles devient la combinaison de tous les mod\u00e8les, r\u00f4les, et fonctions de votre syst\u00e8me. Nous vous conseillons donc de ne pas utiliser cette strat\u00e9gie.</p>\n<h4>Scopes bas\u00e9s sur des r\u00f4les</h4>\n<p>Une autre strat\u00e9gie pour d\u00e9crire comment un utilisateur peut d\u00e9l\u00e9guer certains de ses privil\u00e8ges \u00e0 une application : d\u00e9crire chaque r\u00f4le de cet utilisateur dans votre syst\u00e8me, et en d\u00e9l\u00e9guer seulement certains au client. Il s\u2019agit du pattern \u201c<a href=\"https://en.wikipedia.org/wiki/Role-based_access_control\">RBAC</a>\u201d (<em>Role-Based Access Control</em>). Puisque \u201cutilisateur du syst\u00e8me\u201d est plut\u00f4t vague, il y a souvent tout un ensemble de r\u00f4les pr\u00e9cis (implicites ou explicites) li\u00e9s \u00e0 un utilisateur. Par exemple, dans le cas d\u2019un blog, en fonction des actions qu\u2019un utilisateur essaie de faire, il peut \u00eatre vu comme :\u00a0</p>\n<ul><li>auteur</li>\n<li>traducteur</li>\n<li>correcteur</li>\n<li>lecteur</li>\n<li>community manager</li>\n<li>etc.</li>\n</ul><p>Le but d\u2019une approche bas\u00e9e sur les r\u00f4les est de d\u00e9crire un scope OAuth2 comme une combinaison des r\u00f4les d\u2019un utilisateur qu\u2019il est pr\u00eat \u00e0 d\u00e9l\u00e9guer au client. Adopter une telle strat\u00e9gie pourra vous aider \u00e0 mettre en \u00e9vidence des r\u00f4les implicites de votre syst\u00e8me auxquels vous n\u2019auriez pas pens\u00e9 ! Comme toujours en informatique, trouver les bons termes pour nommer les objets manipul\u00e9s est la premi\u00e8re \u00e9tape pour une bonne strat\u00e9gie\u2026 mais souvent la plus difficile.</p>\n<h4>Scopes bas\u00e9s sur le domaine m\u00e9tier</h4>\n<p>Il vous est aussi possible de d\u00e9finir votre strat\u00e9gie de scopes \u00e0 partir du m\u00e9tier. Dans ce cas, au lieu de d\u00e9crire chaque r\u00f4le d\u2019un utilisateur dans votre syst\u00e8me, vous d\u00e9crivez chaque partie du domaine qui est sous sa responsabilit\u00e9. Par exemple, vous avez tr\u00e8s probablement un compte en banque : \u00e0 travers ce compte vous avez acc\u00e8s \u00e0\u00a0</p>\n<ul><li>son solde actuel</li>\n<li>les derni\u00e8res op\u00e9rations</li>\n<li>peut-\u00eatre des comptes d\u2019\u00e9pargne\u00a0</li>\n<li>les virements\u00a0</li>\n<li>etc.</li>\n</ul><p>Dans cette approche vous d\u00e9crirez un scope comme : l\u2019ensemble des domaines de l\u2019utilisateur et les actions associ\u00e9es qu\u2019il d\u00e9l\u00e8gue au client. Si vous utilisez un aggr\u00e9gateur bancaire bas\u00e9 sur l\u2019API de votre banque, vous pouvez par exemple choisir de l\u2019autoriser \u00e0 lire votre solde et les derni\u00e8res op\u00e9rations, mais pas \u00e0 effectuer des virements.</p>\n<p>Un autre exemple est l\u2019<a href=\"https://developers.facebook.com/docs/facebook-login/permissions#reference-publish_actions\">API de Facebook</a> qui d\u00e9crit assez finement les diff\u00e9rents \u00e9l\u00e9ments d\u2019un profil utilisateur (\u00e2ge, date d\u2019anniversaire, liste d\u2019amis, etc).</p>\n<h4>Consentement</h4>\n<p>Depuis que nous parlons de scopes, nous r\u00e9p\u00e9tons qu\u2019il s\u2019agit des actions que le <em>Resource Owner</em> a autoris\u00e9 le client \u00e0 faire en son nom. Mais pour que l\u2019utilisateur donne son autorisation, il faut lui demander son consentement \u00e0 un moment ! C\u2019est la fameuse page que vous avez probablement d\u00e9j\u00e0 vue si vous utilisez un compte Google, Facebook, Twitter, etc\u2026\u00a0 pour vous connecter \u00e0 d\u2019autres applications :</p>\n<div class=\"wp-block-image c2\">\n<figure class=\"aligncenter\"><img class=\"alignnone wp-image-94894 size-full\" src=\"https://blog.octo.com/wp-content/uploads/2019/09/consentement.jpeg\" alt=\"Page de consentement Facebook\" width=\"470\" height=\"408\" srcset=\"https://blog.octo.com/wp-content/uploads/2019/09/consentement.jpeg 470w, https://blog.octo.com/wp-content/uploads/2019/09/consentement-300x260.jpeg 300w, https://blog.octo.com/wp-content/uploads/2019/09/consentement-160x139.jpeg 160w\" referrerpolicy=\"no-referrer\" /><figcaption><em>\u00a0</em></figcaption></figure></div>\n<p>Au moment de construire une strat\u00e9gie d\u2019autorisation, vous devez choisir \u00e0 quelle fr\u00e9quence demander ce consentement. Trois grandes strat\u00e9gies se d\u00e9gagent :</p>\n<ul><li><strong>Implicite:</strong> on ne demande jamais le consentement. Dans ce mode, le Serveur d\u2019Autorisation accorde toujours le scope demand\u00e9 \u00e0 l\u2019application, sans demander confirmation \u00e0 l\u2019utilisateur. Il faut r\u00e9server cette strat\u00e9gie \u00e0 des clients <strong>confidentiels</strong>, appartenant \u00e0 votre organisation. (\u201cVoulez-vous autoriser l\u2019application Facebook \u00e0 acc\u00e9der \u00e0 vos informations Facebook\u201d n\u2019a aucun sens \u2026)</li>\n<li><strong>Une seule fois</strong>: on ne demande son consentement \u00e0 l\u2019utilisateur qu\u2019\u00e0 sa premi\u00e8re utilisation du service. Si l\u2019utilisateur n\u2019a pas encore donn\u00e9 son consentement pour un scope, l\u2019application lui demandera l\u2019autorisation ; mais s\u2019il a d\u00e9j\u00e0 accord\u00e9 ce scope une fois, il sera toujours accord\u00e9 par la suite. Il faut donc dans ce cas que le Serveur d\u2019Autorisation conserve une trace des consentements accord\u00e9s en fonction des clients.C\u2019est l\u2019usage le plus courant, qui est utilis\u00e9 par Google et Facebook par exemple, puisque demander syst\u00e9matiquement l\u2019autorisation \u00e0 l\u2019utilisateur pour une m\u00eame application serait pesant pour l\u2019utilisateur.</li>\n<li><strong>\u00c0 chaque fois</strong>: l\u2019utilisateur doit toujours confirmer qu\u2019il accorde son consentement, \u00e0 chaque requ\u00eate. Il s\u2019agit de cas o\u00f9 le scope demand\u00e9 est tr\u00e8s critique. Par exemple, <a href=\"https://franceconnect.gouv.fr/\">FranceConnect</a> a mis en place cette strat\u00e9gie : en effet, c\u2019est plut\u00f4t mal vu qu\u2019un service d\u2019\u00e9tat donne acc\u00e8s implicitement \u00e0 vos informations personnelles\u2026\u00a0</li>\n</ul><p>Il est temps de rappeler une des cl\u00e9s de l\u2019introduction de cet article : les deux objectifs d\u2019une strat\u00e9gie de s\u00e9curisation d\u2019application sont de mener la vie dure aux attaquants potentiels, tout en facilitant la vie des consommateurs l\u00e9gitimes. Au moment de choisir une strat\u00e9gie pour demander le consentement de l\u2019utilisateur, il faut garder cet \u00e9quilibre \u00e0 l\u2019esprit ! Car devoir passer par la phase de consentement fait perdre du temps \u00e0 l\u2019utilisateur qui peut trouver cela p\u00e9nible.</p>\n<p>Il faut donc trouver la bonne combinaison des trois strat\u00e9gies en fonction des informations manipul\u00e9es. Certains scopes peuvent \u00eatre accord\u00e9s implicitement (des informations de profil de base par exemple), d\u2019autres doivent \u00eatre demand\u00e9s une fois et c\u2019est suffisant (autoriser une application \u00e0 lire mes tweets par exemple) et enfin certains doivent \u00eatre rendus explicites \u00e0 chaque fois (donn\u00e9es m\u00e9dicales, etc).</p>\n<p>\u00c0 noter : le consentement peut \u00eatre donn\u00e9 implicitement, mais le client doit tout de m\u00eame obtenir son token via un des sc\u00e9narios OAuth2.\u00a0</p>\n<h4>Scopes et gestion de droits\u00a0</h4>\n<p>Revenons ici sur une confusion fr\u00e9quente : les scopes ne doivent pas remplacer une gestion de droits au niveau de votre syst\u00e8me ! Un <em>scope</em> d\u00e9crit les actions que le <em>Resource Owner</em> autorise le client \u00e0 faire en son nom\u2026 parmi les actions que l\u2019utilisateur a le droit de faire. Et ce p\u00e9rim\u00e8tre-l\u00e0 doit \u00eatre fix\u00e9 et g\u00e9r\u00e9 au niveau de l\u2019API, c\u2019est-\u00e0-dire du serveur de ressources.\u00a0</p>\n<p>Pour r\u00e9sumer :\u00a0</p>\n<ul><li>Gestion de droits = ce qu\u2019a le droit de faire l\u2019utilisateur =&gt; au niveau du <em>Resource Server</em></li>\n<li>Scopes = ce que l\u2019utilisateur autorise une application \u00e0 faire en son nom =&gt; au niveau du Serveur d\u2019Autorisation.</li>\n</ul><div class=\"wp-block-image c2\">\n<figure class=\"aligncenter\"><figcaption><em><img class=\"alignnone wp-image-94918 size-full\" src=\"https://blog.octo.com/wp-content/uploads/2019/09/droits-et-scope.jpeg\" alt=\"Scopes vs Gestion de droits\" width=\"906\" height=\"470\" srcset=\"https://blog.octo.com/wp-content/uploads/2019/09/droits-et-scope.jpeg 906w, https://blog.octo.com/wp-content/uploads/2019/09/droits-et-scope-300x156.jpeg 300w, https://blog.octo.com/wp-content/uploads/2019/09/droits-et-scope-160x83.jpeg 160w\" referrerpolicy=\"no-referrer\" /></em></figcaption></figure></div>\n<h2 id=\"oidc\">Open ID Connect</h2>\n<h3 id=\"oidc_why\">Pourquoi ?</h3>\n<p>OAuth2 permet d\u2019autoriser l\u2019acc\u00e8s \u00e0 des ressources, et de d\u00e9l\u00e9guer certains privil\u00e8ges. Mais il ne donne aucune ligne directrice pour g\u00e9rer l\u2019identification de l\u2019utilisateur en tant que tel. Vous avez seulement pu voir \u00e0 plusieurs reprises sur les diagrammes de s\u00e9quence une fl\u00e8che indiquant que l\u2019utilisateur renseignait son login et mot de passe.</p>\n<p>Le but d\u2019OpenID Connect (souvent abr\u00e9g\u00e9 en OIDC) est d\u2019autoriser une application cliente \u00e0 r\u00e9cup\u00e9rer de mani\u00e8re s\u00e9curis\u00e9e <strong>l\u2019identit\u00e9</strong> de l\u2019utilisateur, en se connectant au Fournisseur d\u2019Identit\u00e9 (<em>Identity Provider</em>). Il permet donc \u00e0 une application cliente d\u2019avoir une gestion des identit\u00e9s des utilisateurs sans avoir \u00e0 mettre en place sa propre gestion de mots de passe. Il est donc li\u00e9 \u00e0 la notion de f\u00e9d\u00e9ration d\u2019identit\u00e9s (<em>Single Sign-On</em> ou SSO en anglais).</p>\n<p>Il s\u2019agit d\u2019une extension du protocole OAuth2.0, et il est donc enti\u00e8rement compatible avec l\u2019utilisation de OAuth2. Tout ce que nous avons d\u00e9crit plus haut sur OAuth2 reste vrai dans cette section. Une petite exception : les sc\u00e9narios Client Credentials Grant et Resource Owner Credentials Grant ne sont pas sp\u00e9cifi\u00e9s par OIDC.</p>\n<h3 id=\"oidc_principle\">Principe</h3>\n<p>Voil\u00e0 son fonctionnement de base : dans un sc\u00e9nario Authorization Code Grant ou Implicit Grant, le client demande au Serveur d\u2019Autorisation un token avec un certain nombre de scopes m\u00e9tier, auquel viendra s\u2019ajouter le scope sp\u00e9cifique \u201copenid\u201d.\u00a0</p>\n<p>Lorsque le Serveur d\u2019Autorisation g\u00e9n\u00e8re le token d\u2019acc\u00e8s OAuth (qu\u2019on appellera par la suite <em>access_token</em>), il fournit aussi un token d\u2019identit\u00e9 (qu\u2019on appellera <em>id_token</em>). Cet ID Token contient des d\u00e9tails sur l\u2019identit\u00e9 de l\u2019utilisateur et le processus utilis\u00e9 pour l\u2019authentifier. L\u2019ID Token prend la forme d\u2019un <a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#jwt\">JWT sign\u00e9</a> (plus de d\u00e9tails sur ce format de token plus bas). La sp\u00e9cification OpenID Connect d\u00e9finit aussi un nouvel <em>endpoint</em> /userinfo qui retourne l\u2019identit\u00e9 de l\u2019utilisateur (cet <em>endpoint</em> est \u00e0 destination du serveur de ressources).</p>\n<p>Au cas o\u00f9 vous auriez tout suivi depuis le d\u00e9but de l\u2019article, pr\u00e9parez-vous bien car OIDC apporte deux changements de noms. Le Serveur d\u2019Autorisation que nous avons appris \u00e0 conna\u00eetre, qui est aussi le Fournisseur d\u2019Identit\u00e9, sera maintenant nomm\u00e9 \u201cOpenID Provider\u201d. Et l\u2019application cliente, que nous appelions simplement \u201cClient\u201d, sera maintenant le \u201cRelying Party\u201d.\u00a0</p>\n<h3 id=\"id_token\">Plus de d\u00e9tails sur l\u2019ID Token</h3>\n<p>Contrairement \u00e0 l\u2019access token qui a vocation \u00e0 \u00eatre utilis\u00e9 par le client pour s\u2019authentifier aupr\u00e8s du serveur de ressources (et donc \u00eatre partag\u00e9 au serveur de ressources), l\u2019ID Token n\u2019est \u00e0 destination que du client, et ne devrait jamais \u00eatre envoy\u00e9 au serveur de ressources.\u00a0</p>\n<p>Il contient des informations \u00e0 propos de la fa\u00e7on par laquelle l\u2019utilisateur a \u00e9t\u00e9 authentifi\u00e9 par le serveur d\u2019autorisation, ainsi que des informations (optionnelles) sur l\u2019utilisateur si elles ont \u00e9t\u00e9 demand\u00e9es. Toutes ces informations sont regroup\u00e9es sous le nom de <em>claims</em>.</p>\n<p>Certains <em>claims</em> sont obligatoires : il s\u2019agit surtout d\u2019informations \u00e0 propos de la fa\u00e7on dont l\u2019utilisateur a \u00e9t\u00e9 authentifi\u00e9.</p>\n<p>D\u2019autres <em>claims</em> sont optionnels et peuvent \u00eatre retourn\u00e9s par le Serveur d\u2019Identit\u00e9s si ils ont \u00e9t\u00e9 demand\u00e9s par le client. Il s\u2019agit souvent d\u2019informations sur l\u2019utilisateur : par exemple son nom, son email, sa date de naissance\u2026 La <a href=\"https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims\">sp\u00e9cification OIDC pr\u00e9cise la syntaxe de beaucoup de <em>claims</em> standards</a> (<code>given_name</code>, <code>gender</code>, <code>birthdate</code>\u2026)\u00a0</p>\n<h3 id=\"oidc_flows\">Flows</h3>\n<p>OpenID Connect s\u2019utilise avec 3 sc\u00e9narios :\u00a0</p>\n<ul><li>Authorization Code (\u00e0 partir du sc\u00e9nario d\u2019OAuth2 du m\u00eame nom)</li>\n<li>Implicit (\u00e0 partir du sc\u00e9nario OAuth2)</li>\n<li>Hybrid (sp\u00e9cifique \u00e0 OIDC)</li>\n</ul><p>Les 3 sc\u00e9narios impliquent des interactions avec un navigateur web, et ils commencent par une requ\u00eate envoy\u00e9e par le Client au Serveur d\u2019Autorisation. Cette requ\u00eate contient plusieurs param\u00e8tres, notamment le param\u00e8tre <code>scope</code> (qui contient la liste des scopes demand\u00e9s) qui doit contenir le scope <code>openid</code>. Un autre param\u00e8tre obligatoire est <code>response_type</code>, qui permet au client de choisir le sc\u00e9nario qui s\u2019applique :\u00a0</p>\n<table class=\"wp-block-table aligncenter is-style-regular\"><tbody><tr><td><strong>Valeur de</strong><strong>\u00ab\u00a0response_type\u00a0\u00bb</strong></td>\n<td><strong>Flow</strong></td>\n<td><strong>Mais au fait, qu\u2019est-ce que</strong><strong>je vais recevoir ?</strong></td>\n</tr><tr><td><code>code</code></td>\n<td>Authorization Code</td>\n<td>Un code d\u2019autorisation,que vous \u00e9changerez contrel\u2019<em>access token</em> et l\u2019<em>ID Token</em></td>\n</tr><tr><td><code>id_token</code></td>\n<td>Implicit</td>\n<td>L\u2019\u2019<em>ID Token</em>mais pas d\u2019<em>access token</em></td>\n</tr><tr><td><code>id_token token</code></td>\n<td>Implicit</td>\n<td>L\u2019<em>ID Token</em> et l\u2019<em>access token</em></td>\n</tr><tr><td><code>code id_token</code></td>\n<td>Hybrid</td>\n<td>L\u2019<em>ID Token</em>,et un code d\u2019autorisationque vous \u00e9changerez contrel\u2019<em>access token</em></td>\n</tr><tr><td><code>code token</code></td>\n<td>Hybrid</td>\n<td>Un premier <em>access token</em>,et un code,que vous \u00e9changerez contreun second <em>access token</em>(plus s\u00e9curis\u00e9 que le premier)</td>\n</tr><tr><td><code>code id_token</code><code>token</code></td>\n<td>Hybrid</td>\n<td>L\u2019<em>ID Token</em>,un premier <em>access token</em>,et un codeque vous \u00e9changerez plus tardcontre un second <em>access token</em>(plus s\u00e9curis\u00e9 que le premier)</td>\n</tr></tbody></table><h4>Sc\u00e9nario Authorization Code</h4>\n<p>Le <em>flow</em> OAuth2 Authorization Code d\u00e9crit plus haut s\u2019applique, avec quelques sp\u00e9cificit\u00e9s. Vous devez d\u2019abord rediriger le navigateur web (ou l\u2019appareil mobile) vers l\u2019URL d\u2019autorisation, avec le param\u00e8tre scope pr\u00e9-rempli, et ce scope doit contenir \u201copenid\u201d. D\u2019autre part vous devez remplir le param\u00e8tre \u201cresponse_type\u201d avec la valeur \u201ccode\u201d.\u00a0</p>\n<p><code>GET /authorize?\u00a0 response_type=code\u00a0 &amp;scope=openid%20profile%20email%20my_other_scopes\u00a0 &amp;client_id=...</code></p>\n<p>\u00c0 la fin des op\u00e9rations utilisateur (connexion avec login/mot de passe, puis \u00e9tape de consentement), le navigateur sera redirig\u00e9 vers le serveur du client, avec le code d\u2019autorisation inclus dans les param\u00e8tres de la requ\u00eate. Le serveur devra alors \u00e9changer le code d\u2019autorisation contre un <em>access token</em> et un <em>ID Token.</em> \u00a0La requ\u00eate prendra cette forme :</p>\n<p><code>POST /tokenAuthorization: Basic fUDU0kwep5p9NgythBmufFDMgrant_type=authorization_code\u00a0 &amp;code=RCxPxxcFYlunAuD9zSrQNS4C\u00a0 &amp;redirect_uri=...</code></p>\n<p>Pour obtenir la r\u00e9ponse :</p>\n<p><code>HTTP/1.1 200 OKContent-Type: application/json{\"access_token\": \"EpjZGJrprScYUD9SPSKHjSM1HOYBGKhB\",\"token_type\": \"Bearer\",\"refresh_token\": \"7AJ1C1hc6xR4aUicZjU6HeW6tKlXsNIn\",\"expires_in\": 3600,\"id_token\": \"eyJhbGciOiJSUzI1NiIsImtpZCI6IjFlOWdkazcifQ.ewogImlzcyI6ICJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwKICJzdWIiOiAiMjQ4Mjg5NzYxMDAxIiwKICJhdWQiOiAiczZCaGRSa3F0MyIsCiAibm9uY2UiOiAibi0wUzZfV3pBMk1qIiwKICJleHAiOiAxMzExMjgxOTcwLAogImlhdCI6IDEzMTEyODA5NzAKfQ.ggW8hZ1EuVLuxNuuIJKX_V8a_OMXzR0EHR9R6jgdqrOOF4daGU96Sr_P6qJp6IcmD3HP99Obi1PRs-cwh3LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJNqeGpe-gccMg4vfKjkM8FcGvnzZUN4_KSP0aAp1tOJ1zZwgjxqGByKHiOtX7TpdQyHE5lcMiKPXfEIQILVq0pc_E2DzL7emopWoaoZTF_m0_N0YzFC6g6EJbOEoRoSK5hoDalrcvRYLSrQAZZKflyuVCyixEoV9GfNQC3_osjzw2PAithfubEEBLuVVk4XUVrWOLrLl0nx7RkKU8NXNHq-rvKMzqg\"}</code></p>\n<p>L\u2019ID Token a l\u2019air peu engageant ! Mais toutes les informations d\u00e9crites dans la section pr\u00e9c\u00e9dente y sont bien pr\u00e9sentes, sous la forme un peu particuli\u00e8re d\u2019un Json Web Token (voir ci-dessous).</p>\n<p>Voici un diagramme de s\u00e9quence de ce sc\u00e9nario (en rouge, les diff\u00e9rences par rapport au flow Auth Code d\u2019OAuth2).</p>\n<div class=\"wp-block-image c2\">\n<figure class=\"aligncenter\"><img width=\"1024\" height=\"742\" class=\"wp-image-84799\" src=\"https://blog.octo.com/wp-content/uploads/2019/08/oidc_auth_code-1024x742.png\" alt=\"Flow OIDC Auth code\" srcset=\"https://blog.octo.com/wp-content/uploads/2019/08/oidc_auth_code-1024x742.png 1024w, https://blog.octo.com/wp-content/uploads/2019/08/oidc_auth_code-300x217.png 300w, https://blog.octo.com/wp-content/uploads/2019/08/oidc_auth_code-160x116.png 160w\" referrerpolicy=\"no-referrer\" /><figcaption><em>Flows OIDC: Authorization Code</em></figcaption></figure></div>\n<h4>Sc\u00e9nario Implicite</h4>\n<p>Ici c\u2019est le flow implicite d\u00e9crit dans la section correspondante de OAuth2 qui s\u2018applique, avec certaines sp\u00e9cificit\u00e9s. Ici aussi, le scope \u201copenid\u201d doit \u00eatre demand\u00e9 pour permettre la r\u00e9cup\u00e9ration de l\u2019<em>ID Token</em>.</p>\n<table class=\"wp-block-table aligncenter is-style-stripes\"><tbody><tr><td><strong>Param\u00e8tre</strong></td>\n<td><strong>Valeur</strong><em>(\u00e0 encoder au format URL</em>)</td>\n<td><strong>Pour demander :</strong></td>\n</tr><tr><td><code>scope</code></td>\n<td><code>openid</code> \u2026</td>\n<td>\u00a0</td>\n</tr><tr><td><code>response_type</code></td>\n<td><code>id_token</code></td>\n<td><em>ID Token</em></td>\n</tr><tr><td>\u00a0</td>\n<td><strong>ou</strong></td>\n<td>\u00a0</td>\n</tr><tr><td><code>response_type</code></td>\n<td><code>id_token token</code></td>\n<td><em>ID Token</em>et A<em>ccess Token</em></td>\n</tr></tbody></table><p>La requ\u00eate initiale prendra cette forme :</p>\n<p><code>GET /authorize?\u00a0 \u00a0 response_type=id_token%20token\u00a0 &amp;scope=openid%20profile%20email%20my_other_scopes\u00a0 \u00a0 &amp;client_id=...</code></p>\n<p>\u00c0 la fin des op\u00e9rations utilisateur (connexion avec login/mot de passe, puis \u00e9tape de consentement), le navigateur sera redirig\u00e9 vers le serveur du client avec un <em>ID Token</em>, et s\u2019il a \u00e9t\u00e9 demand\u00e9, un <em>access token</em>.</p>\n<p><code>HTTP/1.1 302 Found\u00a0 Location: https://client.example.org/cb#\u00a0 \u00a0 access_token= EpjZGJrprScYUD9SPSKHjSM1HOYBGKhB\u00a0 \u00a0 &amp;id_token=eyJhbGciOiJS...cifQ.ewog...AKfQ.ggW8...rvKMzqg\u00a0 \u00a0 &amp;token_type=...</code></p>\n<p>Voici un diagramme de s\u00e9quence de ce sc\u00e9nario (en rouge, les diff\u00e9rences par rapport au flow Implicit d\u2019OAuth2).</p>\n<div class=\"wp-block-image c2\">\n<figure class=\"aligncenter\"><img width=\"1024\" height=\"585\" class=\"wp-image-84802\" src=\"https://blog.octo.com/wp-content/uploads/2019/08/oidc_implicit-1024x585.png\" alt=\"Flow OIDC Implicit\" srcset=\"https://blog.octo.com/wp-content/uploads/2019/08/oidc_implicit-1024x585.png 1024w, https://blog.octo.com/wp-content/uploads/2019/08/oidc_implicit-300x171.png 300w, https://blog.octo.com/wp-content/uploads/2019/08/oidc_implicit-160x91.png 160w\" referrerpolicy=\"no-referrer\" /><figcaption><em>Flows OIDC: Implicit</em></figcaption></figure></div>\n<h4>Sc\u00e9nario hybride</h4>\n<p>Le sc\u00e9nario hybride n\u2019est pas sp\u00e9cifi\u00e9 par OAuth2 : il est sp\u00e9cifique \u00e0 OpenID Connect, et il m\u00e9lange les flows Implicite et Authorization Code. On le d\u00e9clenche en incluant dans le param\u00e8tre <code>response_type</code> \u00e0 la fois \u201ccode\u201d et un autre param\u00e8tre. Et comme pour les autres flows, il faut aussi demander le scope \u201copenid\u201d.\u00a0</p>\n<table class=\"wp-block-table aligncenter is-style-stripes\"><tbody><tr><td><strong>Param\u00e8tre</strong></td>\n<td><strong>Valeur</strong><em>(\u00e0 encoder au format URL)</em></td>\n<td><strong>Pour demander :</strong></td>\n</tr><tr><td><code>scope</code></td>\n<td><code>openid ...</code></td>\n<td>\u00a0</td>\n</tr><tr><td><code>response_type</code></td>\n<td><code>code id_token</code></td>\n<td>Un code d\u2019autorisation,et un <em>ID Token</em></td>\n</tr><tr><td>\u00a0</td>\n<td><strong>ou</strong></td>\n<td>\u00a0</td>\n</tr><tr><td><code>response_type</code></td>\n<td><code>code id_token token</code></td>\n<td>Un code d\u2019autorisation,un <em>ID Token</em>,et un <em>access token</em></td>\n</tr><tr><td>\u00a0</td>\n<td><strong>ou</strong></td>\n<td>\u00a0</td>\n</tr><tr><td><code>response_type</code></td>\n<td><code>code token</code></td>\n<td>Un code d\u2019autorisation,et un <em>access token</em></td>\n</tr></tbody></table><p>\u00c0 la fin des op\u00e9rations utilisateur (connexion avec login/mot de passe, puis \u00e9tape de consentement), le navigateur sera redirig\u00e9 vers le serveur du client avec un code, qu\u2019il devra ensuite envoyer au Serveur d\u2019Autorisation pour obtenir ses <em>tokens</em>, ainsi que les param\u00e8tres optionnels qu\u2019il aura demand\u00e9 (<em>access token</em> temporaire par exemple).\u00a0</p>\n<h3 id=\"jwt\">JWT</h3>\n<p><a href=\"https://tools.ietf.org/html/rfc7519\">Json Web Tokens (JWT)</a> est la sp\u00e9cification d\u2019une fa\u00e7on de g\u00e9n\u00e9rer, lire, et valider des documents JSON pour les utiliser dans un contexte HTTP. L\u2019acronyme JWT est un terme g\u00e9n\u00e9ral qui regroupe <a href=\"https://tools.ietf.org/html/rfc7515\">JSON Web Signature</a> et <a href=\"https://tools.ietf.org/html/rfc7516\">JSON Web Encryption</a>. Ils permettent \u00e0 un fournisseur d\u2019API de v\u00e9rifier l\u2019identit\u00e9 d\u2019un utilisateur et les droits d\u2019un client, \u00e0 la r\u00e9ception d\u2019une requ\u00eate, sans n\u00e9cessiter un appel au Serveur d\u2019Autorisation. Le principe de fonctionnement est le suivant : le Serveur d\u2019Autorisation appose une signature digitale \u00e0 ses tokens, de sorte que le fournisseur d\u2019API puisse v\u00e9rifier la signature, et ainsi \u00eatre assur\u00e9 que le token a \u00e9t\u00e9 \u00e9mis par une autorit\u00e9 de confiance.</p>\n<p>Nous allons nous concentrer sur <a href=\"https://tools.ietf.org/html/rfc7515\">JSON Web Signatures</a> mais les principes derri\u00e8re <a href=\"https://tools.ietf.org/html/rfc7516\">JSON Web Encryption</a> sont les m\u00eames.</p>\n<p>Une JWS est compos\u00e9e de 3 cha\u00eenes de caract\u00e8res, encod\u00e9es en Base64, s\u00e9par\u00e9es par des points : <strong>&lt;headers&gt;</strong>.<strong>&lt;payload&gt;</strong>.<strong>&lt;signature&gt;</strong></p>\n<ul><li>les Headers d\u00e9crivent comment lire et valider le JWT en question (il s\u2019agit d\u2019un document JSON encod\u00e9 en Base64)</li>\n<li>le Payload est un document JSON qui peut contenir l\u2019identit\u00e9 de l\u2019utilisateur appelant et les scopes accord\u00e9s\u2026 Mais il peut contenir les donn\u00e9es que vous voulez. \u00c0 noter : il est encod\u00e9 en Base64, mais il s\u2019agit de texte en clair, n\u2019importe qui peut en lire le contenu.\u00a0</li>\n<li>la Signature est le code d\u2019authentification du message (MAC = Message Authentication Code). Il s\u2019agit d\u2019une cha\u00eene de caract\u00e8res cryptographique qui permet de valider le JWT dans son ensemble. Vous pouvez le d\u00e9finir par les op\u00e9rations suivantes : Base64(Encrypt(Hash(headers+payload))).Comme toute signature elle permet au destinataire de v\u00e9rifier son int\u00e9grit\u00e9 (gr\u00e2ce au hash) aussi bien que son authenticit\u00e9.</li>\n</ul><p>D\u2019apr\u00e8s la sp\u00e9cification OpenID Connect, le format JWT est obligatoire pour l\u2019ID Token. Mais il peut aussi \u00eatre int\u00e9ressant d\u2019utiliser ce format pour l\u2019Access Token ! En effet, si vous choisissez d\u2019utiliser un token opaque (une cha\u00eene de caract\u00e8res al\u00e9atoire), votre API devra le valider aupr\u00e8s du Serveur d\u2019Autorisation, pour savoir si l\u2019access token est valide et r\u00e9cup\u00e9rer les informations sur l\u2019utilisateur\u2026 et ce, \u00e0 chaque requ\u00eate !\u00a0</p>\n<p>Alors qu\u2019en utilisant JWT, votre API peut elle-m\u00eame valider le token gr\u00e2ce \u00e0 la signature, et r\u00e9cup\u00e9rer les informations de l\u2019utilisateur incluses dans le <em>payload</em>. Cela lui permet d\u2019\u00e9conomiser bien des appels, et \u00e9viter au Serveur d\u2019Autorisation d\u2019avoir \u00e0 supporter une charge trop lourde, d\u2019autant plus que certaines solutions en SaaS (comme Auth0 par exemple) imposent des quotas sur ce type de requ\u00eate.</p>\n<h2 id=\"summary\">\u00c0 retenir\u00a0</h2>\n<p>Vous avez lu jusque l\u00e0 ? Merci, \u00e7a nous fait plaisir ! Mais on imagine bien que c\u2019est difficile de retenir toutes ces informations-l\u00e0 d\u2019un coup. Voici les informations importantes \u00e0 retenir, et pour tous les d\u00e9tails, vous pourrez revenir lire la section qui correspond !\u00a0</p>\n<h3 id=\"summary_security\">S\u00e9curit\u00e9\u00a0</h3>\n<ul><li>Trouvez l\u2019\u00e9quilibre entre \u201cmener la vie dure aux attaquants potentiels\u201d et \u201cfaciliter la vie des utilisateurs l\u00e9gitimes\u201d (en d\u2019autres termes, ne d\u00e9gradez pas trop l\u2019exp\u00e9rience utilisateur au nom de la s\u00e9curit\u00e9) !</li>\n<li>Utilisez <strong>toujours</strong> HTTPS pour vos communications r\u00e9seau.\u00a0</li>\n<li>Utilisez des protocoles \u00e9prouv\u00e9s : API Key pour des cas tr\u00e8s simples, OAuth2 et OpenID Connect pour les autres cas.\u00a0</li>\n<li>Ajouter des m\u00e9canismes suppl\u00e9mentaires en plus de HTTPS et OAuth2 ne s\u00e9curisera pas plus ou mieux votre API, mais complexifiera la consommation des ressources pour les d\u00e9veloppeurs.</li>\n</ul><h3 id=\"summary_oauth2\">OAuth2</h3>\n<ul><li>Ce protocole <strong>permet \u00e0 un utilisateur de d\u00e9l\u00e9guer une partie de ses droits \u00e0 une application</strong> ;</li>\n<li>Le client r\u00e9cup\u00e8re un <em>access token</em> en utilisant un sc\u00e9nario parmi 4 possibles ;</li>\n<li>Le choix entre ces types de sc\u00e9narios se fait en fonction du client vis\u00e9 (confidentiel, externe ou public) et de son architecture (Serveur \u00e0 Serveur, SPA, SSR ou mobile).</li>\n<li>Ne pas confondre <strong>scopes</strong> et <strong>gestion de droits</strong> :\u00a0\n<ul><li>la gestion de droits concerne ce qu\u2019a le droit de faire l\u2019utilisateur</li>\n<li>les scopes indiquent ce que l\u2019utilisateur autorise une application \u00e0 faire en son nom</li>\n</ul></li>\n</ul><h3 id=\"summary_oidc\">OpenID Connect</h3>\n<ul><li>Ce protocole <strong>autorise une application cliente \u00e0 r\u00e9cup\u00e9rer de mani\u00e8re s\u00e9curis\u00e9e l\u2019identit\u00e9 de l\u2019utilisateur</strong>. C\u2019est une extension d\u2019OAuth2</li>\n<li>Le client r\u00e9cup\u00e8re un <em>access token</em> et un <em>ID Token</em> en utilisant un sc\u00e9nario parmi 3 possibles ;</li>\n<li>Le choix entre ces types de sc\u00e9narios se fait en fonction du client vis\u00e9 et du type de token dont il a besoin.\u00a0</li>\n<li>L\u2019ID Token est sous la forme <a href=\"https://blog.octo.com/securiser-une-api-rest-tout-ce-quil-faut-savoir/#jwt\">JWT</a> et contient des <em>claims</em> qui sont des informations \u00e0 propos de l\u2019utilisateur et de la fa\u00e7on dont il a \u00e9t\u00e9 identifi\u00e9.\u00a0</li>\n</ul><p>Maintenant, il ne vous reste \u201cplus qu\u2019\u00e0\u201d mettre tout \u00e7a en pratique ! <a href=\"https://www.octo.com/publications/29-api-security-principles/\">Bonne s\u00e9curisation !</a></p>",
    "created_at": "2023-02-09T15:20:16+00:00",
    "updated_at": "2023-02-09T15:20:27+00:00",
    "published_at": "2019-09-02T09:00:30+00:00",
    "published_by": ["Renaud Dahl", "Florent JABY"],
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr_FR",
    "reading_time": 36,
    "domain_name": "blog.octo.com",
    "preview_picture": "http://blog.octo.com/wp-content/uploads/2019/09/vocabulaire-oauth2.jpeg",
    "http_status": "200",
    "headers": {
      "date": "Thu, 09 Feb 2023 15:20:16 GMT",
      "content-type": "text/html; charset=UTF-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "vary": "Accept-Encoding, Accept-Encoding, Accept-Encoding, Accept-Encoding,Cookie",
      "x-pingback": "https://blog.octo.com/xmlrpc.php",
      "link": "<https://blog.octo.com/wp-json/>; rel=\"https://api.w.org/\", <https://blog.octo.com/wp-json/wp/v2/posts/84798>; rel=\"alternate\"; type=\"application/json\", <https://blog.octo.com/?p=84798>; rel=shortlink",
      "x-cacheable": "SHORT",
      "cache-control": "max-age=600, must-revalidate",
      "x-cache": "HIT: 2",
      "x-cache-group": "normal",
      "content-security-policy": "default-src 'self' 'unsafe-eval' 'unsafe-inline' *.accenture.com *.octo.com; script-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' *.accenture.com *.octo.com data:; connect-src 'self' *.accenture.com *.octo.com; font-src 'self' *.accenture.com *.octo.com data:",
      "strict-transport-security": "max-age=31536000; includeSubDomains",
      "x-content-type-options": "NoSniff",
      "x-frame-options": "SAMEORIGIN",
      "x-xss-protection": "1; mode=block",
      "cf-cache-status": "DYNAMIC",
      "server": "cloudflare",
      "cf-ray": "796d968d7cfe2a11-CDG",
      "alt-svc": "h3=\":443\"; ma=86400, h3-29=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "zip"],
    "is_public": false,
    "id": 44,
    "title": "Python's zipfile: Manipulate Your ZIP Files Efficiently \u2013 Real Python",
    "url": "https://realpython.com/python-zipfile/",
    "given_url": "https://realpython.com/python-zipfile/",
    "content": "<p>Python\u2019s <a href=\"https://docs.python.org/3/library/zipfile.html\"><code>zipfile</code></a> is a standard library module intended to manipulate <strong>ZIP files</strong>. This file format is a widely adopted industry standard when it comes to archiving and compressing digital data. You can use it to package together several related files. It also allows you to reduce the size of your files and save disk space. Most importantly, it facilitates data exchange over computer networks.</p><p>Knowing how to create, read, write, populate, extract, and list ZIP files using the <code>zipfile</code> module is a useful skill to have as a Python developer or a DevOps engineer.</p><p><strong>In this tutorial, you\u2019ll learn how to:</strong></p><ul><li><strong>Read, write, and extract</strong> files from ZIP files with Python\u2019s <code>zipfile</code></li>\n<li>Read <strong>metadata</strong> about the content of ZIP files using <code>zipfile</code></li>\n<li>Use <code>zipfile</code> to <strong>manipulate member files</strong> in existing ZIP files</li>\n<li>Create <strong>new ZIP files</strong> to archive and compress files</li>\n</ul><p>If you commonly deal with ZIP files, then this knowledge can help to streamline your workflow to process your files confidently.</p><p>To get the most out of this tutorial, you should know the basics of <a href=\"https://realpython.com/working-with-files-in-python/\">working with files</a>, using the <a href=\"https://realpython.com/python-with-statement/\"><code>with</code> statement</a>, handling file system paths with <a href=\"https://realpython.com/python-pathlib/\"><code>pathlib</code></a>, and working with classes and <a href=\"https://realpython.com/python3-object-oriented-programming/\">object-oriented programming</a>.</p><p>To get the files and archives that you\u2019ll use to code the examples in this tutorial, click the link below:</p><section class=\"section2\" id=\"getting-started-with-zip-files\"><h2>Getting Started With ZIP Files</h2><p><strong>ZIP files</strong> are a well-known and popular tool in today\u2019s digital world. These files are fairly popular and widely used for cross-platform data exchange over computer networks, notably the Internet.</p><p>You can use ZIP files for bundling regular files together into a single archive, compressing your data to save some disk space, distributing your digital products, and more. In this tutorial, you\u2019ll learn how to manipulate ZIP files using Python\u2019s <code>zipfile</code> module.</p><p>Because the terminology around ZIP files can be confusing at times, this tutorial will stick to the following conventions regarding terminology:</p><table class=\"table table-hover\"><thead><tr><th>Term</th>\n<th>Meaning</th>\n</tr></thead><tbody><tr><td>ZIP file, ZIP archive, or archive</td>\n<td>A physical file that uses the <a href=\"https://en.wikipedia.org/wiki/ZIP_(file_format)\">ZIP file format</a></td>\n</tr><tr><td>File</td>\n<td>A regular <a href=\"https://en.wikipedia.org/wiki/Computer_file\">computer file</a></td>\n</tr><tr><td>Member file</td>\n<td>A file that is part of an existing ZIP file</td>\n</tr></tbody></table><p>Having these terms clear in your mind will help you avoid confusion while you read through the upcoming sections. Now you\u2019re ready to continue learning how to manipulate ZIP files efficiently in your Python code!</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div><section class=\"section3\" id=\"what-is-a-zip-file\"><h3>What Is a ZIP File?</h3><p>You\u2019ve probably already encountered and worked with ZIP files. Yes, those with the <code>.zip</code> file extension are everywhere! ZIP files, also known as <strong>ZIP archives</strong>, are files that use the <strong>ZIP file format</strong>.</p><p><a href=\"https://en.wikipedia.org/wiki/PKWARE,_Inc.\">PKWARE</a> is the company that created and first implemented this file format. The company put together and maintains the current <a href=\"https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT\">format specification</a>, which is publicly available and allows the creation of products, programs, and processes that read and write files using the ZIP file format.</p><p>The ZIP file format is a cross-platform, interoperable file storage and transfer format. It combines <a href=\"https://en.wikipedia.org/wiki/Lossless_compression\">lossless data compression</a>, file management, and data <a href=\"https://en.wikipedia.org/wiki/Encryption\">encryption</a>.</p><p>Data compression isn\u2019t a requirement for an archive to be considered a ZIP file. So you can have compressed or uncompressed member files in your ZIP archives. The ZIP file format supports several compression algorithms, though <a href=\"https://en.wikipedia.org/wiki/Deflate\">Deflate</a> is the most common. The format also supports information integrity checks with <a href=\"https://en.wikipedia.org/wiki/Cyclic_redundancy_check\">CRC32</a>.</p><p>Even though there are other similar archiving formats, such as <a href=\"https://en.wikipedia.org/wiki/RAR_(file_format)\">RAR</a> and <a href=\"https://en.wikipedia.org/wiki/Tar_(computing)#File_format\">TAR</a> files, the ZIP file format has quickly become a common standard for efficient data storage and for data exchange over computer networks.</p><p>ZIP files are everywhere. For example, office suites such as <a href=\"https://en.wikipedia.org/wiki/Microsoft_Office\">Microsoft Office</a> and <a href=\"https://en.wikipedia.org/wiki/LibreOffice\">Libre Office</a> rely on the ZIP file format as their <a href=\"https://www.iso.org/standard/60101.html\">document container file</a>. This means that <code>.docx</code>, <code>.xlsx</code>, <code>.pptx</code>, <code>.odt</code>, <code>.ods</code>, <code>.odp</code> files are actually ZIP archives containing several files and folders that make up each document. Other common files that use the ZIP format include <a href=\"https://en.wikipedia.org/wiki/JAR_(file_format)\"><code>.jar</code></a>, <a href=\"https://en.wikipedia.org/wiki/WAR_(file_format)\"><code>.war</code></a>, and <a href=\"https://en.wikipedia.org/wiki/EPUB\"><code>.epub</code></a> files.</p><p>You may be familiar with <a href=\"https://realpython.com/python-git-github-intro/\">GitHub</a>, which provides web hosting for software development and <a href=\"https://en.wikipedia.org/wiki/Version_control\">version control</a> using <a href=\"https://realpython.com/advanced-git-for-pythonistas/\">Git</a>. GitHub uses ZIP files to package software projects when you download them to your local computer. For example, you can download the <a href=\"https://github.com/realpython/python-basics-exercises/archive/refs/heads/master.zip\">exercise solutions</a> for <a href=\"https://realpython.com/products/python-basics-book/\"><em>Python Basics: A Practical Introduction to Python 3</em></a> book in a ZIP file, or you can download any other project of your choice.</p><p>ZIP files allow you to aggregate, compress, and encrypt files into a single interoperable and portable container. You can stream ZIP files, split them into segments, make them self-extracting, and more.</p></section><section class=\"section3\" id=\"why-use-zip-files\"><h3>Why Use ZIP Files?</h3><p>Knowing how to create, read, write, and extract ZIP files can be a useful skill for developers and professionals who work with computers and digital information. Among other benefits, ZIP files allow you to:</p><ul><li><strong>Reduce the size of files</strong> and their storage requirements without losing information</li>\n<li><strong>Improve transfer speed over the network</strong> due to reduced size and single-file transfer</li>\n<li><strong>Pack several related files together</strong> into a single archive for efficient management</li>\n<li><strong>Bundle your code into a single archive</strong> for distribution purposes</li>\n<li><strong>Secure your data by using encryption</strong>, which is a common requirement nowadays</li>\n<li><strong>Guarantee the integrity of your information</strong> to avoid accidental and malicious changes to your data</li>\n</ul><p>These features make ZIP files a useful addition to your Python toolbox if you\u2019re looking for a flexible, portable, and reliable way to archive your digital files.</p></section><section class=\"section3\" id=\"can-python-manipulate-zip-files\"><h3>Can Python Manipulate ZIP Files?</h3><p>Yes! Python has several tools that allow you to manipulate ZIP files. Some of these tools are available in the Python <a href=\"https://docs.python.org/3/library/index.html\">standard library</a>. They include low-level libraries for compressing and decompressing data using specific compression algorithms, such as <a href=\"https://docs.python.org/3/library/zlib.html#module-zlib\"><code>zlib</code></a>, <a href=\"https://docs.python.org/3/library/bz2.html#module-bz2\"><code>bz2</code></a>, <a href=\"https://docs.python.org/3/library/lzma.html#module-lzma\"><code>lzma</code></a>, and <a href=\"https://realpython.com/python-zipfile/#using-other-libraries-to-manage-zip-files\">others</a>.</p><p>Python also provides a high-level module called <code>zipfile</code> specifically designed to create, read, write, extract, and list the content of ZIP files. In this tutorial, you\u2019ll learn about Python\u2019s <code>zipfile</code> and how to use it effectively.</p></section></section><section class=\"section2\" id=\"manipulating-existing-zip-files-with-pythons-zipfile\"><h2>Manipulating Existing ZIP Files With Python\u2019s <code>zipfile</code></h2><p>Python\u2019s <code>zipfile</code> provides convenient classes and functions that allow you to create, read, write, extract, and list the content of your ZIP files. Here are some additional features that <code>zipfile</code> supports:</p><ul><li>ZIP files greater than 4 GiB (<a href=\"https://en.wikipedia.org/wiki/ZIP_(file_format)#ZIP64\">ZIP64 files</a>)</li>\n<li>Data decryption</li>\n<li>Several compression algorithms, such as Deflate, <a href=\"https://en.wikipedia.org/wiki/Bzip2\">Bzip2</a>, and <a href=\"https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm\">LZMA</a></li>\n<li>Information integrity checks with CRC32</li>\n</ul><p>Be aware that <code>zipfile</code> does have a few limitations. For example, the current data decryption feature can be pretty slow because it uses pure Python code. The module can\u2019t handle the creation of encrypted ZIP files. Finally, the use of multi-disk ZIP files isn\u2019t supported either. Despite these limitations, <code>zipfile</code> is still a great and useful tool. Keep reading to explore its capabilities.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div><section class=\"section3\" id=\"opening-zip-files-for-reading-and-writing\"><h3>Opening ZIP Files for Reading and Writing</h3><p>In the <code>zipfile</code> module, you\u2019ll find the <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile\"><code>ZipFile</code></a> class. This class works pretty much like Python\u2019s built-in <a href=\"https://realpython.com/read-write-files-python/#opening-and-closing-a-file-in-python\"><code>open()</code></a> function, allowing you to open your ZIP files using different modes. The read mode (<code>\"r\"</code>) is the default. You can also use the write (<code>\"w\"</code>), append (<code>\"a\"</code>), and exclusive (<code>\"x\"</code>) modes. You\u2019ll learn more about each of these in a moment.</p><p><code>ZipFile</code> implements the <strong>context manager protocol</strong> so that you can use the class in a <a href=\"https://realpython.com/python-with-statement/\"><code>with</code> statement</a>. This feature allows you to quickly open and work with a ZIP file without worrying about <a href=\"https://realpython.com/why-close-file-python/\">closing the file</a> after you finish your work.</p><p>Before writing any code, make sure you have a copy of the files and archives that you\u2019ll be using:</p><p>To get your working environment ready, place the downloaded resources into a directory called <code>python-zipfile/</code> in your home folder. Once you have the files in the right place, move to the newly created directory and fire up a Python interactive session there.</p><p>To warm up, you\u2019ll start by reading the ZIP file called <code>sample.zip</code>. To do that, you can use <code>ZipFile</code> in reading mode:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample.zip\", mode=\"r\") as archive:\n...     archive.printdir()\n...\nFile Name                                        Modified             Size\nhello.txt                                 2021-09-07 19:50:10           83\nlorem.md                                  2021-09-07 19:50:10         2609\nrealpython.md                             2021-09-07 19:50:10          428\n</pre></div><p>The first argument to the initializer of <code>ZipFile</code> can be a <a href=\"https://realpython.com/python-strings/\">string</a> representing the path to the ZIP file that you need to open. This argument can accept <a href=\"https://docs.python.org/3/glossary.html#term-file-object\">file-like</a> and <a href=\"https://docs.python.org/3/glossary.html#term-path-like-object\">path-like</a> objects too. In this example, you use a string-based path.</p><p>The second argument to <code>ZipFile</code> is a single-letter string representing the mode that you\u2019ll use to open the file. As you learned at the beginning of this section, <code>ZipFile</code> can accept four possible modes, depending on your needs. The <code>mode</code> <a href=\"https://realpython.com/defining-your-own-python-function/#positional-arguments\">positional argument</a> defaults to <code>\"r\"</code>, so you can get rid of it if you want to open the archive for reading only.</p><p>Inside the <code>with</code> statement, you call <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.printdir\"><code>.printdir()</code></a> on <code>archive</code>. The <code>archive</code> <a href=\"https://realpython.com/python-variables/\">variable</a> now holds the instance of <code>ZipFile</code> itself. This function provides a quick way to display the content of the underlying ZIP file on your screen. The function\u2019s output has a user-friendly tabular format with three informative columns:</p><ul><li><code>File Name</code></li>\n<li><code>Modified</code></li>\n<li><code>Size</code></li>\n</ul><p>If you want to make sure that you\u2019re targeting a valid ZIP file before you try to open it, then you can wrap <code>ZipFile</code> in a <a href=\"https://realpython.com/python-exceptions/#the-try-and-except-block-handling-exceptions\"><code>try</code> \u2026 <code>except</code></a> statement and catch any <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.BadZipFile\"><code>BadZipFile</code></a> exception:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; try:\n...     with zipfile.ZipFile(\"sample.zip\") as archive:\n...         archive.printdir()\n... except zipfile.BadZipFile as error:\n...     print(error)\n...\nFile Name                                        Modified             Size\nhello.txt                                 2021-09-07 19:50:10           83\nlorem.md                                  2021-09-07 19:50:10         2609\nrealpython.md                             2021-09-07 19:50:10          428\n&gt;&gt;&gt; try:\n...     with zipfile.ZipFile(\"bad_sample.zip\") as archive:\n...         archive.printdir()\n... except zipfile.BadZipFile as error:\n...     print(error)\n...\nFile is not a zip file\n</pre></div><p>The first example successfully opens <code>sample.zip</code> without raising a <code>BadZipFile</code> exception. That\u2019s because <code>sample.zip</code> has a valid ZIP format. On the other hand, the second example doesn\u2019t succeed in opening <code>bad_sample.zip</code>, because the file is not a valid ZIP file.</p><p>To check for a valid ZIP file, you can also use the <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.is_zipfile\"><code>is_zipfile()</code></a> function:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; if zipfile.is_zipfile(\"sample.zip\"):\n...     with zipfile.ZipFile(\"sample.zip\", \"r\") as archive:\n...         archive.printdir()\n... else:\n...     print(\"File is not a zip file\")\n...\nFile Name                                        Modified             Size\nhello.txt                                 2021-09-07 19:50:10           83\nlorem.md                                  2021-09-07 19:50:10         2609\nrealpython.md                             2021-09-07 19:50:10          428\n&gt;&gt;&gt; if zipfile.is_zipfile(\"bad_sample.zip\"):\n...     with zipfile.ZipFile(\"bad_sample.zip\", \"r\") as archive:\n...         archive.printdir()\n... else:\n...     print(\"File is not a zip file\")\n...\nFile is not a zip file\n</pre></div><p>In these examples, you use a <a href=\"https://realpython.com/python-conditional-statements/\">conditional statement</a> with <code>is_zipfile()</code> as a condition. This function takes a <code>filename</code> argument that holds the path to a ZIP file in your file system. This argument can accept string, file-like, or path-like objects. The function returns <code>True</code> if <code>filename</code> is a valid ZIP file. Otherwise, it returns <code>False</code>.</p><p>Now say you want to add <code>hello.txt</code> to a <code>hello.zip</code> archive using <code>ZipFile</code>. To do that, you can use the write mode (<code>\"w\"</code>). This mode opens a ZIP file for writing. If the target ZIP file exists, then the <code>\"w\"</code> mode truncates it and writes any new content you pass in.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> If you\u2019re using <code>ZipFile</code> with existing files, then you should be careful with the <code>\"w\"</code> mode. You can truncate your ZIP file and lose all the original content.</p></div><p>If the target ZIP file doesn\u2019t exist, then <code>ZipFile</code> creates it for you when you close the archive:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"hello.zip\", mode=\"w\") as archive:\n...     archive.write(\"hello.txt\")\n...\n</pre></div><p>After running this code, you\u2019ll have a <code>hello.zip</code> file in your <code>python-zipfile/</code> directory. If you list the file content using <code>.printdir()</code>, then you\u2019ll notice that <code>hello.txt</code> will be there. In this example, you call <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.write\"><code>.write()</code></a> on the <code>ZipFile</code> object. This method allows you to write member files into your ZIP archives. Note that the argument to <code>.write()</code> should be an existing file.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> <code>ZipFile</code> is smart enough to create a new archive when you use the class in writing mode and the target archive doesn\u2019t exist. However, the class doesn\u2019t create new directories in the path to the target ZIP file if those directories don\u2019t already exist.</p><p>That explains why the following code won\u2019t work:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"missing/hello.zip\", mode=\"w\") as archive:\n...     archive.write(\"hello.txt\")\n...\nTraceback (most recent call last):\n    ...\nFileNotFoundError: [Errno 2] No such file or directory: 'missing/hello.zip'\n</pre></div><p>Because the <code>missing/</code> directory in the path to the target <code>hello.zip</code> file doesn\u2019t exist, you get a <a href=\"https://docs.python.org/3/library/exceptions.html#FileNotFoundError\"><code>FileNotFoundError</code></a> exception.</p></div><p>The append mode (<code>\"a\"</code>) allows you to <em>append</em> new member files to an existing ZIP file. This mode doesn\u2019t truncate the archive, so its original content is safe. If the target ZIP file doesn\u2019t exist, then the <code>\"a\"</code> mode creates a new one for you and then appends any input files that you pass as an argument to <code>.write()</code>.</p><p>To try out the <code>\"a\"</code> mode, go ahead and add the <code>new_hello.txt</code> file to your newly created <code>hello.zip</code> archive:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"hello.zip\", mode=\"a\") as archive:\n...     archive.write(\"new_hello.txt\")\n...\n&gt;&gt;&gt; with zipfile.ZipFile(\"hello.zip\") as archive:\n...     archive.printdir()\n...\nFile Name                                        Modified             Size\nhello.txt                                 2021-09-07 19:50:10           83\nnew_hello.txt                             2021-08-31 17:13:44           13\n</pre></div><p>Here, you use the append mode to add <code>new_hello.txt</code> to the <code>hello.zip</code> file. Then you run <code>.printdir()</code> to confirm that the new file is present in the ZIP file.</p><p><code>ZipFile</code> also supports an exclusive mode (<code>\"x\"</code>). This mode allows you to <em>exclusively</em> create new ZIP files and write new member files into them. You\u2019ll use the exclusive mode when you want to make a new ZIP file without overwriting an existing one. If the target file already exists, then you get <a href=\"https://docs.python.org/3/library/exceptions.html#FileExistsError\"><code>FileExistsError</code></a>.</p><p>Finally, if you create a ZIP file using the <code>\"w\"</code>, <code>\"a\"</code>, or <code>\"x\"</code> mode and then close the archive without adding any member files, then <code>ZipFile</code> creates an empty archive with the appropriate ZIP format.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section><section class=\"section3\" id=\"reading-metadata-from-zip-files\"><h3>Reading Metadata From ZIP Files</h3><p>You\u2019ve already put <code>.printdir()</code> into action. It\u2019s a useful method that you can use to list the content of your ZIP files quickly. Along with <code>.printdir()</code>, the <code>ZipFile</code> class provides several handy methods for extracting metadata from existing ZIP files.</p><p>Here\u2019s a summary of those methods:</p><div class=\"table-responsive\"><table class=\"table table-hover\"><thead><tr><th>Method</th>\n<th>Description</th>\n</tr></thead><tbody><tr><td><a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.getinfo\"><code>.getinfo(filename)</code></a></td>\n<td>Returns a <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipInfo\"><code>ZipInfo</code></a> object with information about the member file provided by <code>filename</code>. Note that <code>filename</code> must hold the path to the target file inside the underlying ZIP file.</td>\n</tr><tr><td><a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.infolist\"><code>.infolist()</code></a></td>\n<td>Returns a <a href=\"https://realpython.com/python-lists-tuples/\">list</a> of <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipInfo\"><code>ZipInfo</code></a> objects, one per member file.</td>\n</tr><tr><td><a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.namelist\"><code>.namelist()</code></a></td>\n<td>Returns a list holding the names of all the member files in the underlying archive. The names in this list are valid arguments to <code>.getinfo()</code>.</td>\n</tr></tbody></table></div><p>With these three tools, you can retrieve a lot of useful information about the content of your ZIP files. For example, take a look at the following example, which uses <code>.getinfo()</code>:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample.zip\", mode=\"r\") as archive:\n...     info = archive.getinfo(\"hello.txt\")\n...\n&gt;&gt;&gt; info.file_size\n83\n&gt;&gt;&gt; info.compress_size\n83\n&gt;&gt;&gt; info.filename\n'hello.txt'\n&gt;&gt;&gt; info.date_time\n(2021, 9, 7, 19, 50, 10)\n</pre></div><p>As you learned in the table above, <code>.getinfo()</code> takes a member file as an argument and returns a <code>ZipInfo</code> object with information about it.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> <code>ZipInfo</code> isn\u2019t intended to be instantiated directly. The <code>.getinfo()</code> and <code>.infolist()</code> methods return <code>ZipInfo</code> objects automatically when you call them. However, <code>ZipInfo</code> includes a <a href=\"https://realpython.com/instance-class-and-static-methods-demystified/\">class method</a> called <a href=\"https://docs.python.org/3/library/zipfile.html?highlight=zipfile#zipfile.ZipInfo.from_file\"><code>.from_file()</code></a>, which allows you to instantiate the class explicitly if you ever need to do it.</p></div><p><code>ZipInfo</code> objects have several attributes that allow you to retrieve valuable information about the target member file. For example, <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipInfo.file_size\"><code>.file_size</code></a> and <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipInfo.compress_size\"><code>.compress_size</code></a> hold the size, in bytes, of the original and compressed files, respectively. The class also has some other useful attributes, such as <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipInfo.filename\"><code>.filename</code></a> and <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipInfo.date_time\"><code>.date_time</code></a>, which return the filename and the last modification date.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> By default, <code>ZipFile</code> doesn\u2019t compress the input files to add them to the final archive. That\u2019s why the size and the compressed size are the same in the above example. You\u2019ll learn more about this topic in the <a href=\"https://realpython.com/python-zipfile/#compressing-files-and-directories\">Compressing Files and Directories</a> section below.</p></div><p>With <code>.infolist()</code>, you can extract information from all the files in a given archive. Here\u2019s an example that uses this method to generate a minimal report with information about all the member files in your <code>sample.zip</code> archive:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import datetime\n&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample.zip\", mode=\"r\") as archive:\n...     for info in archive.infolist():\n...         print(f\"Filename: {info.filename}\")\n...         print(f\"Modified: {datetime.datetime(*info.date_time)}\")\n...         print(f\"Normal size: {info.file_size} bytes\")\n...         print(f\"Compressed size: {info.compress_size} bytes\")\n...         print(\"-\" * 20)\n...\nFilename: hello.txt\nModified: 2021-09-07 19:50:10\nNormal size: 83 bytes\nCompressed size: 83 bytes\n--------------------\nFilename: lorem.md\nModified: 2021-09-07 19:50:10\nNormal size: 2609 bytes\nCompressed size: 2609 bytes\n--------------------\nFilename: realpython.md\nModified: 2021-09-07 19:50:10\nNormal size: 428 bytes\nCompressed size: 428 bytes\n--------------------\n</pre></div><p>The <a href=\"https://realpython.com/python-for-loop/\"><code>for</code> loop</a> iterates over the <code>ZipInfo</code> objects from <code>.infolist()</code>, retrieving the filename, the last modification date, the normal size, and the compressed size of each member file. In this example, you\u2019ve used <a href=\"https://realpython.com/python-datetime/\"><code>datetime</code></a> to format the date in a human-readable way.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> The example above was adapted from <a href=\"https://pymotw.com/3/zipfile/\">zipfile \u2014 ZIP Archive Access</a>.</p></div><p>If you just need to perform a quick check on a ZIP file and list the names of its member files, then you can use <code>.namelist()</code>:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample.zip\", mode=\"r\") as archive:\n...     for filename in archive.namelist():\n...         print(filename)\n...\nhello.txt\nlorem.md\nrealpython.md\n</pre></div><p>Because the filenames in this output are valid arguments to <code>.getinfo()</code>, you can combine these two methods to retrieve information about selected member files only.</p><p>For example, you may have a ZIP file containing different types of member files (<code>.docx</code>, <code>.xlsx</code>, <code>.txt</code>, and so on). Instead of getting the complete information with <code>.infolist()</code>, you just need to get the information about the <code>.docx</code> files. Then you can filter the files by their extension and call <code>.getinfo()</code> on your <code>.docx</code> files only. Go ahead and give it a try!</p></section><section class=\"section3\" id=\"reading-from-and-writing-to-member-files\"><h3>Reading From and Writing to Member Files</h3><p>Sometimes you have a ZIP file and need to read the content of a given member file without extracting it. To do that, you can use <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.read\"><code>.read()</code></a>. This method takes a member file\u2019s <code>name</code> and returns that file\u2019s content as <a href=\"https://realpython.com/python-data-structures/#bytes-immutable-arrays-of-single-bytes\">bytes</a>:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample.zip\", mode=\"r\") as archive:\n...     for line in archive.read(\"hello.txt\").split(b\"\\n\"):\n...         print(line)\n...\nb'Hello, Pythonista!'\nb''\nb'Welcome to Real Python!'\nb''\nb\"Ready to try Python's zipfile module?\"\nb''\n</pre></div><p>To use <code>.read()</code>, you need to open the ZIP file for reading or appending. Note that <code>.read()</code> returns the content of the target file as a stream of bytes. In this example, you use <code>.split()</code> to split the stream into lines, using the <a href=\"https://realpython.com/python-data-types/#applying-special-meaning-to-characters\">line feed</a> character <code>\"\\n\"</code> as a separator. Because <code>.split()</code> is operating on a byte object, you need to add a leading <code>b</code> to the string used as an argument.</p><p><code>ZipFile.read()</code> also accepts a second positional argument called <code>pwd</code>. This argument allows you to provide a password for reading encrypted files. To try this feature, you can rely on the <code>sample_pwd.zip</code> file that you downloaded with the material for this tutorial:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample_pwd.zip\", mode=\"r\") as archive:\n...     for line in archive.read(\"hello.txt\", pwd=b\"secret\").split(b\"\\n\"):\n...         print(line)\n...\nb'Hello, Pythonista!'\nb''\nb'Welcome to Real Python!'\nb''\nb\"Ready to try Python's zipfile module?\"\nb''\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample_pwd.zip\", mode=\"r\") as archive:\n...     for line in archive.read(\"hello.txt\").split(b\"\\n\"):\n...         print(line)\n...\nTraceback (most recent call last):\n    ...\nRuntimeError: File 'hello.txt' is encrypted, password required for extraction\n</pre></div><p>In the first example, you provide the password <code>secret</code> to read your encrypted file. The <code>pwd</code> argument accepts values of the bytes type. If you use <code>.read()</code> on an encrypted file without providing the required password, then you get a <code>RuntimeError</code>, as you can note in the second example.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> Python\u2019s <code>zipfile</code> supports decryption. However, it doesn\u2019t support the creation of encrypted ZIP files. That\u2019s why you would need to use an external file archiver to encrypt your files.</p><p>Some popular file archivers include <a href=\"https://en.wikipedia.org/wiki/7-Zip\">7z</a> and <a href=\"https://en.wikipedia.org/wiki/WinRAR\">WinRAR</a> for Windows, <a href=\"https://en.wikipedia.org/wiki/Ark_(software)\">Ark</a> and <a href=\"https://en.wikipedia.org/wiki/GNOME_Archive_Manager\">GNOME Archive Manager</a> for Linux, and <a href=\"https://archiverapp.com/\">Archiver</a> for macOS.</p></div><p>For large encrypted ZIP files, keep in mind that the decryption operation can be extremely slow because it\u2019s implemented in pure Python. In such cases, consider using a specialized program to handle your archives instead of using <code>zipfile</code>.</p><p>If you regularly work with encrypted files, then you may want to avoid providing the decryption password every time you call <code>.read()</code> or another method that accepts a <code>pwd</code> argument. If that\u2019s the case, you can use <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.setpassword\"><code>ZipFile.setpassword()</code></a> to set a global password:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample_pwd.zip\", mode=\"r\") as archive:\n...     archive.setpassword(b\"secret\")\n...     for file in archive.namelist():\n...         print(file)\n...         print(\"-\" * 20)\n...         for line in archive.read(file).split(b\"\\n\"):\n...             print(line)\n...\nhello.txt\n--------------------\nb'Hello, Pythonista!'\nb''\nb'Welcome to Real Python!'\nb''\nb\"Ready to try Python's zipfile module?\"\nb''\nlorem.md\n--------------------\nb'# Lorem Ipsum'\nb''\nb'Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n    ...\n</pre></div><p>With <code>.setpassword()</code>, you just need to provide your password once. <code>ZipFile</code> uses that unique password for decrypting all the member files.</p><p>In contrast, if you have ZIP files with different passwords for individual member files, then you need to provide the specific password for each file using the <code>pwd</code> argument of <code>.read()</code>:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample_file_pwd.zip\", mode=\"r\") as archive:\n...     for line in archive.read(\"hello.txt\", pwd=b\"secret1\").split(b\"\\n\"):\n...         print(line)\n...\nb'Hello, Pythonista!'\nb''\nb'Welcome to Real Python!'\nb''\nb\"Ready to try Python's zipfile module?\"\nb''\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample_file_pwd.zip\", mode=\"r\") as archive:\n...     for line in archive.read(\"lorem.md\", pwd=b\"secret2\").split(b\"\\n\"):\n...         print(line)\n...\nb'# Lorem Ipsum'\nb''\nb'Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n    ...\n</pre></div><p>In this example, you use <code>secret1</code> as a password to read <code>hello.txt</code> and <code>secret2</code> to read <code>lorem.md</code>. A final detail to consider is that when you use the <code>pwd</code> argument, you\u2019re overriding whatever archive-level password you may have set with <code>.setpassword()</code>.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> Calling <code>.read()</code> on a ZIP file that uses an unsupported compression method raises a <a href=\"https://docs.python.org/3/library/exceptions.html#NotImplementedError\"><code>NotImplementedError</code></a>. You also get an error if the required compression module isn\u2019t available in your Python installation.</p></div><p>If you\u2019re looking for a more flexible way to read from member files and create and add new member files to an archive, then <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.open\"><code>ZipFile.open()</code></a> is for you. Like the built-in <code>open()</code> function, this method implements the context manager protocol, and therefore it supports the <code>with</code> statement:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample.zip\", mode=\"r\") as archive:\n...     with archive.open(\"hello.txt\", mode=\"r\") as hello:\n...         for line in hello:\n...             print(line)\n...\nb'Hello, Pythonista!\\n'\nb'\\n'\nb'Welcome to Real Python!\\n'\nb'\\n'\nb\"Ready to try Python's zipfile module?\\n\"\n</pre></div><p>In this example, you open <code>hello.txt</code> for reading. The first argument to <code>.open()</code> is <code>name</code>, indicating the member file that you want to open. The second argument is the mode, which defaults to <code>\"r\"</code> as usual. <code>ZipFile.open()</code> also accepts a <code>pwd</code> argument for opening encrypted files. This argument works the same as the equivalent <code>pwd</code> argument in <code>.read()</code>.</p><p>You can also use <code>.open()</code> with the <code>\"w\"</code> mode. This mode allows you to create a new member file, write content to it, and finally append the file to the underlying archive, which you should open in append mode:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample.zip\", mode=\"a\") as archive:\n...     with archive.open(\"new_hello.txt\", \"w\") as new_hello:\n...         new_hello.write(b\"Hello, World!\")\n...\n13\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample.zip\", mode=\"r\") as archive:\n...     archive.printdir()\n...     print(\"------\")\n...     archive.read(\"new_hello.txt\")\n...\nFile Name                                        Modified             Size\nhello.txt                                 2021-09-07 19:50:10           83\nlorem.md                                  2021-09-07 19:50:10         2609\nrealpython.md                             2021-09-07 19:50:10          428\nnew_hello.txt                             1980-01-01 00:00:00           13\n------\nb'Hello, World!'\n</pre></div><p>In the first code snippet, you open <code>sample.zip</code> in append mode (<code>\"a\"</code>). Then you create <code>new_hello.txt</code> by calling <code>.open()</code> with the <code>\"w\"</code> mode. This function returns a file-like object that supports <a href=\"https://docs.python.org/3.9/library/io.html#io.BufferedIOBase.write\"><code>.write()</code></a>, which allows you to write bytes into the newly created file.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> You need to supply a non-existing filename to <code>.open()</code>. If you use a filename that already exists in the underlying archive, then you\u2019ll end up with a duplicated file and a <a href=\"https://docs.python.org/3.9/library/exceptions.html#UserWarning\"><code>UserWarning</code></a> exception.</p></div><p>In this example, you write <code>b'Hello, World!'</code> into <code>new_hello.txt</code>. When the execution flow exits the inner <code>with</code> statement, Python writes the input bytes to the member file. When the outer <code>with</code> statement exits, Python writes <code>new_hello.txt</code> to the underlying ZIP file, <code>sample.zip</code>.</p><p>The second code snippet confirms that <code>new_hello.txt</code> is now a member file of <code>sample.zip</code>. A detail to notice in the output of this example is that <code>.write()</code> sets the <code>Modified</code> date of the newly added file to <code>1980-01-01 00:00:00</code>, which is a weird behavior that you should keep in mind when using this method.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section><section class=\"section3\" id=\"reading-the-content-of-member-files-as-text\"><h3>Reading the Content of Member Files as Text</h3><p>As you learned in the above section, you can use the <code>.read()</code> and <code>.write()</code> methods to read from and write to member files without extracting them from the containing ZIP archive. Both of these methods work exclusively with bytes.</p><p>However, when you have a ZIP archive containing text files, you may want to read their content as text instead of as bytes. There are at least two way to do this. You can use:</p><ol><li><a href=\"https://docs.python.org/3/library/stdtypes.html#bytes.decode\"><code>bytes.decode()</code></a></li>\n<li><a href=\"https://docs.python.org/3/library/io.html#io.TextIOWrapper\"><code>io.TextIOWrapper</code></a></li>\n</ol><p>Because <code>ZipFile.read()</code> returns the content of the target member file as bytes, <code>.decode()</code> can operate on these bytes directly. The <code>.decode()</code> method decodes a <code>bytes</code> object into a string using a given <a href=\"https://en.wikipedia.org/wiki/Character_encoding\">character encoding</a> format.</p><p>Here\u2019s how you can use <code>.decode()</code> to read text from the <code>hello.txt</code> file in your <code>sample.zip</code> archive:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt;  with zipfile.ZipFile(\"sample.zip\", mode=\"r\") as archive:\n...     text = archive.read(\"hello.txt\").decode(encoding=\"utf-8\")\n...\n&gt;&gt;&gt; print(text)\nHello, Pythonista!\nWelcome to Real Python!\nReady to try Python's zipfile module?\n</pre></div><p>In this example, you read the content of <code>hello.txt</code> as bytes. Then you call <code>.decode()</code> to decode the bytes into a string using <a href=\"https://en.wikipedia.org/wiki/UTF-8\">UTF-8</a> as <a href=\"https://realpython.com/python-encodings-guide/\">encoding</a>. To set the <code>encoding</code> argument, you use the <code>\"utf-8\"</code> string. However, you can use any other valid encoding, such as <a href=\"https://en.wikipedia.org/wiki/UTF-16\">UTF-16</a> or <a href=\"https://en.wikipedia.org/wiki/Windows-1252\">cp1252</a>, which can be represented as case-insensitive strings. Note that <code>\"utf-8\"</code> is the default value of the <code>encoding</code> argument to <code>.decode()</code>.</p><p>It\u2019s important to keep in mind that you need to know beforehand the character encoding format of any member file that you want to process using <code>.decode()</code>. If you use the wrong character encoding, then your code will fail to correctly decode the underlying bytes into text, and you can end up with a ton of indecipherable characters.</p><p>The second option for reading text out of a member file is to use an <code>io.TextIOWrapper</code> object, which provides a buffered text stream. This time you need to use <code>.open()</code> instead of <code>.read()</code>. Here\u2019s an example of using <code>io.TextIOWrapper</code> to read the content of the <code>hello.txt</code> member file as a stream of text:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import io\n&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample.zip\", mode=\"r\") as archive:\n...     with archive.open(\"hello.txt\", mode=\"r\") as hello:\n...         for line in io.TextIOWrapper(hello, encoding=\"utf-8\"):\n...             print(line.strip())\n...\nHello, Pythonista!\nWelcome to Real Python!\nReady to try Python's zipfile module?\n</pre></div><p>In the inner <code>with</code> statement in this example, you open the <code>hello.txt</code> member file from your <code>sample.zip</code> archive. Then you pass the resulting binary file-like object, <code>hello</code>, as an argument to <code>io.TextIOWrapper</code>. This creates a buffered text stream by decoding the content of <code>hello</code> using the UTF-8 character encoding format. As a result, you get a stream of text directly from your target member file.</p><p>Just like with <code>.encode()</code>, the <code>io.TextIOWrapper</code> class takes an <code>encoding</code> argument. You should always specify a value for this argument because the <a href=\"https://realpython.com/python310-new-features/#default-text-encodings\">default text encoding</a> depends on the system running the code and may not be the right value for the file that you\u2019re trying to decode.</p></section><section class=\"section3\" id=\"extracting-member-files-from-your-zip-archives\"><h3>Extracting Member Files From Your ZIP Archives</h3><p>Extracting the content of a given archive is one of the most common operations that you\u2019ll do on ZIP files. Depending on your needs, you may want to extract a single file at a time or all the files in one go.</p><p><a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.extract\"><code>ZipFile.extract()</code></a> allows you to accomplish the first task. This method takes the name of a <code>member</code> file and extracts it to a given directory signaled by <code>path</code>. The destination <code>path</code> defaults to the current directory:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample.zip\", mode=\"r\") as archive:\n...     archive.extract(\"new_hello.txt\", path=\"output_dir/\")\n...\n'output_dir/new_hello.txt'\n</pre></div><p>Now <code>new_hello.txt</code> will be in your <code>output_dir/</code> directory. If the target filename already exists in the output directory, then <code>.extract()</code> overwrites it without asking for confirmation. If the output directory doesn\u2019t exist, then <code>.extract()</code> creates it for you. Note that <code>.extract()</code> returns the path to the extracted file.</p><p>The name of the member file must be the file\u2019s full name as returned by <code>.namelist()</code>. It can also be a <code>ZipInfo</code> object containing the file\u2019s information.</p><p>You can also use <code>.extract()</code> with encrypted files. In that case, you need to provide the required <code>pwd</code> argument or set the archive-level password with <code>.setpassword()</code>.</p><p>When it comes to extracting all the member files from an archive, you can use <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.extractall\"><code>.extractall()</code></a>. As its name implies, this method extracts all the member files to a destination path, which is the current directory by default:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.ZipFile(\"sample.zip\", mode=\"r\") as archive:\n...     archive.extractall(\"output_dir/\")\n...\n</pre></div><p>After running this code, all the current content of <code>sample.zip</code> will be in your <code>output_dir/</code> directory. If you pass a non-existing directory to <code>.extractall()</code>, then this method automatically creates the directory. Finally, if any of the member files already exist in the destination directory, then <code>.extractall()</code> will overwrite them without asking for your confirmation, so be careful.</p><p>If you only need to extract some of the member files from a given archive, then you can use the <code>members</code> argument. This argument accepts a list of member files, which should be a subset of the whole list of files in the archive at hand. Finally, just like <code>.extract()</code>, the <code>.extractall()</code> method also accepts a <code>pwd</code> argument to extract encrypted files.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section><section class=\"section3\" id=\"closing-zip-files-after-use\"><h3>Closing ZIP Files After Use</h3><p>Sometimes, it\u2019s convenient for you to open a given ZIP file without using a <code>with</code> statement. In those cases, you need to manually close the archive after use to complete any writing operations and to free the acquired resources.</p><p>To do that, you can call <a href=\"https://docs.python.org/3/library/zipfile.html?highlight=zipfile#zipfile.ZipFile.close\"><code>.close()</code></a> on your <code>ZipFile</code> object:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; archive = zipfile.ZipFile(\"sample.zip\", mode=\"r\")\n&gt;&gt;&gt; # Use archive in different parts of your code\n&gt;&gt;&gt; archive.printdir()\nFile Name                                        Modified             Size\nhello.txt                                 2021-09-07 19:50:10           83\nlorem.md                                  2021-09-07 19:50:10         2609\nrealpython.md                             2021-09-07 19:50:10          428\nnew_hello.txt                             1980-01-01 00:00:00           13\n&gt;&gt;&gt; # Close the archive when you're done\n&gt;&gt;&gt; archive.close()\n&gt;&gt;&gt; archive\n&lt;zipfile.ZipFile [closed]&gt;\n</pre></div><p>The call to <code>.close()</code> closes <code>archive</code> for you. You must call <code>.close()</code> before exiting your program. Otherwise, some writing operations might not be executed. For example, if you open a ZIP file for appending (<code>\"a\"</code>) new member files, then you need to close the archive to write the files.</p></section></section><section class=\"section2\" id=\"creating-populating-and-extracting-your-own-zip-files\"><h2>Creating, Populating, and Extracting Your Own ZIP Files</h2><p>So far, you\u2019ve learned how to work with existing ZIP files. You\u2019ve learned to read, write, and append member files to them by using the different modes of <code>ZipFile</code>. You\u2019ve also learned how to read relevant metadata and how to extract the content of a given ZIP file.</p><p>In this section, you\u2019ll code a few practical examples that\u2019ll help you learn how to create ZIP files from several input files and from an entire directory using <code>zipfile</code> and other Python tools. You\u2019ll also learn how to use <code>zipfile</code> for file compression and more.</p><section class=\"section3\" id=\"creating-a-zip-file-from-multiple-regular-files\"><h3>Creating a ZIP File From Multiple Regular Files</h3><p>Sometimes you need to create a ZIP archive from several related files. This way, you can have all the files in a single container for distributing them over a computer network or sharing them with friends or colleagues. To this end, you can create a list of target files and write them into an archive using <code>ZipFile</code> and a loop:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; filenames = [\"hello.txt\", \"lorem.md\", \"realpython.md\"]\n&gt;&gt;&gt; with zipfile.ZipFile(\"multiple_files.zip\", mode=\"w\") as archive:\n...     for filename in filenames:\n...         archive.write(filename)\n...\n</pre></div><p>Here, you create a <code>ZipFile</code> object with the desired archive name as its first argument. The <code>\"w\"</code> mode allows you to write member files into the final ZIP file.</p><p>The <code>for</code> loop iterates over your list of input files and writes them into the underlying ZIP file using <code>.write()</code>. Once the execution flow exits the <code>with</code> statement, <code>ZipFile</code> automatically closes the archive, saving the changes for you. Now you have a <code>multiple_files.zip</code> archive containing all the files from your original list of files.</p></section><section class=\"section3\" id=\"building-a-zip-file-from-a-directory\"><h3>Building a ZIP File From a Directory</h3><p>Bundling the content of a directory into a single archive is another everyday use case for ZIP files. Python has several tools that you can use with <code>zipfile</code> to approach this task. For example, you can use <a href=\"https://realpython.com/python-pathlib/\"><code>pathlib</code></a> to read the content of a given directory. With that information, you can create a container archive using <code>ZipFile</code>.</p><p>In the <code>python-zipfile/</code> directory, you have a subdirectory called <code>source_dir/</code>, with the following content:</p><div class=\"highlight\"><pre>source_dir/\n\u2502\n\u251c\u2500\u2500 hello.txt\n\u251c\u2500\u2500 lorem.md\n\u2514\u2500\u2500 realpython.md\n</pre></div><p>In <code>source_dir/</code>, you only have three regular files. Because the directory doesn\u2019t contain subdirectories, you can use <a href=\"https://docs.python.org/3/library/pathlib.html#pathlib.Path.iterdir\"><code>pathlib.Path.iterdir()</code></a> to iterate over its content directly. With this idea in mind, here\u2019s how you can build a ZIP file from the content of <code>source_dir/</code>:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import pathlib\n&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; directory = pathlib.Path(\"source_dir/\")\n&gt;&gt;&gt; with zipfile.ZipFile(\"directory.zip\", mode=\"w\") as archive:\n...    for file_path in directory.iterdir():\n...        archive.write(file_path, arcname=file_path.name)\n...\n&gt;&gt;&gt; with zipfile.ZipFile(\"directory.zip\", mode=\"r\") as archive:\n...     archive.printdir()\n...\nFile Name                                        Modified             Size\nrealpython.md                             2021-09-07 19:50:10          428\nhello.txt                                 2021-09-07 19:50:10           83\nlorem.md                                  2021-09-07 19:50:10         2609\n</pre></div><p>In this example, you create a <a href=\"https://docs.python.org/3/library/pathlib.html#pathlib.Path\"><code>pathlib.Path</code></a> object from your source directory. The first <code>with</code> statement creates a <code>ZipFile</code> object ready for writing. Then the call to <code>.iterdir()</code> returns an iterator over the entries in the underlying directory.</p><p>Because you don\u2019t have any subdirectories in <code>source_dir/</code>, the <code>.iterdir()</code> function yields only files. The <code>for</code> loop iterates over the files and writes them into the archive.</p><p>In this case, you pass <code>file_path.name</code> to the second argument of <code>.write()</code>. This argument is called <code>arcname</code> and holds the name of the member file inside the resulting archive. All the examples that you\u2019ve seen so far rely on the default value of <code>arcname</code>, which is the same filename you pass as the first argument to <code>.write()</code>.</p><p>If you don\u2019t pass <code>file_path.name</code> to <code>arcname</code>, then your source directory will be at the root of your ZIP file, which can also be a valid result depending on your needs.</p><p>Now check out the <code>root_dir/</code> folder in your working directory. In this case, you\u2019ll find the following structure:</p><div class=\"highlight\"><pre>root_dir/\n\u2502\n\u251c\u2500\u2500 sub_dir/\n\u2502   \u2514\u2500\u2500 new_hello.txt\n\u2502\n\u251c\u2500\u2500 hello.txt\n\u251c\u2500\u2500 lorem.md\n\u2514\u2500\u2500 realpython.md\n</pre></div><p>You have the usual files and a subdirectory with a single file in it. If you want to create a ZIP file with this same internal structure, then you need a tool that <a href=\"https://realpython.com/python-recursion/\">recursively</a> iterates through the <a href=\"https://realpython.com/directory-tree-generator-python/\">directory tree</a> under <code>root_dir/</code>.</p><p>Here\u2019s how to zip a complete directory tree, like the one above, using <code>zipfile</code> along with <code>Path.rglob()</code> from the <code>pathlib</code> module:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import pathlib\n&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; directory = pathlib.Path(\"root_dir/\")\n&gt;&gt;&gt; with zipfile.ZipFile(\"directory_tree.zip\", mode=\"w\") as archive:\n...     for file_path in directory.rglob(\"*\"):\n...         archive.write(\n...             file_path,\n...             arcname=file_path.relative_to(directory)\n...         )\n...\n&gt;&gt;&gt; with zipfile.ZipFile(\"directory_tree.zip\", mode=\"r\") as archive:\n...     archive.printdir()\n...\nFile Name                                        Modified             Size\nsub_dir/                                  2021-09-09 20:52:14            0\nrealpython.md                             2021-09-07 19:50:10          428\nhello.txt                                 2021-09-07 19:50:10           83\nlorem.md                                  2021-09-07 19:50:10         2609\nsub_dir/new_hello.txt                     2021-08-31 17:13:44           13\n</pre></div><p>In this example, you use <a href=\"https://docs.python.org/3/library/pathlib.html#pathlib.Path.rglob\"><code>Path.rglob()</code></a> to recursively traverse the <a href=\"https://realpython.com/directory-tree-generator-python/\">directory tree</a> under <code>root_dir/</code>. Then you write every file and subdirectory to the target ZIP archive.</p><p>This time, you use <a href=\"https://docs.python.org/3/library/pathlib.html#pathlib.PurePath.is_relative_to\"><code>Path.relative_to()</code></a> to get the relative path to each file and then pass the result to the second argument of <code>.write()</code>. This way, the resulting ZIP file ends up with the same internal structure as your original source directory. Again, you can get rid of this argument if you want your source directory to be at the root of your ZIP file.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section><section class=\"section3\" id=\"compressing-files-and-directories\"><h3>Compressing Files and Directories</h3><p>If your files are taking up too much disk space, then you might consider compressing them. Python\u2019s <code>zipfile</code> supports a few popular compression methods. However, the module doesn\u2019t compress your files by default. If you want to make your files smaller, then you need to explicitly supply a compression method to <code>ZipFile</code>.</p><p>Typically, you\u2019ll use the term <strong>stored</strong> to refer to member files written into a ZIP file without compression. That\u2019s why the default compression method of <code>ZipFile</code> is called <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.ZIP_STORED\">ZIP_STORED</a>, which actually refers to <em>uncompressed</em> member files that are simply stored in the containing archive.</p><p>The <code>compression</code> method is the third argument to the initializer of <code>ZipFile</code>. If you want to compress your files while you write them into a ZIP archive, then you can set this argument to one of the following constants:</p><div class=\"table-responsive\"><table class=\"table table-hover\"><thead><tr><th>Constant</th>\n<th>Compression Method</th>\n<th>Required Module</th>\n</tr></thead><tbody><tr><td><code>zipfile.ZIP_DEFLATED</code></td>\n<td>Deflate</td>\n<td><code>zlib</code></td>\n</tr><tr><td><code>zipfile.ZIP_BZIP2</code></td>\n<td>Bzip2</td>\n<td><code>bz2</code></td>\n</tr><tr><td><code>zipfile.ZIP_LZMA</code></td>\n<td>LZMA</td>\n<td><code>lzma</code></td>\n</tr></tbody></table></div><p>These are the compression methods that you can currently use with <code>ZipFile</code>. A different method will raise a <a href=\"https://docs.python.org/3/library/exceptions.html#NotImplementedError\"><code>NotImplementedError</code></a>. There are no additional compression methods available to <code>zipfile</code> as of Python 3.10.</p><p>As an additional requirement, if you choose one of these methods, then the compression module that supports it must be available in your Python installation. Otherwise, you\u2019ll get a <a href=\"https://docs.python.org/3/library/exceptions.html#RuntimeError\"><code>RuntimeError</code></a> exception, and your code will break.</p><p>Another relevant argument of <code>ZipFile</code> when it comes to compressing your files is <code>compresslevel</code>. This argument controls which compression level you use.</p><p>With the Deflate method, <code>compresslevel</code> can take integer <a href=\"https://realpython.com/python-numbers/\">numbers</a> from <code>0</code> through <code>9</code>. With the Bzip2 method, you can pass integers from <code>1</code> through <code>9</code>. In both cases, when the compression level increases, you get higher compression and lower compression speed.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> Binary files, such as PNG, JPG, MP3, and the like, already use some kind of compression. As a result, adding them to a ZIP file may not make the data any smaller, because it\u2019s already compressed to some level.</p></div><p>Now say you want to archive and compress the content of a given directory using the Deflate method, which is the most commonly used method in ZIP files. To do that, you can run the following code:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import pathlib\n&gt;&gt;&gt; from zipfile import ZipFile, ZIP_DEFLATED\n&gt;&gt;&gt; directory = pathlib.Path(\"source_dir/\")\n&gt;&gt;&gt; with ZipFile(\"comp_dir.zip\", \"w\", ZIP_DEFLATED, compresslevel=9) as archive:\n...     for file_path in directory.rglob(\"*\"):\n...         archive.write(file_path, arcname=file_path.relative_to(directory))\n...\n</pre></div><p>In this example, you pass <code>9</code> to <code>compresslevel</code> to get maximum compression. To provide this argument, you use a <a href=\"https://realpython.com/defining-your-own-python-function/#keyword-arguments\">keyword argument</a>. You need to do this because <code>compresslevel</code> isn\u2019t the fourth <a href=\"https://realpython.com/defining-your-own-python-function/#positional-arguments\">positional argument</a> to the <code>ZipFile</code> initializer.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> The initializer of <code>ZipFile</code> takes a fourth argument called <code>allowZip64</code>. It\u2019s a <a href=\"https://realpython.com/python-boolean/\">Boolean</a> argument that tells <code>ZipFile</code> to create ZIP files with the <code>.zip64</code> extension for files larger than 4 GB.</p></div><p>After running this code, you\u2019ll have a <code>comp_dir.zip</code> file in your current directory. If you compare the size of that file with the size of your original <code>sample.zip</code> file, then you\u2019ll note a significant size reduction.</p></section><section class=\"section3\" id=\"creating-zip-files-sequentially\"><h3>Creating ZIP Files Sequentially</h3><p>Creating ZIP files sequentially can be another common requirement in your day-to-day programming. For example, you may need to create an initial ZIP file with or without content and then append new member files as soon as they become available. In this situation, you need to open and close the target ZIP file multiple times.</p><p>To solve this problem, you can use <code>ZipFile</code> in append mode (<code>\"a\"</code>), as you have already done. This mode allows you to safely append new member files to a ZIP archive without truncating its current content:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; def append_member(zip_file, member):\n...     with zipfile.ZipFile(zip_file, mode=\"a\") as archive:\n...         archive.write(member)\n...\n&gt;&gt;&gt; def get_file_from_stream():\n...     \"\"\"Simulate a stream of files.\"\"\"\n...     for file in [\"hello.txt\", \"lorem.md\", \"realpython.md\"]:\n...         yield file\n...\n&gt;&gt;&gt; for filename in get_file_from_stream():\n...     append_member(\"incremental.zip\", filename)\n...\n&gt;&gt;&gt; with zipfile.ZipFile(\"incremental.zip\", mode=\"r\") as archive:\n...     archive.printdir()\n...\nFile Name                                        Modified             Size\nhello.txt                                 2021-09-07 19:50:10           83\nlorem.md                                  2021-09-07 19:50:10         2609\nrealpython.md                             2021-09-07 19:50:10          428\n</pre></div><p>In this example, <code>append_member()</code> is a <a href=\"https://realpython.com/defining-your-own-python-function/\">function</a> that appends a file (<code>member</code>) to the input ZIP archive (<code>zip_file</code>). To perform this action, the function opens and closes the target archive every time you call it. Using a function to perform this task allows you to reuse the code as many times as you need.</p><p>The <code>get_file_from_stream()</code> function is a <a href=\"https://realpython.com/introduction-to-python-generators/\">generator function</a> simulating a stream of files to process. Meanwhile, the <code>for</code> loop sequentially adds member files to <code>incremental.zip</code> using <code>append_number()</code>. If you check your working directory after running this code, then you\u2019ll find an <code>incremental.zip</code> archive containing the three files that you passed into the loop.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section></section><section class=\"section2\" id=\"exploring-additional-classes-from-zipfile\"><h2>Exploring Additional Classes From <code>zipfile</code></h2><p>So far, you\u2019ve learned about <code>ZipFile</code> and <code>ZipInfo</code>, which are two of the classes available in <code>zipfile</code>. This module also provides two more classes that can be handy in some situations. Those classes are <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.Path\"><code>zipfile.Path</code></a> and <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.PyZipFile\"><code>zipfile.PyZipFile</code></a>. In the following two sections, you\u2019ll learn the basics of these classes and their main features.</p><section class=\"section3\" id=\"finding-path-in-a-zip-file\"><h3>Finding <code>Path</code> in a ZIP File</h3><p>When you open a ZIP file with your favorite archiver application, you see the archive\u2019s internal structure. You may have files at the root of the archive. You may also have subdirectories with more files. The archive looks like a normal directory on your file system, with each file located at a specific path.</p><p>The <code>zipfile.Path</code> class allows you to construct path objects to quickly create and manage paths to member files and directories inside a given ZIP file. The class takes two arguments:</p><ul><li><strong><code>root</code></strong> accepts a ZIP file, either as a <code>ZipFile</code> object or a string-based path to a physical ZIP file.</li>\n<li><strong><code>at</code></strong> holds the location of a specific member file or directory inside the archive. It defaults to the empty string, representing the root of the archive.</li>\n</ul><p>With your old friend <code>sample.zip</code> as the target, run the following code:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; hello_txt = zipfile.Path(\"sample.zip\", \"hello.txt\")\n&gt;&gt;&gt; hello_txt\nPath('sample.zip', 'hello.txt')\n&gt;&gt;&gt; hello_txt.name\n'hello.txt'\n&gt;&gt;&gt; hello_txt.is_file()\nTrue\n&gt;&gt;&gt; hello_txt.exists()\nTrue\n&gt;&gt;&gt; print(hello_txt.read_text())\nHello, Pythonista!\nWelcome to Real Python!\nReady to try Python's zipfile module?\n</pre></div><p>This code shows that <code>zipfile.Path</code> implements several features that are common to a <code>pathlib.Path</code> object. You can get the name of the file with <code>.name</code>. You can check if the path points to a regular file with <code>.is_file()</code>. You can check if a given file exists inside a particular ZIP file, and more.</p><p><code>Path</code> also provides an <code>.open()</code> method to open a member file using different modes. For example, the code below opens <code>hello.txt</code> for reading:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; hello_txt = zipfile.Path(\"sample.zip\", \"hello.txt\")\n&gt;&gt;&gt; with hello_txt.open(mode=\"r\") as hello:\n...     for line in hello:\n...         print(line)\n...\nHello, Pythonista!\nWelcome to Real Python!\nReady to try Python's zipfile module?\n</pre></div><p>With <code>Path</code>, you can quickly create a path object pointing to a specific member file in a given ZIP file and access its content immediately using <code>.open()</code>.</p><p>Just like with a <code>pathlib.Path</code> object, you can list the content of a ZIP file by calling <a href=\"https://docs.python.org/3/library/zipfile.html#zipfile.Path.iterdir\"><code>.iterdir()</code></a> on a <code>zipfile.Path</code> object:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; root = zipfile.Path(\"sample.zip\")\n&gt;&gt;&gt; root\nPath('sample.zip', '')\n&gt;&gt;&gt; root.is_dir()\nTrue\n&gt;&gt;&gt; list(root.iterdir())\n[\n    Path('sample.zip', 'hello.txt'),\n    Path('sample.zip', 'lorem.md'),\n    Path('sample.zip', 'realpython.md')\n]\n</pre></div><p>It\u2019s clear that <code>zipfile.Path</code> provides many useful features that you can use to manage member files in your ZIP archives in almost no time.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section><section class=\"section3\" id=\"building-importable-zip-files-with-pyzipfile\"><h3>Building Importable ZIP Files With <code>PyZipFile</code></h3><p>Another useful class in <code>zipfile</code> is <a href=\"https://docs.python.org/3.9/library/zipfile.html#zipfile.PyZipFile\"><code>PyZipFile</code></a>. This class is pretty similar to <code>ZipFile</code>, and it\u2019s especially handy when you need to bundle Python modules and packages into ZIP files. The main difference from <code>ZipFile</code> is that the initializer of <code>PyZipFile</code> takes an optional argument called <code>optimize</code>, which allows you to optimize the Python code by compiling it to <a href=\"https://docs.python.org/3/glossary.html#term-bytecode\">bytecode</a> before archiving it.</p><p><code>PyZipFile</code> provides the same interface as <code>ZipFile</code>, with the addition of <a href=\"https://docs.python.org/3/library/zipfile.html#pyzipfile-objects\"><code>.writepy()</code></a>. This method can take a Python file (<code>.py</code>) as an argument and add it to the underlying ZIP file. If <code>optimize</code> is <code>-1</code> (the default), then the <code>.py</code> file is automatically compiled to a <code>.pyc</code> file and then added to the target archive. Why does this happen?</p><p>Since version 2.3, the Python interpreter has supported <a href=\"https://docs.python.org/3/whatsnew/2.3.html#pep-273-importing-modules-from-zip-archives\">importing Python code from ZIP files</a>, a capability known as <a href=\"https://realpython.com/python-zip-import/\">Zip imports</a>. This feature is quite convenient. It allows you to create <strong>importable ZIP files</strong> to distribute your <a href=\"https://realpython.com/python-modules-packages/\">modules and packages</a> as a single archive.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> You can also use the ZIP file format to create and distribute Python executable applications, which are commonly known as Python Zip applications. To learn how to create them, check out <a href=\"https://realpython.com/python-zipapp/\">Python\u2019s zipapp: Build Executable Zip Applications</a>.</p></div><p><code>PyZipFile</code> is helpful when you need to generate importable ZIP files. Packaging the <code>.pyc</code> file rather than the <code>.py</code> file makes the importing process way more efficient because it skips the compilation step.</p><p>Inside the <code>python-zipfile/</code> directory, you have a <code>hello.py</code> module with the following content:</p><div class=\"highlight python\"><pre>\"\"\"Print a greeting message.\"\"\"\n# hello.py\ndef greet(name=\"World\"):\n    print(f\"Hello, {name}! Welcome to Real Python!\")\n</pre></div><p>This code defines a function called <code>greet()</code>, which takes <code>name</code> as an argument and <a href=\"https://realpython.com/python-print/\">prints</a> a greeting message to the screen. Now say you want to package this module into a ZIP file for distribution purposes. To do that, you can run the following code:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.PyZipFile(\"hello.zip\", mode=\"w\") as zip_module:\n...     zip_module.writepy(\"hello.py\")\n...\n&gt;&gt;&gt; with zipfile.PyZipFile(\"hello.zip\", mode=\"r\") as zip_module:\n...     zip_module.printdir()\n...\nFile Name                                        Modified             Size\nhello.pyc                                 2021-09-13 13:25:56          311\n</pre></div><p>In this example, the call to <code>.writepy()</code> automatically compiles <code>hello.py</code> to <code>hello.pyc</code> and stores it in <code>hello.zip</code>. This becomes clear when you list the archive\u2019s content using <code>.printdir()</code>.</p><p>Once you have <code>hello.py</code> bundled into a ZIP file, then you can use Python\u2019s <a href=\"https://realpython.com/python-import/\">import</a> system to import this module from its containing archive:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import sys\n&gt;&gt;&gt; # Insert the archive into sys.path\n&gt;&gt;&gt; sys.path.insert(0, \"/home/user/python-zipfile/hello.zip\")\n&gt;&gt;&gt; sys.path[0]\n'/home/user/python-zipfile/hello.zip'\n&gt;&gt;&gt; # Import and use the code\n&gt;&gt;&gt; import hello\n&gt;&gt;&gt; hello.greet(\"Pythonista\")\nHello, Pythonista! Welcome to Real Python!\n</pre></div><p>The first step to import code from a ZIP file is to make that file available in <a href=\"https://docs.python.org/3/library/sys.html#sys.path\"><code>sys.path</code></a>. This <a href=\"https://realpython.com/python-variables/\">variable</a> holds a list of strings that specifies Python\u2019s <strong>search path</strong> for modules. To add a new item to <code>sys.path</code>, you can use <code>.insert()</code>.</p><p>For this example to work, you need to change the placeholder path and pass the path to <code>hello.zip</code> on your file system. Once your importable ZIP file is in this list, then you can import your code just like you\u2019d do with a regular module.</p><p>Finally, consider the <code>hello/</code> subdirectory in your working folder. It contains a small Python package with the following structure:</p><div class=\"highlight\"><pre>hello/\n|\n\u251c\u2500\u2500 __init__.py\n\u2514\u2500\u2500 hello.py\n</pre></div><p>The <code>__init__.py</code> module turns the <code>hello/</code> directory into a Python package. The <code>hello.py</code> module is the same one that you used in the example above. Now suppose you want to bundle this package into a ZIP file. If that\u2019s the case, then you can do the following:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import zipfile\n&gt;&gt;&gt; with zipfile.PyZipFile(\"hello.zip\", mode=\"w\") as zip_pkg:\n...     zip_pkg.writepy(\"hello\")\n...\n&gt;&gt;&gt; with zipfile.PyZipFile(\"hello.zip\", mode=\"r\") as zip_pkg:\n...     zip_pkg.printdir()\n...\nFile Name                                        Modified             Size\nhello/__init__.pyc                        2021-09-13 13:39:30          108\nhello/hello.pyc                           2021-09-13 13:39:30          317\n</pre></div><p>The call to <code>.writepy()</code> takes the <code>hello</code> package as an argument, searches for <code>.py</code> files inside it, compiles them to <code>.pyc</code> files, and finally adds them to the target ZIP file, <code>hello.zip</code>. Again, you can import your code from this archive by following the steps that you learned before:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import sys\n&gt;&gt;&gt; sys.path.insert(0, \"/home/user/python-zipfile/hello.zip\")\n&gt;&gt;&gt; from hello import hello\n&gt;&gt;&gt; hello.greet(\"Pythonista\")\nHello, Pythonista! Welcome to Real Python!\n</pre></div><p>Because your code is in a package now, you first need to import the <code>hello</code> module from the <code>hello</code> package. Then you can access your <code>greet()</code> function normally.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section></section><section class=\"section2\" id=\"running-zipfile-from-your-command-line\"><h2>Running <code>zipfile</code> From Your Command Line</h2><p>Python\u2019s <code>zipfile</code> also offers a minimal <a href=\"https://realpython.com/command-line-interfaces-python-argparse/\">command-line interface</a> that allows you to access the module\u2019s main functionality quickly. For example, you can use the <code>-l</code> or <code>--list</code> option to list the content of an existing ZIP file:</p><div class=\"highlight sh\"><pre>$ python -m zipfile --list sample.zip\nFile Name                                         Modified             Size\nhello.txt                                  2021-09-07 19:50:10           83\nlorem.md                                   2021-09-07 19:50:10         2609\nrealpython.md                              2021-09-07 19:50:10          428\nnew_hello.txt                              1980-01-01 00:00:00           13\n</pre></div><p>This command shows the same output as an equivalent call to <code>.printdir()</code> on the <code>sample.zip</code> archive.</p><p>Now say you want to create a new ZIP file containing several input files. In that case, you can use the <code>-c</code> or <code>--create</code> option:</p><div class=\"highlight sh\"><pre>$ python -m zipfile --create new_sample.zip hello.txt lorem.md realpython.md\n$ python -m zipfile -l new_sample.zip\nFile Name                                         Modified             Size\nhello.txt                                  2021-09-07 19:50:10           83\nlorem.md                                   2021-09-07 19:50:10         2609\nrealpython.md                              2021-09-07 19:50:10          428\n</pre></div><p>This command creates a <code>new_sample.zip</code> file containing your <code>hello.txt</code>, <code>lorem.md</code>, <code>realpython.md</code> files.</p><p>What if you need to create a ZIP file to archive an entire directory? For example, you may have your own <code>source_dir/</code> with the same three files as the example above. You can create a ZIP file from that directory by using the following command:</p><div class=\"highlight sh\"><pre>$ python -m zipfile -c source_dir.zip source_dir/\n$ python -m zipfile -l source_dir.zip\nFile Name                                         Modified             Size\nsource_dir/                                2021-08-31 08:55:58            0\nsource_dir/hello.txt                       2021-08-31 08:55:58           83\nsource_dir/lorem.md                        2021-08-31 09:01:08         2609\nsource_dir/realpython.md                   2021-08-31 09:31:22          428\n</pre></div><p>With this command, <code>zipfile</code> places <code>source_dir/</code> at the root of the resulting <code>source_dir.zip</code> file. As usual, you can list the archive content by running <code>zipfile</code> with the <code>-l</code> option.</p><div class=\"alert alert-primary\" role=\"alert\"><p><strong>Note:</strong> When you use <code>zipfile</code> to create an archive from your command line, the library <a href=\"https://github.com/python/cpython/blob/5c65834d801d6b4313eef0684a30e12c22ccfedd/Lib/zipfile.py#L2408\">implicitly uses</a> the Deflate compression algorithm when archiving your files.</p></div><p>You can also extract all the content of a given ZIP file using the <code>-e</code> or <code>--extract</code> option from your command line:</p><div class=\"highlight sh\"><pre>$ python -m zipfile --extract sample.zip sample/\n</pre></div><p>After running this command, you\u2019ll have a new <code>sample/</code> folder in your working directory. The new folder will contain the current files in your <code>sample.zip</code> archive.</p><p>The final option that you can use with <code>zipfile</code> from the command line is <code>-t</code> or <code>--test</code>. This option allows you to test if a given file is a valid ZIP file. Go ahead and give it a try!</p></section><section class=\"section2\" id=\"using-other-libraries-to-manage-zip-files\"><h2>Using Other Libraries to Manage ZIP Files</h2><p>There are a few other tools in the Python standard library that you can use to archive, compress, and decompress your files at a lower level. Python\u2019s <code>zipfile</code> uses some of these internally, mainly for compression purposes. Here\u2019s a summary of some of these tools:</p><div class=\"table-responsive\"><table class=\"table table-hover\"><thead><tr><th>Module</th>\n<th>Description</th>\n</tr></thead><tbody><tr><td><a href=\"https://docs.python.org/3/library/zlib.html\"><code>zlib</code></a></td>\n<td>Allows compression and decompression using the <a href=\"https://www.zlib.net/\">zlib</a> library</td>\n</tr><tr><td><a href=\"https://docs.python.org/3/library/bz2.html\"><code>bz2</code></a></td>\n<td>Provides an interface for compressing and decompressing data using the Bzip2 compression algorithm</td>\n</tr><tr><td><a href=\"https://docs.python.org/3/library/lzma.html\"><code>lzma</code></a></td>\n<td>Provides classes and functions for compressing and decompressing data using the LZMA compression algorithm</td>\n</tr></tbody></table></div><p>Unlike <code>zipfile</code>, some of these modules allow you to compress and decompress data from memory and data streams other than regular files and archives.</p><p>In the Python standard library, you\u2019ll also find <a href=\"https://docs.python.org/3/library/tarfile.html\"><code>tarfile</code></a>, which supports the <a href=\"https://en.wikipedia.org/wiki/Tar_(computing)\">TAR</a> archiving format. There\u2019s also a module called <a href=\"https://docs.python.org/3/library/gzip.html\"><code>gzip</code></a>, which provides an interface to compress and decompress data, similar to how the <a href=\"https://www.gnu.org/software/gzip/\">GNU Gzip</a> program does it.</p><p>For example, you can use <code>gzip</code> to create a compressed file containing some text:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import gzip\n&gt;&gt;&gt; with gzip.open(\"hello.txt.gz\", mode=\"wt\") as gz_file:\n...     gz_file.write(\"Hello, World!\")\n...\n13\n</pre></div><p>Once you run this code, you\u2019ll have a <code>hello.txt.gz</code> archive containing a compressed version of <code>hello.txt</code> in your current directory. Inside <code>hello.txt</code>, you\u2019ll find the text <code>Hello, World!</code>.</p><p>A quick and high-level way to create a ZIP file without using <code>zipfile</code> is to use <a href=\"https://docs.python.org/3/library/shutil.html\"><code>shutil</code></a>. This module allows you to perform several high-level operations on files and collections of files. When it comes to <a href=\"https://docs.python.org/3/library/shutil.html#archiving-operations\">archiving operations</a>, you have <a href=\"https://docs.python.org/3/library/shutil.html#shutil.make_archive\"><code>make_archive()</code></a>, which can create archives, such as ZIP or TAR files:</p><div class=\"highlight python repl\">&gt;&gt;&gt;<pre>&gt;&gt;&gt; import shutil\n&gt;&gt;&gt; shutil.make_archive(\"shutil_sample\", format=\"zip\", root_dir=\"source_dir/\")\n'/home/user/sample.zip'\n</pre></div><p>This code creates a compressed file called <code>sample.zip</code> in your working directory. This ZIP file will contain all the files in the input directory, <code>source_dir/</code>. The <code>make_archive()</code> function is convenient when you need a quick and high-level way to create your ZIP files in Python.</p><div><a class=\"small text-muted\" href=\"https://realpython.com/account/join/\" rel=\"nofollow\">Remove ads</a></div></section><section class=\"section2\" id=\"conclusion\"><h2>Conclusion</h2><p>Python\u2019s <strong><code>zipfile</code></strong> is a handy tool when you need to read, write, compress, decompress, and extract files from <strong>ZIP archives</strong>. The <a href=\"https://en.wikipedia.org/wiki/ZIP_(file_format)\">ZIP file format</a> has become an industry standard, allowing you to package and optionally compress your digital data.</p><p>The benefits of using ZIP files include archiving related files together, saving disk space, making it easy to transfer data over computer networks, bundling Python code for distribution purposes, and more.</p><p><strong>In this tutorial, you learned how to:</strong></p><ul><li>Use Python\u2019s <code>zipfile</code> to <strong>read, write, and extract</strong> existing ZIP files</li>\n<li>Read <strong>metadata</strong> about the content of your ZIP files with <code>zipfile</code></li>\n<li>Use <code>zipfile</code> to <strong>manipulate member files</strong> in existing ZIP files</li>\n<li>Create <strong>your own ZIP files</strong> to archive and compress your digital data</li>\n</ul><p>You also learned how to use <code>zipfile</code> from your command line to list, create, and extract your ZIP files. With this knowledge, you\u2019re ready to efficiently archive, compress, and manipulate your digital data using the ZIP file format.</p></section>",
    "created_at": "2022-09-28T16:58:02+00:00",
    "updated_at": "2022-09-28T16:58:12+00:00",
    "published_at": "2022-02-14T14:00:00+00:00",
    "published_by": ["Real Python"],
    "annotations": [],
    "mimetype": "text/html; charset=utf-8",
    "language": "en",
    "reading_time": 49,
    "domain_name": "realpython.com",
    "preview_picture": "https://files.realpython.com/media/Using-ZIP-Files-With-Python_Watermarked.220b1d6e93a4.jpg",
    "http_status": "200",
    "headers": {
      "date": "Wed, 28 Sep 2022 16:58:00 GMT",
      "content-type": "text/html; charset=utf-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "x-frame-options": "DENY",
      "vary": "Cookie, Accept-Encoding",
      "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
      "x-content-type-options": "nosniff",
      "referrer-policy": "strict-origin-when-cross-origin,origin",
      "cross-origin-opener-policy": "same-origin",
      "set-cookie": "csrftoken=T16JcCzgDUArLBd9GRv6hod7m7iCxqs3; expires=Wed, 27 Sep 2023 16:58:00 GMT; Max-Age=31449600; Path=/; SameSite=Lax; Secure, origin=ref-google; expires=Mon, 23 Jun 2025 16:58:00 GMT; Max-Age=86313600; Path=/",
      "via": "1.1 vegur",
      "cf-cache-status": "DYNAMIC",
      "server": "cloudflare",
      "cf-ray": "751e05792a7dd60d-CDG",
      "alt-svc": "h3=\":443\"; ma=86400, h3-29=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": [],
    "is_public": false,
    "id": 43,
    "title": "Le Conseil d\u2019\u00c9tat plaide pour un d\u00e9veloppement volontariste de l\u2019IA dans le public | \u00c0 la une | Acteurs Publics",
    "url": "https://acteurspublics.fr/articles/le-conseil-detat-plaide-pour-un-developpement-volontariste-de-lia-dans-le-public",
    "origin_url": "https://acteurspublics.fr/articles/le-conseil-detat-plaide-pour-un-developpement-volontariste-de-lia-dans-le-public?utm_campaign=PUSH_ACTU_31_08_2022&utm_medium=email&utm_source=Mailjet",
    "given_url": "https://acteurspublics.fr/articles/le-conseil-detat-plaide-pour-un-developpement-volontariste-de-lia-dans-le-public?utm_campaign=PUSH_ACTU_31_08_2022&utm_medium=email&utm_source=Mailjet",
    "content": "<noscript>\n<p>Veuillez activer le javascript dans votre navigateur afin de profiter des fonctionnalit\u00e9s du site acteurspublics.fr</p>\n</noscript><div class=\"modal modal-account js-background modal__content l-container\"><a class=\"modal__close js-close\" href=\"https://acteurspublics.fr/articles/le-conseil-detat-plaide-pour-un-developpement-volontariste-de-lia-dans-le-public\" title=\"Fermer la popup\"></a><p class=\"modal-account__title modal__title\">Connectez-vous</p></div>\n<div class=\"modal forgot-password js-background js-partial modal__content modal__content--small js-partial\" data-partial-id=\"forgot-password\"><a class=\"modal__close js-close\" href=\"https://acteurspublics.fr/articles/le-conseil-detat-plaide-pour-un-developpement-volontariste-de-lia-dans-le-public\" title=\"Fermer la popup\"></a><p class=\"modal__title\">Mot de passe oubli\u00e9</p><div class=\"forgot-password__screens\"><div class=\"forgot-password__screen1 js-screen-1\"><p class=\"forgot-password__subtitle\">Saisissez l\u2019email avec lequel vous \u00eates inscrits. Vous recevrez un e-mail vous permettant de r\u00e9initialiser votre mot de passe.</p></div><div class=\"forgot-password__screen2 js-screen-2\"><p class=\"forgot-password__message\">Un e-mail a \u00e9t\u00e9 envoy\u00e9 \u00e0 l'adresse . Il contient un lien sur lequel il vous faudra cliquer afin de r\u00e9initialiser votre mot de passe.</p></div></div></div>\n<div class=\"modal agenda-modal js-background js-partial modal__content\" data-partial-id=\"agenda\"><a class=\"modal__close js-close\" href=\"https://acteurspublics.fr/articles/le-conseil-detat-plaide-pour-un-developpement-volontariste-de-lia-dans-le-public\" title=\"Fermer la popup\"></a><div class=\"l-row\"><p>par maintenant</p></div></div>\n<div class=\"modal login js-background js-partial modal__content modal__content--small\" data-partial-id=\"login\"><a class=\"modal__close js-close\" title=\"Close modale\"></a><p class=\"login__title modal__title\">Identifiez-vousPour vous connecter</p></div>\n<div class=\"modal register js-background js-partial modal__content js-partial\" data-partial-id=\"register\"><a class=\"modal__close js-close\" title=\"Close modale\"></a><p class=\"register__title modal__title\">cr\u00e9ez votre compte</p><form action=\"\" class=\"js-form register__form\" novalidate=\"\">\n<div class=\"register__content\"><div class=\"register-col register__left register-field__group\"><div class=\"form-field js-block form-field--checkbox form-field--white form-field__input-wrapper js-wrapper\" data-block-id=\"input\"><label class=\"form-field__checkbox-cont\">Je souhaite recevoir la newsletter d'Acteurs publics</label></div><div class=\"form-field js-block form-field--checkbox form-field--white form-field__input-wrapper js-wrapper\" data-block-id=\"input\" data-validations=\"required\"><label class=\"form-field__checkbox-cont\">J'accepte les <a target=\"blank\" href=\"https://acteurspublics.fr/page/conditions-utilisation\">conditions g\u00e9n\u00e9rales d'utilisation</a> <em>d'Acteurs Publics</em></label></div></div><div class=\"register-col register__right\"><p class=\"register__description u-t-show\">En cr\u00e9ant votre compte, vous b\u00e9n\u00e9ficiez d\u2019un acc\u00e8s restreint aux 24 premi\u00e8res heures de publication des contenus du push, de la newsletter quotidienne d\u2019Acteurs publics et de la newsletter la semaine sociale du samedi ainsi que des contenus Actualit\u00e9s du site acteurspublics.fr</p></div></div>\n</form></div>\n<main id=\"main\"><div class=\"daily-news js-block daily-news__wrapper\" data-block-id=\"daily-news\"><p>Les sujets du jour</p><ul class=\"daily-news__items js-list\"><li class=\"daily-news__item js-items\"><a href=\"https://acteurspublics.fr/webtv/emissions/journees-acteurs-publics-solutions/s3ns-la-solution-cloud-de-confiance\" title=\"S3NS, la solution \u201ccloud de confiance\u201d\">S3NS, la solution \u201ccloud de co...</a></li>\n<li class=\"daily-news__item js-items\"><a href=\"https://acteurspublics.fr/articles/territoires-connectes\" title=\"Territoires connect\u00e9s\">Territoires connect\u00e9s</a></li>\n<li class=\"daily-news__item js-items\"><a href=\"https://acteurspublics.fr/webtv/emissions/journees-acteurs-publics-solutions/bernard-deflesselles-trouver-des-disrupteurs-pour-doper-lattractivite-des-territoires-1\" title=\"Bernard Deflesselles : \u201cTrouver des disrupteurs pour doper l\u2019attractivit\u00e9 des territoires\u201d\">Bernard Deflesselles\u00a0: \u201cTrouve...</a></li>\n<li class=\"daily-news__item js-items\"><a href=\"https://acteurspublics.fr/nomination/arnaud-robinet-elu-president-de-la-federation-hospitaliere-de-france\" title=\"Arnaud Robinet \u00e9lu pr\u00e9sident de la F\u00e9d\u00e9ration hospitali\u00e8re de France\">Arnaud Robinet \u00e9lu pr\u00e9sident d...</a></li>\n</ul></div>\n<div id=\"l-container-ad-absolute\" class=\"l-container\"><div class=\"news-breadcrumb breadcrumb\"><ul class=\"breadcrumb__list\" itemscope=\"itemscope\" itemtype=\"https://schema.org/BreadcrumbList\"><li class=\"breadcrumb__item\" itemprop=\"itemListElement\" itemscope=\"itemscope\" itemtype=\"https://schema.org/ListItem\"><a href=\"https://acteurspublics.fr/\" class=\"breadcrumb__link\" title=\"Aller \u00e0 la page Actualit\u00e9s\" itemprop=\"item\">Actualit\u00e9s</a>\n</li>\n<li class=\"breadcrumb__item\" itemprop=\"itemListElement\" itemscope=\"itemscope\" itemtype=\"https://schema.org/ListItem\"><a href=\"https://acteurspublics.fr/articles/a-la-une\" class=\"breadcrumb__link\" title=\"Aller \u00e0 la page \u00c0 la une\" itemprop=\"item\">\u00c0 la une</a>\n</li>\n<li class=\"breadcrumb__item\" itemprop=\"itemListElement\" itemscope=\"itemscope\" itemtype=\"https://schema.org/ListItem\"><a href=\"https://acteurspublics.fr/articles/le-conseil-detat-plaide-pour-un-developpement-volontariste-de-lia-dans-le-public\" class=\"breadcrumb__link\" title=\"Aller \u00e0 la page Le Conseil d\u2019\u00c9tat plaide pour un d\u00e9veloppement volontariste de l\u2019IA dans le public\" itemprop=\"item\">Le Conseil d\u2019\u00c9tat plaide pour un d\u00e9veloppement volontariste de l\u2019IA dans le public</a>\n</li>\n</ul></div><div class=\"sticky-container\" data-sticky-container=\"data-sticky-container\"><div class=\"l-row\"><div class=\"l-col-10 news-tags article-tags\"><ul class=\"article-tags__items\"><li class=\"article-tags__item\">num\u00e9rique</li>\n<li class=\"article-tags__item\">technologie</li>\n<li class=\"article-tags__item\">intelligence artificielle</li>\n</ul></div></div><div class=\"l-row l-col-10 news-introduction article\"><p class=\"c2\">Dans un rapport de plus de 360\u00a0pages, les membres du Palais-Royal plaident pour l\u2019\u00e9laboration et la mise en \u0153uvre d\u2019une strat\u00e9gie <em>\u201cvolontariste\u201d</em> mais <em>\u201clucide\u201d</em> de d\u00e9veloppement de l\u2019IA dans le service public. Ils appellent, en effet, \u00e0 d\u00e9finir sans attendre une doctrine d\u2019emploi de l\u2019IA pour gagner la confiance des agents publics comme des usagers.</p></div><div class=\"l-row\"><div class=\"l-col-10 l-col-t-6 l-col-l-7 l-news-container\"><div class=\"news-image image lazyload image--cover\"><img data-lazyload-type=\"direct\" alt=\"\" src=\"https://acteurspublics.fr/media/cache/default_news_big/upload/media/default/0001/41/612210545ceace2849af6f621f8ccd98a9a12fea.jpeg\" referrerpolicy=\"no-referrer\" /></div></div><div class=\"l-col-10 l-col-t-4 l-col-l-3 to-delete-mobile news-article-side news-last-news exclude-article linked-articles\"><ul class=\"last-news__items\"><li class=\"last-news__item\">\n<p>il y a 2 heures</p>\n<h3 class=\"article-last-news__title\"><a href=\"https://acteurspublics.fr/articles/territoires-connectes\" class=\"article-last-news__a\" title=\"Territoires connect\u00e9s\">Territoires connect\u00e9s</a></h3>\n</li>\n<li class=\"last-news__item\">\n<p>il y a 2 heures</p>\n<h3 class=\"article-last-news__title\"><a href=\"https://acteurspublics.fr/articles/les-directeurs-penitentiaires-dinsertion-et-de-probation-reclament-une-reforme-dampleur\" class=\"article-last-news__a\" title=\"Les directeurs p\u00e9nitentiaires d\u2019insertion et de probation veulent une \u201cr\u00e9forme d\u2019ampleur\u201d\">Les directeurs p\u00e9nitentiaires d\u2019insertion et de probation veulent une \u201cr\u00e9forme d\u2019ampleur\u201d</a></h3>\n</li>\n<li class=\"last-news__item\">\n<p>il y a 2 heures</p>\n<h3 class=\"article-last-news__title\"><a href=\"https://acteurspublics.fr/articles/letat-de-sante-des-ponts-suivi-de-pres-par-la-blockchain\" class=\"article-last-news__a\" title=\"L\u2019\u00e9tat de sant\u00e9 des ponts suivi de pr\u00e8s par la \u201cblockchain\u201d\">L\u2019\u00e9tat de sant\u00e9 des ponts suivi de pr\u00e8s par la \u201cblockchain\u201d</a></h3>\n</li>\n<li class=\"last-news__item\">\n<p>il y a 3 heures</p>\n<h3 class=\"article-last-news__title\"><a href=\"https://acteurspublics.fr/articles/patrimoine-les-administrations-se-sont-enrichies-en-2021\" class=\"article-last-news__a\" title=\"Patrimoine : les administrations se sont enrichies en 2021\">Patrimoine : les administrations se sont enrichies en 2021</a></h3>\n</li>\n<li class=\"last-news__item last\">\n<p>il y a 3 heures</p>\n<h3 class=\"article-last-news__title\"><a href=\"https://acteurspublics.fr/articles/les-prefets-mis-sous-pression-face-a-la-crise-energetique\" class=\"article-last-news__a\" title=\"Les pr\u00e9fets mis sous pression face \u00e0 la crise \u00e9nerg\u00e9tique\">Les pr\u00e9fets mis sous pression face \u00e0 la crise \u00e9nerg\u00e9tique</a></h3>\n</li>\n</ul></div></div></div><div class=\"l-row l-col-10\"><div class=\"news-infos-last l-aside article-infos article-infos__texts\"><p>par <strong>Emile Marzolf</strong></p><p>30 ao\u00fbt 2022, 15:06, mis \u00e0 jour le 30 ao\u00fbt 2022, 15:06</p></div><div class=\"news-tags article-tags\"><ul class=\"article-tags__items\"><li class=\"article-tags__item\">num\u00e9rique</li>\n<li class=\"article-tags__item\">technologie</li>\n<li class=\"article-tags__item\">intelligence artificielle</li>\n</ul></div><div class=\"news-share article-share\"><h3 class=\"article-share__title\">Partager cet article</h3></div></div></div>\n<div class=\"news-clubs-wrapper to-delete-mobile u-t-show l-container l-row has-title l-col-10\"><h2 class=\"title title--part observe\">Club des acteurs publics</h2><div class=\"news-clubs l-pad clubs\"><ul class=\"clubs__items\"><li class=\"clubs__item\"><a class=\"clubs__item-link clubs__item-link--#e3000b lazyload c7\" href=\"https://acteurspublics.fr/clubs/club-des-acteurs-de-la-performance-publique\" title=\"ClubLE CLUB DES ACTEURS DE LA PERFORMANCE PUBLIQUE\"><img class=\"clubs__item-logo\" data-lazyload-type=\"scroll\" alt=\"ClubLE CLUB DES ACTEURS DE LA PERFORMANCE PUBLIQUE\" src=\"https://acteurspublics.fr/media/cache/club_logo/upload/media/default/0001/29/ab65764ebbeb6124b40d7e5e09f50ba5c98823c8.jpeg\" referrerpolicy=\"no-referrer\" /></a></li>\n</ul></div></div>\n<div class=\"news-last-articles l-container l-row\"><div class=\"l-col-10 l-col-t-5 l-col-l-3 l-pad\"><h2 class=\"title title--part observe\">Articles li\u00e9s</h2><div class=\"article-thumbnail article-thumbnail--alone article-thumbnail--vertical\"><a href=\"https://acteurspublics.fr/articles/un-rapport-pointe-un-retard-europeen-dans-le-developpement-de-la-blockchain-et-de-lia\" class=\"article-thumbnail__main\" title=\"Un rapport pointe un retard europ\u00e9en dans le d\u00e9veloppement de la \u201cblockchain\u201d et de l\u2019IA\">\n<div class=\"article-thumbnail__image-container image image lazyload image--cover\"><img data-lazyload-type=\"observe\" alt=\"\" src=\"https://acteurspublics.fr/upload/media/default/0001/34/665a29a117cc2cf1f4bbb55adf7d8367091ff934.jpeg\" referrerpolicy=\"no-referrer\" /><div class=\"article-thumbnail__overlay\">Lire l'article<p>2 min de lecture</p></div></div>\n</a></div></div><div class=\"l-col-10 l-col-t-5 l-col-l-4 l-t-pad\"><div class=\"article-thumbnail article-thumbnail--list article-thumbnail--vertical\"><a href=\"https://acteurspublics.fr/articles/le-developpement-de-lapplication-stopcovid-confie-a-lincubateur-de-la-dsi-de-letat\" class=\"article-thumbnail__main\" title=\"Le d\u00e9veloppement de l\u2019application StopCovid confi\u00e9 \u00e0 l\u2019incubateur de la DSI de l\u2019\u00c9tat\">\n<div class=\"article-thumbnail__content article-thumbnail__heading\"><p>par il y a 2 ans</p><h3 class=\"article-thumbnail__title\">Le d\u00e9veloppement de l\u2019application StopCovid confi\u00e9 \u00e0 l\u2019incubateur de la DSI de l\u2019\u00c9tat</h3></div>\n</a></div><div class=\"article-thumbnail article-thumbnail--list article-thumbnail--vertical\"><a href=\"https://acteurspublics.fr/articles/orange-cree-orange-concessions-pour-soutenir-son-developpement-dans-la-fibre-en-zone-rurale\" class=\"article-thumbnail__main\" title=\"Orange cr\u00e9e Orange Concessions pour soutenir son d\u00e9veloppement dans la fibre en zone rurale\">\n<div class=\"article-thumbnail__content article-thumbnail__heading\"><p>par il y a 1 an</p><h3 class=\"article-thumbnail__title\">Orange cr\u00e9e Orange Concessions pour soutenir son d\u00e9veloppement dans la fibre en zone rurale</h3></div>\n</a></div><div class=\"article-thumbnail article-thumbnail--list article-thumbnail--vertical\"><a href=\"https://acteurspublics.fr/articles/pour-relancer-son-economie-lalgerie-pousse-au-developpement-des-start-up\" class=\"article-thumbnail__main\" title=\"Pour relancer son \u00e9conomie, l\u2019Alg\u00e9rie pousse au d\u00e9veloppement des \u201cstart-up\u201d\">\n<div class=\"article-thumbnail__content article-thumbnail__heading\"><p>par <strong>Samia Lokmane-Khelil</strong>il y a 1 an</p><h3 class=\"article-thumbnail__title\">Pour relancer son \u00e9conomie, l\u2019Alg\u00e9rie pousse au d\u00e9veloppement des \u201cstart-up\u201d</h3></div>\n</a></div><div class=\"article-thumbnail article-thumbnail--list article-thumbnail--vertical\"><a href=\"https://acteurspublics.fr/articles/marie-christine-armaignac-cest-au-sommet-de-lencadrement-quil-incombe-de-faire-preuve-de-volontarisme\" class=\"article-thumbnail__main\" title=\"Marie-Christine Armaignac : \u201cC\u2019est au sommet de l\u2019encadrement qu\u2019il incombe de faire preuve de volontarisme\u201d\">\n<div class=\"article-thumbnail__content article-thumbnail__heading\"><p>par <strong>Marie-Christine Armaignac</strong>il y a 1 an</p><h3 class=\"article-thumbnail__title\">Marie-Christine Armaignac\u00a0: \u201cC\u2019est au sommet de l\u2019encadrement qu\u2019il incombe de faire preuve de volontarisme\u201d</h3></div>\n</a></div></div></div>\n</main>",
    "created_at": "2022-09-21T15:13:42+00:00",
    "updated_at": "2022-09-21T15:13:42+00:00",
    "published_at": "2022-08-30T15:06:00+00:00",
    "published_by": ["Emile Marzolf"],
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr",
    "reading_time": 2,
    "domain_name": "acteurspublics.fr",
    "preview_picture": "https://acteurspublics.fr/upload/media/default/0001/41/612210545ceace2849af6f621f8ccd98a9a12fea.jpeg",
    "http_status": "200",
    "headers": {
      "date": "Wed, 21 Sep 2022 15:13:41 GMT",
      "cache-control": "max-age=500, public, s-maxage=500, max-age=0",
      "x-cache-tags": "all",
      "expires": "Wed, 21 Sep 2022 15:13:41 GMT",
      "x-ua-compatible": "IE=edge",
      "x-content-type-options": "nosniff",
      "content-type": "text/html; charset=UTF-8",
      "x-url": "/articles/le-conseil-detat-plaide-pour-un-developpement-volontariste-de-lia-dans-le-public",
      "x-host": "acteurspublics.fr",
      "age": "0",
      "x-cache": "MISS",
      "x-cache-hits": "0",
      "vary": "Accept-Encoding,Cookie",
      "accept-ranges": "bytes",
      "transfer-encoding": "chunked"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["podcast", "carbone4", "jancovici"],
    "is_public": false,
    "id": 42,
    "title": "id1209142994",
    "url": "https://podcasts.apple.com/fr/podcast/g%C3%A9n%C3%A9ration-do-it-yourself/id1209142994?i=1000566107859",
    "given_url": "https://podcasts.apple.com/fr/podcast/g%C3%A9n%C3%A9ration-do-it-yourself/id1209142994?i=1000566107859",
    "content": "wallabag can't retrieve contents for this article. Please <a href=\"https://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that\">troubleshoot this issue</a>.\n",
    "created_at": "2022-08-16T08:07:51+00:00",
    "updated_at": "2022-08-16T08:08:51+00:00",
    "published_by": [""],
    "annotations": [],
    "reading_time": 0,
    "domain_name": "podcasts.apple.com"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["wordpress", "gutenberg"],
    "is_public": false,
    "id": 41,
    "title": "A Deep Introduction to WordPress Block\u00a0Themes",
    "url": "https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/",
    "given_url": "https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/",
    "content": "<p>The relatively new <a href=\"https://wordpress.org/support/article/wordpress-editor/\" rel=\"noopener\">WordPress editor</a>, also known as the <a href=\"https://developer.wordpress.org/block-editor/\" rel=\"noopener\">WordPress Block Editor</a>, always under development via the <a href=\"https://wordpress.org/plugins/gutenberg/\" rel=\"noopener\">Gutenberg</a> plugin, has been with us since 2018. You can use the block editor on <em>any</em> WordPress theme, provided the theme loads CSS that the blocks use. But there are new themes that lean into the Block Editor much more deeply.</p><p>WordPress Block Themes allow you to build out the entire site using blocks, meaning the theme\u2019s responsibility is mostly design guidelines, and less about controlling the pages and the content on them. This is referred to as <strong>Full-Site Editing</strong> in WordPress and the themes that are built for this are called <strong>Block Themes</strong>, because you build out everything with blocks.</p>\n<p>Let\u2019s dig into all this.</p>\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"1264\" height=\"857\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/5-9-inline-v2.png.webp?resize=1264%2C857&amp;ssl=1\" alt=\"Illustration of a black vinyl record coming out of a record sleep sleeve from the left that contains a blue tinted image of jazz singer Jos\u00e9phine Baker's profile looking right with a soft smile and parted lips. The image includes white text that says WordPress 5.9 and code is poetry.\" class=\"wp-image-362847\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/5-9-inline-v2.png.webp?w=1264&amp;ssl=1 1264w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/5-9-inline-v2.png.webp?resize=300%2C203&amp;ssl=1 300w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/5-9-inline-v2.png.webp?resize=1024%2C694&amp;ssl=1 1024w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/5-9-inline-v2.png.webp?resize=768%2C521&amp;ssl=1 768w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/5-9-inline-v2.png.webp?resize=1000%2C678&amp;ssl=1 1000w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" />\n<figcaption>Credit: <a href=\"https://wordpress.org/news/2022/01/josephine/\" rel=\"noopener\">WordPress.org</a></figcaption></figure>\n<ul class=\"simpletoc-list\"><li><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#introduction\">Introduction</a></li>\n<li><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#related-terminology\">Related terminology</a></li>\n<li><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#using-the-block-editor-with-classic-themes\">Using the block editor with classic themes</a></li>\n<li><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#the-anatomy-of-block-based-themes\">The anatomy of block-based themes</a></li>\n<li><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#creating-wordpress-block-themes\">Creating WordPress Block Themes</a></li>\n<li><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#global-settings-and-styles-theme-json\">Global settings and styles (theme.json)</a></li>\n<li><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#wordpress-block-theme-approaches\">WordPress Block Theme approaches</a></li>\n<li><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#block-themes-that-are-currently-in-use\">Block themes that are currently in use</a></li>\n<li><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#building-block-child-themes\">Building Block Child Themes</a></li>\n<li><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#some-personal-thoughts\">Some personal thoughts</a></li>\n<li><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#resources\">Resources</a></li>\n</ul><h3 id=\"introduction\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-introduction\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-introduction\"></a>Introduction</h3>\n<p>Except for those who follow its day-to-day development iterations at <a href=\"https://github.com/WordPress/gutenberg\" rel=\"noopener\">GitHub,</a> most development surrounding the block editor is largely visible to users \u2014 and that\u2019s not necessarily a bad thing. I have been personally trying to keep myself updated with the block editor through <a href=\"https://wptavern.com/tag/gutenberg\" rel=\"noopener\">WP Tavern</a> and <a href=\"https://make.wordpress.org/core/tag/gutenberg-new/\" rel=\"noopener\">Gutenberg</a> posts, and have been using both the legacy \u2014 or \u201c<a href=\"https://wordpress.org/plugins/classic-editor/\" rel=\"noopener\">Classic</a>\u201d editor \u2014 as well as the block editor in my personal learning project sites.</p>\n<p>After taking a detour to <a href=\"https://css-tricks.com/my-long-journey-to-a-decoupled-wordpress-gatsby-site/\">learn and experience headless WordPress sites</a> with <a href=\"https://www.gatsbyjs.com/\" rel=\"noopener\">Gatsby</a> and <a href=\"https://frontity.org/\" rel=\"noopener\">Frontity</a> frameworks, I am now back to my native WordPress home.</p>\n<p>Though I have been aware of the <a href=\"https://github.com/WordPress/theme-experiments\" rel=\"noopener\">WordPress theme-experiment</a> GitHub repository for a while \u2014 themes made completely out of blocks! \u2014 I have only started digging into block themes recently. In fact, I have been using an experimental block-based theme <a href=\"https://justwrite.atsixtyseven.com/this-site-is-powered-by-labre-blocks/\" target=\"_blank\" rel=\"noreferrer noopener\">here in this project site</a>.</p>\n<p>WordPress 5.9 is now out in the wild and with it comes block-based theming for the masses. This release, dubbed <a href=\"https://wordpress.org/news/2022/01/josephine/\" rel=\"noopener\">Jos\u00e9phine</a>, is the formal introduction to WordPress full site editing and Block Themes.</p>\n<p>Even though the block-based theming functionality has been available in various iterative forms in previous releases, this is a <strong>big deal</strong> for the WordPress platform and the ecosystem that relies on it. I\u2019ve had my hands on it and thought I\u2019d share what I\u2019ve learned about block themes in my hands-on experience, as well as some personal thoughts on how it works.</p>\n<p><strong>Disclaimer:</strong> I am <em>not</em> a block themes expert by any stretch. I am well-versed in WordPress and a major fan of the content management system. My goal here is not to critique WordPress 5.9 or steer you in the direction of whether or not you should like it or want to use it. I\u2019m merely coming from the perspective of an open-minded learner who is building personal sites with fairly deep understanding and familiarity with the WordPress Block Editor.</p>\n<h3 id=\"related-terminology\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-related-terminology\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-related-terminology\"></a>Related terminology</h3>\n<p>Before we dive straight into block themes, I think it\u2019s a good idea to form a baseline understanding of just what we\u2019re talking about when we\u2019re tossing around terms, like <em>blocks</em> and <em>site editing</em>, as they\u2019re so incredibly new and game-changing relative to what we\u2019ve known and loved about WordPress for decades.</p>\n<h4 id=\"block-editor\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-block-editor\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-block-editor\"></a>Block Editor</h4>\n<p>This is really what we mean any time we refer to the \u201cWordPress Editor.\u201d We call the WordPress Editor the Block Editor because it allows us to create pages and posts where each element\u2014 including text, images, videos, headers, footers, etc. \u2014 is inserted into the post using <a href=\"https://wordpress.org/support/article/wordpress-editor/#blocks\" rel=\"noopener\">blocks</a> that can be arranged modularly to complete page layouts. It evolved from what\u2019s now called the \u201cclassic\u201d editor, which was more squarely based on entering content to be published on a page or post in a predefined layout.</p>\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"677\" height=\"380\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/block-editor.png?resize=677%2C380&amp;ssl=1\" alt=\"A full screenshot of the WordPress Block editor split into three numbers parts that are highlighted in red.\" class=\"wp-image-362862\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/block-editor.png?w=677&amp;ssl=1 677w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/block-editor.png?resize=300%2C168&amp;ssl=1 300w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" />\n<figcaption>WordPress Block Editor including the block inserter (1), block editor content area (2), and the document and block settings (3)Credit: <a href=\"https://developer.wordpress.org/block-editor/\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress Block Editor Handbook</a>.</figcaption></figure><p>It\u2019s sort of like content and layout coming together, where both are managed in the WordPress Editor. So, where we used to rely on the editor for content and (more or less) theme templates to define layout, both are directly editable in the WordPress Editor interface.</p>\n<p>You can find more detail <a href=\"https://wordpress.org/support/article/wordpress-editor/\" rel=\"noopener\">here on using the Block Editor</a>.</p>\n<h4 id=\"block-theme\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-block-theme\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-block-theme\"></a>Block Theme</h4>\n<p>As explained in the <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/block-theme-overview/\" rel=\"noopener\">WordPress doc</a><a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/block-theme-overview/\" rel=\"noopener\">s</a>:</p>\n<blockquote class=\"wp-block-quote\">\n<p>A block theme is a WordPress theme with templates entirely composed of blocks so that in addition to the post content of the different post types (pages, posts, \u2026), the block editor can also be used to edit all areas of the site: headers, footers, sidebars, etc.</p>\n</blockquote>\n<p>This WordPress documentation provides an <a href=\"https://wordpress.org/support/article/block-themes/\" rel=\"noopener\">overview of block themes</a> in its knowledgebase, including <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/\" rel=\"noopener\">how to create block themes and styling</a> <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/\" rel=\"noopener\">in this primer</a>.</p>\n<p>The bottom line: Block themes are <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/block-theme-overview/#what-is-the-structure-of-a-block-theme\" rel=\"noopener\">different than \u201cclassic\u201d WordPress themes</a>. Rather than relying strictly on PHP files that conform to the <a href=\"https://developer.wordpress.org/themes/basics/template-hierarchy/\" rel=\"noopener\">WordPress Template Hierarchy</a>, a WordPress Block Theme consists of block-based HTML templates \u2014 assembled groups of blocks that can be styled and arranged in the WordPress Site Editor (that\u2019s coming up next) as well as using a <code>theme.json</code> file for global styling tokens.</p>\n<h4 id=\"site-editor\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-site-editor\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-site-editor\"></a>Site Editor</h4>\n<p>This is the crown jewel of WordPress 5.9. While it is officially called the WordPress Site Editor, it\u2019s largely been referred to as <a href=\"https://developer.wordpress.org/block-editor/getting-started/full-site-editing/\" rel=\"noopener\">Full-Site Editing</a>** (FSE) during development and is described as \u201cthe cohesive experience that allows you to directly edit and navigate between various templates, template parts, styling options, and more.\u201d Phew, that\u2019s a lot!</p>\n<figure class=\"wp-block-video wp-block-embed is-type-video is-provider-videopress\">\n<figcaption>Credit: <a href=\"https://wordpress.org/support/article/site-editor/\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress Support</a></figcaption></figure><p>The WordPress Site Editor allows us to create and editing templates that are made of blocks. So the idea is that we can assemble a group of blocks that can be applied globally to a site. Like a header component, for example. That might consist of blocks for a site logo, a primary menu, and a tagline. The site editor allows us to create a new block theme or modify an existing theme to give the site\u2019s global appearance a completely new look without writing a line of code.</p>\n<p>So, you know how you\u2019ve had to build a theme in the past with a bunch of PHP templates? That\u2019s no longer the case. Theme \u201cdevelopment\u201d now has a UI that\u2019s available directly in WordPress.</p>\n<p>More detail on using site editor is in the <a href=\"https://wordpress.org/support/article/site-editor/\" rel=\"noopener\">WordPress documentation</a>.</p>\n<p class=\"is-style-explanation\">The official <a href=\"https://developer.wordpress.org/block-editor/explanations/glossary/\" rel=\"noopener\">WordPress Glossary</a> has additional terms and definitions you may want to explore as we dig deeper into WordPress Block Themes and FSE.</p>\n<h3 id=\"using-the-block-editor-with-classic-themes\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-using-the-block-editor-with-classic-themes\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-using-the-block-editor-with-classic-themes\"></a>Using the block editor with classic themes</h3>\n<p>The WordPress Block Editor can be used in both the classic and block themes. When the Gutenberg editor project began, the classic TinyMCE-based editor was detached from WordPress Core into the <a href=\"https://wordpress.org/plugins/classic-editor/\" rel=\"noopener\">Classic Editor plugin</a>. As long as the Classic Editor plugin is installed and active, content writing is pretty normal as it was before blocks were introduced.</p>\n<p>Prior to the formal introduction of block editor features, we had to install the experimental <a href=\"https://wordpress.org/plugins/gutenberg/\" rel=\"noopener\">Gutenberg plugin</a>. By simply switching plugins, individual page or post contents could be created with either editor. The <a href=\"https://wordpress.org/news/2018/12/bebo/\" rel=\"noopener\">WordPress 5.0 release</a> introduced the block editor alongside the default <a href=\"https://github.com/WordPress/twentynineteen/\" rel=\"noopener\">Twenty Nineteen</a> theme, demonstrating how to <a href=\"https://github.com/WordPress/twentynineteen/blob/master/functions.php#L98-L102\" rel=\"noopener\">add block editor features</a> and <a href=\"https://youtu.be/72xdCU__XCk\" rel=\"noopener\">explore its power</a>.</p>\n<p>In other words, <a href=\"https://css-tricks.com/the-wordpress-evolution-toward-full-site-editing/\">the evolution toward FSE</a> has been building for a while. And because of that, we get to enjoy a high level of backwards compatibility that allows us all to adopt block-based features when we\u2019re good and ready.</p>\n<h3 id=\"the-anatomy-of-block-based-themes\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-the-anatomy-of-block-based-themes\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-the-anatomy-of-block-based-themes\"></a>The anatomy of block-based themes</h3>\n<p><a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/block-theme-overview/\" rel=\"noopener\">Experimental block-based themes</a> have been in development <a href=\"https://make.wordpress.org/themes/2020/03/01/call-for-experimental-themes/\" rel=\"noopener\">since early 2020</a>. At the time I\u2019m writing this, the <a href=\"https://github.com/WordPress/theme-experiments\" rel=\"noopener\">GitHub theme experiment repository</a> lists 12 block themes that explore some aspect of creating themes using blocks or block templates.</p>\n<p>But it was probably the <a href=\"https://github.com/WordPress/twentytwentyone\" rel=\"noopener\">Twenty Twenty-One theme</a> that was the first \u201cdefault\u201d theme to make blocks a first-class citizen, introducing <a href=\"https://github.com/WordPress/twentytwentyone/tree/trunk/inc\" rel=\"noopener\">block styles and block patterns</a>, though the recently updated versions of Twenty Nineteen, and Twenty Twenty also include bundled block styling and block patterns. Currently, there are more than <a href=\"https://wordpress.org/themes/tags/block-patterns+block-styles/\" rel=\"noopener\">130 themes</a> from the community with bundled block editor patterns, block styles feature, including my favorite, Anders Noren\u2019s <a href=\"https://wordpress.org/themes/eksell/\" rel=\"noopener\">Eksell theme</a>.</p>\n<p>With the ongoing development of the WordPress Block Editor\u2019s FSE features, even more <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/block-theme-overview/\" rel=\"noopener\">block-based themes</a> are also being introduced.</p>\n<p>So, what does the development of block-based themes mean for those of us who are deeply entrenched in the \u201cclassic\u201d way of building WordPress themes? That\u2019s what I want to look at in this section.</p>\n<h4 id=\"the-file-structure-of-block-themes\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-the-file-structure-of-block-themes\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-the-file-structure-of-block-themes\"></a>The file structure of block themes</h4>\n<p>In classic PHP-powered theming, markup elements are generated with PHP and JavaScript, while in block themes those templates are entirely composed of HTML blocks and structural CSS provided by the block editor. This might sound scary for lots of folks, but it\u2019s easy to imagine just how liberating it is for others as it lowers the bar when it comes to developing a WordPress theme.</p>\n<p>The structure of a block theme is drastically different from the classic <a href=\"https://developer.wordpress.org/themes/basics/template-hierarchy/\" rel=\"noopener\">WordPress Template Hierarchy</a> that we all are used to. In classic PHP-based themes, page element markup has to be generated with PHP and JavaScript, whereas in block themes, the <a href=\"https://make.wordpress.org/core/\" rel=\"noopener\">WordPress Core</a> provides both the markup and basic styling. For example, the default Twenty Twenty-One theme contains 48 PHP files and 11 JavaScript files weighing in at 4.5 MB. Its block-based sibling, the experimental <a href=\"https://github.com/WordPress/theme-experiments/tree/master/tt1-blocks\" rel=\"noopener\">TT1 Blocks</a> theme, contains only four PHP files, one JavaScript file, and eight HTML files at 3.5 MB.</p>\n<div class=\"wp-container-3 wp-block-columns\">\n<div class=\"wp-container-1 wp-block-column\">\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"1674\" height=\"1420\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_EBAA84AD47536B9542B6D7A4234203A0E8BAA168FB21BF8FB62F5108E79E7B7C_1643310596538_wp-2021-files.png?resize=1674%2C1420&amp;ssl=1\" alt=\"Screenshot of a Mac window open to the default Twenty Twenty-One WordPress theme, displaying a long list of files.\" class=\"wp-image-362801\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_EBAA84AD47536B9542B6D7A4234203A0E8BAA168FB21BF8FB62F5108E79E7B7C_1643310596538_wp-2021-files.png?w=1674&amp;ssl=1 1674w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_EBAA84AD47536B9542B6D7A4234203A0E8BAA168FB21BF8FB62F5108E79E7B7C_1643310596538_wp-2021-files.png?resize=300%2C254&amp;ssl=1 300w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_EBAA84AD47536B9542B6D7A4234203A0E8BAA168FB21BF8FB62F5108E79E7B7C_1643310596538_wp-2021-files.png?resize=1024%2C869&amp;ssl=1 1024w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_EBAA84AD47536B9542B6D7A4234203A0E8BAA168FB21BF8FB62F5108E79E7B7C_1643310596538_wp-2021-files.png?resize=768%2C651&amp;ssl=1 768w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_EBAA84AD47536B9542B6D7A4234203A0E8BAA168FB21BF8FB62F5108E79E7B7C_1643310596538_wp-2021-files.png?resize=1536%2C1303&amp;ssl=1 1536w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_EBAA84AD47536B9542B6D7A4234203A0E8BAA168FB21BF8FB62F5108E79E7B7C_1643310596538_wp-2021-files.png?resize=1000%2C848&amp;ssl=1 1000w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" />\n<figcaption>Twenty Twenty-One theme folder</figcaption></figure></div>\n<div class=\"wp-container-2 wp-block-column\">\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"1674\" height=\"1418\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_EBAA84AD47536B9542B6D7A4234203A0E8BAA168FB21BF8FB62F5108E79E7B7C_1643310627080_wp-tt1-files.png?resize=1674%2C1418&amp;ssl=1\" alt=\"Screenshot of a Mac window open to the TT1 theme folder, showing that WordPress Block Themes contain fewer files.\" class=\"wp-image-362802\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_EBAA84AD47536B9542B6D7A4234203A0E8BAA168FB21BF8FB62F5108E79E7B7C_1643310627080_wp-tt1-files.png?w=1674&amp;ssl=1 1674w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_EBAA84AD47536B9542B6D7A4234203A0E8BAA168FB21BF8FB62F5108E79E7B7C_1643310627080_wp-tt1-files.png?resize=300%2C254&amp;ssl=1 300w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_EBAA84AD47536B9542B6D7A4234203A0E8BAA168FB21BF8FB62F5108E79E7B7C_1643310627080_wp-tt1-files.png?resize=1024%2C867&amp;ssl=1 1024w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_EBAA84AD47536B9542B6D7A4234203A0E8BAA168FB21BF8FB62F5108E79E7B7C_1643310627080_wp-tt1-files.png?resize=768%2C651&amp;ssl=1 768w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_EBAA84AD47536B9542B6D7A4234203A0E8BAA168FB21BF8FB62F5108E79E7B7C_1643310627080_wp-tt1-files.png?resize=1536%2C1301&amp;ssl=1 1536w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_EBAA84AD47536B9542B6D7A4234203A0E8BAA168FB21BF8FB62F5108E79E7B7C_1643310627080_wp-tt1-files.png?resize=1000%2C847&amp;ssl=1 1000w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" />\n<figcaption>TT1 theme folder</figcaption></figure></div>\n</div>\n<p>A block theme structure can be very simple with just a few <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/create-block-theme/#required-files-and-file-structure\" rel=\"noopener\">required files</a> : <code>index.php</code>, <code>style.css</code> and <code>template/index.html</code>. The following is a typical block theme file structure, pulled from the <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/block-theme-overview/\" rel=\"noopener\">WordPress Editor Handbook</a>:</p>\n<pre>#! basic block-theme structure\ntheme\n|__ style.css\n|__ functions.php\n|__ index.php\n|__ theme.json\n|__ templates\n    |__ index.html\n    |__ single.html\n    |__ archive.html\n    |__ ...\n|__ parts\n    |__ header.html\n    |__ footer.html\n    |__ sidebar.html\n    |__ ...</pre>\n<ul><li><code>styles.css</code>: Contains theme\u2019s style sheet</li>\n<li><code>functions.php</code>: Contains theme setup and may include additional files, enable an editor style sheet, and enqueue <code>style.css</code>, if there are any</li>\n<li><code>index.php</code>: An empty file to switch to default file in case the block theme is activated without the WordPress Block Editor.</li>\n<li><code>theme.json</code>: Optional configuration file used to enable or disable features and set default styles for both the website and blocks</li>\n<li><code>templates</code>: Contains page templates that are composed of blocks. These files follow the same template hierarchy as traditional themes.\n<ul><li><code>index.html</code>: The primary template to generate a post or page, analogous to <code>index.php</code> in classic themes</li>\n<li><code>single.html</code>: The template to generate single posts or pages</li>\n<li><code>archive.html</code>: The template to generate archive lists of posts</li>\n</ul></li>\n<li><code>parts</code>: The common collections of blocks to be used in block templates\n<ul><li><code>header.html</code>: The global header block</li>\n<li><code>footer.html</code>: The global footer block</li>\n<li><code>sidebar.html</code>: An optional global sidebar block</li>\n</ul></li>\n</ul><p class=\"is-style-explanation\">A list of theme blocks including that are <strong>specific to block themes</strong> is available in <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/block-theme-overview/#theme-blocks\" rel=\"noopener\">WordPress Block Editor Handbook</a>.</p>\n<h4 id=\"templates-and-template-parts\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-templates-and-template-parts\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-templates-and-template-parts\"></a>Templates and template parts</h4>\n<p><a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/block-theme-overview/#what-is-a-block-template\" rel=\"noopener\">Templates</a> are basically group of assembled blocks that might include reusable block parts, like a site header or footer. Different blocks are used to compose a page template. For example, that might be a list of blog posts, a list of products, or even a widget.</p>\n<p>Here\u2019s an example of a block template <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/block-theme-overview/#what-is-a-block-template\" rel=\"noopener\">pulled from the WordPress Block Editor Handbook</a>.</p>\n<pre>\n&lt;!-- wp:site-title /--&gt;\n&lt;!-- wp:image {\"sizeSlug\":\"large\"} --&gt;\n&lt;figure class=\"wp-block-image size-large\"&gt;\n    &lt;img src=\"https://cldup.com/0BNcqkoMdq.jpg\" alt=\"\" /&gt;\n&lt;/figure&gt;\n&lt;!-- /wp:image --&gt;\n&lt;!-- wp:group --&gt;\n&lt;div class=\"wp-block-group\"&gt;\n    &lt;!-- wp:post-title /--&gt;\n    &lt;!-- wp:post-content /--&gt;\n&lt;/div&gt;\n&lt;!-- /wp:group --&gt;\n&lt;!-- wp:group --&gt;\n&lt;div class=\"wp-block-group\"&gt;\n    &lt;!-- wp:heading --&gt;\n    &lt;h2&gt;Footer&lt;/h2&gt;\n    &lt;!-- /wp:heading --&gt;\n&lt;/div&gt;\n&lt;!-- /wp:group --&gt;</pre>\n<h3 id=\"creating-wordpress-block-themes\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-creating-wordpress-block-themes\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-creating-wordpress-block-themes\"></a>Creating WordPress Block Themes</h3>\n<p>The WordPress Site Editor is now the primary tool for defining the look and feel of a WordPress website. You may be used to using the WordPress Customizer to do these things \u2014 and some themes have heavily tapped into that to do what the site editor is now designed to do.</p>\n<p>So, no longer is the block editor for pages and posts; it\u2019s the way WordPress themes are created.</p>\n<p>I\u2019m assuming that many of you have already used the block editor, and don\u2019t really need a deep lesson on what it is or how to use it. That said, it\u2019s worth poking at it a bit since it\u2019s the impetus for everything related to WordPress theming moving forward, now that WordPress 5.9 is in the wild.</p>\n<p>In fact, when we talk about block editing and theming, yes, we\u2019re talking about the block editor. But really what we\u2019re talking about is the WordPress Site Editor.</p>\n<h4 id=\"the-wordpress-site-editor-interface\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-the-wordpress-site-editor-interface\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-the-wordpress-site-editor-interface\"></a>The WordPress Site Editor interface</h4>\n<p>Even as an early adopter of the Gutenberg plugin, I find the experience of the site editor intimidating and frustrating. It changes frequently and often drastically with each new release. I am hopeful, though, that WordPress 5.9 is a sort of line in the sand that helps stabilize that rocky feeling.</p>\n<p>The site editor is accessed the same way you\u2019re already used to accessing the WordPress Customizer. It\u2019s located under <strong>Appearance</strong> in the dashboard menu, called <strong>Editor</strong>.</p>\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"1015\" height=\"328\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1641579182160_editor-scr.png?resize=1015%2C328&amp;ssl=1\" alt=\"Screenshots of the WordPress admin Themes screen side-by-side, the first showing the classic WordPress menu items like Customize, Widgets, and Menus, while the second shows how a WordPress Block Themes only displays a single Editor menu item.\" class=\"wp-image-362806\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1641579182160_editor-scr.png?w=1015&amp;ssl=1 1015w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1641579182160_editor-scr.png?resize=300%2C97&amp;ssl=1 300w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1641579182160_editor-scr.png?resize=768%2C248&amp;ssl=1 768w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1641579182160_editor-scr.png?resize=1000%2C323&amp;ssl=1 1000w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" />\n<figcaption>The site editor option is available only when a block theme is activated. If you\u2019re using a classic theme, you\u2019ll get the classic UI to go with it.</figcaption></figure><p>Let\u2019s briefly walk-through the new Editor interface.</p>\n<p>First, navigate to the site editor by clicking <strong>Appearance \u2192 Editor</strong> from the WordPress admin menu. That menu item may have a red \u201cbeta\u201d label on it, like it currently does in WordPress 5.9.</p>\n<p>That takes you to the site editor, which displays either your homepage or post archive, depending on what you have your homepage set to in <strong>Settings \u2192 Reading</strong>. From there it sort of looks like the fullscreen version of the block editor when creating or editing a page or post. But click on the WordPress logo in the top-left of the screen, and a left panel opens up revealing the WordPress Site Editor and its menu to navigate between different parts of the site. This includes <strong>Site</strong>, <strong>Templates</strong>, and <strong>Template Parts</strong>.</p>\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"1024\" height=\"342\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/be-ui-1-1024x342-1.png?resize=1024%2C342&amp;ssl=1\" alt=\"Screenshot of the WordPress Site Editor. There is a dark gray left panel open with an Editor heading and three links for Site, Templates, and Template Parts. The main content shows a preview of the site homepage in the WordPress Block Editor.\" class=\"wp-image-362808\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/be-ui-1-1024x342-1.png?w=1024&amp;ssl=1 1024w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/be-ui-1-1024x342-1.png?resize=300%2C100&amp;ssl=1 300w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/be-ui-1-1024x342-1.png?resize=768%2C257&amp;ssl=1 768w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/be-ui-1-1024x342-1.png?resize=1000%2C334&amp;ssl=1 1000w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></figure><p>Let\u2019s click into Templates. This shows us a list of the available templates provided by the theme, complete with a description of each one and where it is registered (e.g. the parent or a child theme).</p>\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"1024\" height=\"456\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/be-ui-2-1024x456-1.png?resize=1024%2C456&amp;ssl=1\" alt=\"Screenshot of the site editor's Templates screen which shows a two-column table listing template on the left and who a template was added by on the right.\" class=\"wp-image-362811\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/be-ui-2-1024x456-1.png?w=1024&amp;ssl=1 1024w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/be-ui-2-1024x456-1.png?resize=300%2C134&amp;ssl=1 300w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/be-ui-2-1024x456-1.png?resize=768%2C342&amp;ssl=1 768w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/be-ui-2-1024x456-1.png?resize=1000%2C445&amp;ssl=1 1000w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></figure><p>The other way to get to this screen is from the initial page we landed on when entering the site editor. Click the name of the template in the top admin bar to reveal a button that takes you directly to the same Templates screen.</p>\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"1100\" height=\"453\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657311335_be-ui-3.png?resize=1100%2C453&amp;ssl=1\" alt=\"Screenshot of the Home template open in the WordPress Site Editor. The template name is at the top of the screen in a white toolbar and is expanded with a submenu that describes the template and provides a black button with white text to view all templates.\" class=\"wp-image-362814\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657311335_be-ui-3.png?w=1100&amp;ssl=1 1100w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657311335_be-ui-3.png?resize=300%2C124&amp;ssl=1 300w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657311335_be-ui-3.png?resize=1024%2C422&amp;ssl=1 1024w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657311335_be-ui-3.png?resize=768%2C316&amp;ssl=1 768w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657311335_be-ui-3.png?resize=1000%2C412&amp;ssl=1 1000w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></figure><p>Any of templates can be edited just like any page or post in the block editor. Let\u2019s say I don\u2019t like to have a featured image on my index page and want to remove it. Simply delete the featured image block and save the template.</p>\n<p>The other key part of the site editor UI is a list view that outlines the current blocks that are placed in the template. This has been a feature in WordPress since the introduction of the block editor, but what\u2019s new this time around is that you can open and close parent blocks that contain child blocks like an accordion. Not only that, but it supports dragging and dropping blocks to change the layout directly from there.</p>\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"1142\" height=\"584\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657329116_be-ui-4.png?resize=1142%2C584&amp;ssl=1\" alt=\"The WordPress Site Editor with a white left panel expanded revealing an outline of the current blocks that are applied to the template.\" class=\"wp-image-362818\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657329116_be-ui-4.png?w=1142&amp;ssl=1 1142w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657329116_be-ui-4.png?resize=300%2C153&amp;ssl=1 300w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657329116_be-ui-4.png?resize=1024%2C524&amp;ssl=1 1024w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657329116_be-ui-4.png?resize=768%2C393&amp;ssl=1 768w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657329116_be-ui-4.png?resize=1000%2C511&amp;ssl=1 1000w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></figure><p>One more thing in the site editor UI: you can clear out customizations with the click of a button. From the Templates screen, click the kebob menu next to a template and select the option to <strong>Clear customizations</strong>. This is a nice way to reset and start from scratch, should you need to.</p>\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"1022\" height=\"373\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657350471_be-ui-5.png?resize=1022%2C373&amp;ssl=1\" alt=\"Screenshot of the Template Parts screen in the WordPress Site Editor, showing a two-column able with a column that displays template names, and a column that identifies the location of the template part.\" class=\"wp-image-362821\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657350471_be-ui-5.png?w=1022&amp;ssl=1 1022w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657350471_be-ui-5.png?resize=300%2C109&amp;ssl=1 300w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657350471_be-ui-5.png?resize=768%2C280&amp;ssl=1 768w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657350471_be-ui-5.png?resize=1000%2C365&amp;ssl=1 1000w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></figure><p>The WordPress Core team publishes regular updates on what\u2019s new at <a href=\"https://make.wordpress.org/core/\" rel=\"noopener\">Make WordPress Core</a>. It\u2019s worth bookmarking that to stay posted on the latest changes to the WordPress Block Editor and Site Editor.</p>\n<h4 id=\"creating-templates-and-template-parts\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-creating-templates-and-template-parts\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-creating-templates-and-template-parts\"></a>Creating Templates and Template Parts</h4>\n<p>Templates, as you know, are core to WordPress theming. They enforce consistent and reusable layouts. That doesn\u2019t change in WordPress 5.9. And neither does the fact that we can create <strong>template parts</strong> that are like module pieces that can be used in multiple template, say a post query that lives in an archive template and the home template.</p>\n<p>What\u2019s different in WordPress 5.9 is that they are created and managed with the site editor rather than PHP files that live in the theme folder.</p>\n<p>The <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/create-block-theme/#creating-the-templates-and-template-parts\" rel=\"noopener\">Block Editor Handbook</a> lists three ways to create templates and template parts: (a) <strong>manually</strong>, by creating HTML files containing block markup, (b) <strong>using the site editor</strong>, and (c) <strong>using the template editing mode</strong> in the block editor.</p>\n<p>Brief descriptions of <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/create-block-theme/#template-creation-in-the-site-editor\" rel=\"noopener\">creating template in the site editor</a> and <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/create-block-theme/#template-editing-mode\" rel=\"noopener\">template editing mode</a> are available in the <em>Block Theme handbook</em>. The WordPress 5.9 allows to create a new template using editor mode.</p>\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"1022\" height=\"713\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657585247_temp-create-1.png?resize=1022%2C713&amp;ssl=1\" alt=\"Screenshot of the Template Parts screen open in the WordPress Site Editor. A modal is open above the UI that contains an interface to create a template part, including the part's name and area.\" class=\"wp-image-362825\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657585247_temp-create-1.png?w=1022&amp;ssl=1 1022w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657585247_temp-create-1.png?resize=300%2C209&amp;ssl=1 300w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657585247_temp-create-1.png?resize=768%2C536&amp;ssl=1 768w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657585247_temp-create-1.png?resize=1000%2C698&amp;ssl=1 1000w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></figure><p>The customized templates can then be <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/create-block-theme/#exporting\" rel=\"noopener\">exported</a> to include in a block theme. So, yeah, we now have the ability to create a fully functioning WordPress theme without writing a line of code! The exported folder currently does not contain <code>theme.json</code> file, however <a href=\"https://github.com/WordPress/gutenberg/issues/27941\" rel=\"noopener\">there is a proposal over at GitHub</a> to allow exporting both block themes and styles.</p>\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"1022\" height=\"473\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657611951_temp-create-2.png?resize=1022%2C473&amp;ssl=1\" alt=\"Screenshot of the WordPress Site Editor preferences panel open as a white panel to the left of the screen.\" class=\"wp-image-362829\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657611951_temp-create-2.png?w=1022&amp;ssl=1 1022w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657611951_temp-create-2.png?resize=300%2C139&amp;ssl=1 300w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657611951_temp-create-2.png?resize=768%2C355&amp;ssl=1 768w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639657611951_temp-create-2.png?resize=1000%2C463&amp;ssl=1 1000w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></figure><p>But for those who prefer working more closely with code, then manually creating WordPress templates and template parts is still a thing. You can still crack open a code editor and create HTML files containing block markup.</p>\n<h3 id=\"global-settings-and-styles-theme-json\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-global-settings-and-styles-theme-json\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-global-settings-and-styles-theme-json\"></a>Global settings and styles (<code>theme.json</code>)</h3>\n<p>In classic themes, we write the styling rules in a <code>style.css</code> file. In block themes, styling is more challenging because CSS comes from different sources (e.g. core blocks, themes, and users). WordPress 5.8 introduced a concept of <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-json/\" rel=\"noopener\">Global Styles</a> \u2014 which is essentially a <code>theme.json</code> file \u2014 that, <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-json/#rationale\" rel=\"noopener\">according to the docs</a>, consolidate \u201cthe various APIs related to styles into a single point \u2013 a <code>theme.json</code> file that should be located inside the root of the theme directory.\u201c</p>\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"906\" height=\"786\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/bb-child-4.png?resize=906%2C786&amp;ssl=1\" alt=\"Screenshot of a theme dot jayson file open in the VS Code editor. The file contains objects for version and settings. The settings object contains a color object. The color object contains a palette objects which contains properties for slightly, color, name, and default.\" class=\"wp-image-362831\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/bb-child-4.png?w=906&amp;ssl=1 906w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/bb-child-4.png?resize=300%2C260&amp;ssl=1 300w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/bb-child-4.png?resize=768%2C666&amp;ssl=1 768w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></figure><p>The <code>theme.json</code> file is said to have been designed to offer more <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-json/#styles-are-managed\" rel=\"noopener\">granular styling structure</a> for theme authors with options to manage and customize the CSS styles coming from various origins. For example, a theme author may <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-json/#settings-for-the-block-editor\" rel=\"noopener\">set certain styling features</a> that are hidden from users, define default colors, font sizes and other features available to the user, and may set the default layout of the editor as well. Plus, <code>theme.json</code> allows you to <a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-json/#settings-can-be-controlled-per-block\" rel=\"noopener\">customize styling on a per-block basis</a>. It\u2019s powerful, flexible, and super maintainable!</p>\n<p>The block editor is expected to provide all the basic styling that theme authors are allowed to customize style, as defined by the <code>theme.json</code> file. However, the <code>theme.json</code> file could get quite long for a complex theme, and currently there is no way to partition it in a more digestible way. There is a <a href=\"https://github.com/WordPress/gutenberg/issues/36548#issue-1055300957\" rel=\"noopener\">GitHub ticket</a> to restructure it so that different <code>theme.json</code> files map to a <code>/styles</code> folder. That would be a nice enhancement for developer experience.</p>\n<p>The default <a href=\"https://wordpress.org/themes/twentytwentytwo/\" rel=\"noopener\">Twenty Twenty-Two theme</a> is a good example of how WordPress full-site editing features use <code>theme.json</code> for global settings and styling blocks.</p>\n<h3 id=\"wordpress-block-theme-approaches\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-wordpress-block-theme-approaches\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-wordpress-block-theme-approaches\"></a>WordPress Block Theme approaches</h3>\n<p>Maybe you\u2019ve always made WordPress themes from scratch. Perhaps you\u2019ve relied on the Underscores theme as a starting point. Or maybe you have a favorite theme you extend with a child theme. The new features of the WordPress Site Editor really change the way we make themes.</p>\n<p>Following are a few emerging strategies for block-based theme development that are deeply integrated with the WordPress Site Editor.</p>\n<h4 id=\"universal-themes\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-universal-themes\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-universal-themes\"></a>Universal themes</h4>\n<p>The Automattic team has built a <a href=\"https://blockbasetheme.com/\" rel=\"noopener\">Blockbase universal theme</a> that\u2019s dubbed as a new way to build themes, sort of similar to the <a href=\"https://underscores.me\" rel=\"noopener\">Underscores</a> <a href=\"https://underscores.me\" rel=\"noopener\">starter theme</a>. The Blockbase theme provides temporary \u201cponyfill\u201d styles that the block editor \u201cdoes not yet take into account on <code>theme.json</code> \u2018custom\u2019 properties\u201d and that may eventually become obsolete once the Gutenberg plugin fully matures and is integrated into WordPress Core.</p>\n<p>Using the <a href=\"https://themeshaper.com/2021/10/06/universal-themes/\" rel=\"noopener\">universal parent theme</a> approach, the Automattic has already released <a href=\"https://wordpress.org/themes/tags/full-site-editing/\" rel=\"noopener\">eight Blockbase child themes</a>, and several others are <a href=\"https://github.com/Automattic/themes\" rel=\"noopener\">in progress over at GitHub</a>.</p>\n<h4 id=\"twenty-twenty-two-default-theme\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-twenty-twenty-two-default-theme\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-twenty-twenty-two-default-theme\"></a>Twenty Twenty-Two default theme</h4>\n<p>The <a href=\"https://github.com/WordPress/twentytwentytwo\" rel=\"noopener\">Twenty Twenty-Two</a> default theme is another excellent starting point, as it\u2019s really the first WordPress theme that ships with WordPress that is designed to work with the site editor.</p>\n<p>In my opinion, this theme is excellent for theme developers who are already familiar with FSE features to showcase what is possible. For others users who are not developers and are not familiar with FSE features, customizations it in the block editor, then exporting it as a child theme could be painfully frustrating and overwhelming.</p>\n<h4 id=\"hybrid-themes\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-hybrid-themes\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-hybrid-themes\"></a>Hybrid themes</h4>\n<p>The concept of \u201cHybrid\u201d themes in the context of FSE is discussed in <a href=\"https://github.com/WordPress/gutenberg/issues/29024\" rel=\"noopener\">this GitHub ticket</a>. The idea is to provide paths for any user to <a href=\"https://wptavern.com/universal-wordpress-themes-virtual-hallway-hangout-planned-for-may-14\" rel=\"noopener\">use the site or template editor to override traditional theme templates</a>.</p>\n<p>Justin Tadlock in <a href=\"https://wptavern.com/universal-wordpress-themes-virtual-hallway-hangout-planned-for-may-14\" rel=\"noopener\">this WP Tavern post</a> predicts four types of themes \u2014 block only, universal, hybrid, and classic \u2014 and speculates that theme authors may split between \u201cblock themes and a mashup of classic/hybrid themes.\u201d</p>\n<p>Proof in the pudding is provided by Frank Klein in <a href=\"https://wpdevelopment.courses/articles/hybrid-theme-learnings/\" rel=\"noopener\">\u201cWhat I Learned Building a Hybrid Theme</a>\u201d:</p>\n<blockquote class=\"wp-block-quote\">\n<p>A <strong>hybrid theme</strong> mixes the traditional theming approach with full-site editing features. A key component here is the <code>theme.json</code> file. It offers more control over the block editor\u2019s settings, and simplifies styling blocks. A hybrid theme can use block templates as well, but that\u2019s optional.</p>\n</blockquote>\n<p>Frank is the author of the <a href=\"https://wordpress.org/themes/block-based-bosco/\" rel=\"noopener\">Block-Based Bosco</a> theme and has expanded further on what a \u201chybrid theme\u201d is by creating a <a href=\"https://github.com/WP-Development-Courses/hybrid-twenty-twenty\" rel=\"noopener\">hybrid version of the default Twenty Twenty theme</a>. The theme is <a href=\"https://github.com/WP-Development-Courses/hybrid-twenty-twenty\" rel=\"noopener\">available on GitHub</a>. Currently, there are no hybrid themes in the <a href=\"https://wordpress.org/themes/\" rel=\"noopener\">WordPres Theme Directory</a>.</p>\n<h4 id=\"wordpress-community-themes\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-wordpress-community-themes\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-wordpress-community-themes\"></a>WordPress community themes</h4>\n<p>At the time of writing, there are 47 block-based themes with FSE features available in the <a href=\"https://wordpress.org/themes/tags/full-site-editing/\" rel=\"noopener\">theme directory</a>. As expected, this approach is widely varied.</p>\n<p>For example, <a href=\"https://www.elmastudio.de/en/wordpress-block-themes-introduction-part-one/\" rel=\"noopener\">in this post</a>, Aino block theme author <a href=\"https://github.com/ellenbauer\" rel=\"noopener\">Ellen Bower</a> discusses how they converted their classic theme into a block theme, detailing what makes a theme a \u201cblock\u201d theme. The file structure of this approach <a href=\"https://github.com/elmastudio/aino-blocks\" rel=\"noopener\">looks different</a> from the standard block theme structure we covered earlier.</p>\n<p>Another popular block theme, <a href=\"https://wordpress.org/themes/tove/\" rel=\"noopener\">Tove</a> by <a href=\"https://andersnoren.se/about-anders-noren/\" rel=\"noopener\">Andars Noren</a>, is described as a <a href=\"https://andersnoren.se/introducing-tove/\" rel=\"noopener\">flexible base theme</a> that follows the standard block theme file structure.</p>\n<p>There\u2019s also a very simple single page proof of the concept theme by Carolina Nymark that contains nothing but a single <code>index.html</code> called <a href=\"https://wordpress.org/themes/miniblock-ooak/\" rel=\"noopener\">Miniblock OOAK</a>. It\u2019s already available in the theme directory, as is <a href=\"https://github.com/x3p0-dev/x3p0-profile/tree/e65b2604c3bd695c67cb16062673519cd48c9ea1\" rel=\"noopener\">another one from Justin Tadlock</a> that\u2019s a work in progress (and he wrote up his process <a href=\"https://wptavern.com/if-this-is-modern-wordpress-theme-development-sign-me-up\" rel=\"noopener\">in a separate article</a>).</p>\n<h4 id=\"block-theme-generator-app\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-block-theme-generator-app\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-block-theme-generator-app\"></a>Block Theme Generator app</h4>\n<p>Even though we\u2019ve already established how friendly WordPress Block Themes are for non-developers, there are tools that help create complete block themes or merely a customized <code>theme.json</code> file.</p>\n<p><a href=\"https://twitter.com/dgwyer\" rel=\"noopener\">David Gwyer</a>, an Automattic engineer, has been working on a <a href=\"https://themegen.app/\" rel=\"noopener\">Block theme generator</a> app which, at the time of writing, is in beta and available for testing by request.</p>\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"988\" height=\"744\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639654350325_themegenapp.png?resize=988%2C744&amp;ssl=1\" alt=\"Screenshot of the Block Theme Generator app homepage. It has a bright blue background and dark blue text that welcomes you to the site, and a screenshot of the app.\" class=\"wp-image-362833\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639654350325_themegenapp.png?w=988&amp;ssl=1 988w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639654350325_themegenapp.png?resize=300%2C226&amp;ssl=1 300w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/s_0575E34E9913D73AAE970189AC09E725229C0389CB98795BA5FA7CF6108359BF_1639654350325_themegenapp.png?resize=768%2C578&amp;ssl=1 768w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></figure><p>In my brief testing, the app only allowed me to generate customized <code>theme.json</code> file. But <a href=\"https://wptavern.com/david-gwyer-teases-block-theme-generator-app-plans-for-a-community-of-creators\" rel=\"noopener\">Gwyer told to WP Tavern</a> that the app isn\u2019t fully baked just yet, but features are being added often. Once complete, this could be a very helpful resource for theme authors to create customized block themes.</p>\n<h3 id=\"block-themes-that-are-currently-in-use\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-block-themes-that-are-currently-in-use\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-block-themes-that-are-currently-in-use\"></a>Block themes that are currently in use</h3>\n<p>This <a href=\"https://twitter.com/carolinapoena/status/1481886005804384258?cxt=HHwWhIC-2ZHe25ApAAAA\" rel=\"noopener\">Twitter thread</a> from Carolina Nymark shows some examples of block themes that are live and in production at the time of this writing. In a <a href=\"https://yoast.com/full-site-editing-in-wordpress/\" rel=\"noopener\">recent Yoast article</a>, Carolina listed a bunch of personal and business websites that use block themes.</p>\n<h4 id=\"personal-sites\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-personal-sites\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-personal-sites\"></a>Personal sites</h4>\n<ul><li><a href=\"https://femkreations.com/\" rel=\"noopener\">femcreations.com</a></li>\n<li><a href=\"https://femkreations.com/\" rel=\"noopener\">helen.blog</a></li>\n<li><a href=\"https://richtabor.com/\" rel=\"noopener\">Rich Tabor</a></li>\n<li><a href=\"https://lesley.pizza/\" rel=\"noopener\">Lesly.pizza</a></li>\n<li><a href=\"https://damonacook.com/\" rel=\"noopener\">dimonacook.com</a></li>\n<li><a href=\"https://ryelle.codes/2021/12/switching-to-a-block-based-theme/\" rel=\"noopener\">ryelle.codes</a></li>\n</ul><h4 id=\"business-sites\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-business-sites\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-business-sites\"></a>Business sites</h4>\n<ul><li><a href=\"https://fullsiteediting.com/\" rel=\"noopener\">fullsiteediting.com</a></li>\n<li><a href=\"https://sitefly.be/\" rel=\"noopener\">sitefly.be</a></li>\n<li><a href=\"https://wpvip.com/\" rel=\"noopener\">wpvip.com</a></li>\n<li><a href=\"https://ainoblocks.io/\" rel=\"noopener\">Ainoblocks</a></li>\n<li><a href=\"https://pagely.com/\" rel=\"noopener\">pagely.com</a></li>\n<li><a href=\"https://frostwp.com/\" rel=\"noopener\">frostwp.com</a></li>\n<li><a href=\"https://wptavern.com/\" rel=\"noopener\">WP Tavern</a></li>\n</ul><p>As I mentioned earlier, I also have been using a block theme for <a href=\"https://justwrite.atsixtyseven.com/\" rel=\"noopener\">one of my personal websites</a> for a while. The default Twenty Twenty-Two theme also currently shows <a href=\"https://wordpress.org/themes/twentytwentytwo/\" target=\"_blank\" rel=\"noreferrer noopener\">more than 60,000 active installs</a>, which tells me there are many more examples of block-based theme implementations in the wild.</p>\n<h3 id=\"building-block-child-themes\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-building-block-child-themes\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-building-block-child-themes\"></a>Building Block Child Themes</h3>\n<p>Child theming is still a thing in this new era of WordPress blocks, though something that\u2019s still in early days. In other words, there is no clear approach to do make a block-based child theme, and there are no existing tools to help at the moment.</p>\n<p>That said, a few approaches for creating WordPress child block themes are emerging.</p>\n<h4 id=\"create-blockbase-theme-plugin\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-create-blockbase-theme-plugin\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-create-blockbase-theme-plugin\"></a>Create Blockbase Theme plugin</h4>\n<p>The Automattic team is working on a plugin called <a href=\"https://github.com/Automattic/create-blockbase-theme\" rel=\"noopener\">Create Blockbase Theme</a>. This will make it fairly trivial to create child themes based on the Blockbase universal theme we talked about earlier. Ben Dwyer has discussed how theme authors can <a href=\"https://themeshaper.com/2021/11/17/create-a-blockbase-child-theme/\" rel=\"noopener\">build Blockbase child themes with simple six steps</a> and without writing a line of code.</p>\n<p>I tested the plugin in my own local environment, making only small changes to my Blockbase theme install, and everything appeared to work. Just note that the plugin is still experimental and under development, though you can <a href=\"https://github.com/Automattic/create-blockbase-theme\" rel=\"noopener\">follow the roadmap</a> to see what\u2019s up.</p>\n<h4 id=\"using-an-alternate-theme-json-file\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-using-an-alternate-theme-json-file\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-using-an-alternate-theme-json-file\"></a>Using an alternate <code>theme.json</code> file</h4>\n<p><a href=\"https://twitter.com/kjellr\" rel=\"noopener\">Kjell Reigstad</a>, author of the default WordPress Twenty Twenty-Two theme, demonstrates how swapping a single <code>theme.json</code> file with another <code>theme.json</code> file that contains different style configurations can change the look and feel of a block-based theme design.</p>\n<blockquote class=\"twitter-tweet\">\n<p dir=\"ltr\" lang=\"en\">Last week I created a quick demo of how the visual aesthetic of Twenty Twenty-Two can be drastically changed through its theme.json settings. This example swaps the default json file for one with different font, color, duotone, and spacing values. <a href=\"https://t.co/ab9tyGwLOS\">pic.twitter.com/ab9tyGwLOS</a></p><div>\n\u2014 kjellr (@kjellr) </div><a href=\"https://twitter.com/kjellr/status/1451536195616395272?ref_src=twsrc%5Etfw\" rel=\"noopener\">October 22, 2021</a></blockquote>\n<p>Kjell has opened a <a href=\"https://github.com/WordPress/theme-experiments/pull/292\" rel=\"noopener\">pull request</a> that shows off several experimental child themes that are available for testing at the <a href=\"https://github.com/WordPress/theme-experiments/tree/add/tt2-child-themes\" rel=\"noopener\">GitHub theme-experiment</a> GitHub repository.</p>\n<figure class=\"wp-block-image size-full\"><img data-lazy-fallback=\"1\" width=\"746\" height=\"442\" src=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/tt2-variations.png?resize=746%2C442&amp;ssl=1\" alt=\"A three-by-two grid of screenshots of child themes based on the default WordPress Twenty Twenty-Two theme in alternate colors schemes.\" class=\"wp-image-362836\" srcset=\"https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/tt2-variations.png?w=746&amp;ssl=1 746w, https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/tt2-variations.png?resize=300%2C178&amp;ssl=1 300w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></figure><p>Along these same lines, <a href=\"https://github.com/ryanwelcher/\" rel=\"noopener\">Ryan Welcher</a> is in the process of developing a <a href=\"https://github.com/ryanwelcher/theme-json-builder\" rel=\"noopener\"><code>theme.json</code> builder</a> tool that will generate a customized <code>theme.json</code> file to facilitate non-coders to create similar child themes. More can be found in <a href=\"https://wptavern.com/skins-are-back-in-style-proposal-for-themes-to-bundle-user-selectable-design-variations\" rel=\"noopener\">this WP Tavern post</a>.</p>\n<p>The <a href=\"https://wordpress.org/themes/framboise/\" target=\"_blank\" rel=\"noreferrer noopener\">Framboise</a> child theme (available in theme directory) is an early example of that approach which includes only a single <code>theme.json</code> file.</p>\n<h4 id=\"is-there-even-a-need-for-child-themes\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-is-there-even-a-need-for-child-themes\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-is-there-even-a-need-for-child-themes\"></a>Is there even a need for child themes?</h4>\n<p>Rich Tabor asks the question:</p>\n<blockquote class=\"twitter-tweet\">\n<p dir=\"ltr\" lang=\"en\">If a theme consist of JSON and block templates that can both be modified via Global Styles, then what are child themes for?</p><div>\n\u2014 Rich Tabor (@richard_tabor) </div><a href=\"https://twitter.com/richard_tabor/status/1452611152089862160?ref_src=twsrc%5Etfw\" rel=\"noopener\">October 25, 2021</a></blockquote>\n<p>Indeed, <a href=\"https://wptavern.com/designing-block-based-wordpress-child-themes-with-a-single-json-file\" rel=\"noopener\">a single <code>theme.json</code> file</a> could serve as a child theme on its own. There is an <a href=\"https://github.com/WordPress/gutenberg/pull/35619\" rel=\"noopener\">ongoing discussion</a> about allowing theme authors to ship multiple <code>theme.json</code> files with block themes that offer multiple global style variations. This way, a WordPress user could pick one of the variations to use on the site.</p>\n<p>Some features of <a href=\"https://github.com/WordPress/gutenberg/pull/35619\" rel=\"noopener\">global style variations</a> are already included in <a href=\"https://github.com/WordPress/gutenberg/releases/tag/v12.5.0-rc.1\" target=\"_blank\" rel=\"noreferrer noopener\">Gutenberg v12. 5</a> and expected to be available with <a href=\"https://make.wordpress.org/core/2022/01/26/preliminary-roadmap-for-6-0/\" rel=\"noopener\">WordPress 6.0.</a></p>\n<h3 id=\"some-personal-thoughts\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-some-personal-thoughts\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-some-personal-thoughts\"></a>Some personal thoughts</h3>\n<p>I\u2019d be remiss to end this without weighing in on all this from a personal level. I\u2019ll do this briefly in a few points.</p>\n<h4 id=\"block-themes-are-a-wordpress-answer-to-jamstack-criticisms\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-block-themes-are-a-wordpress-answer-to-jamstack-criticisms\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-block-themes-are-a-wordpress-answer-to-jamstack-criticisms\"></a>Block themes are a WordPress answer to Jamstack criticisms</h4>\n<p>Jamstack enthusiasts have lobbed criticisms at the WordPress platform, most notably that WordPress themes are bloated with PHP files. Well, that\u2019s no longer the case with WordPress Block Themes.</p>\n<p>We saw earlier how an entire theme can be a single <code>index.html</code> file and a <code>theme.json</code> file. No bloat there. And nothing but markup.</p>\n<h4 id=\"i-miss-the-wordpress-customizer\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-i-miss-the-wordpress-customizer\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-i-miss-the-wordpress-customizer\"></a>I miss the WordPress Customizer</h4>\n<p>Especially the ability to inject custom code. From here on out, it\u2019s going to require a deep level of familiarity with the WordPress Site Editor UI to accomplish the same thing.</p>\n<h4 id=\"customizations-a-site-is-easy-peasy\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-customizations-a-site-is-easy-peasy\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-customizations-a-site-is-easy-peasy\"></a>Customizations a site is easy-peasy.</h4>\n<p>Customizing a classic theme \u2014 even something as minimal as changing fonts \u2014 can be difficult if you don\u2019t know what you\u2019re doing. That\u2019s changed now with the site editor and the introduction of the <code>theme.json</code> file, where a theme can be customized (and even exported!) without writing a single line of code.</p>\n<p>I still hold my opinion, though that the site editor interface is confusing. I think a pleasant user experience is a far ways off but looking forward to the <a href=\"https://make.wordpress.org/core/2022/01/26/preliminary-roadmap-for-6-0/\" rel=\"noopener\">next WordPress 6.0 release</a> for better user experience.</p>\n<h4 id=\"barriers-to-designing-themes-is-getting-lower\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-barriers-to-designing-themes-is-getting-lower\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-barriers-to-designing-themes-is-getting-lower\"></a>Barriers to designing themes is getting lower.</h4>\n<p>It\u2019s less about PHP and template files, and more about developing patterns and creating content. That sounds exactly what a content management system should be designed to do! I am already excited with <a href=\"https://make.wordpress.org/core/2022/01/26/preliminary-roadmap-for-6-0/\" rel=\"noopener\">new features</a> being considered for the WordPress 6.0 release.</p>\n<h3 id=\"resources\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-resources\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-resources\"></a>Resources</h3>\n<p>There is already a <em>ton</em> of other articles that cover WordPress Block Themes, full-site editing, and the block editor. And many of those came <em>before</em> WordPress 5.9 was released!</p>\n<p>So, in addition to this article, here\u2019s a collection of others for you to consider as you begin or continue down your journey of WordPress blocks and site editing.</p>\n<h4 id=\"wordpress-5-9\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-wordpress-5-9\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-wordpress-5-9\"></a>WordPress 5.9</h4>\n<ul><li><strong><a href=\"https://youtu.be/XvEG9XWD4JI\" rel=\"noopener\">Introducing WordPress 5.9</a></strong> (official release video)</li>\n<li><strong><a href=\"https://youtu.be/r59aR1tmY6k\" rel=\"noopener\">Exploring WordPress 5.9</a></strong> (video by Ann McCarthy)</li>\n<li><strong><a href=\"https://youtu.be/U7NkL8YKfUA\" rel=\"noopener\">Exploring Navigation Block</a></strong> (video by Ann McCarthy)</li>\n<li><strong><a href=\"https://make.wordpress.org/core/2021/10/06/introducing-twenty-twenty-two/\" rel=\"noopener\">Introducing Twenty Twenty-Two</a></strong> (Kjell Reigstad)</li>\n<li><strong><a href=\"https://gutenbergtimes.com/how-5-9-creates-a-strong-foundation-for-the-future/\" rel=\"noopener\">How 5.9 creates a strong foundation for the future</a></strong> (Gutenberg Times)</li>\n<li><strong><a href=\"https://yoast.com/full-site-editing-in-wordpress/\" rel=\"noopener\">What is full site editing (FSE) in WordPress?</a></strong> (Yoast)</li>\n</ul><h4 id=\"site-editor-and-block-themes\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-site-editor-and-block-themes\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-site-editor-and-block-themes\"></a>Site editor and block themes</h4>\n<ul><li><strong><a href=\"https://developer.wordpress.org/block-editor/how-to-guides/themes/block-theme-overview/\" rel=\"noopener\">WordPress Block Editor Handbook</a></strong></li>\n<li><strong><a href=\"https://wordpress.org/patterns/\" rel=\"noopener\">WordPress Pattern Directory</a></strong></li>\n<li><strong><a href=\"https://github.com/WordPress/theme-experiments\" rel=\"noopener\">WordPress Theme Experiments</a></strong> (GitHub)</li>\n<li><strong><a href=\"https://www.youtube.com/watch?v=fKbZuxo7RxE\" rel=\"noopener\">WordPress Gutenberg Blocks Basics</a></strong> (video by WP Apprentice)</li>\n<li><strong><a href=\"https://www.youtube.com/watch?v=S-6c-TrTC6Y\" rel=\"noopener\">Introduction to Block-based themes</a></strong> (video, Kjell Reigstad)</li>\n<li><strong><a href=\"https://learn.wordpress.org/course/simple-site-design-with-full-site-editing/\" rel=\"noopener\">Simple Site Design with Full Site Editing</a></strong> (Learn WordPress)</li>\n<li><strong><a href=\"https://fullsiteediting.com/lessons/how-to-use-php-templates-in-block-themes/\" rel=\"noopener\">How to use PHP templates in block themes</a></strong> (Carolina Nymark)</li>\n</ul><h4 id=\"selected-blog-posts\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-selected-blog-posts\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-selected-blog-posts\"></a>Selected blog posts</h4>\n<ul><li><strong><a href=\"https://andersnoren.se/a-new-era-for-wordpress-themes/\" rel=\"noopener\">A New Era for WordPress Themes</a></strong> (Anders Noren)</li>\n<li><strong><a href=\"https://publishing-project.rivendellweb.net/gutenberg-full-site-editing-and-block-based-themes/\" rel=\"noopener\">Gutenberg Full Site Editing and Block-Based Themes</a></strong> (The Publishing Project)</li>\n<li><strong><a href=\"https://wordpress.org/news/2021/03/so-you-want-to-make-block-patterns/\" rel=\"noopener\">So you want to make block patterns?</a></strong> (WordPress.org news)</li>\n<li><strong><a href=\"https://matiasventura.com/post/the-theme-json-horizon/\" rel=\"noopener\">The theme.json horizon</a></strong> (Matia Ventura)</li>\n<li><strong><a href=\"https://ryelle.codes/2021/12/switching-to-a-block-based-theme/\" rel=\"noopener\">Switching to a block-based theme</a></strong> (Kelly Ryelle)</li>\n</ul><h4 id=\"other-useful-links\"><a href=\"https://css-tricks.com/a-deep-introduction-to-wordpress-block-themes/#aa-other-useful-links\" aria-hidden=\"true\" class=\"aal_anchor\" id=\"aa-other-useful-links\"></a>Other useful links</h4>\n<ul><li><strong><a href=\"https://wptavern.com/\" rel=\"noopener\">WP Tavern</a>:</strong> The site covers <a href=\"https://wptavern.com/category/themes\" rel=\"noopener\">block themes</a>, <a href=\"https://wptavern.com/tag/gutenberg\" rel=\"noopener\">Gutenberg releases</a> and plugins helping readers to learn what is new on World Press.</li>\n<li><strong><a href=\"https://gutenbergtimes.com/\" rel=\"noopener\">Gutenberg Times</a>:</strong> The site covers important Gutenberg news and links to related to block editor, full site editing, every week.</li>\n<li><strong><a href=\"https://make.wordpress.org/themes/\" rel=\"noopener\">Make WordPress Themes</a>:</strong> Published meeting notes on themes and Gutenberg + Theme series.</li>\n<li><strong><a href=\"https://make.wordpress.org/core/\" rel=\"noopener\">Make WordPress Core</a>:</strong> Publishes new content following every Gutenberg release on a bi-weekly basis.</li>\n</ul><hr class=\"wp-block-separator\" /><p>As expected in beta testing, the site editor is still intimating and confusing, nevertheless, I am finding it a fun to work with block themes. Indeed, I have been already modifying Twenty Twenty-Two as a child theme and plan to create style alternatives using single <code>theme.json</code> file.</p>\n<p>Have you been using block themes in your project, if so, share your experience and thoughts; I love reading any comments and feedback!</p>",
    "created_at": "2022-08-15T07:09:03+00:00",
    "updated_at": "2022-08-15T07:09:13+00:00",
    "published_at": "2022-02-04T07:07:04+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "en",
    "reading_time": 26,
    "domain_name": "css-tricks.com",
    "preview_picture": "https://css-tricks.com/wp-json/social-image-generator/v1/image/362799",
    "http_status": "200",
    "headers": {
      "date": "Mon, 15 Aug 2022 07:09:03 GMT",
      "content-type": "text/html; charset=UTF-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "cf-edge-cache": "cache,platform=wordpress",
      "link": "<https://css-tricks.com/wp-json/>; rel=\"https://api.w.org/\", <https://css-tricks.com/wp-json/wp/v2/posts/362799>; rel=\"alternate\"; type=\"application/json\", <https://css-tricks.com/?p=362799>; rel=shortlink",
      "x-xss-protection": "1",
      "x-content-type-options": "nosniff",
      "referrer-policy": "no-referrer-when-downgrade",
      "x-fw-server": "Flywheel/5.1.0",
      "x-fw-dynamic": "TRUE",
      "x-fw-hash": "lwxgywlq8s",
      "x-fw-version": "5.0.0",
      "x-cacheable": "YES",
      "fastly-restarts": "1",
      "x-served-by": "cache-cdg20764-CDG",
      "x-cache": "MISS",
      "x-cache-hits": "0",
      "x-timer": "S1660547343.375848,VS0,VE356",
      "vary": "Accept-Encoding",
      "x-fw-serve": "TRUE",
      "x-fw-static": "NO",
      "x-fw-type": "VISIT",
      "cf-cache-status": "DYNAMIC",
      "expect-ct": "max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"",
      "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
      "server": "cloudflare",
      "cf-ray": "73b01a400db3998c-CDG"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["wordpress", "gutenberg"],
    "is_public": false,
    "id": 40,
    "title": "Gutenberg : Le Guide complet de l\u2019\u00e9diteur de WordPress [Tuto]",
    "url": "https://www.pourpasunrond.fr/mise-en-page/",
    "given_url": "https://www.pourpasunrond.fr/mise-en-page/",
    "content": "<p class=\"has-text-align-center has-text-color c12\">Cet article prend environ 22 minutes \u00e0 lire en int\u00e9gralit\u00e9.</p><p class=\"has-drop-cap\">T Tous les outils sont imm\u00e9diatement disponibles dans <strong>WordPress</strong> pour cr\u00e9er des <strong>articles attractifs</strong>.</p><p>D\u00e9couvre toutes les possibilit\u00e9s de <strong>mises en page</strong> offertes par <strong>Gutenberg</strong>, son \u00e9diteur, dans ce guide pas \u00e0 pas.</p><p>Tu auras toutes les cartes en main pour enchanter tes lecteurs.</p><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_31_1 counter-hierarchy\"><div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\">Sommaire</p></div></div><p>Je te propose un survol des usages de Gutenberg et de ses alternatives avant nous attaquer \u00e0 la mise en pratique.</p><h2 class=\"alignwide\">Gutenberg, c\u2019est quoi ?</h2><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24714\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 218\"><img width=\"600\" height=\"300\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/gutenberg-quoi.png\" alt=\"Gutenberg, c'est quoi ?\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/gutenberg-quoi.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/gutenberg-quoi-480x240.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Gutenberg est l\u2019<strong>\u00e9diteur par d\u00e9faut de WordPress</strong> depuis fin 2018. Il s\u2019approche de MS Word ou de Google Docs (en beaucoup plus riche).</p><p>Son fonctionnement par blocs est un peu perturbant au premier usage. Chaque \u00e9l\u00e9ment est g\u00e9r\u00e9 ind\u00e9pendamment :</p><ul><li>Les titres</li>\n<li>Les textes</li>\n<li>Les images</li>\n<li>Les boutons\u2026</li>\n</ul><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24579\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 219\"><img width=\"600\" height=\"352\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/blocs-gutenberg.png\" alt=\"blocs gutenberg\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/blocs-gutenberg.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/blocs-gutenberg-480x282.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Je te rassure. Tu prends tr\u00e8s vite le pli.</p><h3>Les avantages et les inconv\u00e9nients de Gutenberg</h3><div class=\"wp-container-10 wp-block-columns\"><div class=\"wp-container-8 wp-block-column\"><p>\ud83d\udc4d</p><ul><li>La vitesse d\u2019\u00e9dition</li>\n<li>La richesse des options</li>\n<li>Les blocs personnalis\u00e9s</li>\n<li>Les suppl\u00e9ments des extensions</li>\n</ul></div><div class=\"wp-container-9 wp-block-column\"><p>\ud83d\udc4e</p><ul><li>Rame un peu pour les gros articles</li>\n<li>Le manque des sommaires et des textes repliables en natif</li>\n<li>Des options r\u00e9serv\u00e9es \u00e0 certains th\u00e8mes</li>\n</ul></div></div><p>Voyons le r\u00f4le de Gutenberg et de ses alternatives.</p><h2>FSE, Constructeurs de page, \u00c9diteur classique</h2><h3>L\u2019\u00e9diteur classique</h3><p>Il s\u2019agit du <strong>pr\u00e9c\u00e9dent \u00e9diteur</strong> qui n\u2019avait pas \u00e9volu\u00e9 depuis des lustres. Il reste encore quelques nostalgiques mais ils se font de plus en plus rares depuis la rectification des erreurs de jeunesse. Pour moi, il n\u2019apporte aucun avantage. De plus, Gutenberg devient incontournable pour g\u00e9rer ton site.</p><h3>L\u2019\u00e9dition de site, le full site editing</h3><p>Gutenberg est au centre de la gestion du site, bien au-del\u00e0 de la mise en page, avec la mise en place du full site editing. <strong>Tu g\u00e8res directement ton en-t\u00eate, ton pied de page, ton menu\u2026 avec l\u2019\u00e9diteur.</strong> Je n\u2019aborde pas ce point dans cet article mais les principes \u00e9voqu\u00e9s fonctionnent \u00e0 l\u2019identique.</p><h3>Les constructeurs de page \u2013 Elementor, DIVI, Oxygen\u2026</h3><p>Gutenberg s\u2019est fortement inspir\u00e9 de la composition par blocs adopt\u00e9e par les constructeurs de pages. Ils ne seront pas d\u00e9tr\u00f4n\u00e9s tout de suite dans la <strong>finesse des r\u00e9glages</strong> mais surtout pour la richesse des <strong>biblioth\u00e8ques de designs</strong>.</p><p>Elementor, Oxyden et DIVI int\u00e8grent de nombreuses options comme les <strong>transitions entre blocs</strong> qui demandent l\u2019installation d\u2019extensions pour \u00eatre reproduits dans Gutenberg. Ils \u00e9taient incontournables pour personnaliser l\u2019int\u00e9gralit\u00e9 d\u2019un site. Le full site editing rogne cet avantage d\u00e9cisif.</p><p>Gutenberg s\u2019enrichit et int\u00e8gre de nouvelles options \u00e0 chaque mise \u00e0 jour. De plus en plus de propri\u00e9taires <strong>abandonnent les constructeurs de pages pour all\u00e9ger les sites et s\u2019assurer de la continuit\u00e9 du service.</strong> Cela demande de faire preuve de cr\u00e9ativit\u00e9 et de patience pour concevoir des pages d\u2019accueil et de vente sophistiqu\u00e9es.</p><p>Commen\u00e7ons par les bases pour d\u00e9buter avec Gutenberg.</p><h2 id=\"les-fondamentaux-gutenberg-et-le-maniement-des-blocs\">L\u2019interface et le maniement des blocs</h2><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20543\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 220\"><img width=\"600\" height=\"300\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/fondamentaux.png\" alt=\"Les Fondamentaux : Gutenberg et le maniement des blocs\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/fondamentaux.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2021/03/fondamentaux-480x240.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu fais la connaissance du fameux Gutenberg quand tu ajoutes un nouvel article (ou une nouvelle page).</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20371\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 221\"><img width=\"202\" height=\"131\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/ajouter-article.png\" alt=\"ajouter un nouvel article\" referrerpolicy=\"no-referrer\" /></picture></figure><h3 id=\"l-interface-de-gutenberg\">L\u2019interface de Gutenberg</h3><p>La page est divis\u00e9e en plusieurs espaces.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26430\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 222\"><img width=\"600\" height=\"352\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/interface-gutenberg-article.png\" alt=\"interface gutenberg article\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/interface-gutenberg-article.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/06/interface-gutenberg-article-480x282.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu reviens \u00e0 l\u2019interface de WordPress avec le logo qui se situe \u00e0 c\u00f4t\u00e9 du premier menu en haut.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26431\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 223\"><img width=\"380\" height=\"76\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/barre-principale-gutenberg.png\" alt=\"barre principale gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>J\u2019utilise principalement le plan de l\u2019article (D\u00e9tails). Il te donne ton volume de mots, de caract\u00e8res et met en \u00e9vidence une hi\u00e9rarchisation illogique.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24580\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 224\"><img width=\"549\" height=\"745\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/navigation-wordpress.png\" alt=\"navigation gutenberg wordpress\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/navigation-wordpress.png 549w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/navigation-wordpress-480x651.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu te d\u00e9places dans ton article en cliquant sur la section.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-23724\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 225\"><img width=\"424\" height=\"128\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/navigation-sommaire.png\" alt=\"navigation dans le sommaire\" referrerpolicy=\"no-referrer\" /></picture></figure><p>La vue en liste est pr\u00e9cieuse pour s\u00e9lectionner un \u00e9l\u00e9ment pr\u00e9cis dans une composition complexe. Tu d\u00e9places les blocs en les glissant.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24581\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 226\"><img width=\"441\" height=\"378\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/vue-liste-gutenberg.png\" alt=\"vue liste de gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu s\u00e9lectionnes plusieurs blocs avec la touche majuscule.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26432\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 227\"><img width=\"434\" height=\"391\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/selection-multiples-vue-liste.png\" alt=\"s\u00e9lection multiples sur la vue en liste\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu sauvegardes ton brouillon ou publies ton article \u00e0 l\u2019aide du menu en haut \u00e0 droite. Tu trouveras les options avanc\u00e9es que nous aborderons plus tard dans l\u2019article.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24582\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 228\"><img width=\"477\" height=\"73\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/bouton-publier-gutenberg.png\" alt=\"bouton publier gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Gutenberg propose de pr\u00e9visualiser sur mobile et tablette. C\u2019est un gadget sans int\u00e9r\u00eat. Cela ne te donne aucune id\u00e9e du rendu sur ton site une fois publi\u00e9.</p><p>Il est beaucoup plus utile de <strong>Pr\u00e9visualiser dans un nouvel onglet</strong> pour voir \u00e0 quoi ressemble ton article en conditions r\u00e9elles. Tu peux utiliser les options de simulation d\u2019une vue mobile de ton navigateur pour valider l\u2019adaptation de l\u2019affichage.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18762\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 229\"><img width=\"346\" height=\"308\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/previsualiser-mobile.png\" alt=\"pr\u00e9visualiser publication wordpress\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu retrouves les <strong>options compl\u00e9mentaires du bloc</strong> s\u00e9lectionn\u00e9 dans l\u2019onglet Bloc</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26433\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 230\"><img width=\"374\" height=\"579\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/options-articles-blocs.png\" alt=\"options articles blocs\" referrerpolicy=\"no-referrer\" /></picture></figure><p>et les <strong>options de l\u2019article</strong> dans le menu de droite dans l\u2019onglet Article.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24630\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 231\"><img width=\"352\" height=\"493\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/options-article.png\" alt=\"options article\" referrerpolicy=\"no-referrer\" /></picture></figure><p>C\u2019est ici que tu trouveras l\u2019<strong>image d\u2019illustration de l\u2019article</strong> qui se place en g\u00e9n\u00e9ral sous le titre et qui illustre les extraits de la publication.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16490\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 232\"><img width=\"320\" height=\"199\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/image-mise-en-avant.png\" alt=\"image mise en avant\" referrerpolicy=\"no-referrer\" /></picture></figure><p>L\u2019<strong>extrait de l\u2019article</strong> servira de description pour les moteurs de recherche si tu n\u2019utilises pas une extension SEO comme RankMath ou Yoast.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16491\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 233\"><img width=\"297\" height=\"217\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/extrait-article.png\" alt=\"extrait article\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu indiques \u00e9galement la <strong>cat\u00e9gorie</strong> de ton article.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16664\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 234\"><img width=\"234\" height=\"170\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/ajout-categorie.png\" alt=\"cat\u00e9gorie de l'article\" referrerpolicy=\"no-referrer\" /></picture></figure><p>L\u2019utilisation des <strong>\u00e9tiquettes</strong> est rarement recommand\u00e9e car elle brouille les th\u00e9matiques pour le r\u00e9f\u00e9rencement naturel.</p><p>Quand ton article est finalis\u00e9, tu cliques sur <strong>publier</strong></p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18767\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 235\"><img width=\"436\" height=\"120\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/publier.png\" alt=\"publier gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>et tu confirmes. Je te recommande de v\u00e9rifier la date de publication.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18768\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 236\"><img width=\"350\" height=\"298\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/confirmer-publication-wordpress.png\" alt=\"confirmer publication wordpress\" referrerpolicy=\"no-referrer\" /></picture></figure><p>La notion de bloc est centrale dans l\u2019utilisation de Gutenberg.</p><h3>Le maniement des blocs</h3><p>Les blocs sont les \u00e9l\u00e9ments qui composent ta page. Tu ajoutes un nouveau bloc par cat\u00e9gorie d\u2019\u00e9l\u00e9ment : texte, visuel, vid\u00e9o, colonnes, bouton\u2026</p><p>Ils s\u2019empilent verticalement.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18659\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 237\"><img width=\"440\" height=\"399\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/blocs-gutenberg.png\" alt=\"blocs gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Le bloc par d\u00e9faut est le paragraphe qui abrite du texte. Il est disponible d\u00e8s que tu sautes une ligne avec Entr\u00e9e.</p><p>Pour <strong>ajouter un bloc</strong>, tu cliques sur le + qui appara\u00eet au survol entre deux blocs. Il peut \u00eatre un peu capricieux pour s\u2019afficher.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26436\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 238\"><img width=\"600\" height=\"139\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/ajouter-bloc-gutenberg-survol.png\" alt=\"ajouter bloc gutenberg survol\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/ajouter-bloc-gutenberg-survol.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/06/ajouter-bloc-gutenberg-survol-480x111.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Une autre option sera de s\u00e9lectionner un bloc et d\u2019utiliser la touche Entr\u00e9e puis de cliquer sur Ajouter un bloc situ\u00e9 en fin de ligne.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18661\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 239\"><img width=\"400\" height=\"94\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/choix-bloc.png\" alt=\"choix du type de bloc\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu d\u00e9couvres les blocs les plus utilis\u00e9s. Tu acc\u00e8des aux autres avec Tout parcourir.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24584\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 240\"><img width=\"446\" height=\"418\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/rechercher-bloc.png\" alt=\"rechercher bloc\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu acc\u00e8des directement \u00e0 l\u2019ensemble des blocs avec le + du menu haut.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18663\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 241\"><img width=\"400\" height=\"379\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/menu-blocs.png\" alt=\"liste des blocs pour la mise en page Gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Les blocs sont organis\u00e9s par th\u00e9matiques.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20373\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 242\"><img width=\"417\" height=\"617\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/blocs-disponibles.png\" alt=\"blocs disponibles\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu cliques sur un bloc pour l\u2019int\u00e9grer \u00e0 l\u2019emplacement s\u00e9lectionn\u00e9. Tu glisses et d\u00e9poses successivement plusieurs blocs pour \u00e9viter les allers-retours.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20374\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 243\"><img width=\"458\" height=\"251\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/glisser-deposer-bloc.png\" alt=\"glisser d\u00e9poser blocs gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Pour <strong>d\u00e9placer ton bloc</strong> dans ta page, tu utilises les fl\u00e8ches.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18668\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 244\"><img width=\"242\" height=\"213\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/deplacer-bloc-gutenberg.png\" alt=\"d\u00e9placer ton bloc gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Pour d\u00e9placer plusieurs blocs, tu s\u00e9lectionnes le premier et le dernier de la s\u00e9rie avec la touche MAJ enfonc\u00e9e.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18669\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 245\"><img width=\"400\" height=\"342\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/selection-blocs-multiples.png\" alt=\"s\u00e9lection de blocs multiples\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Le <strong>copier-coller</strong> facilite \u00e9galement les d\u00e9placements de blocs.</p><p>Pour <strong>supprimer un bloc Gutenberg</strong>, tu utilises le menu d\u00e9roulant \u00e0 droite de la barre d\u2019outils puis Retirer le bloc ou la touche effacer (celle avec la fl\u00e8che vers la gauche).</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18670\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 246\"><img width=\"600\" height=\"472\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/supprimer-bloc-gutenberg.png\" alt=\"retirer un bloc\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/supprimer-bloc-gutenberg.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2020/09/supprimer-bloc-gutenberg-480x378.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Pour <strong>changer le style d\u2019un bloc</strong>, tu te positionnes en haut \u00e0 gauche de ta barre d\u2019outils.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18671\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 247\"><img width=\"405\" height=\"357\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/changer-style-bloc.png\" alt=\"modifier le style de bloc\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu verrouilles ton bloc pour \u00e9viter les modifications involontaires.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26458\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 248\"><img width=\"438\" height=\"477\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/verrouiller-bloc-gutenberg.png\" alt=\"Verrouiller un bloc gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu emp\u00eaches le d\u00e9placement ou la suppression.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26459\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 249\"><img width=\"564\" height=\"436\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/options-verrouiller.png\" alt=\"options pour verrouiller\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/options-verrouiller.png 564w, https://www.pourpasunrond.fr/wp-content/uploads/2022/06/options-verrouiller-480x371.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Cette option peut-\u00eatre utile pour proposer un mod\u00e8le commun pour une \u00e9quipe de r\u00e9dacteurs mais ne te serviras pas au quotidien.</p><p>Difficile d\u2019imaginer un site sans textes.</p><h2>La mise en forme du texte, des titres, des listes et des tableaux</h2><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20550\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 250\"><img width=\"600\" height=\"300\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/mise-forme.png\" alt=\"La mise en forme du texte, des titres et des tableaux\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/mise-forme.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2021/03/mise-forme-480x240.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Les titres structurent ton contenu et facilitent sa consultation. Ils sont essentiels pour que Google comprenne les th\u00e9matiques abord\u00e9es dans ton texte.</p><h3 id=\"le-titre-principal-et-le-permalien\">Les titres et le permalien</h3><p>Tu compl\u00e8tes le titre principal de ton article qui sera automatiquement en hi\u00e9rarchie 1 (H1). Il est possible de mettre plusieurs titres H1 dans un article mais cela n\u2019est pas souhaitable.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16099\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 251\"><img width=\"582\" height=\"200\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/03/completer-titre.png\" alt=\"Gutenberg ajout de titre\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/03/completer-titre.png 582w, https://www.pourpasunrond.fr/wp-content/uploads/2020/03/completer-titre-480x165.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu enregistres le brouillon. Cette option appara\u00eet d\u00e8s que tu commences \u00e0 travailler sur ton article.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18652\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 252\"><img width=\"506\" height=\"75\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/enregistrer-brouillon-gutenberg.png\" alt=\"enregistrer brouillon\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/enregistrer-brouillon-gutenberg.png 506w, https://www.pourpasunrond.fr/wp-content/uploads/2020/09/enregistrer-brouillon-gutenberg-480x71.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><h4>L\u2019url de ton article</h4><p>WordPress g\u00e9n\u00e8re automatiquement l\u2019URL. Ce <strong>permalien m\u00e9rite d\u2019\u00eatre revu</strong> dans l\u2019onglet Article du menu droit &gt; Permalien. Tu retrouves l\u2019ensemble des mots de ton titre s\u00e9par\u00e9s par des tirets.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24585\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 253\"><img width=\"356\" height=\"428\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/permalien-gutenberg.png\" alt=\"permalien gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Le plus court et compr\u00e9hensible sera le mieux. Tu <strong>supprimes tous les termes inutiles</strong> pour conserver uniquement le mot-cl\u00e9 de ton article. Tu passes par exemple de \u00ab\u00a0le-guide-ultime-des-tontes-ete-chiens-race-2026\u00a0\u00bb \u00e0 \u00ab\u00a0tontes-ete-chiens\u00a0\u00bb.</p><p>Ton permalien sera toujours en <strong>minuscules sans accent</strong> avec les termes <strong>s\u00e9par\u00e9s par des tirets</strong> (touche du 6).</p><p>Apart\u00e9 SEO : Je t\u2019encourage fortement \u00e0 installer une <strong>extension SEO</strong> comme <a aria-label=\"Rank Math (opens in a new tab)\" class=\"rank-math-link\" href=\"https://www.pourpasunrond.fr/rank-math/\" target=\"_blank\" rel=\"noreferrer noopener\">Rank Math</a>, Yoast ou SEOpress pour personnaliser le titre qui appara\u00eet dans les r\u00e9sultats des moteurs de recherche.</p><h4>La hi\u00e9rarchie des titres</h4><p>Tes lecteurs naviguent ais\u00e9ment entre les diff\u00e9rents chapitres et trouvent facilement l\u2019information recherch\u00e9e \u00e0 l\u2019aide des titres.</p><p>Tu s\u00e9lectionnes le niveau de hi\u00e9rarchie \u00e0 appliquer. Le titre 1 (H1) est attribu\u00e9 automatiquement au titre principal de l\u2019article. Mieux vaut ne jamais l\u2019utiliser.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24586\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 254\"><img width=\"364\" height=\"380\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/hierarchie-titres.png\" alt=\"hi\u00e9rarchie des titres dans Gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Cela donne en pratique :</p><ul><li>Mon premier sujet (Titre <strong>H2</strong>)\n<ul><li>Ma section 1.1 (Titre <strong>H3</strong>)\n<ul><li>Ma sous-section 1.1.1 (Titre <strong>H4</strong>)\n<ul><li>Texte (Paragraphe)</li>\n</ul></li>\n</ul></li>\n</ul></li>\n</ul><p>Il est rarissime d\u2019utiliser les titres au-del\u00e0 du Titre 4.</p><p>Il est possible de faire d\u00e9passer les titres de la zone de texte avec les options Grande largeur et Pleine largeur disponibles dans certains th\u00e8mes.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20381\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 255\"><img width=\"255\" height=\"214\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/titre-pleine-largeur.png\" alt=\"titre pleine largeur\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu colores et personnalises tes titres comme tu le souhaites. Nous voyons ces options tout de suite car elles s\u2019appliquent \u00e0 l\u2019identique pour les textes.</p><h3>La mise en forme des textes</h3><p>Les paragraphes g\u00e8rent les textes de ton article. Tu trouves les fonctionnalit\u00e9s de mise en page standard dans la barre au-dessus de ton paragraphe.</p><ul><li>Les <strong>alignements</strong></li>\n</ul><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18681\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 256\"><img width=\"344\" height=\"284\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/aligner-texte.png\" alt=\"alignements\" referrerpolicy=\"no-referrer\" /></picture></figure><ul><li>Les options de formatage directement accessibles : <strong>Gras</strong> | <em>Italique</em> | <a aria-label=\"Lien (opens in a new tab)\" class=\"rank-math-link\" href=\"https://www.pourpasunrond.fr/\" target=\"_blank\" rel=\"noreferrer noopener\">Lien</a></li>\n</ul><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24587\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 257\"><img width=\"148\" height=\"57\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/formatages-texte-standards.png\" alt=\"formatages standards du texte\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Pour ajouter un <strong>lien</strong>, tu s\u00e9lectionnes ton texte et tu copies l\u2019url (ou tu tapes des termes pour disposer d\u2019une suggestion d\u2019articles). Tu valides avec la fl\u00e8che.</p><p>Tu ouvres ton lien dans un nouvel onglet en d\u00e9pliant le menu.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18683\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 258\"><img width=\"511\" height=\"322\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/ajouter-lien.png\" alt=\"ins\u00e9rer un lien\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/ajouter-lien.png 511w, https://www.pourpasunrond.fr/wp-content/uploads/2020/09/ajouter-lien-480x302.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Rank Math ajoute les options <strong>Ne pas suivre le lien</strong> (pour les moteurs de recherche) et <strong>Lien sponsoris\u00e9</strong> (directive de Google).</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16126\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 259\"><img width=\"238\" height=\"204\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/03/options-liens-rank-math.png\" alt=\"options des liens de rank math\" referrerpolicy=\"no-referrer\" /></picture></figure><ul><li>Les options avanc\u00e9es de formatage</li>\n</ul><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24588\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 260\"><img width=\"575\" height=\"429\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/formatage-textes-options-supplementaires.png\" alt=\"formatage textes options supplementaires\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/formatage-textes-options-supplementaires.png 575w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/formatage-textes-options-supplementaires-480x358.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p><span class=\"c13\">Barrer</span> | <code>Code en ligne</code> | <sup>Exposant</sup> | Image | <sub>Indice</sub> | <mark class=\"has-inline-color c14\">Mettre</mark><mark class=\"has-inline-color c15\">en \u00e9vidence</mark> | <kbd>Saisie au clavier</kbd></p><p>Le <strong>code en ligne</strong> \u00e9vite que du code HTML ne s\u2019ex\u00e9cute.</p><p>Les <strong>images int\u00e9gr\u00e9es</strong> dans le texte sont surtout utiles dans les tableaux. Tu cliques sur l\u2019image pour indiquer sa largeur en pixels (cela ne fonctionne plus pour moi).</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18684\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 261\"><img width=\"326\" height=\"166\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/largeur-image-inline.png\" alt=\"largeur image inline\" referrerpolicy=\"no-referrer\" /></picture></figure><p><strong>Mettre en \u00e9vidence</strong> colore le texte s\u00e9lectionn\u00e9 et le fond.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24589\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 262\"><img width=\"278\" height=\"306\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/couleur-personnalisee-texte.png\" alt=\"couleur personnalis\u00e9e du texte dans Gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu cliques sur les param\u00e8tres pour pr\u00e9ciser une teinte sp\u00e9cifique.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24590\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 263\"><img width=\"274\" height=\"451\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/personnaliser-hex-couleur-texte.png\" alt=\"personnaliser hex couleur du texte\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu disposes de fonctionnalit\u00e9s suppl\u00e9mentaires dans le menu de droite.</p><h4>Les options suppl\u00e9mentaires pour personnaliser ton texte dans le menu</h4><p>Les modifications s\u2019appliquent pour l\u2019ensemble du paragraphe.</p><p><strong>Couleur</strong></p><p>Tu d\u00e9finis les couleurs du texte et de l\u2019arri\u00e8re-plan.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26437\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 264\"><img width=\"376\" height=\"209\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/definir-couleurs-du-paragraphe-dans-wordpress.png\" alt=\"definir couleurs du paragraphe dans wordpress\" referrerpolicy=\"no-referrer\" /></picture></figure><p class=\"has-luminous-vivid-orange-color has-text-color\">Couleur du texte</p><p class=\"has-text-color has-background c16\">Couleur d\u2019arri\u00e8re-plan</p><p>Tu retrouves la couleur des liens dans les options.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26438\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 265\"><img width=\"371\" height=\"257\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/couleur-lien-gutenberg.png\" alt=\"couleur lien gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p><strong>Typographie</strong></p><p>Tu disposes de 4 tailles par d\u00e9faut (petite, moyen, large et extra large).</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26439\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 266\"><img width=\"374\" height=\"179\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/taille-polices-gutenberg.png\" alt=\"typographie wordpress tailles pr\u00e9d\u00e9finies\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu personnalises la taille exacte dans les r\u00e9glages (en pixels, em ou rem).</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24596\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 267\"><img width=\"375\" height=\"250\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/typographie-wordpress-taille-personnalisee.png\" alt=\"typographie wordpress taille personnalis\u00e9e\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu disposes de 4 r\u00e9glages suppl\u00e9mentaires dans les options.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26440\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 268\"><img width=\"370\" height=\"336\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/activer-options-typographie-gutenberg.png\" alt=\"Activer les options de typographie dans Gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>La <strong>hauteur de ligne</strong> exprime l\u2019espace que prend ton texte en hauteur. Cela permet d\u2019a\u00e9rer tes paragraphes.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26441\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 269\"><img width=\"378\" height=\"211\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/reglage-hauteur-ligne-gutenberg.png\" alt=\"r\u00e9glage hauteur ligne gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p class=\"c17\">Ce texte est en hauteur de ligne 0.8.Tu vois qu\u2019il est compress\u00e9.</p><p class=\"c18\">Celui-ci est en 2.Les lignes sont distantes. Il est pr\u00e9f\u00e9rable d\u2019effectuer ces r\u00e9glages au niveau du th\u00e8me et de ne g\u00e9rer ici que les rares exceptions.</p><p>Tu s\u00e9lectionnes la <strong>graisse de ta police et son style</strong> dans Apparence.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24598\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 270\"><img width=\"314\" height=\"420\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/changer-style-police-gutenberg.png\" alt=\"changer style police gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>La <strong>casse</strong> modifie toutes les lettres en majuscules ou la premi\u00e8re lettre de chaque mot. L\u2019<strong>interlettrage</strong> ajoute un espacement entre chaque lettre.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24599\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 271\"><img width=\"334\" height=\"206\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/casse-interlettrage-gutenberg.png\" alt=\"casse et interlettrage dans gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p><strong>Lettrine</strong></p><p>Cette option n\u2019est plus disponible dans le menu.</p><p class=\"has-drop-cap\">T Tu affiches une lettre surdimensionn\u00e9e (lettrine). Elle met en avant la premi\u00e8re lettre de ton paragraphe dans un style magazine.</p><p>Tu ajoutes d\u00e9sormais une lettrine \u00e0 ton paragraphe en indiquant <code>has-drop-cap</code> dans Avanc\u00e9 &gt; Classe(s) CSS additionnelle(s).</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26442\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 272\"><img width=\"372\" height=\"574\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/ajout-lettrine-css.png\" alt=\"ajout lettrine en css\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Les listes a\u00e8rent la mise en page et \u00e9vitent l\u2019effet \u00ab\u00a0pav\u00e9 de texte\u00a0\u00bb.</p><h3 id=\"10-les-listes\">Les listes</h3><p>Deux types de listes sont disponibles :</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18696\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 273\"><img width=\"94\" height=\"53\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/listes.png\" alt=\"options de liste\" referrerpolicy=\"no-referrer\" /></picture></figure><ul><li>la liste classique avec un point</li>\n</ul><ol><li>la liste ordonn\u00e9e avec une num\u00e9rotation</li>\n</ol><p>Tu organises la hi\u00e9rarchisation avec les retraits.</p><figure class=\"wp-block-image aligncenter size-large is-resized\"><picture class=\"wp-image-18697\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 274\"><img src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/retraits.png\" alt=\"hi\u00e9rarchisation des listes\" width=\"89\" height=\"52\" referrerpolicy=\"no-referrer\" /></picture></figure><ol start=\"1\"><li>Point principal\n<ol><li>Sous partie</li>\n</ol></li>\n</ol><p>Tu modifies le chiffre de d\u00e9part ou tu inverses l\u2019ordre de la liste dans les options.</p><p>Les citations animent tes textes.</p><h3 id=\"11-les-citations\">Les citations</h3><p>Tu disposes de deux options pour les citations. Tu remarques un emplacement sp\u00e9cifique pour l\u2019auteur est disponible sous le texte.</p><p>La <strong>citation classique</strong></p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18698\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 275\"><img width=\"124\" height=\"44\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/citation.png\" alt=\"citation classique\" referrerpolicy=\"no-referrer\" /></picture></figure><blockquote class=\"wp-block-quote is-style-default\">\n<p>\u00ab\u00a0Ceci est une citation d\u2019une grande port\u00e9e philosophique.\u00a0\u00bb</p>\n<div><cite>Auteur inconnu</cite></div></blockquote><p>Tu annules la d\u00e9coration avec le style Uni.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26443\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 276\"><img width=\"364\" height=\"130\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/citation-style-uni.png\" alt=\"citation style uni\" referrerpolicy=\"no-referrer\" /></picture></figure><blockquote class=\"wp-block-quote is-style-plain\">\n<p>\u00ab\u00a0Ceci est une citation d\u2019une grande port\u00e9e philosophique.\u00a0\u00bb</p>\n<div><cite>Auteur inconnu</cite></div></blockquote><p>La <strong>citation en exergue</strong> met en valeur le texte en l\u2019isolant du contenu.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18699\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 277\"><img width=\"205\" height=\"54\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/citation-exergue.png\" alt=\"citation en exergue\" referrerpolicy=\"no-referrer\" /></picture></figure><figure class=\"wp-block-pullquote\"><blockquote>\n<p>Ceci est une citation hautement remarquable.</p>\n<div><cite>Auteur timide</cite></div></blockquote>\n</figure><p>Le bloc couplet est d\u00e9di\u00e9 aux paroles d\u2019une chanson.</p><h3 id=\"15-ajoute-un-tableau-\">Les tableaux</h3><p>Les tableaux <strong>facilitent la pr\u00e9sentation de chiffres</strong>. Les colonnes sont plus flexibles pour la mise en forme des textes et des visuels.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18700\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 278\"><img width=\"111\" height=\"38\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/tableau.png\" alt=\"tableau\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu configures le nombre de lignes et de colonnes.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24600\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 279\"><img width=\"490\" height=\"270\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/inserer-tableau-gutenberg.png\" alt=\"inserer tableau dans gutenberg\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/inserer-tableau-gutenberg.png 490w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/inserer-tableau-gutenberg-480x264.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><figure class=\"wp-block-table alignwide @font-face\"><table><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Ville</strong></td>\n<td class=\"has-text-align-center\" data-align=\"center\"><strong>Chien</strong></td>\n<td class=\"has-text-align-center\" data-align=\"center\"><strong>Chat</strong></td>\n</tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Paris</strong></td>\n<td class=\"has-text-align-center\" data-align=\"center\">356</td>\n<td class=\"has-text-align-center\" data-align=\"center\">23</td>\n</tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Bordeaux</strong></td>\n<td class=\"has-text-align-center\" data-align=\"center\">87</td>\n<td class=\"has-text-align-center\" data-align=\"center\">789</td>\n</tr></tbody></table></figure><p>Tu ajoutes des bandes de couleurs pour marquer les lignes en modifiant le style.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18702\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 280\"><img width=\"380\" height=\"412\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/style-tableau.png\" alt=\"changer le style du tableau avec des rayures\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu g\u00e8res l\u2019alignement du tableau.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20424\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 281\"><img width=\"274\" height=\"366\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/alignement-tableau.png\" alt=\"alignement d'un tableau\" referrerpolicy=\"no-referrer\" /></picture></figure><figure class=\"wp-block-table aligncenter is-style-stripes\"><table><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Ville</strong></td>\n<td class=\"has-text-align-center\" data-align=\"center\"><strong>Chien</strong></td>\n<td class=\"has-text-align-center\" data-align=\"center\"><strong>Chat</strong></td>\n</tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Toulon</strong></td>\n<td class=\"has-text-align-center\" data-align=\"center\">58</td>\n<td class=\"has-text-align-center\" data-align=\"center\">98</td>\n</tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Paris</strong></td>\n<td class=\"has-text-align-center\" data-align=\"center\">356</td>\n<td class=\"has-text-align-center\" data-align=\"center\">23</td>\n</tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Bordeaux</strong></td>\n<td class=\"has-text-align-center\" data-align=\"center\">87</td>\n<td class=\"has-text-align-center\" data-align=\"center\">789</td>\n</tr></tbody></table></figure><p>Tu ajoutes ou tu retires des lignes et des colonnes avec Modifier le tableau.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18704\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 282\"><img width=\"290\" height=\"385\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/modifier-tableau.png\" alt=\"modifier tableau : ajout et retrait de lignes et colonnes\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Pour ajouter une image, tu te places dans la case correspondante et tu utilises Image en ligne.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18705\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 283\"><img width=\"402\" height=\"343\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/image-tableau.png\" alt=\"image dans un tableau WordPress\" referrerpolicy=\"no-referrer\" /></picture></figure><figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-center\" data-align=\"center\">Chien</th>\n<th class=\"has-text-align-center\" data-align=\"center\">Chat</th>\n</tr></thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">Autonome</td>\n<td class=\"has-text-align-center\" data-align=\"center\"><picture class=\"wp-image-16268 c19\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 284\"><img width=\"100\" height=\"99\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/03/faux.png\" alt=\"ic\u00f4ne faux\" referrerpolicy=\"no-referrer\" /></picture></td>\n<td class=\"has-text-align-center\" data-align=\"center\"><picture class=\"wp-image-16269 c19\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 285\"><img width=\"100\" height=\"100\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/03/vrai.png\" alt=\"ic\u00f4ne vrai\" referrerpolicy=\"no-referrer\" /></picture></td>\n</tr><tr><td class=\"has-text-align-center\" data-align=\"center\">D\u00e9fense</td>\n<td class=\"has-text-align-center\" data-align=\"center\"><picture class=\"wp-image-16269 c19\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 285\"><img width=\"100\" height=\"100\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/03/vrai.png\" alt=\"ic\u00f4ne vrai\" referrerpolicy=\"no-referrer\" /></picture></td>\n<td class=\"has-text-align-center\" data-align=\"center\"><picture class=\"wp-image-16268 c19\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 284\"><img width=\"100\" height=\"99\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/03/faux.png\" alt=\"ic\u00f4ne faux\" referrerpolicy=\"no-referrer\" /></picture></td>\n</tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Te mangera</td>\n<td class=\"has-text-align-center\" data-align=\"center\"><picture class=\"wp-image-16268 c19\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 284\"><img width=\"100\" height=\"99\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/03/faux.png\" alt=\"ic\u00f4ne faux\" referrerpolicy=\"no-referrer\" /></picture></td>\n<td class=\"has-text-align-center\" data-align=\"center\"><picture class=\"wp-image-16269 c19\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 285\"><img width=\"100\" height=\"100\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/03/vrai.png\" alt=\"ic\u00f4ne vrai\" referrerpolicy=\"no-referrer\" /></picture></td>\n</tr></tbody></table></figure><p>Tu disposes d\u2019options suppl\u00e9mentaires dans le menu de droite. Je les ai utilis\u00e9es dans le pr\u00e9c\u00e9dent tableau.</p><ul><li>Tu \u00e9galises la largeur des colonnes avec une largeur fixe.</li>\n<li>Section d\u2019en-t\u00eate ajoute une ligne de titre affich\u00e9 en majuscules.</li>\n<li>Section de pied de page me laisse dubitatif sur son usage.</li>\n</ul><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24601\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 290\"><img width=\"357\" height=\"236\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/reglages-tableau-gutenberg.png\" alt=\"r\u00e9glages tableau gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Ta page se sentirait nue sans illustrations et animations.</p><h2 id=\"insere-visuels\">Les images, vid\u00e9os, documents et boutons</h2><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20545\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 291\"><img width=\"600\" height=\"300\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/visuels.png\" alt=\"Ins\u00e8re des visuels (images, galeries &amp; vid\u00e9os)\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/visuels.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2021/03/visuels-480x240.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Nous d\u00e9butons par l\u2019insertion d\u2019une image seule.</p><h3 id=\"18-ajoute-une-image-\">Int\u00e8gre une image</h3><p>Tu s\u00e9lectionnes le bloc Image et tu acc\u00e8des aux options d\u2019insertion.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18708\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 292\"><img width=\"123\" height=\"36\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/inserer-image.png\" alt=\"bloc image\" referrerpolicy=\"no-referrer\" /></picture></figure><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18710\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 293\"><img width=\"600\" height=\"274\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/options-integration-image.png\" alt=\"interface images\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/options-integration-image.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2020/09/options-integration-image-480x219.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Une alternative sera de glisser directement ton image \u00e0 l\u2019emplacement souhait\u00e9.</p><p>Tu compl\u00e8tes la <strong>description de l\u2019image</strong> (texte alternatif) pour les personnes malvoyantes dans le menu de droite. Google n\u2019arrive pas \u00e0 comprendre les images et s\u2019en sert pour pr\u00e9senter tes images dans Google Images.</p><figure class=\"wp-block-image aligncenter\"><picture class=\"wp-image-9686\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 294\"><img width=\"304\" height=\"173\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2018/12/texte-alternatif.png\" alt=\"texte alternatif image\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu ajustes les dimensions de l\u2019image. Cependant, je te conseille d\u2019adapter la taille en amont pour optimiser le poids des visuels et acc\u00e9l\u00e9rer le chargement de ta page.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16307\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 295\"><img width=\"316\" height=\"188\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/dimensions-image.png\" alt=\"r\u00e9gler la dimension des images\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu ajoutes un lien \u00e0 ton image exactement comme pour du texte.</p><p>Tu arrondis ton image dans les styles de bloc.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18711\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 296\"><img width=\"374\" height=\"621\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/arrondi-image.png\" alt=\"arrondir une image\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Je trouve que l\u2019arrondi fonctionne particuli\u00e8rement bien avec les visuels carr\u00e9s.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16309\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 297\"><img width=\"422\" height=\"532\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/images-arrondies.png\" alt=\"exemples images arrondies Gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>La <strong>gestion fine des arrondis</strong> se trouve dans Bordure.</p><p>Tu appliques le m\u00eame effet sur les 4 c\u00f4t\u00e9s.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26444\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 298\"><img width=\"369\" height=\"165\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/personnaliser-arrondis-photo-gutenberg.png\" alt=\"personnaliser arrondis photo gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu laisses libre court \u00e0 ta cr\u00e9ativit\u00e9 en d\u00e9verrouillant et en appliquant des rayons sp\u00e9cifiques pour chaque coin.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24606\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 299\"><img width=\"600\" height=\"266\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/gestion-personnalisee-arrondi-bordures.png\" alt=\"gestion personnalis\u00e9e arrondi bordures\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/gestion-personnalisee-arrondi-bordures.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/gestion-personnalisee-arrondi-bordures-480x213.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu disposes d\u2019options de bordures et d\u2019encadr\u00e9s suppl\u00e9mentaires dans certains th\u00e8mes comme Twenty Twenty-One</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20385\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 300\"><img width=\"319\" height=\"205\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/bordure-cadre-image.png\" alt=\"options bordure et cadre image\" referrerpolicy=\"no-referrer\" /></picture></figure><div class=\"wp-container-13 wp-block-columns\"><div class=\"wp-container-11 wp-block-column\"><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20386\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 301\"><img width=\"241\" height=\"290\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/image-bordure.png\" alt=\"image bordure\" referrerpolicy=\"no-referrer\" /></picture></figure></div><div class=\"wp-container-12 wp-block-column\"><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20387\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 302\"><img width=\"242\" height=\"291\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/image-cadre.png\" alt=\"image cadre\" referrerpolicy=\"no-referrer\" /></picture></figure></div></div><p>Il est possible de modifier l\u2019image directement dans Gutenberg :</p><ul><li>Recadrer</li>\n</ul><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18712\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 303\"><img width=\"332\" height=\"71\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/option-recadrer.png\" alt=\"option recadrer\" referrerpolicy=\"no-referrer\" /></picture></figure><ul><li>Zoomer</li>\n</ul><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18713\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 304\"><img width=\"331\" height=\"164\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/zoom-image.png\" alt=\"zoom image\" referrerpolicy=\"no-referrer\" /></picture></figure><ul><li>Changer les proportions</li>\n</ul><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18714\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 305\"><img width=\"338\" height=\"703\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/changer-proportion-image.png\" alt=\"changer proportion image\" referrerpolicy=\"no-referrer\" /></picture></figure><ul><li>Pivoter</li>\n</ul><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18715\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 306\"><img width=\"383\" height=\"204\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/pivoter-image.png\" alt=\"pivoter image\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Dans les options des images, tu indiques le style d\u2019int\u00e9gration au sein du texte. Le rendu n\u2019est pas toujours facile \u00e0 ma\u00eetriser avec aligner \u00e0 gauche et aligner \u00e0 droite qui interf\u00e8rent avec le texte. Tu ajoutes des espacements pour \u00e9viter les interactions.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20433\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 307\"><img width=\"285\" height=\"376\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/alignement-image.png\" alt=\"alignement image\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Je trouve le <strong>filtre duotone</strong> int\u00e9ressant. Il apporte facilement une identit\u00e9 visuelle \u00e0 ta page ou \u00e0 ton site. Son avantage est qu\u2019il n\u2019alourdit pas ton site et permet m\u00eame de l\u2019all\u00e9ger avec des visuels charg\u00e9s en noir et blanc.</p><p>Mon image de base.</p><figure class=\"wp-block-image aligncenter size-full is-style-default\"><picture class=\"wp-image-23726\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 308\"><img width=\"600\" height=\"600\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress.png\" alt=\"image duotone wordpress\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress-480x480.png 480w, https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress-150x150.png 150w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu ouvres les options des filtres duotone.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-23727\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 309\"><img width=\"311\" height=\"185\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/appliquer-filtre-duotone.png\" alt=\"appliquer le filtre duotone\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu appliques un des filtres pr\u00e9d\u00e9finis.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-23728\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 310\"><img width=\"415\" height=\"141\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/duotone-violet-jaune.png\" alt=\"appliquer le filtre duotone violet et jaune\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu vois que la perception est compl\u00e8tement diff\u00e9rente entre le filtre violet/jaune</p><figure class=\"wp-duotone-8c00b7-fcff41-14 wp-block-image aligncenter size-full\"><picture class=\"wp-image-23726\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 311\"><img width=\"600\" height=\"600\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress.png\" alt=\"image duotone violet et jaune wordpress\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress-480x480.png 480w, https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress-150x150.png 150w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>et le noir/bleu pour la m\u00eame photo.</p><figure class=\"wp-duotone-000000-00a5ff-15 wp-block-image aligncenter size-full\"><picture class=\"wp-image-23726\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 312\"><img width=\"600\" height=\"600\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress.png\" alt=\"image duotone noir et bleu wordpress\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress-480x480.png 480w, https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress-150x150.png 150w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu personnalises \u00e0 tes couleurs en cliquant sur les deux extr\u00e9mit\u00e9s pour indiquer la r\u00e9f\u00e9rence de ta couleur.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-23729\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 313\"><img width=\"595\" height=\"546\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/duotone-personnalise.png\" alt=\"duotone personnalis\u00e9\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/duotone-personnalise.png 595w, https://www.pourpasunrond.fr/wp-content/uploads/2021/11/duotone-personnalise-480x440.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><figure class=\"wp-duotone-rgb0140114-rgb2552550-16 wp-block-image aligncenter size-full\"><picture class=\"wp-image-23726\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 314\"><img width=\"600\" height=\"600\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress.png\" alt=\"image duotone personnalis\u00e9e vert et jaune wordpress\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress-480x480.png 480w, https://www.pourpasunrond.fr/wp-content/uploads/2021/11/image-duotone-wordpress-150x150.png 150w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>La galerie facilite la pr\u00e9sentation d\u2019un mur d\u2019images.</p><h3 id=\"19-pr\u00e9sente-plusieurs-images-dans-une-galerie\">Pr\u00e9sente plusieurs images dans une galerie</h3><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18716\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 315\"><img width=\"89\" height=\"98\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/galerie-images.png\" alt=\"ic\u00f4ne galerie\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu charges tes visuels.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24603\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 316\"><img width=\"600\" height=\"641\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/creer-nouvelle-galerie-gutenberg.png\" alt=\"creer nouvelle galerie dans gutenberg\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/creer-nouvelle-galerie-gutenberg.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/creer-nouvelle-galerie-gutenberg-480x513.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu organises l\u2019ordre de tes visuels. Tu pourras les r\u00e9organiser ensuite dans le bloc.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24604\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 317\"><img width=\"600\" height=\"643\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/inserer-galerie.png\" alt=\"ins\u00e9rer la galerie\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/inserer-galerie.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/inserer-galerie-480x514.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu choisis le nombre d\u2019images pr\u00e9sent\u00e9es en largeur.</p><figure class=\"wp-block-image aligncenter\"><picture class=\"wp-image-9697\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 318\"><img width=\"305\" height=\"129\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2018/12/nombre-images-recadrer.png\" alt=\"nombre colonnes\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Les visuels de la galerie se r\u00e9partissent en largeur et s\u2019ajustent automatiquement.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16311\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 319\"><img width=\"515\" height=\"205\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/effet-recadrage.png\" alt=\"effet recadrage des images galerie WordPress\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/effet-recadrage.png 515w, https://www.pourpasunrond.fr/wp-content/uploads/2020/04/effet-recadrage-480x191.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Je pr\u00e9f\u00e8re charger les images dans la biblioth\u00e8que de m\u00e9dias en amont pour leur attribuer un texte alternatif.</p><p>Tu cliques tour \u00e0 tour sur chaque image de ta galerie</p><figure class=\"wp-block-image aligncenter\"><picture class=\"wp-image-9693\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 320\"><img width=\"371\" height=\"190\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2018/12/fichier-media-selectionne.png\" alt=\"images\" referrerpolicy=\"no-referrer\" /></picture></figure><p>et tu compl\u00e8tes le descriptif.</p><figure class=\"wp-block-image aligncenter\"><picture class=\"wp-image-9694\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 321\"><img width=\"338\" height=\"287\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2018/12/alt-texte.png\" alt=\"texte alt\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Chaque image est ind\u00e9pendante. Tu varies les effets comme tu le souhaites.</p><p>Tu g\u00e8res l\u2019espacement entre les visuels.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26445\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 322\"><img width=\"368\" height=\"163\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/galerie-gestion-espacements.png\" alt=\"galerie gestion des espacements\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu disposes de l\u2019option d\u2019int\u00e9grer du texte au-dessus des images en transformant le bloc texte en banni\u00e8re. Tu trouveras les explications concernant les banni\u00e8res dans la suite de l\u2019article.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20389\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 323\"><img width=\"385\" height=\"313\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/option-ajout-texte-au-dessus-image.png\" alt=\"option ajout texte au-dessus image\" referrerpolicy=\"no-referrer\" /></picture></figure><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20390\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 324\"><img width=\"487\" height=\"226\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/superposition-texte.png\" alt=\"superposition texte\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/superposition-texte.png 487w, https://www.pourpasunrond.fr/wp-content/uploads/2021/03/superposition-texte-480x223.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Le proc\u00e9d\u00e9 diff\u00e8re pour les vid\u00e9os.</p><h3 id=\"25-int\u00e8gre-une-vid\u00e9o-\">Int\u00e8gre une vid\u00e9o</h3><p>Il est possible d\u2019int\u00e9grer une vid\u00e9o exactement comme une image.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18719\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 325\"><img width=\"600\" height=\"220\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/inserer-video.png\" alt=\"ins\u00e9rer une vid\u00e9o dans Gutenberg\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/inserer-video.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2020/09/inserer-video-480x176.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu les ajoutes \u00e0 ta page \u00e0 l\u2019aide des contenus embarqu\u00e9s.</p><p>La d\u00e9marche est similaire pour tous. Je prends l\u2019exemple de YouTube. Tu compl\u00e8tes l\u2019URL de ta source et tu valides avec Embarquer.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18720\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 326\"><img width=\"600\" height=\"217\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/embarquer-video-youtube.png\" alt=\"int\u00e9grer une vid\u00e9o YouTube dans WordPress\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/embarquer-video-youtube.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2020/09/embarquer-video-youtube-480x174.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Je suis pass\u00e9 \u00e0 une solution plus radicale dans mes articles. J\u2019int\u00e8gre uniquement une image de la <strong>couverture de la vid\u00e9o</strong> sur mon site avec un lien vers YouTube.</p><p>La banni\u00e8re offre de nombreuses opportunit\u00e9s cr\u00e9atives.</p><h3>Ajoute une banni\u00e8re</h3><p></p><h6 class=\"has-text-align-center has-text-color has-x-large-font-size c20\" id=\"la-banniere\">Les bienfaitsde l\u2019<strong>oc\u00e9an</strong>sur la vitalit\u00e9</h6><p>Tu int\u00e8gres, par exemple, des publicit\u00e9s vers tes produits ou services.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18721\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 327\"><img width=\"112\" height=\"40\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/banniere.png\" alt=\"ic\u00f4ne banni\u00e8re\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu choisis une image, une vid\u00e9o ou un fond color\u00e9</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18722\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 328\"><img width=\"600\" height=\"241\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/options-banniere.png\" alt=\"interface banni\u00e8re\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/options-banniere.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2020/09/options-banniere-480x193.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>et tu ins\u00e8res du texte en superposition.</p><figure class=\"wp-block-image aligncenter size-large is-style-default\"><picture class=\"wp-image-16322\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 329\"><img width=\"600\" height=\"338\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/inscrire-texte.png\" alt=\"inscrire texte\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/inscrire-texte.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2020/04/inscrire-texte-480x270.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu pr\u00e9cises la hauteur de la banni\u00e8re.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16324\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 330\"><img width=\"250\" height=\"143\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/hauteur-banniere.png\" alt=\"hauteur de la banniere\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu peux \u00e9galement la mettre en pleine hauteur qui s\u2019adaptera automatiquement \u00e0 l\u2019\u00e9cran de ton visiteur.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20437\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 331\"><img width=\"493\" height=\"78\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/banniere-pleine-hauteur.png\" alt=\"Banni\u00e8re pleine hauteur\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/banniere-pleine-hauteur.png 493w, https://www.pourpasunrond.fr/wp-content/uploads/2021/03/banniere-pleine-hauteur-480x76.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Un fond de couleur est appliqu\u00e9 sur le visuel pour accentuer la lisibilit\u00e9. Tu personnalises ce calque de superposition avec la couleur de ton choix</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18723\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 332\"><img width=\"347\" height=\"304\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/calque-superposition-uni-banniere.png\" alt=\"couleur de superposition de la banni\u00e8re\" referrerpolicy=\"no-referrer\" /></picture></figure><p>et son intensit\u00e9 avec l\u2019opacit\u00e9.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16326\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 333\"><img width=\"312\" height=\"113\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/opacite-arriere-plan.png\" alt=\"opacit\u00e9 de l\u2019arri\u00e8re plan\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Il est possible d\u2019appliquer un d\u00e9grad\u00e9 de couleurs.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18724\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 334\"><img width=\"337\" height=\"386\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/calque-superposition-degrade-banniere.png\" alt=\"d\u00e9grad\u00e9 de couleurs d'une banni\u00e8re WordPress\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu ajoutes un effet de d\u00e9filement de l\u2019image sous le texte (parallaxe) en activant Arri\u00e8re plan fixe.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16328\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 335\"><img width=\"265\" height=\"114\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/effet-parallaxe-wordpress-gutenberg.png\" alt=\"effet parallaxe dans les articles sur Gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Le rendu diff\u00e8re en fonction de ton th\u00e8me. Tu devras souvent r\u00e9aliser plusieurs pr\u00e9visualisations pour ajuster (y compris sur mobiles).</p><p>La banni\u00e8re est parfaite pour \u00eatre pr\u00e9sent\u00e9e en pleine hauteur. Celle-ci prendra la taille exacte de l\u2019\u00e9cran de ton visiteur.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20393\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 336\"><img width=\"267\" height=\"132\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/permuter-toute-hauteur.png\" alt=\"permuter toute hauteur\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Cela fonctionne parfaitement avec la pleine largeur pour couvrir tout l\u2019\u00e9cran.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20394\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 337\"><img width=\"280\" height=\"370\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/pleine-largeur.png\" alt=\"pleine largeur\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu places les \u00e9l\u00e9ments dans l\u2019espace.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20406\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 338\"><img width=\"209\" height=\"231\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/disposition-elements-banniere.png\" alt=\"disposition \u00e9l\u00e9ments banni\u00e8re\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu ajoutes les blocs que tu souhaites dans ta banni\u00e8re comme dans une colonne. Tu tapes / pour faire appara\u00eetre le menu des blocs.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18725\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 339\"><img width=\"363\" height=\"172\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/integrer-bouton-banniere.png\" alt=\"ajout bouton dans une banni\u00e8re\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Le bloc fichier facilite la mise \u00e0 disposition des documents sur ton site.</p><h3 id=\"les-documents-a-telecharger\">Les documents \u00e0 t\u00e9l\u00e9charger</h3><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18743\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 340\"><img width=\"100\" height=\"37\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/fichier.png\" alt=\"bloc fichier\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu charges le document \u00e0 partager.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18744\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 341\"><img width=\"600\" height=\"214\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/charger-fichier.png\" alt=\"charger un fichier\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/charger-fichier.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2020/09/charger-fichier-480x171.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Le nom qui appara\u00eet est celui du fichier.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18745\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 342\"><img width=\"231\" height=\"70\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/rendu-document-telecharger.png\" alt=\"bouton t\u00e9l\u00e9charger un fichier\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu pr\u00e9cises si tu souhaites que ton fichier s\u2019ouvre dans un autre onglet dans le menu de droite.</p><p>Tu indiques alors le lien de partage fourni par le site dans un bouton.</p><h3 id=\"les-boutons\">Les boutons</h3><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18746\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 343\"><img width=\"112\" height=\"34\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/boutons.png\" alt=\"boutons sur WordPress\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu inscris ton texte directement dans le bouton.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24612\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 344\"><img width=\"330\" height=\"149\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/texte-bouton-gutenberg.png\" alt=\"texte bouton gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu indiques ton lien.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24613\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 345\"><img width=\"432\" height=\"157\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/ajouter-lien-bouton-gutenberg.png\" alt=\"ajouter le lien d'un bouton dans gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu d\u00e9finis le style de ton bouton. Contour se distingue du texte standard par une fine bordure.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24614\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 346\"><img width=\"356\" height=\"233\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/styles-bouton.png\" alt=\"styles bouton\" referrerpolicy=\"no-referrer\" /></picture></figure><div class=\"wp-container-17 is-horizontal is-content-justification-center wp-block-buttons\"><p><a class=\"wp-block-button__link has-background c22\">PLEIN</a></p><p><a class=\"wp-block-button__link has-text-color c23\">CONTOUR</a></p></div><p>Tu personnalises les couleurs y compris en d\u00e9grad\u00e9s.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24615\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 347\"><img width=\"355\" height=\"456\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/couleur-degrade-bouton.png\" alt=\"couleur d\u00e9grad\u00e9 bouton\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu r\u00e8gles l\u2019arrondi des coins.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24616\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 348\"><img width=\"361\" height=\"155\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/definir-rayon-bordure-bouton-gutenberg.png\" alt=\"d\u00e9finir rayon bordure bouton gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu indiques la taille du bouton avec les r\u00e9glages de la largeur.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20399\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 349\"><img width=\"219\" height=\"103\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/taille-bouton-gutenberg.png\" alt=\"taille bouton gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu retrouves la typographie comme les paragraphes.</p><p>La fonctionnalit\u00e9 Centrer est pr\u00e9sente quand tu s\u00e9lectionnes le bloc en entier.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24617\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 350\"><img width=\"600\" height=\"308\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/alignement-boutons.png\" alt=\"alignement des boutons\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/alignement-boutons.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/alignement-boutons-480x246.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu disposes de l\u2019alignement dans le menu du bloc.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24618\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 351\"><img width=\"373\" height=\"242\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/orientation-boutons-gutenberg.png\" alt=\"orientation boutons dans gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><div class=\"wp-container-18 is-horizontal is-content-justification-center wp-block-buttons\"><p><a class=\"wp-block-button__link has-black-color has-text-color has-background c24\">T\u00e9l\u00e9charger</a></p><p><a class=\"wp-block-button__link has-black-color has-text-color c25\">\u00c0 propos</a></p></div><p>Orientation verticale</p><div class=\"wp-container-19 is-vertical is-content-justification-center wp-block-buttons\"><p><a class=\"wp-block-button__link has-black-color has-text-color has-background c24\">T\u00e9l\u00e9charger</a></p><p><a class=\"wp-block-button__link has-black-color has-text-color c25\">\u00c0 propos</a></p></div><p>Nous allons voir comment agencer tous les \u00e9l\u00e9ments de ta page.</p><h2 id=\"mets-en-page-disposition-colonnes-boutons\">La mise en page : s\u00e9parateurs, disposition, colonnes\u2026</h2><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20546\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 352\"><img width=\"600\" height=\"300\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/mise-page.png\" alt=\"Met en page : disposition, colonnes, boutons...\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/mise-page.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2021/03/mise-page-480x240.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Les s\u00e9parateurs et espacements a\u00e8rent et rythment l\u2019espace.</p><h3 id=\"13-ajoute-des-s\u00e9parateurs-et-des-espacements\">Les s\u00e9parateurs et des espacements</h3><p>Les <strong>s\u00e9parateurs</strong> soulignent les grandes parties de ton texte en compl\u00e9ment des titres.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18726\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 353\"><img width=\"165\" height=\"45\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/separateur.png\" alt=\"s\u00e9parateur\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu d\u00e9finis le style.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18727\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 354\"><img width=\"358\" height=\"359\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/styles-separateurs.png\" alt=\"style s\u00e9parateurs\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/styles-separateurs.png 358w, https://www.pourpasunrond.fr/wp-content/uploads/2020/09/styles-separateurs-150x150.png 150w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Par d\u00e9faut et large sont similaires chez moi.</p><hr class=\"wp-block-separator has-text-color has-css-opacity has-background is-style-wide c26\" /><p>Pointill\u00e9s</p><hr class=\"wp-block-separator has-text-color has-css-opacity has-background is-style-dots c26\" /><p>Tu appliques la couleur de ton choix mais ne peux pas d\u00e9finir l\u2019\u00e9paisseur sauf en passant par les CSS de ton th\u00e8me.</p><p>L\u2019<strong>espacement</strong> incorpore des espaces vides pour a\u00e9rer. Un espacement de 75 pixels est ins\u00e9r\u00e9 sous ce bloc.</p><p>Tu r\u00e8gles la hauteur de l\u2019espacement en pixels dans les options</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24607\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 355\"><img width=\"222\" height=\"152\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/reglages-hauteur-espacement-gutenberg.png\" alt=\"r\u00e9glages hauteur espacement de gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>ou directement sur le bloc.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24608\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 356\"><img width=\"600\" height=\"48\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/reglages-hauteur-espacement-bloc-gutenberg.png\" alt=\"r\u00e9glages hauteur de l'espacement sur bloc gutenberg\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/reglages-hauteur-espacement-bloc-gutenberg.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/reglages-hauteur-espacement-bloc-gutenberg-480x38.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><h3 id=\"23-accole-du-texte-\u00e0-une-image\">Accole du texte \u00e0 une image</h3><p>M\u00e9dias et texte est pr\u00e9vu pour cet usage.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18730\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 357\"><img width=\"168\" height=\"43\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/media-texte.png\" alt=\"ic\u00f4ne media et texte\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Les deux zones se g\u00e8rent exactement comme des blocs paragraphes et images standards.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18731\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 358\"><img width=\"594\" height=\"273\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/media-texte-interface.png\" alt=\"bloc m\u00e9dia et texte\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/media-texte-interface.png 594w, https://www.pourpasunrond.fr/wp-content/uploads/2020/09/media-texte-interface-480x221.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Je n\u2019avais pas compris l\u2019int\u00e9r\u00eat de ce bloc avant de tomber sur cette particularit\u00e9. Tu d\u00e9finis si tu souhaites positionner ton texte \u00e0 gauche.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26446\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 359\"><img width=\"396\" height=\"74\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/media-texte-passer-texte-gauche.png\" alt=\"media et texte passer texte gauche\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Cela se r\u00e9percute sur ordinateur</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26447\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 360\"><img width=\"400\" height=\"457\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/media-texte-ordinateur.png\" alt=\"media texte vue sur ordinateur\" referrerpolicy=\"no-referrer\" /></picture></figure><p>mais pas sur mobiles.C\u2019est tr\u00e8s pratique pour dynamiser ta pr\u00e9sentation sans te retrouver avec un effet \u00e9trange sur t\u00e9l\u00e9phone.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26448\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 361\"><img width=\"400\" height=\"504\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/media-texte-mobile.png\" alt=\"media texte vue sur mobile\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Les <strong>colonnes seront plus flexibles pour les autres mises en page</strong>.</p><h3 id=\"12-divise-ton-texte-en-colonnes\">Les colonnes pour une mise en page souple</h3><p>Les colonnes subdivisent ton bloc verticalement. Tu empiles les \u00e9l\u00e9ments \u00e0 l\u2019int\u00e9rieur.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18732\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 362\"><img width=\"120\" height=\"38\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/colonnes.png\" alt=\"int\u00e9grer des colonnes sous WordPress\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu s\u00e9lectionnes ton nombre de colonnes.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24609\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 363\"><img width=\"600\" height=\"222\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/choix-disposition-colonnes.png\" alt=\"choix de la disposition des colonnes dans Gutenberg\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/choix-disposition-colonnes.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/choix-disposition-colonnes-480x178.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu r\u00e8gles pr\u00e9cis\u00e9ment la largeur en pixels ou en % des colonnes.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24610\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 364\"><img width=\"372\" height=\"222\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/reglages-largeur-colonne-gutenberg.png\" alt=\"r\u00e9glages largeur colonne dans gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu ajoutes des colonnes suppl\u00e9mentaires en largeur dans le menu de droite. Cette option appara\u00eet quand tu s\u00e9lectionnes le bloc complet.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18736\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 365\"><img width=\"366\" height=\"113\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/changer-nombre-colonnes.png\" alt=\"ajout colonnes en largeur\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu g\u00e8res l\u2019alignement vertical au sein du bloc ou des colonnes individuellement.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18738\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 366\"><img width=\"322\" height=\"258\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/alignement-vertical.png\" alt=\"alignement vertical du bloc colonnes\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu cliques sur le + pour ajouter un \u00e9l\u00e9ment.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18739\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 367\"><img width=\"419\" height=\"289\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/ajout-element.png\" alt=\"ins\u00e9rer un bloc dans une colonne\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu retrouves le + pour ajouter des blocs dans la colonne.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18740\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 368\"><img width=\"360\" height=\"262\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/ajout-element-colonne.png\" alt=\"empiler blocs\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu personnalises les couleurs.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24611\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 369\"><img width=\"374\" height=\"323\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/couleur-colonne.png\" alt=\"couleur colonne\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Les colonnes s\u2019empilent sur mobile.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16344\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 370\"><img width=\"215\" height=\"400\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/colonnes-mobiles.png\" alt=\"colonnes mobiles\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Un croquis avec les mesures aide pour placer les blocs si tu souhaites r\u00e9aliser un ensemble audacieux.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16336\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 371\"><img width=\"600\" height=\"420\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/exemple-melange-colonnes.png\" alt=\"exemple m\u00e9lange colonnes\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/exemple-melange-colonnes.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2020/04/exemple-melange-colonnes-480x336.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Cette option est valable pour tous les blocs imbriqu\u00e9s mais s\u2019av\u00e8re particuli\u00e8rement pratique pour les colonnes.</p><p>Tu peux remonter au bloc parent en survolant le symbole de ton bloc colonnes.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18759\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 372\"><img width=\"484\" height=\"254\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/selection-bloc-parent.png\" alt=\"s\u00e9lection du bloc parent\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/selection-bloc-parent.png 484w, https://www.pourpasunrond.fr/wp-content/uploads/2020/09/selection-bloc-parent-480x252.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Les <strong>marges internes</strong> sont pr\u00e9cieuses pour placer finement tes \u00e9l\u00e9ments et \u00e9viter qu\u2019ils ne soient coll\u00e9s par exemple. Je les ai dans Twenty Twenty-Two/ Elles sont cens\u00e9es \u00eatre disponibles pour tous dans la version 6.0 mais je ne les ai pas vues dans ma version de test.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24619\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 373\"><img width=\"349\" height=\"170\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/marge-interne-colonne-gutenberg.png\" alt=\"marge interne colonne gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Les effets de chevauchement dynamisent les mises en page mais ne sont disponibles que dans Twenty Twenty-One.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20396\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 374\"><img width=\"327\" height=\"431\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/option-chevauchement-colonnes.png\" alt=\"option chevauchement colonnes\" referrerpolicy=\"no-referrer\" /></picture></figure><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20397\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 375\"><img width=\"600\" height=\"179\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/image-superposee.png\" alt=\"image superpos\u00e9e\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/image-superposee.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2021/03/image-superposee-480x143.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><h3 id=\"14-lire-la-suite\">Lire la suite</h3><p>Lire la suite ne concerne pas l\u2019apparence de ton article. Tu d\u00e9finis la limite de la partie visible avant le bouton continuer la lecture sur ta page articles.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16351\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 376\"><img width=\"751\" height=\"220\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/continuer-lecture.png\" alt=\"continuer la lecture\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/continuer-lecture.png 751w, https://www.pourpasunrond.fr/wp-content/uploads/2020/04/continuer-lecture-480x141.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18742\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 377\"><img width=\"141\" height=\"40\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/lire-suite.png\" alt=\"lire la suite\" referrerpolicy=\"no-referrer\" /></picture></figure><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16350\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 378\"><img width=\"821\" height=\"472\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/balise-lire-suite.png\" alt=\"balise lire suite\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/balise-lire-suite.png 821w, https://www.pourpasunrond.fr/wp-content/uploads/2020/04/balise-lire-suite-480x276.png 480w, https://www.pourpasunrond.fr/wp-content/uploads/2020/04/balise-lire-suite-768x442.png 768w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Nous avons fait le tour de tous les blocs dont tu auras besoin au quotidien. Je te propose d\u2019approfondir ton usage.</p><h2>Astuces et utilisations avanc\u00e9es de Gutenberg</h2><p>Les codes courts int\u00e8grent des fonctionnalit\u00e9s avanc\u00e9es dans tes articles.</p><h3 id=\"les-codes-courts-shortcodes\">Les codes courts (shortcodes)</h3><p>Les codes courts sont g\u00e9n\u00e9r\u00e9s par des extensions. Je les utilise pour int\u00e9grer un formulaire, un sommaire et afficher le temps de lecture de l\u2019article.</p><p>Tu copies-colles le code indiqu\u00e9 dans l\u2019extension dans le bloc sp\u00e9cifique.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18752\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 379\"><img width=\"600\" height=\"219\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/code-court.png\" alt=\"interface code court\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/code-court.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2020/09/code-court-480x175.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24715\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 380\"><img width=\"600\" height=\"300\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/utilisations-avancees-gutenberg.png\" alt=\"Astuces et utilisations avanc\u00e9es de Gutenberg\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/utilisations-avancees-gutenberg.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/utilisations-avancees-gutenberg-480x240.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Cette option permet de diriger vers un endroit pr\u00e9cis de tes publications.</p><h3 id=\"navigue-au-sein-de-l-article\">Int\u00e8gre des liens au sein de ton article</h3><p>Tu retrouves dans les options avanc\u00e9es la possibilit\u00e9 de cr\u00e9er un point de rep\u00e8re sous forme d\u2019une ancre HTML. Tu l\u2019utilises pour cr\u00e9er un lien qui dirigera imm\u00e9diatement sur cette section.</p><p>L\u2019identifiant de ton ancre doit \u00eatre unique et respecter les r\u00e8gles des URL (minuscules s\u00e9par\u00e9es par des tirets du 6).</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20415\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 381\"><img width=\"292\" height=\"148\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/ancre-html.png\" alt=\"ancre html\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu indiques le lien interne en ajoutant un # avant l\u2019identifiant dans ton article.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20416\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 382\"><img width=\"495\" height=\"189\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/lien-interne.png\" alt=\"lien interne\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/lien-interne.png 495w, https://www.pourpasunrond.fr/wp-content/uploads/2021/03/lien-interne-480x183.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>C\u2019est parfait pour les liens ponctuels. Pour les sommaires, des extensions automatisent le travail et font gagner un temps pr\u00e9cieux.</p><p>Tu simplifies les \u00e9l\u00e9ments pr\u00e9sents dans tes menus pour adapter Gutenberg \u00e0 ton utilisation.</p><h3 id=\"l-interface-de-gutenberg-et-sa-personnalisation\">Personnalise l\u2019interface de Gutenberg</h3><p>Tu disposes d\u2019<strong>options avanc\u00e9es</strong>.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18653\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 383\"><img width=\"311\" height=\"379\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/options-avancees-editeur-wordpress.png\" alt=\"menu avanc\u00e9\" referrerpolicy=\"no-referrer\" /></picture></figure><p>L\u2019option Barre d\u2019outil sup\u00e9rieure remonte le menu des blocs dans la barre principale.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18654\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 384\"><img width=\"600\" height=\"56\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/option-barre-superieure.png\" alt=\"barre sup\u00e9rieure\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/option-barre-superieure.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2020/09/option-barre-superieure-480x45.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Mise en lumi\u00e8re voile les \u00e9l\u00e9ments non s\u00e9lectionn\u00e9s.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16291\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 385\"><img width=\"400\" height=\"302\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/mise-en-lumiere.png\" alt=\"mise en lumiere\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu passes dans une vue qui affiche le code HTML de ton article avec \u00c9diteur de code.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16292\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 386\"><img width=\"319\" height=\"134\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/editeur-code.png\" alt=\"\u00e9diteur code html de la page\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Pour les modifications au sein d\u2019un bloc, il est plus pratique de visionner le code au niveau du bloc.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24659\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 387\"><img width=\"600\" height=\"326\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/menu-bloc-modifier-html.png\" alt=\"menu bloc modifier html\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/menu-bloc-modifier-html.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/menu-bloc-modifier-html-480x261.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24660\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 388\"><img width=\"600\" height=\"106\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/code-html-bloc.png\" alt=\"code html bloc\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/code-html-bloc.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/code-html-bloc-480x85.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Copier l\u2019int\u00e9gralit\u00e9 du contenu facilite la t\u00e2che si tu souhaites d\u00e9placer un article.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24661\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 389\"><img width=\"412\" height=\"240\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/copier-tout-contenu.png\" alt=\"copier tout le contenu\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu d\u00e9sactives l\u2019affichage des blocs que tu n\u2019utilises pas dans Pr\u00e9f\u00e9rence &gt; le gestionnaire de bloc.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24662\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 390\"><img width=\"405\" height=\"71\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/preferences.png\" alt=\"preferences affichage blocs\" referrerpolicy=\"no-referrer\" /></picture></figure><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24663\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 391\"><img width=\"600\" height=\"404\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/masquer-blocs.png\" alt=\"masquer blocs\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/masquer-blocs.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/masquer-blocs-480x323.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu personnalises les options pr\u00e9sentes dans ton menu de droite dans Panneaux.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24664\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 392\"><img width=\"600\" height=\"618\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/masquer-panneaux.png\" alt=\"masquer panneaux\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/masquer-panneaux.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/masquer-panneaux-480x494.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><h3>Un raccourci pour gagner du temps</h3><p>Tu s\u00e9lectionnes directement le bon bloc en tapant / dans un paragraphe. La liste des blocs appara\u00eet.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18664\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 393\"><img width=\"364\" height=\"408\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/raccourci-liste-blocs-gutenberg.png\" alt=\"raccourci bloc\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu continues la saisie avec les premi\u00e8res lettres du bloc pour filtrer. Par exemple pour int\u00e9grer une vid\u00e9o YouTube :</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18665\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 394\"><img width=\"361\" height=\"162\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/filtre-video-youtube.png\" alt=\"filtre vid\u00e9o youtube\" referrerpolicy=\"no-referrer\" /></picture></figure><h3>Ins\u00e8re des \u00e9mojis</h3><p>Tu as remarqu\u00e9 que l\u2019\u00e9diteur ne propose pas d\u2019<strong>\u00e9mojis</strong> \ud83d\ude22. Ils sont pourtant parfaitement g\u00e9r\u00e9s par WordPress.</p><p>Tu les fais appara\u00eetre avec les raccourcis <strong>Touche Windows</strong> (\u00e0 gauche de ALT) <strong>+ ;</strong> ou <strong>Ctrl + Cmd + Espace</strong> sur Mac.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18685\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 395\"><img width=\"400\" height=\"381\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/inserer-emojis-wordpress.png\" alt=\"ins\u00e9rer emojis wordpress\" referrerpolicy=\"no-referrer\" /></picture></figure><h3>Ajoute un espace ins\u00e9cable pour \u00e9viter les coupures ind\u00e9sirables</h3><p>L\u2019<strong>espace ins\u00e9cable</strong> : &amp;Gnbsp; (\u00e0 copier sans le G en deuxi\u00e8me position)</p><p>Celui-ci s\u2019ajoute dans l\u2019HTML entre les lettres \u00e0 maintenir ensemble en remplacement de l\u2019espace.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16153\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 396\"><img width=\"257\" height=\"56\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/03/html-espace-insecable.png\" alt=\"html espace ins\u00e9cable\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Il \u00e9vite ainsi les coupures disgracieuses en particulier avec la ponctuation et les chiffres.</p><div class=\"wp-container-22 wp-block-columns are-vertically-aligned-center\"><div class=\"wp-container-20 wp-block-column is-vertically-aligned-center\"><figure class=\"wp-block-image size-large\"><picture class=\"wp-image-16151\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 397\"><img width=\"250\" height=\"84\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/03/sans-espace-insecable.png\" alt=\"texte sans espace ins\u00e9cable\" referrerpolicy=\"no-referrer\" /></picture></figure></div><div class=\"wp-container-21 wp-block-column is-vertically-aligned-center\"><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16152\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 398\"><img width=\"250\" height=\"61\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/03/avec-espace-insecable.png\" alt=\"texte avec espace ins\u00e9cable\" referrerpolicy=\"no-referrer\" /></picture></figure></div></div><h3>Affiche une explication au survol d\u2019un texte</h3><p>Une note qui s\u2019affiche au survol s\u2019ajoute dans le HTML avec le code : <code>&lt;abbr title=\"Texte au survol\" lang=\"fr\"&gt;</code>Texte \u00e0 expliquer<code>&lt;/abbr&gt;</code><abbr title=\"G\u00e2teau cuit entre deux plaques qui lui impriment un dessin quadrill\u00e9 en relief\">Gaufre</abbr></p><h3 id=\"les-icones-des-reseaux-sociaux-et-services\">Les ic\u00f4nes des r\u00e9seaux sociaux et services</h3><p>De nombreux r\u00e9seaux sociaux et services sont int\u00e9gr\u00e9s.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18755\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 399\"><img width=\"241\" height=\"40\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/icones-reseaux-sociaux-1.png\" alt=\"icones reseaux sociaux 1\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu cliques sur le plus</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24620\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 400\"><img width=\"600\" height=\"110\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/ajout-icone-reseau-social-gutenberg.png\" alt=\"ajout ic\u00f4ne r\u00e9seau social gutenberg\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/ajout-icone-reseau-social-gutenberg.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2022/03/ajout-icone-reseau-social-gutenberg-480x88.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>et tu choisis le r\u00e9seau social que tu souhaites ajouter. La recherche facilite la t\u00e2che.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24621\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 401\"><img width=\"440\" height=\"408\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/choix-icone-reseau-social.png\" alt=\"choix ic\u00f4ne r\u00e9seau social\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu <strong>int\u00e8gres le lien</strong> vers ton r\u00e9seau sinon ton bouton ne s\u2019affiche pas.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24622\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 402\"><img width=\"426\" height=\"121\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/ajout-lien-reseau-social.png\" alt=\"ajout lien r\u00e9seau social\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu disposes de 4 tailles pr\u00e9d\u00e9finies.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24623\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 403\"><img width=\"309\" height=\"288\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/modifier-taille-icone-reseaux-sociaux.png\" alt=\"modifier taille des ic\u00f4nes r\u00e9seaux sociaux\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu choisis entre 3 styles :</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24624\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 404\"><img width=\"369\" height=\"405\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/styles-reseaux-sociaux.png\" alt=\"styles des r\u00e9seaux sociaux\" referrerpolicy=\"no-referrer\" /></picture></figure><div class=\"wp-container-29 wp-block-columns\"><div class=\"wp-container-24 wp-block-column\"><p class=\"has-text-align-center\">Par d\u00e9faut</p></div><div class=\"wp-container-28 wp-block-column\"><p class=\"has-text-align-center\">Pastille</p></div></div><p>Tu personnalises tes couleurs.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24625\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 405\"><img width=\"358\" height=\"203\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/couleur-icones-reseaux-sociaux-gutenberg.png\" alt=\"couleur ic\u00f4nes r\u00e9seaux sociaux gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu forces l\u2019ouverture des liens dans un nouvel onglet.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24626\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 406\"><img width=\"358\" height=\"129\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/ouvrir-lien-nouvel-onglet-reseaux-sociaux.png\" alt=\"ouvrir lien nouvel onglet r\u00e9seaux sociaux\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu g\u00e8res l\u2019alignement et l\u2019orientation.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-24627\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 407\"><img width=\"358\" height=\"244\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/03/justification-orientation-icones-reseaux-sociaux.png\" alt=\"Justification et orientation des ic\u00f4nes des r\u00e9seaux sociaux dans Gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><h3>Les groupes pour des compositions complexes</h3><p>Tu groupes des blocs pour les g\u00e9rer de mani\u00e8re globale. Tu appliques, par exemple, un <strong>fond de couleur</strong>.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-16302\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 408\"><img width=\"400\" height=\"246\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/04/fond-couleur-groupe-1.png\" alt=\"fond couleur groupe de blocs\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu s\u00e9lectionnes tes blocs avec MAJ et tu transformes en groupe. Tu peux \u00e9galement cr\u00e9er directement un groupe et ajouter les \u00e9l\u00e9ments \u00e0 l\u2019int\u00e9rieur.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18672\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 409\"><img width=\"402\" height=\"214\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/grouper-blocs.png\" alt=\"grouper blocs\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu d\u00e9groupes dans les options.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18673\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 410\"><img width=\"400\" height=\"392\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/degrouper-blocs.png\" alt=\"d\u00e9grouper blocs\" referrerpolicy=\"no-referrer\" /></picture></figure><p>La vue en liste facilite la s\u00e9lection des \u00e9l\u00e9ments d\u2019un groupe.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18674\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 411\"><img width=\"327\" height=\"435\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/naviguer-groupe.png\" alt=\"naviguer groupe\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Une option tr\u00e8s pratique : tu passes d\u2019un clic au bloc parent d\u2019une composition qui appara\u00eet au survol du symbole du bloc.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20525\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 412\"><img width=\"477\" height=\"158\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/bloc-parent.png\" alt=\"bloc parent composition\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Quand tu s\u00e9lectionnes un bloc, le menu de gauche bascule pour d\u00e9voiler les options des blocs.</p><p>Les r\u00e9glages sont sp\u00e9cifiques pour chaque type de bloc.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18657\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 413\"><img width=\"339\" height=\"325\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/menu-bloc.png\" alt=\"menu des options des blocs gutenberg\" referrerpolicy=\"no-referrer\" /></picture></figure><h3>Les lignes pour disposer tes \u00e9l\u00e9ments comme tu le souhaites</h3><p>Les lignes sont pens\u00e9es pour organiser les \u00e9l\u00e9ments dans les groupes et les colonnes mais fonctionnent seules.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26449\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 414\"><img width=\"135\" height=\"45\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/ligne.png\" alt=\"ligne\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu ajoutes plusieurs blocs.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26450\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 415\"><img width=\"592\" height=\"60\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/ajout-bloc-ligne.png\" alt=\"ajout d'un en bloc-ligne\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/ajout-bloc-ligne.png 592w, https://www.pourpasunrond.fr/wp-content/uploads/2022/06/ajout-bloc-ligne-480x49.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu les orientes comme tu le souhaites ensuite.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-26451\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 416\"><img width=\"359\" height=\"161\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2022/06/orientation-blocs.png\" alt=\"orientation des blocs\" referrerpolicy=\"no-referrer\" /></picture></figure><p>\u00c0 l\u2019horizontale</p><div class=\"wp-container-31 is-horizontal is-content-justification-space-between is-nowrap wp-block-group has-custom-couleur-3-background-color has-background\"><p>Ne loupez pas cette occasion</p><p><a class=\"wp-block-button__link\">25 % de r\u00e9duction</a></p><p>Jusqu\u2019au 21 janvier</p></div><p>ou \u00e0 la verticale.</p><div class=\"wp-container-33 is-vertical is-content-justification-space-between is-nowrap wp-block-group has-custom-couleur-3-background-color has-background\"><p>Ne loupez pas cette occasion</p><p><a class=\"wp-block-button__link\">25 % de r\u00e9duction</a></p><p>Jusqu\u2019au 21 janvier</p></div><h3>Les compositions pour des designs pr\u00eats \u00e0 l\u2019emploi</h3><p>Tu acc\u00e8des aux compositions en cliquant sur l\u2019onglet sp\u00e9cifique. Tu choisis le style de bloc.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-23731\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 417\"><img width=\"399\" height=\"147\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/menu-compositions.png\" alt=\"menu compositions\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu cliques sur le mod\u00e8le qui te pla\u00eet pour l\u2019int\u00e9grer dans ton texte. Tu modifies chaque \u00e9l\u00e9ment \u00e0 ta convenance.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-23732\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 418\"><img width=\"400\" height=\"501\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/11/integrer-compostion-wordpress.png\" alt=\"integrer compostion wordpress\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Le volume de mod\u00e8les s\u2019\u00e9toffe au fil du temps. C\u2019est l\u2019occasion de regarder comment sont agenc\u00e9es les compositions pour s\u2019en inspirer dans ses mises en page. Je te recommande celles des en-t\u00eates.</p><p>Les blocs r\u00e9utilisables permettent de modifier simultan\u00e9ment des blocs pr\u00e9sents dans plusieurs articles et pages diff\u00e9rents.</p><h3>Les blocs r\u00e9utilisables</h3><p>Chaque modification que tu op\u00e8res dans un bloc r\u00e9utilisable se r\u00e9percute automatiquement dans l\u2019ensemble des articles.</p><p>Tu s\u00e9lectionnes le bloc et tu l\u2019ajoutes aux blocs r\u00e9utilisables dans les options.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-20379\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 419\"><img width=\"446\" height=\"413\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/03/ajout-blocs-reutilisables.png\" alt=\"ajout aux blocs r\u00e9utilisables\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu le nommes.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18677\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 420\"><img width=\"314\" height=\"87\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/nommer-bloc-reutilisable.png\" alt=\"nommer bloc r\u00e9utilisable\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu le retrouves d\u00e9sormais dans l\u2019onglet R\u00e9utilisables.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18678\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 421\"><img width=\"400\" height=\"371\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/menu-bloc-reutilisables.png\" alt=\"menu bloc r\u00e9utilisables\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Pour apporter un changement, tu s\u00e9lectionnes le bloc dans un des articles. Tu cliques sur modifier, tu effectues la modification et tu sauvegardes.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18679\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 422\"><img width=\"600\" height=\"116\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/modifier-bloc-reutilisable-gutenberg.png\" alt=\"modifier bloc r\u00e9utilisable\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/modifier-bloc-reutilisable-gutenberg.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2020/09/modifier-bloc-reutilisable-gutenberg-480x93.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu le retires des blocs r\u00e9utilisables dans les options.</p><figure class=\"wp-block-image aligncenter size-large\"><picture class=\"wp-image-18680\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 423\"><img width=\"350\" height=\"505\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2020/09/convertir-bloc-gutenberg-normal.png\" alt=\"retirer r\u00e9utilisable\" referrerpolicy=\"no-referrer\" /></picture></figure><p>L\u2019extension <a class=\"rank-math-link\" href=\"https://fr.wordpress.org/plugins/reusable-blocks-extended/\" target=\"_blank\" rel=\"noreferrer noopener\">Reusable Block Extented</a> transforme directement un bloc r\u00e9utilisable en composition.</p><h3 id=\"bloc-boucle-requete\">Les articles les plus r\u00e9cents</h3><p>Tu choisis le bloc Boucle de requ\u00eate.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-23737\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 424\"><img width=\"131\" height=\"121\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/12/boucle-requete.png\" alt=\"boucle requete\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu s\u00e9lectionnes un des mod\u00e8les et tu cliques sur Choisir. Il est \u00e9galement possible de partir de z\u00e9ro et de composer avec les blocs Th\u00e8me.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-23738\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 425\"><img width=\"600\" height=\"239\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/12/modeles-boucle-requetes.png\" alt=\"mod\u00e8les boucle de requ\u00eates\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/12/modeles-boucle-requetes.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2021/12/modeles-boucle-requetes-480x191.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu peux mettre en forme les diff\u00e9rentes sections comme tu le souhaites : alignement, couleurs, taille\u2026 Les modifications seront appliqu\u00e9es sur tous les \u00e9l\u00e9ments.</p><p>Tu cliques sur le premier bloc et tu remontes sur Mod\u00e8le de publication puis sur Boucles de requ\u00eates pour acc\u00e9der aux r\u00e9glages.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-23739\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 426\"><img width=\"600\" height=\"229\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/12/reglages-modele.png\" alt=\"r\u00e9glages mod\u00e8le\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/12/reglages-modele.png 600w, https://www.pourpasunrond.fr/wp-content/uploads/2021/12/reglages-modele-480x183.png 480w\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Tu d\u00e9couvres les r\u00e8gles d\u2019affichage :</p><ul><li>\u00c9l\u00e9ments par page : articles affich\u00e9s</li>\n<li>D\u00e9calage : pour les affichages sur plusieurs colonnes (par ex. : 2 articles sur la premi\u00e8re colonne puis d\u00e9calage de 2 pour avoir les 2 suivants en deuxi\u00e8me colonne)</li>\n</ul><p>Attention : certaines compositions sont organis\u00e9es en colonnes ind\u00e9pendantes.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-23740\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 427\"><img width=\"321\" height=\"384\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/12/regles-affichages-derniers-articles.png\" alt=\"r\u00e8gles affichages derniers articles\" referrerpolicy=\"no-referrer\" /></picture></figure><p>Les r\u00e9glages dans le menu de droite :</p><ul><li>Le type de publication : article ou page</li>\n<li>Ordonner pour trier</li>\n<li>Exclure ou non les articles \u00e9pingl\u00e9s en d\u00e9but de page</li>\n</ul><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-23741\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 428\"><img width=\"356\" height=\"610\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/12/reglages-boucles-requetes.png\" alt=\"r\u00e9glages boucles de requ\u00eates\" referrerpolicy=\"no-referrer\" /></picture></figure><p>et tu filtres les articles qui apparaissent \u00e0 l\u2019aide des \u00e9l\u00e9ments suivants :</p><ul><li>Cat\u00e9gories</li>\n<li>\u00c9tiquettes</li>\n<li>Auteur</li>\n<li>Mot-cl\u00e9</li>\n</ul><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-23742\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 429\"><img width=\"353\" height=\"481\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/12/filtres-affichage-boucle-requetes.png\" alt=\"filtres affichage boucle de requ\u00eates\" referrerpolicy=\"no-referrer\" /></picture></figure><h4 id=\"les-blocs-lies-au-full-site-editing\">Les blocs li\u00e9s au full site editing</h4><p>Les blocs rang\u00e9s dans th\u00e8me (en dehors des boucles de requ\u00eates) sont faits pour l\u2019\u00e9dition de th\u00e8me et n\u2019ont aucune utilit\u00e9 dans les publications.</p><figure class=\"wp-block-image aligncenter size-full\"><picture class=\"wp-image-23745\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 430\"><img width=\"400\" height=\"508\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2021/12/blocs-full-site-editing.png\" alt=\"blocs full site editing\" referrerpolicy=\"no-referrer\" /></picture></figure><p><strong>Conclusion</strong></p><p>Tu disposes de toutes les options dont tu as besoin au quotidien pour dynamiser tes articles.</p><p><strong>Gutenberg s\u2019am\u00e9liore</strong> au fil du temps et int\u00e8gre de nouvelles fonctionnalit\u00e9s pour la mise en page sur WordPress. Il sert maintenant pour \u00e9diter l\u2019ensemble du site des th\u00e8mes qui supportent le Full Site Editing.</p><a href=\"https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.pourpasunrond.fr%2F%3Fp%3D7861&amp;text=D%C3%A9couvre%20un%20guide%20complet%20pour%20mettre%20en%20page%20sous%20WordPress%20avec%20Gutenberg.%20%23wordpress&amp;via=pourpasunrond&amp;related=pourpasunrond\" target=\"_blank\" rel=\"noopener noreferrer\">D\u00e9couvre un guide complet pour mettre en page sous WordPress avec Gutenberg. #wordpress</a><a href=\"https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.pourpasunrond.fr%2F%3Fp%3D7861&amp;text=D%C3%A9couvre%20un%20guide%20complet%20pour%20mettre%20en%20page%20sous%20WordPress%20avec%20Gutenberg.%20%23wordpress&amp;via=pourpasunrond&amp;related=pourpasunrond\" target=\"_blank\" class=\"bctt-ctt-btn\" rel=\"noopener noreferrer\">Cliquez pour tweeter</a><p>N\u2019oublie pas d\u2019installer une <strong>extension de r\u00e9f\u00e9rencement naturel</strong> comme <a rel=\"noreferrer noopener\" href=\"https://www.pourpasunrond.fr/rank-math/\" target=\"_blank\">Rank Math</a> pour ajouter un titre et une description d\u2019article qui appara\u00eetront dans les moteurs de recherche.</p><figure class=\"wp-block-image size-large is-resized\"><picture class=\"wp-image-11634\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 431\"><img src=\"https://www.pourpasunrond.fr/wp-content/uploads/2019/07/signature-jean-pour-pas-un-rond.png\" alt=\"signature de Jean du site pour pas un rond\" width=\"75\" height=\"57\" referrerpolicy=\"no-referrer\" /></picture></figure><p><strong>Les articles qui peuvent t\u2019int\u00e9resser :</strong></p><p><a href=\"https://www.pourpasunrond.fr/construire-son-site/\" target=\"_blank\" rel=\"noopener noreferrer\">Retrouve tous les articles pour Cr\u00e9er seul ton site</a></p><figure class=\"wp-block-image aligncenter\"><a href=\"https://www.pourpasunrond.fr/abonne-toi-a-la-newsletter/\" target=\"_blank\" rel=\"noreferrer noopener\"><picture class=\"wp-image-7953\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 432\"><img width=\"480\" height=\"233\" src=\"https://www.pourpasunrond.fr/wp-content/uploads/2018/07/ban-news-3-480X233-1.jpg\" alt=\"banni\u00e8re pour l'inscription \u00e0 la newsletter\" referrerpolicy=\"no-referrer\" /></picture></a></figure><div class=\"wp-container-34 wp-block-group has-background wp-block-group__inner-container c29\"><div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><picture class=\"wp-image-14475\" title=\"Utilise Gutenberg pour de splendides mises en page sur WordPress 433\"><img src=\"https://www.pourpasunrond.fr/wp-content/uploads/2019/11/portrait-jean-lochet-fondateur-pourpasunrond.fr_-1.png\" alt=\"portrait jean\" width=\"135\" height=\"135\" srcset=\"https://www.pourpasunrond.fr/wp-content/uploads/2019/11/portrait-jean-lochet-fondateur-pourpasunrond.fr_-1.png 270w, https://www.pourpasunrond.fr/wp-content/uploads/2019/11/portrait-jean-lochet-fondateur-pourpasunrond.fr_-1-150x150.png 150w, https://www.pourpasunrond.fr/wp-content/uploads/2019/11/portrait-jean-lochet-fondateur-pourpasunrond.fr_-1-100x100.png 100w\" referrerpolicy=\"no-referrer\" /></picture></figure></div><p class=\"has-text-align-center\">Je partage mes apprentissages et mes exp\u00e9riences depuis 2017 avec + de 100 tutoriels et ressources.</p><p class=\"has-text-align-center\">Tu devrais trouver ton bonheur pour cr\u00e9er ta marque, construire ton site puis le faire grandir et d\u00e9velopper ton entreprise sur pour pas un rond.</p><p class=\"has-text-align-center\">Jean</p></div><div id=\"rank-math-faq\" class=\"rank-math-block rank-math-list\"><div id=\"faq-question-1616319665716\" class=\"rank-math-list-item\"><h3 class=\"rank-math-question\">Comment fonctionne Gutenberg sur WordPress ?</h3><div class=\"rank-math-answer\"><p>Gutenberg, l\u2019\u00e9diteur de WordPress fonctionne par blocs successifs pour composer la mise en page. Il offre de nombreuses possibilit\u00e9s pour cr\u00e9er des articles et des pages riches et dynamiques avec des colonnes, des titres, des textes et des images ainsi que de nombreux autres blocs.</p></div></div><div id=\"faq-question-1616320182170\" class=\"rank-math-list-item\"><h3 class=\"rank-math-question\">Comment centrer les boutons sur Gutenberg ?</h3><div class=\"rank-math-answer\"><p>L\u2019option de centrage des boutons se situe au niveau du bloc et non quand tu es dans les options du bouton.</p></div></div><div id=\"faq-question-1646257725867\" class=\"rank-math-list-item\"><h3 class=\"rank-math-question\">Dois-je installer Gutenberg ?</h3><div class=\"rank-math-answer\"><p>Gutenberg est l\u2019\u00e9diteur par d\u00e9faut. Il est automatiquement activ\u00e9 \u00e0 partir de la version 5.0 de WordPress sortie fin 2018.</p></div></div></div>",
    "created_at": "2022-08-15T07:08:35+00:00",
    "updated_at": "2022-08-15T07:08:43+00:00",
    "published_at": "2022-06-04T15:10:00+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "fr_FR",
    "reading_time": 24,
    "domain_name": "www.pourpasunrond.fr",
    "preview_picture": "https://www.pourpasunrond.fr/wp-content/uploads/2022/03/gutenberg-facebook-1.png",
    "http_status": "200",
    "headers": {
      "date": "Mon, 15 Aug 2022 07:08:34 GMT",
      "content-type": "text/html; charset=UTF-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "vary": "Accept-Encoding",
      "cache-control": "no-cache, private, must-revalidate",
      "wpo-cache-status": "cached",
      "last-modified": "Sun, 14 Aug 2022 15:35:49 GMT",
      "expires": "Sun, 13 Nov 2022 07:08:33 GMT",
      "strict-transport-security": "max-age=31536000",
      "x-xss-protection": "1; mode=block",
      "x-content-type-options": "nosniff",
      "x-frame-options": "DENY",
      "referrer-policy": "no-referrer-when-downgrade",
      "cf-cache-status": "DYNAMIC",
      "expect-ct": "max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"",
      "report-to": "{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=K/eM03f8awuK8zkCHVpMKGO5baT1zb35NwCfvoSoMIrnDVlYYSYHgXV+ATVmf5cNNJ02I27O3JiCyfEJ/PK6hLC0coEihmuM+lhj7NX8MmhepW4IYSxwLJVy/51pl0vbVsODsqaWYpYresev4dRHySZi5Q==\"}],\"group\":\"cf-nel\",\"max_age\":604800}",
      "nel": "{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}",
      "server": "cloudflare",
      "cf-ray": "73b019897d7e7519-LHR",
      "alt-svc": "h3=\":443\"; ma=86400, h3-29=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["wordpress", "gutenberg"],
    "is_public": false,
    "id": 39,
    "title": "Building a WordPress theme with Gutenberg - Bill Erickson",
    "url": "https://www.billerickson.net/building-a-wordpress-theme-with-gutenberg/",
    "given_url": "https://www.billerickson.net/building-a-wordpress-theme-with-gutenberg/",
    "content": "<p>Many of the articles I\u2019ve shared recently describe specific features in the <a href=\"https://www.billerickson.net/category/gutenberg-block-editor/\">Gutenberg block editor</a> and the <a href=\"https://www.billerickson.net/category/genesis/\">Genesis theme framework</a>.</p><p>I think it would be helpful to take a step back and walk you through my process of building a custom WordPress theme from start to finish. I encourage you to also review my <a href=\"https://www.billerickson.net/building-a-gutenberg-website/\">Developer\u2019s Guide to Gutenberg</a>.</p><p>I focus on a recent Genesis child theme I built for <a href=\"https://herpackinglist.com/\">Her Packing List</a>, but the process applies to any WordPress theme.</p><div class=\"block-toc\"><ol><li><a href=\"https://www.billerickson.net/building-a-wordpress-theme-with-gutenberg/#start-with-design\">Start with design</a></li>\n<li><a href=\"https://www.billerickson.net/building-a-wordpress-theme-with-gutenberg/#style-guide\">Style Guide</a></li>\n<li><a href=\"https://www.billerickson.net/building-a-wordpress-theme-with-gutenberg/#custom-blocks\">Custom Blocks</a></li>\n<li><a href=\"https://www.billerickson.net/building-a-wordpress-theme-with-gutenberg/#gutenberg-specific-styling\">Gutenberg Specific Styling</a></li>\n<li><a href=\"https://www.billerickson.net/building-a-wordpress-theme-with-gutenberg/#base-template\">Finish building the base template</a></li>\n<li><a href=\"https://www.billerickson.net/building-a-wordpress-theme-with-gutenberg/#archives\">Archives</a></li>\n<li><a href=\"https://www.billerickson.net/building-a-wordpress-theme-with-gutenberg/#block-areas\">Block Areas</a>\n<ol><li><a href=\"https://www.billerickson.net/building-a-wordpress-theme-with-gutenberg/#block-area-in-archives\">Block Area in Archives</a></li>\n</ol></li>\n<li><a href=\"https://www.billerickson.net/building-a-wordpress-theme-with-gutenberg/#modular-template\">Modular Template</a></li>\n</ol></div><p>Gutenberg has accelerated a change in the way we design and build themes. We still use a <a href=\"https://www.billerickson.net/about/our-process/\">three phase process</a> of Discovery, Design and Development, but we now think in more modular terms.</p><p>Rather than designing in <em>pages</em>, with each page often being a unique template with its own styling and metaboxes, we design in <em>blocks</em> and assemble the pages using these blocks.</p><p>We actually used a modular design approach before Gutenberg, but were constrained on the development side by the classic editor. Our designs used reusable components, but these were often managed with metaboxes and shortcodes. Now with Gutenberg our modular design can be implemented with core and <a href=\"https://www.billerickson.net/building-gutenberg-block-acf/\">custom blocks</a>.</p><p>It\u2019s crucial to work with a designer who understands the Gutenberg block editor. My two design partners, <a href=\"https://duanesmithdesign.com/\">Duane Smith</a> and <a href=\"https://pautlerdesign.com/\">Andrew Pautler</a>, create incredible web experiences both through their design expertise and by enabling our clients to fully use the features of WordPress.</p><blockquote class=\"wp-block-quote\">\n<p>Thank you! I am just blown away at how well everything is thought through in your development! I LOVE it!</p>\n<div><cite><img src=\"https://secure.gravatar.com/avatar/dd056a156434343444f3e27fb3dd6345?s=100\" class=\"avatar\" alt=\"avatar\" referrerpolicy=\"no-referrer\" />Robyn Stone<em>Add a Pinch</em></cite></div></blockquote><p>I won\u2019t go into any more detail on our design process, but I think it\u2019s important to note that a key factor in building an easy-to-manage website is starting with a design that was built <em>for</em> the block editor, rather than trying to squeeze a custom design <em>into</em> the block editor.</p><h2 id=\"style-guide\">Style Guide</h2><p>After I\u2019ve set up <a href=\"https://www.billerickson.net/my-development-workflow/\">my development environment</a> and download a fresh copy of <a href=\"https://www.billerickson.net/gutenberg-starter-themes/\">my starter theme</a>, I start development by building out the Style Guide.</p><figure class=\"wp-block-image alignwide border\"><img width=\"1536\" height=\"768\" src=\"https://www.billerickson.net/wp-content/uploads/2019/08/style-guide-core-blocks.jpg\" alt=\"\" class=\"wp-image-7888\" srcset=\"https://www.billerickson.net/wp-content/uploads/2019/08/style-guide-core-blocks.jpg 1536w, https://www.billerickson.net/wp-content/uploads/2019/08/style-guide-core-blocks-768x384.jpg 768w, https://www.billerickson.net/wp-content/uploads/2019/08/style-guide-core-blocks-1168x584.jpg 1168w\" referrerpolicy=\"no-referrer\" /></figure><p class=\"has-text-align-center has-small-font-size\">The above is just a sampling from the style guide. Here\u2019s the full style guide: <a href=\"https://cl.ly/1c25736958ce\">desktop</a> | <a href=\"https://cl.ly/d2df04a56e6b\">tablet</a> | <a href=\"https://cl.ly/62e33d01adaa\">mobile</a>.</p><p>First I update my <a href=\"https://github.com/billerickson/EA-Genesis-Child/blob/master/assets/scss/partials/_base.scss\">_base.scss</a> SASS file with brand colors, <a href=\"https://www.billerickson.net/wordpress-color-palette-button-styling-gutenberg/\">Gutenberg color options</a>, grid width, and breakpoints. Here\u2019s the <a href=\"https://gist.github.com/billerickson/d19ed54274380fddf0e1d99f0ba27b7e\">_base.scss file for Her Packing List</a>.</p><p>I review the core blocks to see which will need <a href=\"https://www.billerickson.net/block-styles-in-gutenberg/\">additional block styles</a>. This site had quite a few \u2013 underline and fancy styles for headings, arrow and icon styles for lists, and more. Here\u2019s the <a href=\"https://gist.github.com/billerickson/c98036ae7623e08893707d6d5d5f7f4a\">editor.js file</a> for this project.</p><p>In the content editor I build the Style Guide page with all the content from the mockup, up until the \u201cCustom Gutenberg Blocks\u201d section. Then I write the CSS in <a href=\"https://github.com/billerickson/EA-Genesis-Child/blob/master/assets/scss/partials/_blocks.scss\">_blocks.scss</a> so the Style Guide matches the mockup.</p><h2 id=\"custom-blocks\">Custom Blocks</h2><p>I build all of my <a href=\"https://www.billerickson.net/building-gutenberg-block-acf/\">custom blocks using ACF</a>. I avoid using block library plugins like Atomic Blocks and CoBlocks because they contain many blocks that we don\u2019t need, and the ones we would use often allow customizing the styling (ex: specify padding for each block).</p><p>I don\u2019t <em>want</em> content creators to worry about design. They should focus on content creation and let the theme handle the styling. ACF makes it incredibly easy to quickly build custom blocks with minimal options, keeping the interface as simple as possible for content creators.</p><p>Before I start coding, I review the visual and technical requirements for each custom block and determine how I\u2019ll build it.</p><figure class=\"wp-block-image alignwide\"><img width=\"1536\" height=\"768\" src=\"https://www.billerickson.net/wp-content/uploads/2019/08/style-guide-custom-blocks.jpg\" alt=\"\" class=\"wp-image-7889\" srcset=\"https://www.billerickson.net/wp-content/uploads/2019/08/style-guide-custom-blocks.jpg 1536w, https://www.billerickson.net/wp-content/uploads/2019/08/style-guide-custom-blocks-768x384.jpg 768w, https://www.billerickson.net/wp-content/uploads/2019/08/style-guide-custom-blocks-1168x584.jpg 1168w\" referrerpolicy=\"no-referrer\" /></figure><p class=\"has-text-align-center has-small-font-size\">The above is just a sampling from the style guide. Here\u2019s the full style guide: <a href=\"https://cl.ly/1c25736958ce\">desktop</a> | <a href=\"https://cl.ly/d2df04a56e6b\">tablet</a> | <a href=\"https://cl.ly/62e33d01adaa\">mobile</a>.</p><ul><li><strong>Social Media Share Buttons</strong> will be implemented with <a href=\"https://wordpress.org/plugins/shared-counts/\">Shared Counts</a>. I\u2019m not actually building a custom block for this since they will automatically be added to the end of every post by Shared Counts. I just have to style them to match the design.</li>\n<li><strong>Social Media Share Links</strong> will be an ACF block with no options. It will <a href=\"https://www.billerickson.net/code/displaying-social-links-from-yoast-seo/\">pull social links from Yoast SEO</a>.</li>\n<li><strong>Pinterest CTA</strong> will be an ACF block with two image upload fields.</li>\n<li><strong>Email Subscribe CTA</strong> will be a <a rel=\"nofollow\" href=\"https://www.billerickson.net/go/wpforms/\">WPForms</a> block with some CSS.</li>\n<li><strong>HPL World CTA</strong> will be an ACF block with no options.</li>\n<li><strong>Email Contact Form</strong> is WPForms.</li>\n<li><strong>Product Listing</strong> is an ACF block with a title and repeatable field for products. Each product has a name, image, URL, and price.</li>\n<li><strong>Quick Links</strong> is an ACF block with a repeatable field for links.</li>\n<li><strong>Gear We Use</strong> and <strong>Travel Resources</strong> use the WP core group block with a background color set. They are saved as a reusable blocks since they are used on multiple pages.</li>\n<li><strong>Related Posts</strong> is an ACF block with no options. It will be used in the Single Post <a href=\"https://www.billerickson.net/building-a-wordpress-theme-with-gutenberg/#block-areas\">Block Area</a>.</li>\n<li><strong>Next Stop</strong> is an ACF block with no options. The dropdowns are populated with terms from a custom taxonomy and take you to the term archive.</li>\n<li><strong>Fact Box</strong> is the WP core group block with a background color.</li>\n</ul><p>See my article <a href=\"https://www.billerickson.net/building-gutenberg-block-acf/\">Building a block with Advanced Custom Fields</a> for information on building custom blocks. Also take a look at the sample code at the end of <a href=\"https://www.billerickson.net/acf-json-with-git/\">ACF with version control</a> to see how I organize the ACF code in the theme.</p><h2 id=\"gutenberg-specific-styling\">Gutenberg Specific Styling</h2><p>After ensuring all of the blocks match the design on the frontend, it\u2019s a good idea to switch back to the Gutenberg block editor and make sure your blocks look the same there too.</p><p>The backend editor should match the frontend as close as possible so content editors have a good idea of how the page will look before publishing.</p><p>If you\u2019re using SASS, it\u2019s easy to generate an additional stylesheet with only the relevant block styles, then <a href=\"https://www.billerickson.net/getting-your-theme-ready-for-gutenberg/#backend-styles\">enqueue it as editor styles</a>. My <a href=\"https://github.com/billerickson/EA-Genesis-Child/blob/master/assets/scss/editor-style.scss\">editor-style.scss</a> loads:</p><ul><li>_base.scss with my variables for colors</li>\n<li>_blocks.scss with my block-specific styling</li>\n<li>_gutenberg.scss for Gutenberg-only styling</li>\n</ul><p>WordPress loads some CSS only in Gutenberg that can alter the styling of your blocks. I use my Gutenberg-only partial for minor tweaks to get the backend blocks matching the frontend.</p><p>I also updated the post title to be white on a red background, and customized the sizes of wide and full blocks. Here\u2019s my <a href=\"https://gist.github.com/billerickson/8858ae21c31ff3fcc60338a1aef575bf\">_gutenberg.scss</a> for Her Packing List.</p><figure class=\"wp-block-image alignwide\"><img width=\"1536\" height=\"812\" src=\"https://www.billerickson.net/wp-content/uploads/2019/08/style-guide-gutenberg.jpg\" alt=\"\" class=\"wp-image-7891\" srcset=\"https://www.billerickson.net/wp-content/uploads/2019/08/style-guide-gutenberg.jpg 1536w, https://www.billerickson.net/wp-content/uploads/2019/08/style-guide-gutenberg-768x406.jpg 768w, https://www.billerickson.net/wp-content/uploads/2019/08/style-guide-gutenberg-1168x618.jpg 1168w\" referrerpolicy=\"no-referrer\" /></figure><h2 id=\"base-template\">Finish building the base template</h2><p>Now that the blocks in the content area are complete, I focus on everything that\u2019s <strong>not</strong> in the block editor. This includes building out the site header, navigation menu, sidebar, and site footer.</p><p>Once the Style Guide is complete, I move over to the Single Post design and build out the additional post elements, like the comments and author box.</p><p>All of the elements after the author box are managed with the After Post <a href=\"https://www.billerickson.net/building-a-wordpress-theme-with-gutenberg/#block-areas\">Block Area</a>, described in its own section below.</p><p>Genesis can now automatically add the featured image to the top of posts, and let writers disable it on a per-post basis. Add the following to your theme\u2019s functions.php file:</p><p><code>add_post_type_support( 'post', 'genesis-singular-images' );</code></p><p>See the \u201cFeatured image output options\u201d section of the <a href=\"https://studiopress.blog/genesis-3-1/\">Genesis 3.1 release notes</a> for more information.</p><p>After building out all the singular content (Style Guide, Single Post, and individual pages), I move on to the dynamic archives.</p><p>My approach to archives is a bit different than most Genesis theme developers, but will be familiar to those building custom themes outside of Genesis.</p><p>What makes Genesis unique are its <a href=\"https://www.billerickson.net/code/genesis-hook-reference/\">hooks</a> and <a href=\"https://www.billerickson.net/code/genesis-filter-reference/\">filters</a>. These allow you to customize any aspect in Genesis, and insert your own elements wherever you\u2019d like. Want to add something before the post title? Use the <code><code>genesis_entry_header</code></code>\u00a0hook with a priority less than 10.</p><p>These same hooks run when a post is on an archive page, so any customizations you make need to be scoped with conditional tags (ex: <code>is_single()</code>\u00a0). If you\u2019re using <code>genesis_custom_loop()</code>\u00a0for related posts, you need to limit your customizations to the primary post on the page using <code>if( get_the_ID() === get_queried_object_id() )</code>.</p><p>Scoping your customizations is even more difficult if you use a modular design approach like we do. We\u2019ll typically have a few different \u201cpost summary\u201d styles used throughout the site, on the archive page, in a related posts section on a single post, and in custom \u201cPost Listing\u201d blocks on landing pages.</p><p>I prefer to <a href=\"https://github.com/billerickson/EA-Genesis-Child/blob/master/inc/loop.php\">remove the standard genesis loop</a> (and all of its hooks) on archive pages and <a href=\"https://www.billerickson.net/using-template-parts-with-genesis/\">use template partials instead</a>. I can then design the \u201cpost summary\u201d styles as template partials and use them wherever they are needed.</p><p>On <a href=\"https://herpackinglist.com\">Her Packing List</a> I built 3 different archive partials, found in /partials/ directory of the theme.</p><p><strong>archive.php</strong></p><pre>echo '&lt;article class=\"post-summary\"&gt;';\n        echo '&lt;a class=\"entry-image-link\" href=\"' . get_permalink() . '\" tabindex=\"-1\" aria-hidden=\"true\"&gt;' . get_the_post_thumbnail( get_the_ID(), 'ea_archive' ) . '&lt;/a&gt;';\n        echo '&lt;p class=\"post-summary__meta\"&gt;' . ea_icon( array( 'icon' =&gt; 'chat-circles', 'size' =&gt; 16 ) ) . get_comments_number_text() . '&lt;/p&gt;';\n        echo '&lt;h5 class=\"entry-title\"&gt;&lt;a href=\"' . get_permalink() . '\"&gt;' . get_the_title() . '&lt;/a&gt;&lt;/h5&gt;';\necho '&lt;/article&gt;';\n</pre><p><strong>archive-related.php</strong></p><pre>echo '&lt;article class=\"post-summary related\"&gt;';\n        echo '&lt;a class=\"entry-image-link\" href=\"' . get_permalink() . '\" tabindex=\"-1\" aria-hidden=\"true\"&gt;' . get_the_post_thumbnail( get_the_ID(), 'ea_archive', array( 'class' =&gt; 'nopin' ) ) . '&lt;/a&gt;';\n    echo '&lt;h3&gt;&lt;a href=\"' . get_permalink() . '\"&gt;' . get_the_title() . '&lt;/a&gt;&lt;/h3&gt;';\necho '&lt;/article&gt;';\n</pre><p><strong>archive-featured.php</strong></p><pre>echo '&lt;article class=\"post-summary featured\"&gt;';\n        echo '&lt;a class=\"entry-image-link\" href=\"' . get_permalink() . '\" tabindex=\"-1\" aria-hidden=\"true\"&gt;' . get_the_post_thumbnail( get_the_ID(), 'large' ) . '&lt;/a&gt;';\n    echo '&lt;div class=\"post-summary__content\"&gt;';\n        echo '&lt;h2 class=\"is-style-underline\"&gt;Featured Post&lt;/h2&gt;';\n        echo '&lt;h2 class=\"entry-title\"&gt;&lt;a href=\"' . get_permalink() . '\"&gt;' . get_the_title() . '&lt;/a&gt;&lt;/h2&gt;';\n        the_excerpt();\n        echo '&lt;p class=\"post-summary__meta\"&gt;' . ea_icon( array( 'icon' =&gt; 'chat-circles', 'size' =&gt; 16 ) ) . get_comments_number_text() . '&lt;/p&gt;';\n    echo '&lt;/div&gt;';\necho '&lt;/article&gt;';</pre><p>In my archive.php template file, I made the first post on the page use the archive-featured.php partial with:</p><pre>/**\n * Featured post partial\n *\n */\nfunction ea_archive_featured_post( $context ) {\n        global $wp_query;\n        if( ! get_query_var( 'paged' ) &amp;&amp; 0 === $wp_query-&gt;current_post )\n                $context = 'featured';\n        return $context;\n}\nadd_filter( 'ea_loop_partial_context', 'ea_archive_featured_post' );\n</pre><p>For more information on this approach, see <a href=\"https://www.billerickson.net/using-template-parts-with-genesis/\">Using Template Parts with Genesis</a>.</p><h2 id=\"block-areas\">Block Areas</h2><p>Our sites often have repeated elements outside the content area, like related posts at the bottom of a single post.</p><p>You could hardcode these features into the template file, or create a widget area so your client can edit it.</p><p>We prefer creating <a href=\"https://www.billerickson.net/wordpress-gutenberg-block-widget-areas/\">Block Areas</a>, which are like widget areas but use the block editor.</p><figure class=\"wp-block-image alignwide\"><img width=\"1536\" height=\"758\" src=\"https://www.billerickson.net/wp-content/uploads/2019/08/after-post-block-area.jpg\" alt=\"\" class=\"wp-image-7892\" srcset=\"https://www.billerickson.net/wp-content/uploads/2019/08/after-post-block-area.jpg 1536w, https://www.billerickson.net/wp-content/uploads/2019/08/after-post-block-area-768x379.jpg 768w, https://www.billerickson.net/wp-content/uploads/2019/08/after-post-block-area-1168x576.jpg 1168w\" referrerpolicy=\"no-referrer\" /></figure><p>To include the \u201cAfter Post\u201d block area to our single posts, I added this to single.php:</p><pre>/**\n * After Post modules\n *\n */\nfunction ea_after_post_area() {\n    if( function_exists( 'ea_block_area' ) )\n           ea_block_area()-&gt;show( 'after-post' );\n}\nadd_action( 'genesis_after_entry', 'ea_after_post_area', 9 );</pre><p>We also provided the ability to insert block areas <strong>inside</strong> archive pages.</p><p>On certain categories, our client wanted to use the \u201cPost Listing\u201d block we created to list recent posts in subcategories of the current category. These would appear after the first (\u201cfeatured\u201d) post, and before the second post.</p><p>I edited the <code>block_area</code>\u00a0post type registration to include categories and tags as supported taxonomies. Then on archive pages, I do a taxonomy query to see if any block areas have the current category, and if so I output the block area after the first post.</p><pre>/**\n * Archive block area\n *\n */\nfunction ea_archive_block_area() {\n        if( get_query_var( 'paged' ) )\n                return;\n        global $wp_query;\n        if( 1 !== $wp_query-&gt;current_post )\n                return;\n        $tax = is_category() ? 'category' : ( is_tag() ? 'post_tag' : false );\n        if( ! $tax )\n                return;\n        $loop = new WP_Query( array(\n                'post_type' =&gt; 'block_area',\n                'posts_per_page' =&gt; 1,\n                'tax_query' =&gt; array(\n                        array(\n                                'taxonomy' =&gt; $tax,\n                                'field'         =&gt; 'term_id',\n                                'terms'         =&gt; array( get_queried_object_id() )\n                        )\n                )\n        ));\n        if( $loop-&gt;have_posts() ): while( $loop-&gt;have_posts() ): $loop-&gt;the_post();\n                echo '&lt;div class=\"block-area archive-block-area\"&gt;';\n                the_content();\n                echo '&lt;/div&gt;';\n        endwhile; endif; wp_reset_postdata();\n}\nadd_action( 'genesis_before_entry', 'ea_archive_block_area' );</pre><h2 id=\"modular-template\">Modular Template</h2><p>Her Packing List doesn\u2019t include a <a href=\"https://www.billerickson.net/client-resources/modular-template/\">modular template</a>, but I\u2019m including a note here because many of the sites we build do have them.</p><p>I think of Gutenberg as a \u201crich content builder\u201d, but not a page builder or layout builder. It\u2019s not a good tool for things like displaying content across multiple columns on a grid and adjusting that layout at different breakpoints.</p><p>I hope Gutenberg never becomes a full-on page builder because that will drastically increase the complexity of content editing. I\u2019m a firm believer in the separation of content and design.</p><p>Some pages are too difficult to implement directly in the Gutenberg block editor. On the sites we build, these are often homepages, landing pages, and <a href=\"https://www.billerickson.net/landing-pages-with-acf-flexible-content/#category-landing-pages\">category landing pages</a>.</p><div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img src=\"https://www.billerickson.net/wp-content/uploads/2019/04/home-landing-page.jpg\" alt=\"\" class=\"wp-image-7622\" width=\"512\" height=\"1467\" srcset=\"https://www.billerickson.net/wp-content/uploads/2019/04/home-landing-page.jpg 1024w, https://www.billerickson.net/wp-content/uploads/2019/04/home-landing-page-268x768.jpg 268w, https://www.billerickson.net/wp-content/uploads/2019/04/home-landing-page-768x2201.jpg 768w, https://www.billerickson.net/wp-content/uploads/2019/04/home-landing-page-408x1168.jpg 408w\" referrerpolicy=\"no-referrer\" /></figure></div><p>I create a <code>modules.php</code>\u00a0page template that <a href=\"https://www.billerickson.net/disabling-gutenberg-certain-templates/\">disables the editor</a>, then loads an ACF metabox with a Flexible Content field. We\u2019ll design and build a dozen or so modules. For more information, see <a href=\"https://www.billerickson.net/landing-pages-with-acf-flexible-content\">Landing Pages with ACF Flexible Content</a>.</p><p>During our discovery and design process we identify the types of blocks/modules needed and their overall complexity. We try to use blocks for everything if possible, like we did with Her Packing List.</p><p>If the elements reach a certain level of complexity, we\u2019ll work with our client to either scale back the complexity to something manageable with blocks, or start separating elements into blocks and modules.</p><p>The downside to modules is you lose the flexibility and visual editing of a block editor, but it can greatly simplify the content creation process on complex pages.</p><p>This is a conversation we have with the client during discovery and design. Our goal is to make their site as easy and enjoyable to manage as possible, so they should be involved in deciding how we build these features.</p><noscript>\n</noscript>",
    "created_at": "2022-08-15T07:08:06+00:00",
    "updated_at": "2022-08-15T07:08:16+00:00",
    "published_at": "2019-08-30T19:38:19+00:00",
    "annotations": [],
    "mimetype": "text/html; charset=UTF-8",
    "language": "en_US",
    "reading_time": 12,
    "domain_name": "www.billerickson.net",
    "preview_picture": "https://www.billerickson.net/wp-content/uploads/2019/08/building-gutenberg-site-featured.jpg",
    "http_status": "200",
    "headers": {
      "date": "Mon, 15 Aug 2022 07:08:05 GMT",
      "content-type": "text/html; charset=UTF-8",
      "transfer-encoding": "chunked",
      "connection": "keep-alive",
      "vary": "Accept-Encoding",
      "last-modified": "Mon, 15 Aug 2022 01:03:18 GMT",
      "x-powered-by": "centminmod",
      "x-hosted-by": "BigScoots",
      "cf-cache-status": "DYNAMIC",
      "expect-ct": "max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"",
      "report-to": "{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=s60/hMkt0ZHsUt3ZfEeOtzkRaoGU37gcaOOVELESNXeIISxNlZ20v9VsCePwEluyLGmBEi58Na61J7bOPSxNjCOENEycRpfbfA8ft1Do9ENx0lSpiDuDvQhrzoyG9ODop7BvyhGsUSKgliCiae6devaIpA==\"}],\"group\":\"cf-nel\",\"max_age\":604800}",
      "nel": "{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}",
      "server": "cloudflare",
      "cf-ray": "73b018d72cd9755a-LHR",
      "alt-svc": "h3=\":443\"; ma=86400, h3-29=\":443\"; ma=86400"
    }
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["gazette", "loi", "3ds"],
    "is_public": false,
    "id": 38,
    "title": "Loi 3DS : avec l\u2019administration, des relations simplifi\u00e9es",
    "url": "https://www.lagazettedescommunes.com/812128/loi-3ds-avec-ladministration-des-relations-simplifiees/",
    "origin_url": "https://www.lagazettedescommunes.com/812128/loi-3ds-avec-ladministration-des-relations-simplifiees/?abo=1",
    "content": "<p>Publi\u00e9e au \u00ab\u2009Journal officiel\u2009\u00bb du 22 f\u00e9vrier 2022, la loi relative \u00e0 la diff\u00e9renciation, la d\u00e9centralisation, la d\u00e9concentration et portant diverses mesures de simplification de l\u2019action publique locale (dite \u00ab\u2009loi 3DS\u2009\u00bb) est pr\u00e9sent\u00e9e comme visant \u00e0 construire une nouvelle \u00e9tape de la d\u00e9centralisation.</p><p>S\u2019agissant sp\u00e9cifiquement du volet de simplification de l\u2019action publique locale, les objectifs poursuivis par le l\u00e9gislateur sont notamment\u2009:</p>\n<ul><li>l\u2019acc\u00e9l\u00e9ration de l\u2019\u00e9change des donn\u00e9es entre administrations au profit de l\u2019usager\u2009;</li>\n<li>la simplification de la r\u00e9partition des t\u00e2ches entre l\u2019assembl\u00e9e d\u00e9lib\u00e9rante et l\u2019ex\u00e9cutif local\u2009;</li>\n<li>la coop\u00e9ration transfrontali\u00e8re\u2009;</li>\n<li>la simplification de l\u2019action publique locale en mati\u00e8re d\u2019am\u00e9nagement et d\u2019environnement\u2009;</li>\n<li>la simplification du fonctionnement ...</li>\n</ul><div class=\"blocCut pageGU\">\n<p class=\"blocCut__title\">[90% reste \u00e0 lire]</p>\n<div class=\"articleResa\">\n<p class=\"blocCut__title--type2\">Article r\u00e9serv\u00e9 aux abonn\u00e9s</p>\n<p class=\"blocCut__title--type3\">Gazette des Communes</p>\n<form class=\"formGu\" method=\"post\" action=\"/wp-admin/admin-post.php?action=user_do_login&amp;fromSingle=1\" id=\"truncated-form\">\n<div class=\"password inputBox jqWrapperInput floatingWrapper\"><label for=\"password\" class=\"labelInput inputText floating__label\">Mot de passe</label> <a href=\"https://www.lagazettedescommunes.com/demande-mot-de-passe/\" class=\"forgot forgotPass\">Mot de passe oubli\u00e9</a></div>\n</form>\n</div>\n<div class=\"notYet\">\n<p class=\"blocCut__title--type2\">VOUS N'\u00eaTES PAS ABONN\u00e9 ?</p>\n<p class=\"blocCut__title--type4\">D\u00e9couvrez nos formules et acc\u00e9dez aux articles en illimit\u00e9</p>\n<a href=\"https://www.lagazettedescommunes.com/abonnement/\" target=\"_blank\" class=\"btn__full buttonTypeA buttonTypeA--1\">Je m\u2019abonne</a></div>\n</div>\n<div class=\"blocRef blocRef--margin40-0\">\n<p class=\"blocRef__title\">R\u00e9f\u00e9rences</p>\n<ul><li><a href=\"https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000045197395\">Loi n\u00b0\u20092022-217 du 21\u202ff\u00e9vrier 2022 relative \u00e0 la diff\u00e9renciation, la d\u00e9centralisation, la d\u00e9concentration et portant diverses mesures de simplification de l\u2019action publique locale.</a>\u00a0</li>\n</ul></div>\n<div class=\"blocFolder blocFolder--margin40-0\">\n<p class=\"blocFolder__subtitle\">Cet article fait partie du Dossier</p>\n</div>\n<div class=\"blocTag blocTag--margin40-0\">\n<p class=\"blocTag__title\">Domaines juridiques</p>\n</div>",
    "created_at": "2022-06-16T11:14:46+00:00",
    "updated_at": "2022-06-16T11:14:51+00:00",
    "published_at": "2022-06-15T07:10:13+00:00",
    "published_by": ["Auteur associ\u00e9"],
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 0,
    "domain_name": "www.lagazettedescommunes.com",
    "preview_picture": "https://www.lagazettedescommunes.com/wp-content/uploads/2021/11/adobe-stock-a-popov.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["gazette", "loi", "3ds"],
    "is_public": false,
    "id": 37,
    "title": "Loi 3DS : le r\u00e9gime des entreprises publiques locales modifi\u00e9",
    "url": "https://www.lagazettedescommunes.com/810706/loi-3ds-le-regime-des-entreprises-publiques-locales-modifie/",
    "origin_url": "https://www.lagazettedescommunes.com/810706/loi-3ds-le-regime-des-entreprises-publiques-locales-modifie/?abo=1",
    "content": "<p>Les articles 210 \u00e0 219 de la loi n\u00b0\u20092022-217 du 21\u202ff\u00e9vrier\u00a02022 relative \u00e0 la diff\u00e9renciation, la d\u00e9centralisation, la d\u00e9concen\u00adtration et portant diverses mesures de simplification de l\u2019action publique locale, dite \u00ab\u20093DS\u2009\u00bb, comportent de nombreuses dispositions propres aux entreprises publiques locales (soci\u00e9t\u00e9s d\u2019\u00e9conomie mixte et soci\u00e9t\u00e9s publiques locales, ci-apr\u00e8s d\u00e9sign\u00e9es \u00ab\u2009EPL\u2009\u00bb).</p><p>Inspir\u00e9es des recommandations de la Cour des comptes et formul\u00e9es dans un rapport de 2019\u00a0<sup>(1)</sup>, ces nouvelles mesures visent \u00e0 renforcer le contr\u00f4le des collectivit\u00e9s locales actionnaires sur leurs EPL, mais aussi les soci\u00e9t\u00e9s qu\u2019elles contr\u00f4lent au sens de l\u2019article L.233-3 du code de \u00adcommerce, c\u2019est-\u00e0-dire leurs filiales.</p>\n<p>Pr\u00e9cisons d\u2019embl\u00e9e que certaines de ces dispositions sont entr\u00e9es en vigueur d\u00e8s la ...</p>\n<div class=\"blocCut pageGU\">\n<p class=\"blocCut__title\">[90% reste \u00e0 lire]</p>\n<div class=\"articleResa\">\n<p class=\"blocCut__title--type2\">Article r\u00e9serv\u00e9 aux abonn\u00e9s</p>\n<p class=\"blocCut__title--type3\">Gazette des Communes</p>\n<form class=\"formGu\" method=\"post\" action=\"/wp-admin/admin-post.php?action=user_do_login&amp;fromSingle=1\" id=\"truncated-form\">\n<div class=\"password inputBox jqWrapperInput floatingWrapper\"><label for=\"password\" class=\"labelInput inputText floating__label\">Mot de passe</label> <a href=\"https://www.lagazettedescommunes.com/demande-mot-de-passe/\" class=\"forgot forgotPass\">Mot de passe oubli\u00e9</a></div>\n</form>\n</div>\n<div class=\"notYet\">\n<p class=\"blocCut__title--type2\">VOUS N'\u00eaTES PAS ABONN\u00e9 ?</p>\n<p class=\"blocCut__title--type4\">D\u00e9couvrez nos formules et acc\u00e9dez aux articles en illimit\u00e9</p>\n<a href=\"https://www.lagazettedescommunes.com/abonnement/\" target=\"_blank\" class=\"btn__full buttonTypeA buttonTypeA--1\">Je m\u2019abonne</a></div>\n</div>\n<div class=\"blocRef blocRef--margin40-0\">\n<p class=\"blocRef__title\">R\u00e9f\u00e9rences</p>\n<ul><li><a href=\"https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000045197395\">Loi n\u00b0\u20092022-217 du 21\u202ff\u00e9vrier 2022 relative \u00e0 la diff\u00e9renciation, la d\u00e9centralisation, la d\u00e9concentration et portant diverses mesures de simplification de l\u2019action publique locale.</a>\u00a0</li>\n</ul></div>\n<div class=\"blocFolder blocFolder--margin40-0\">\n<p class=\"blocFolder__subtitle\">Cet article fait partie du Dossier</p>\n</div>\n<div class=\"blocTag blocTag--margin40-0\">\n<p class=\"blocTag__title\">Domaines juridiques</p>\n</div>",
    "created_at": "2022-06-16T11:14:31+00:00",
    "updated_at": "2022-06-16T11:14:35+00:00",
    "published_at": "2022-06-08T13:02:48+00:00",
    "published_by": ["Auteur associ\u00e9"],
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 0,
    "domain_name": "www.lagazettedescommunes.com",
    "preview_picture": "https://www.lagazettedescommunes.com/wp-content/uploads/2019/06/epl.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["gazette", "loi", "3ds"],
    "is_public": false,
    "id": 36,
    "title": "Loi 3DS : les apports en mati\u00e8re environnementale",
    "url": "https://www.lagazettedescommunes.com/809706/loi-3ds-les-apports-en-matiere-environnementale/",
    "origin_url": "https://www.lagazettedescommunes.com/809706/loi-3ds-les-apports-en-matiere-environnementale/?abo=1",
    "content": "<p>Second volet de la loi n\u00b0\u2009\u00ad2022-217 du 21\u202ff\u00e9vrier\u00a02022 relative \u00e0 la diff\u00e9renciation, la d\u00e9centralisation, la \u00add\u00e9concentration et portant diverses mesures de simplification de l\u2019action \u00adpublique locale, dite \u00ab\u20093DS\u2009\u00bb, la transition \u00e9cologique, bien que non mentionn\u00e9e explicitement dans le titre m\u00eame de la loi, ne pouvait pas ne pas \u00eatre abord\u00e9e dans un texte \u00adconsacr\u00e9 \u00e0 l\u2019action des personnes \u00adpubliques locales.</p><p>Les pr\u00e9c\u00e9dents articles de cette s\u00e9rie s\u2019\u00adint\u00e9ressant \u00e0 la loi \u00ab\u20093DS\u2009\u00bb ayant d\u00e9j\u00e0 eu l\u2019occasion d\u2019aborder pour partie les questions environnementales, celui-ci sera d\u00e9di\u00e9 aux grand et petit cycles de l\u2019eau, ainsi qu\u2019aux dispositions portant sur la biodiversit\u00e9 et les \u00e9nergies renouvelables.</p>\n<h2>Petit et grand cycles de l\u2019eau\u2009: une r\u00e9glementation en\u00a0mouvement perp\u00e9tuel</h2>\n<p>Sans revenir ...</p>\n<div class=\"blocCut pageGU\">\n<p class=\"blocCut__title\">[90% reste \u00e0 lire]</p>\n<div class=\"articleResa\">\n<p class=\"blocCut__title--type2\">Article r\u00e9serv\u00e9 aux abonn\u00e9s</p>\n<p class=\"blocCut__title--type3\">Gazette des Communes</p>\n<form class=\"formGu\" method=\"post\" action=\"/wp-admin/admin-post.php?action=user_do_login&amp;fromSingle=1\" id=\"truncated-form\">\n<div class=\"password inputBox jqWrapperInput floatingWrapper\"><label for=\"password\" class=\"labelInput inputText floating__label\">Mot de passe</label> <a href=\"https://www.lagazettedescommunes.com/demande-mot-de-passe/\" class=\"forgot forgotPass\">Mot de passe oubli\u00e9</a></div>\n</form>\n</div>\n<div class=\"notYet\">\n<p class=\"blocCut__title--type2\">VOUS N'\u00eaTES PAS ABONN\u00e9 ?</p>\n<p class=\"blocCut__title--type4\">D\u00e9couvrez nos formules et acc\u00e9dez aux articles en illimit\u00e9</p>\n<a href=\"https://www.lagazettedescommunes.com/abonnement/\" target=\"_blank\" class=\"btn__full buttonTypeA buttonTypeA--1\">Je m\u2019abonne</a></div>\n</div>\n<div class=\"blocRef blocRef--margin40-0\">\n<p class=\"blocRef__title\">R\u00e9f\u00e9rences</p>\n<ul><li><a href=\"https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000045197395\">Loi n\u00b0\u20092022-217 du 21\u202ff\u00e9vrier 2022 relative \u00e0 la diff\u00e9renciation, la d\u00e9centralisation, la d\u00e9concentration et portant diverses mesures de simplification de l\u2019action publique locale.</a>\u00a0</li>\n</ul></div>\n<div class=\"blocFolder blocFolder--margin40-0\">\n<p class=\"blocFolder__subtitle\">Cet article fait partie du Dossier</p>\n<h2 class=\"blocFolder__title\">D\u00e9cryptage de la loi 3DS</h2>\n</div>",
    "created_at": "2022-06-16T11:14:18+00:00",
    "updated_at": "2022-06-16T11:14:22+00:00",
    "published_at": "2022-06-01T10:14:58+00:00",
    "published_by": ["Auteur associ\u00e9"],
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 1,
    "domain_name": "www.lagazettedescommunes.com",
    "preview_picture": "https://www.lagazettedescommunes.com/wp-content/uploads/2017/12/photo-2-preserver-et-ameliorer-la-biodiversite-tout-en-ouvrant-les-sites-au-public-tel-est-lobjectif-des-clan.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["gazette", "loi", "3ds"],
    "is_public": false,
    "id": 35,
    "title": "Loi 3DS : les mesures relatives \u00e0 l\u2019urbanisme",
    "url": "https://www.lagazettedescommunes.com/808740/loi-3ds-les-mesures-relatives-a-lurbanisme/",
    "origin_url": "https://www.lagazettedescommunes.com/808740/loi-3ds-les-mesures-relatives-a-lurbanisme/?abo=1",
    "content": "<div class=\"vjbreakelement lineminheight vjeditor-gwt-uid-743-font-8\">\n<p>Adopt\u00e9e le 21\u202ff\u00e9vrier\u00a02022, la loi relative \u00e0 la diff\u00e9renciation, la d\u00e9centralisation, la \u00add\u00e9concentration et portant diverses mesures de simplification de l\u2019action publique locale (loi \u00ab\u20093DS\u2009\u00bb) comporte un champ d\u2019application \u00adparticuli\u00e8rement vaste et concerne de nombreux pans de l\u2019action publique, parmi lesquels la transparence et la moralisation de la vie publique, la diff\u00e9renciation territoriale et l\u2019intercommunalit\u00e9, le logement social, les transports, ou encore les services publics environnementaux.</p>\n<p>Si elle a \u00e9galement trait \u00e0 l\u2019urbanisme et au foncier, ses apports restent limit\u00e9s \u00e0 des points bien \u00adcirconscrits, qui touchent aux documents et aux autorisations d\u2019urba\u00adnisme, ainsi qu\u2019au droit de pr\u00e9emption.</p>\n</div><div class=\"vjbreakelement lineminheight ... &lt;div class=\">\n<p class=\"blocCut__title\">[90% reste \u00e0 lire]</p>\n<div class=\"articleResa\">\n<p class=\"blocCut__title--type2\">Article r\u00e9serv\u00e9 aux abonn\u00e9s</p>\n<p class=\"blocCut__title--type3\">Gazette des Communes</p>\n<form class=\"formGu\" method=\"post\" action=\"/wp-admin/admin-post.php?action=user_do_login&amp;fromSingle=1\" id=\"truncated-form\">\n<div class=\"password inputBox jqWrapperInput floatingWrapper\"><label for=\"password\" class=\"labelInput inputText floating__label\">Mot de passe</label> <a href=\"https://www.lagazettedescommunes.com/demande-mot-de-passe/\" class=\"forgot forgotPass\">Mot de passe oubli\u00e9</a></div>\n</form>\n</div>\n<div class=\"notYet\">\n<p class=\"blocCut__title--type2\">VOUS N'\u00eaTES PAS ABONN\u00e9 ?</p>\n<p class=\"blocCut__title--type4\">D\u00e9couvrez nos formules et acc\u00e9dez aux articles en illimit\u00e9</p>\n<a href=\"https://www.lagazettedescommunes.com/abonnement/\" target=\"_blank\" class=\"btn__full buttonTypeA buttonTypeA--1\">Je m\u2019abonne</a></div>\n</div>\n<div class=\"blocRef blocRef--margin40-0\">\n<p class=\"blocRef__title\">R\u00e9f\u00e9rences</p>\n<ul><li><a href=\"https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000045197395\">Loi n\u00b0\u20092022-217 du 21\u202ff\u00e9vrier 2022 relative \u00e0 la diff\u00e9renciation, la d\u00e9centralisation, la d\u00e9concentration et portant diverses mesures de simplification de l\u2019action publique locale.</a>\u00a0</li>\n</ul></div>\n<div class=\"blocFolder blocFolder--margin40-0\">\n<p class=\"blocFolder__subtitle\">Cet article fait partie du Dossier</p>\n</div>\n<div class=\"blocTag blocTag--margin40-0\">\n<p class=\"blocTag__title\">Domaines juridiques</p>\n</div>",
    "created_at": "2022-06-16T11:14:04+00:00",
    "updated_at": "2022-06-16T11:14:08+00:00",
    "published_at": "2022-05-25T12:03:33+00:00",
    "published_by": ["Auteur associ\u00e9"],
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 0,
    "domain_name": "www.lagazettedescommunes.com",
    "preview_picture": "https://www.lagazettedescommunes.com/wp-content/uploads/2022/03/adobestock-5757722-herreneck.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["gazette", "loi", "3ds"],
    "is_public": false,
    "id": 34,
    "title": "Loi 3DS : la r\u00e9forme de la mobilit\u00e9 et le transfert des routes",
    "url": "https://www.lagazettedescommunes.com/806204/loi-3ds-la-reforme-de-la-mobilite-et-le-transfert-des-routes/",
    "origin_url": "https://www.lagazettedescommunes.com/806204/loi-3ds-la-reforme-de-la-mobilite-et-le-transfert-des-routes/?abo=1",
    "content": "<p>La loi dite \u00ab\u20093DS\u2009\u00bb relative \u00e0 la diff\u00e9renciation, la d\u00e9centralisation, la d\u00e9concentration et portant diverses mesures de simplification de l\u2019action publique a \u00e9t\u00e9 d\u00e9finitivement adopt\u00e9e le 21\u202ff\u00e9vrier 2022. En mati\u00e8re de transports et de voirie, cette loi poursuit les grandes tendances d\u00e9j\u00e0 amorc\u00e9es par la loi d\u2019orientation des mobilit\u00e9s\u00a0et par les diff\u00e9rentes lois de d\u00e9centralisation.</p><p>Elle finalise ainsi la r\u00e9partition des comp\u00e9tences entre les autorit\u00e9s organisatrices de la mobilit\u00e9 (AOM), tout en int\u00e9grant une forme de \u00adsouplesse dans l\u2019exercice de leurs missions, et elle consacre les transferts des routes nationales au \u00adprofit des d\u00e9partements\u00a0et\u00a0des\u00a0r\u00e9gions.</p>\n<h2>Le transfert des routes nationales</h2>\n<p>En France, le r\u00e9seau routier national repr\u00e9sente plus de un million de kilom\u00e8tres de voirie ...</p>\n<div class=\"blocCut pageGU\">\n<p class=\"blocCut__title\">[90% reste \u00e0 lire]</p>\n<div class=\"articleResa\">\n<p class=\"blocCut__title--type2\">Article r\u00e9serv\u00e9 aux abonn\u00e9s</p>\n<p class=\"blocCut__title--type3\">Gazette des Communes</p>\n<form class=\"formGu\" method=\"post\" action=\"/wp-admin/admin-post.php?action=user_do_login&amp;fromSingle=1\" id=\"truncated-form\">\n<div class=\"password inputBox jqWrapperInput floatingWrapper\"><label for=\"password\" class=\"labelInput inputText floating__label\">Mot de passe</label> <a href=\"https://www.lagazettedescommunes.com/demande-mot-de-passe/\" class=\"forgot forgotPass\">Mot de passe oubli\u00e9</a></div>\n</form>\n</div>\n<div class=\"notYet\">\n<p class=\"blocCut__title--type2\">VOUS N'\u00eaTES PAS ABONN\u00e9 ?</p>\n<p class=\"blocCut__title--type4\">D\u00e9couvrez nos formules et acc\u00e9dez aux articles en illimit\u00e9</p>\n<a href=\"https://www.lagazettedescommunes.com/abonnement/\" target=\"_blank\" class=\"btn__full buttonTypeA buttonTypeA--1\">Je m\u2019abonne</a></div>\n</div>\n<div class=\"blocRef blocRef--margin40-0\">\n<p class=\"blocRef__title\">R\u00e9f\u00e9rences</p>\n<ul><li><a href=\"https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000045197395\">Loi n\u00b0\u20092022-217 du 21\u202ff\u00e9vrier 2022 relative \u00e0 la diff\u00e9renciation, la d\u00e9centralisation, la d\u00e9concentration et portant diverses mesures de simplification de l\u2019action publique locale.</a>\u00a0</li>\n</ul></div>\n<div class=\"blocFolder blocFolder--margin40-0\">\n<p class=\"blocFolder__subtitle\">Cet article fait partie du Dossier</p>\n<h2 class=\"blocFolder__title\">D\u00e9cryptage de la loi 3DS</h2>\n</div>",
    "created_at": "2022-06-16T11:13:31+00:00",
    "updated_at": "2022-06-16T11:13:52+00:00",
    "published_at": "2022-05-11T09:19:59+00:00",
    "published_by": ["Auteur associ\u00e9"],
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 0,
    "domain_name": "www.lagazettedescommunes.com",
    "preview_picture": "https://www.lagazettedescommunes.com/wp-content/uploads/une-imb.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["gazette", "loi", "3ds"],
    "is_public": false,
    "id": 33,
    "title": "Loi 3DS : ce qui change en mati\u00e8re sanitaire et sociale",
    "url": "https://www.lagazettedescommunes.com/804607/loi-3ds-ce-qui-change-en-matiere-sanitaire-et-sociale/",
    "origin_url": "https://www.lagazettedescommunes.com/804607/loi-3ds-ce-qui-change-en-matiere-sanitaire-et-sociale/?abo=1",
    "content": "<p>Sans bouleversement majeur, la loi du 22\u202ff\u00e9vrier 2022 relative \u00e0 la diff\u00e9renciation, la d\u00e9centralisation, la d\u00e9concentration et portant diverses mesures de simplification de l\u2019action publique locale, dite loi \u00ab\u20093DS\u2009\u00bb, introduit des \u00e9volutions dans le champ des collectivit\u00e9s territoriales.</p><p>A travers ce texte fourre-tout comprenant pas moins de 271\u00a0articles, le gouvernement tente de r\u00e9pondre aux demandes d\u2019une action publique de proximit\u00e9 efficace, en parachevant le transfert de certaines comp\u00e9tences. D\u00e9cryptage de quatre mesures phares en mati\u00e8re sanitaire et m\u00e9dicosocial.</p>\n<h2>Gouvernance des Agences r\u00e9gionales de sant\u00e9 (art. 119)</h2>\n<p>Actives tout au long de la crise sanitaire, les collectivit\u00e9s ont demand\u00e9 \u00e0 participer plus activement \u00e0 la gouvernance des agences r\u00e9gionales de sant\u00e9 (ARS) pour mieux ...</p>\n<div class=\"blocCut pageGU\">\n<p class=\"blocCut__title\">[90% reste \u00e0 lire]</p>\n<div class=\"articleResa\">\n<p class=\"blocCut__title--type2\">Article r\u00e9serv\u00e9 aux abonn\u00e9s</p>\n<p class=\"blocCut__title--type3\">Gazette des Communes, Club Sant\u00e9 Social</p>\n<form class=\"formGu\" method=\"post\" action=\"/wp-admin/admin-post.php?action=user_do_login&amp;fromSingle=1\" id=\"truncated-form\">\n<div class=\"password inputBox jqWrapperInput floatingWrapper\"><label for=\"password\" class=\"labelInput inputText floating__label\">Mot de passe</label> <a href=\"https://www.lagazettedescommunes.com/demande-mot-de-passe/\" class=\"forgot forgotPass\">Mot de passe oubli\u00e9</a></div>\n</form>\n</div>\n<div class=\"notYet\">\n<p class=\"blocCut__title--type2\">VOUS N'\u00eaTES PAS ABONN\u00e9 ?</p>\n<p class=\"blocCut__title--type4\">D\u00e9couvrez nos formules et acc\u00e9dez aux articles en illimit\u00e9</p>\n<a href=\"https://www.lagazettedescommunes.com/abonnement/\" target=\"_blank\" class=\"btn__full buttonTypeA buttonTypeA--1\">Je m\u2019abonne</a></div>\n</div>\n<div class=\"blocRef blocRef--margin40-0\">\n<p class=\"blocRef__title\">R\u00e9f\u00e9rences</p>\n<ul><li><a href=\"https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000045197395#:~:text=Dans%20les%20r%C3%A9sum%C3%A9s-,LOI%20n%C2%B0%202022%2D217%20du%2021%20f%C3%A9vrier%202022%20relative,'action%20publique%20locale%20(1)\">Loi n\u00b0\u202f2022-217 du 21\u202ff\u00e9vrier 2022 relative \u00e0\u00a0la diff\u00e9renciation, la d\u00e9centralisation, la d\u00e9concentration et portant diverses mesures de simplification de l\u2019action publique locale</a>\u00a0;\u00a0</li>\n<li><a href=\"https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000045124117#:~:text=Le%20d%C3%A9cret%20pr%C3%A9cise%20les%20modalit%C3%A9s,d%C3%A9partement%20et%20le%20conseil%20d%C3%A9partemental.\">D\u00e9cret n\u00b0\u202f2022-130 du 5\u202ff\u00e9vrier 2022 relatif \u00e0 l\u2019exp\u00e9rimentation de la recentralisation du\u00a0revenu de solidarit\u00e9 active</a>.\u00a0</li>\n</ul></div>\n<h2>Cet article est en relation avec le dossier</h2>\n<div class=\"blocFolder blocFolder--margin40-0\">\n<p class=\"blocFolder__subtitle\">Cet article fait partie du Dossier</p>\n<h2 class=\"blocFolder__title\">D\u00e9cryptage de la loi 3DS</h2>\n</div>\n<div class=\"blocTag blocTag--margin40-0\">\n<p class=\"blocTag__title\">Domaines juridiques</p>\n</div>",
    "created_at": "2022-06-16T11:12:52+00:00",
    "updated_at": "2022-06-16T11:13:04+00:00",
    "published_at": "2022-05-04T07:31:35+00:00",
    "published_by": ["Nathalie Levray"],
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 1,
    "domain_name": "www.lagazettedescommunes.com",
    "preview_picture": "https://www.lagazettedescommunes.com/wp-content/uploads/2021/07/sante-logement-centre.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["gazette", "loi", "3ds"],
    "is_public": false,
    "id": 32,
    "title": "Loi 3DS : la d\u00e9finition des conflits d\u2019int\u00e9r\u00eats assouplie",
    "url": "https://www.lagazettedescommunes.com/803724/loi-3ds-la-definition-des-conflits-dinterets-assouplie/",
    "origin_url": "https://www.lagazettedescommunes.com/803724/loi-3ds-la-definition-des-conflits-dinterets-assouplie/?abo=1",
    "content": "<p>Parmi les nombreux apports de la loi n\u00b0\u20092022-217 du 21\u202ff\u00e9vrier\u00a02022, relative \u00e0\u00a0la diff\u00e9renciation, la d\u00e9centralisation, la\u00a0d\u00e9concentration et portant diverses mesures de simplification de l\u2019action publique locale, dite loi \u00ab\u20093DS\u2009\u00bb, figurent notamment des m\u00e9canismes destin\u00e9s \u00e0 s\u00e9curiser la repr\u00e9sentation des collectivit\u00e9s au sein de leurs organismes satellites.</p><p>La cr\u00e9ation de l\u2019article\u00a0L.1111-6 du code g\u00e9n\u00e9ral des collectivit\u00e9s territoriale (CGCT) et la modification de son article\u00a0L.1524-5 par l\u2019ajout de deux alin\u00e9as r\u00e9pondent \u00e0 cet objectif\u2009: poser un principe d\u2019exclusion du conflit d\u2019int\u00e9r\u00eats au profit de l\u2019\u00e9lu repr\u00e9sentant sa collectivit\u00e9 au sein de certaines entit\u00e9s tierces, et l\u2019assortir de certaines exceptions. Ce m\u00e9canisme est encore appel\u00e9 \u00e0 \u00e9voluer puisque certaines dispositions ...</p>\n<div class=\"blocCut pageGU\">\n<p class=\"blocCut__title\">[90% reste \u00e0 lire]</p>\n<div class=\"articleResa\">\n<p class=\"blocCut__title--type2\">Article r\u00e9serv\u00e9 aux abonn\u00e9s</p>\n<p class=\"blocCut__title--type3\">Gazette des Communes</p>\n<form class=\"formGu\" method=\"post\" action=\"/wp-admin/admin-post.php?action=user_do_login&amp;fromSingle=1\" id=\"truncated-form\">\n<div class=\"password inputBox jqWrapperInput floatingWrapper\"><label for=\"password\" class=\"labelInput inputText floating__label\">Mot de passe</label> <a href=\"https://www.lagazettedescommunes.com/demande-mot-de-passe/\" class=\"forgot forgotPass\">Mot de passe oubli\u00e9</a></div>\n</form>\n</div>\n<div class=\"notYet\">\n<p class=\"blocCut__title--type2\">VOUS N'\u00eaTES PAS ABONN\u00e9 ?</p>\n<p class=\"blocCut__title--type4\">D\u00e9couvrez nos formules et acc\u00e9dez aux articles en illimit\u00e9</p>\n<a href=\"https://www.lagazettedescommunes.com/abonnement/\" target=\"_blank\" class=\"btn__full buttonTypeA buttonTypeA--1\">Je m\u2019abonne</a></div>\n</div>\n<div class=\"blocRef blocRef--margin40-0\">\n<p class=\"blocRef__title\">R\u00e9f\u00e9rences</p>\n<ul><li><a href=\"https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000045197395\">Loi n\u00b0\u20092022-217 du 21\u202ff\u00e9vrier 2022 relative \u00e0\u00a0la diff\u00e9renciation, la d\u00e9centralisation, la\u00a0d\u00e9concentration et portant diverses mesures de simplification de l\u2019action publique locale.</a>\u00a0</li>\n</ul></div>\n<div class=\"blocFolder blocFolder--margin40-0\">\n<p class=\"blocFolder__subtitle\">Cet article fait partie du Dossier</p>\n</div>\n<div class=\"blocTag blocTag--margin40-0\">\n<p class=\"blocTag__title\">Domaines juridiques</p>\n</div>",
    "created_at": "2022-06-16T11:12:31+00:00",
    "updated_at": "2022-06-16T11:12:40+00:00",
    "published_at": "2022-04-27T13:05:34+00:00",
    "published_by": ["Auteur associ\u00e9"],
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 0,
    "domain_name": "www.lagazettedescommunes.com",
    "preview_picture": "https://www.lagazettedescommunes.com/wp-content/uploads/2019/01/ruediger-rau-adobestock-24334439.jpeg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["gazette", "loi", "3ds"],
    "is_public": false,
    "id": 31,
    "title": "Loi 3DS : la diff\u00e9renciation territoriale renforc\u00e9e",
    "url": "https://www.lagazettedescommunes.com/802277/loi-3ds-la-differenciation-territoriale-renforcee/",
    "origin_url": "https://www.lagazettedescommunes.com/802277/loi-3ds-la-differenciation-territoriale-renforcee/?abo=1#utm_source=gm-actualite&utm_medium=Email&utm_campaign=2022-06-15-alerte-email-actualite&email=guillaume.ryckelynck@grandest.fr&xtor=EPR-15",
    "content": "<p>Premier volet de la loi \u00ab\u20093DS\u2009\u00bb (pour diff\u00e9renciation, d\u00e9centralisation, d\u00e9concentration et simplification de l\u2019action publique locale), la diff\u00e9renciation \u00e9tait annonc\u00e9e comme l\u2019un des axes forts de cette nouvelle r\u00e9forme territoriale. Tr\u00e8s largement consid\u00e9r\u00e9e comme une ambition vaine, \u00e0 d\u00e9faut de r\u00e9forme constitutionnelle, la diff\u00e9renciation territoriale se traduit, dans cette loi, par une vingt\u00adaine d\u2019articles qu\u2019il importe de d\u00e9crypter.</p><p>C\u2019est l\u2019objet de la pr\u00e9sente analyse, laquelle \u00e9voquera successivement l\u2019inscription dans la loi du principe de diff\u00e9renciation territoriale, l\u2019extension du pouvoir r\u00e9glementaire local, le renforcement des dispositifs de proposition et d\u2019exp\u00e9rimentation, les dispositions ouvrant des possibilit\u00e9s de diff\u00e9renciation dans l\u2019organisation intercommunale et quelques mesures particuli\u00e8res.</p>\n<h2>Inscription du principe de diff\u00e9renciation territoriale</h2>\n<p>Sous l\u2019effet du tout premier article de la loi \u00ab\u20093DS\u2009\u00bb, le principe de diff\u00e9renciation terri\u00adtoriale est d\u00e9sormais inscrit au sein du chapitre relatif \u00e0 la libre administration du code g\u00e9n\u00e9ral des collectivit\u00e9s territoriales (CGCT), lequel a \u00e9t\u00e9 r\u00e9organis\u00e9 avec une premi\u00e8re section intitul\u00e9e \u00ab\u2009Dispositions g\u00e9n\u00e9rales et exercice diff\u00e9renci\u00e9 des comp\u00e9tences\u2009\u00bb.</p>\n<p>Il y a \u00e9t\u00e9 ajout\u00e9 un <a href=\"https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000006389024\" rel=\"nofollow\">article nouveau L.1111-3-1</a>, pr\u00e9voyant que\u2009: \u00ab\u2009Dans le respect du principe d\u2019\u00e9galit\u00e9, les r\u00e8gles relatives \u00e0 l\u2019attribution et \u00e0 l\u2019exercice des comp\u00e9\u00adtences applicables \u00e0 une cat\u00e9gorie de collectivit\u00e9s territoriales peuvent \u00eatre diff\u00e9renci\u00e9es pour tenir compte des diff\u00e9rences objectives de situations dans lesquelles se trouvent les collectivit\u00e9s territoriales relevant de la m\u00eame cat\u00e9gorie, pourvu que la diff\u00e9rence de traitement qui en r\u00e9sulte soit proportionn\u00e9e et en rapport avec l\u2019objet de la loi qui l\u2019\u00e9tablit.\u2009\u00bb</p>\n<p>Davantage, donc, qu\u2019un \u00e9v\u00e8nement l\u00e9gislatif majeur, la loi \u00ab\u20093DS\u2009\u00bb inscrit ainsi la diff\u00e9renciation territoriale comme l\u2019une des composantes du principe de libre administration des collectivit\u00e9s en se bornant n\u00e9anmoins \u00e0 retranscrire dans la loi une jurisprudence constitutionnelle d\u2019ores et d\u00e9j\u00e0 \u00e9tablie.</p>\n<p>N\u2019ayant, par suite, d\u2019autres impacts normatifs directs que ceux de permettre des mesures de diff\u00e9renciation d\u00e9j\u00e0 admises en l\u2019\u00e9tat actuel du droit constitutionnel applicable (exemples\u2009: pouvoirs accrus au b\u00e9n\u00e9fice de la collectivit\u00e9 europ\u00e9enne d\u2019Alsace en mati\u00e8re d\u2019exploitation des routes nationales et des autoroutes non conc\u00e9d\u00e9es <sup><a href=\"#fn-802277-1\" id=\"fnref-802277-1\" title=\"Lire la note n\u00b01\">(1)</a></sup>, dispense de l\u2019obligation de disposer d\u2019au moins 20\u2009% de logements sociaux pour certaines communes <sup><a href=\"#fn-802277-2\" id=\"fnref-802277-2\" title=\"Lire la note n\u00b02\">(2)</a></sup>), cette inscription dans la loi du principe de diff\u00e9renciation doit \u00eatre consid\u00e9r\u00e9e davantage comme un jalon dans un processus n\u00e9cessairement plus long.</p>\n<p>Dans le sens de l\u2019avis rendu par le Conseil d\u2019Etat le 6\u202fmai\u00a02021\u00a0<sup><a href=\"#fn-802277-3\" id=\"fnref-802277-3\" title=\"Lire la note n\u00b03\">(3)</a></sup>, sur ce projet de loi, il est constant, en effet, que la diff\u00e9renciation ne saurait r\u00e9sulter d\u2019un seul texte particulier.</p>\n<h2>Extension du pouvoir r\u00e9glementaire local</h2>\n<p>Parall\u00e8lement, et \u00e9galement de fa\u00e7on g\u00e9n\u00e9rale, la loi \u00ab\u20093DS\u2009\u00bb est venue \u00e9tendre le pouvoir r\u00e9glementaire des collectivit\u00e9s terri\u00adtoriales par l\u2019ajout d\u2019un nouvel alin\u00e9a \u00e0 l\u2019article <a href=\"https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000041411828\" rel=\"nofollow\">L.1111-2 du CGCT</a>, qui \u00e9nonce que \u00ab\u2009dans les conditions pr\u00e9vues par la loi, [les communes, les d\u00e9partements, les r\u00e9gions] disposent d\u2019un pouvoir r\u00e9glementaire pour l\u2019exercice de leurs comp\u00e9tences\u2009\u00bb. Ainsi, les collectivit\u00e9s pourront explicitement mettre en \u0153uvre des comp\u00e9tences leur \u00e9tant reconnues par la loi, sans attendre l\u2019intervention d\u2019un d\u00e9cret.</p>\n<p>Par le biais de cette loi \u00ab\u20093DS\u2009\u00bb, peu de mesures concr\u00e8tes portant extension du pouvoir r\u00e9glementaire local se trouvent n\u00e9anmoins consacr\u00e9es. On \u00admentionnera toutefois\u2009:</p>\n<ul><li>la fixation, par les communes ou les \u00e9tablissements publics de coop\u00e9ration intercommunale (EPCI), du nombre d\u2019\u00e9lus au conseil d\u2019administration des centres communaux et intercommunaux d\u2019action sociale\u00a0<sup><a href=\"#fn-802277-4\" id=\"fnref-802277-4\" title=\"Lire la note n\u00b04\">(4)</a></sup>\u2009;</li>\n<li>la fixation par les communes du r\u00e9gime des redevances dues pour l\u2019occupation provisoire du domaine public des communes par les chantiers de travaux\u00a0<sup><a href=\"#fn-802277-5\" id=\"fnref-802277-5\" title=\"Lire la note n\u00b05\">(5)</a></sup>\u2009;</li>\n<li>la fixation par les r\u00e9gions pour les services d\u2019int\u00e9r\u00eat r\u00e9gional du nombre minimal d\u2019emplacements \u00e0 pr\u00e9voir dans les services ferroviaires de transport de voyageurs pour les v\u00e9los\u00a0<sup><a href=\"#fn-802277-6\" id=\"fnref-802277-6\" title=\"Lire la note n\u00b06\">(6)</a></sup>.</li>\n</ul><h2>Renforcement des dispositifs de proposition et d\u2019exp\u00e9rimentation</h2>\n<p>Concourant encore, a minima de fa\u00e7on temporaire, \u00e0 une diff\u00e9renciation territoriale (au moyen d\u2019exp\u00e9rimentations) et, au demeurant, \u00e0 favoriser l\u2019\u00e9mergence d\u2019initiatives en ce sens, la loi \u00ab\u20093DS\u2009\u00bb est \u00e9galement venue\u2009: \u00e9tendre aux d\u00e9partements un dispositif de proposition de modifications l\u00e9gislatives ou r\u00e9glementaires qui existait d\u00e9j\u00e0, notamment au b\u00e9n\u00e9fice des d\u00e9partements d\u2019outre-mer et des conseils \u00adr\u00e9gionaux (par la modification de l\u2019article L.3211-3 du CGCT)\u2009; permettre l\u2019exp\u00e9rimentation de la recentralisation du revenu de solidarit\u00e9 active.</p>\n<p>A ce titre, les d\u00e9partements volontaires r\u00e9unissant les crit\u00e8res g\u00e9n\u00e9raux mentionn\u00e9s \u00e0 <a href=\"https://www.legifrance.gouv.fr/jorf/article_jo/JORFARTI000044637695#:~:text=a)%20Le%20second%20alin%C3%A9a%20du,mentionn%C3%A9%20%C3%A0%20l'article%20L.\" rel=\"nofollow\">l\u2019article\u00a043 de la loi de finances pour 2022</a> devront adopter une d\u00e9lib\u00e9ration faisant acte de candidature \u00e0 cette exp\u00e9rimentation d\u2019ici le 30\u202fjuin\u00a02022. La liste des candidats retenus sera ensuite \u00e9tablie par d\u00e9cret.</p>\n<p>Le d\u00e9but de l\u2019exp\u00e9rimentation est pr\u00e9vu le 1er\u202fjanvier\u00a02023 pour une dur\u00e9e de cinq\u00a0ans. La loi \u00ab\u20093DS\u2009\u00bb abaisse le seuil de d\u00e9clenchement d\u2019une consultation citoyenne \u00e0 un dixi\u00e8me des \u00e9lecteurs d\u2019une commune (au lieu du cinqui\u00e8me) et \u00e0 un vingti\u00e8me des \u00e9lecteurs des autres collectivit\u00e9s territoriales (<a href=\"https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000006389073\" rel=\"nofollow\">CGCT, art.\u00a0L.1112-16</a>).</p>\n<h2>Nouvelles possibilit\u00e9s de diff\u00e9renciation dans l\u2019organisation des intercommunalit\u00e9s</h2>\n<p>C\u2019est en r\u00e9alit\u00e9 dans l\u2019organisation des intercommunalit\u00e9s que les mesures de diff\u00e9renciation de la loi \u00ab\u20093DS\u2009\u00bb sont les plus impactantes. En premier lieu, deux axes g\u00e9n\u00e9raux ouvrent la voie \u00e0 des organisations diff\u00e9renci\u00e9es\u2009:</p>\n<ul><li>d\u2019une part, les EPCI \u00e0 fiscalit\u00e9 propre pourront d\u00e9sormais, d\u00e8s lors que leurs statuts les y autorisent express\u00e9ment, d\u00e9l\u00e9guer tout ou partie d\u2019une de leurs comp\u00e9tences au d\u00e9partement ou \u00e0 la r\u00e9gion dans le cadre d\u2019une d\u00e9l\u00e9gation dite \u00ab\u2009ascendante\u2009\u00bb (<a href=\"https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000041411586/\" rel=\"nofollow\">CGCT, art.\u00a0L.1111-8</a>)\u2009;</li>\n<li>d\u2019autre part, alors que le transfert de comp\u00e9tences faculta\u00adtives \u00e0 un EPCI \u00e0 fiscalit\u00e9 propre n\u2019\u00e9tait possible qu\u2019\u00e0 la condition que ce transfert soit effectif pour l\u2019ensemble des communes membres (<a href=\"https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000023245931/\" rel=\"nofollow\">CGCT, art.\u00a0L.5211-17</a>), le l\u00e9gislateur autorise d\u00e9sormais, comme pour les syndicats, le transfert de comp\u00e9tences \u00ab\u2009\u00e0 la carte\u2009\u00bb, c\u2019est-\u00e0-dire seulement par certaines des communes membres de l\u2019EPCI (<a href=\"https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000023245931/\" rel=\"nofollow\">CGCT, art.\u00a0L.5211-17-2</a>). Celui-ci sera d\u00e9cid\u00e9 par d\u00e9lib\u00e9rations concordantes de l\u2019organe d\u00e9lib\u00e9rant de l\u2019EPCI et des conseils municipaux se pronon\u00e7ant dans les conditions de majorit\u00e9 qualifi\u00e9e requises pour la \u00adcr\u00e9ation de l\u2019EPCI.</li>\n</ul><p>En second lieu, plusieurs autres mesures sp\u00e9cifiques doivent \u00eatre signal\u00e9es. Tout d\u2019abord, la loi \u00ab\u20093DS\u2009\u00bb pr\u00e9voit un double ajustement en mati\u00e8re d\u2019exercice de la comp\u00e9tence \u00ab\u2009voirie\u2009\u00bb des m\u00e9tropoles et des communaut\u00e9s urbaines\u2009: outre la possibilit\u00e9 d\u2019int\u00e9grer une d\u00e9finition d\u2019int\u00e9r\u00eat communautaire/m\u00e9tropolitain \u00e0 cette comp\u00e9tence, qui r\u00e9duirait alors l\u2019intervention de ces EPCI, la facult\u00e9 est offerte \u00e0 ces derniers de d\u00e9l\u00e9guer \u00e0 leurs communes membres, par convention, la gestion de tout ou partie des \u00e9quipements et services n\u00e9cessaires \u00e0 l\u2019entre\u00adtien de la voirie dont elles ont la charge (<a href=\"https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000023268900/2010-12-19\" rel=\"nofollow\">CGCT, art. L.5215-20</a>).</p>\n<p>Ensuite, la possibilit\u00e9 pr\u00e9cit\u00e9e pour les communaut\u00e9s urbaines de conditionner \u00e0 un int\u00e9r\u00eat communautaire l\u2019exercice de tout ou partie d\u2019une comp\u00e9tence est \u00e9galement ouverte pour la comp\u00e9tence \u00ab\u2009cr\u00e9ation, gestion, extension et translation des cimeti\u00e8res et sites cin\u00e9raires\u2009\u00bb (<a href=\"https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000023268900/2010-12-19\" rel=\"nofollow\">CGCT, art.\u00a0L.5215-20</a>).</p>\n<p>Par ailleurs, la loi \u00e9tend \u00e0 la \u00ab\u2009gestion des eaux pluviales urbaines\u2009\u00bb et \u00e0 la \u00ab\u2009d\u00e9fense ext\u00e9rieure contre l\u2019incendie\u2009\u00bb la liste des comp\u00e9tences que, par d\u00e9rogation au principe du transfert pour l\u2019int\u00e9gralit\u00e9 de leur p\u00e9rim\u00e8tre, les EPCI \u00e0 fiscalit\u00e9 propre et les \u00e9tablissements publics territoriaux sont autoris\u00e9s \u00e0 transf\u00e9rer \u00e0 un ou plusieurs syndicats pour une partie de leur territoire seulement (<a href=\"https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000036405449/\" rel=\"nofollow\">CGCT, art.\u00a0L.\u00a05211-61 al.\u00a02</a>).</p>\n<p>Au demeurant, dans les communaut\u00e9s de communes exer\u00e7ant \u00e0 titre obligatoire les comp\u00e9tences \u00ab\u2009eau\u2009\u00bb et \u00ab\u2009assainissement\u2009\u00bb \u00e0 partir du 1er\u202fjanvier\u00a02026, le l\u00e9gislateur a p\u00e9rennis\u00e9 la possibilit\u00e9 de maintenir par voie de d\u00e9l\u00e9gation les syndicats comp\u00e9tents en mati\u00e8re d\u2019eau, d\u2019assainissement, de gestion des eaux pluviales urbaines ou dans l\u2019une de ces mati\u00e8res (<a href=\"https://www.legifrance.gouv.fr/loda/id/JORFTEXT000039681877/\" rel=\"nofollow\">loi n\u00b0\u20092019\u20111461 du 27\u202fd\u00e9cembre\u00a02019</a> relative \u00e0 l\u2019engagement dans la vie locale et \u00e0 la proximit\u00e9 de \u00adl\u2019action publique, art.\u00a014).</p>\n<h2>Organisation de la m\u00e9tropole Aix-Marseille Provence</h2>\n<p>Il conviendra, pour terminer cette pr\u00e9sentation des articles int\u00e9ressant la diff\u00e9ren\u00adciation territoriale, de faire \u00e9tat des mesures d\u2019adaptation de l\u2019organisation de la m\u00e9tropole Aix-Marseille Provence issues notamment de l\u2019article\u00a0181 de la loi. Plus pr\u00e9cis\u00e9ment, les conseils de territoire seront supprim\u00e9s d\u00e8s le 1er\u202fjuillet\u00a02022 pour favoriser la capacit\u00e9 de la m\u00e9tropole \u00e0 se saisir des enjeux strat\u00e9giques du territoire.</p>\n<p>Certaines comp\u00e9tences, consid\u00e9r\u00e9es comme comp\u00e9tences de proximit\u00e9, seront restitu\u00e9es aux communes. Les relations financi\u00e8res entre la m\u00e9tropole et les communes seront, enfin, r\u00e9examin\u00e9es par les \u00e9lus sur la base de l\u2019avis objectif de la chambre r\u00e9gionale des comptes.</p>\n<p>En d\u00e9finitive, ce premier axe sur la diff\u00e9renciation d\u00e9montre, s\u2019il \u00e9tait besoin, une articulation toujours d\u00e9licate entre lisibilit\u00e9, \u00e9galit\u00e9 et adaptation de la loi aux particularismes des territoires. Le d\u00e9bat r\u00e9v\u00e8le une d\u00e9ception des partisans de la diff\u00e9renciation, alors m\u00eame que l\u2019on aura immanquablement perdu en clarification dans l\u2019exercice des comp\u00e9tences locales\u2026</p>\n<div class=\"blocRef blocRef--margin40-0\">\n<p class=\"blocRef__title\">R\u00e9f\u00e9rences</p>\n<p><a href=\"https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000045197395\">Loi n\u00b0\u20092022-217 du 21 f\u00e9vrier 2022</a> relative \u00e0\u00a0la diff\u00e9renciation, la d\u00e9centralisation, la d\u00e9concentration et portant diverses mesures de simplification de l\u2019action publique locale.</p>\n</div>\n<div class=\"blocFolder blocFolder--margin40-0\">\n<p class=\"blocFolder__subtitle\">Cet article fait partie du Dossier</p>\n<h2 class=\"blocFolder__title\">D\u00e9cryptage de la loi 3DS</h2>\n</div>\n<div class=\"blocTag blocTag--margin40-0\">\n<p class=\"blocTag__title\">Domaines juridiques</p>\n</div>\n<div class=\"blocNote blocNote--margin40-0\">\n<p class=\"blocNote__title\" id=\"fn-802277-1\">Notes</p>\n<div class=\"jqContentBloc\">\n<p class=\"blocNote__content\"><a class=\"jqRetourNote blocNote__note\" href=\"#fnref-802277-1\">Note 01</a> <a href=\"https://www.legifrance.gouv.fr/loda/id/JORFTEXT000038872957/#:~:text=Dans%20les%20r%C3%A9sum%C3%A9s-,LOI%20n%C2%B0%202019%2D816%20du%202%20ao%C3%BBt%202019%20relative,europ%C3%A9enne%20d'Alsace%20(1)&amp;text=Recherche%20simple%20dans%20le%20code%20Rechercher%20dans%20le%20texte...&amp;text=A%20compter%20du%201er%20janvier,Collectivit%C3%A9%20europ%C3%A9enne%20d'Alsace%20%C2%BB.\">Loi n\u00b0\u20092019-816 du 2\u202fao\u00fbt 2019</a>. <a class=\"jqRetourNote blocNote__return\" href=\"#fnref-802277-1\">Retour au texte</a></p>\n<p class=\"blocNote__content\" id=\"fn-802277-2\"><a class=\"jqRetourNote blocNote__note\" href=\"#fnref-802277-2\">Note 02</a> <a href=\"https://www.legifrance.gouv.fr/loda/id/JORFTEXT000000207538/\">Loi n\u00b0\u20092000-1208 du 13\u202fd\u00e9cembre\u00a02000</a>. <a class=\"jqRetourNote blocNote__return\" href=\"#fnref-802277-2\">Retour au texte</a></p>\n<p class=\"blocNote__content\" id=\"fn-802277-3\"><a class=\"jqRetourNote blocNote__note\" href=\"#fnref-802277-3\">Note 03</a> <a href=\"https://www.legifrance.gouv.fr/contenu/Media/Files/autour-de-la-loi/legislatif-et-reglementaire/avis-du-ce/2021/avis_ce_terb2105196l_cm_12.05.2021.pdf\">Avis n\u00b0\u2009402412\u2009; NOR\u2009: TERB2105196L</a>. <a class=\"jqRetourNote blocNote__return\" href=\"#fnref-802277-3\">Retour au texte</a></p>\n<p class=\"blocNote__content\" id=\"fn-802277-4\"><a class=\"jqRetourNote blocNote__note\" href=\"#fnref-802277-4\">Note 04</a> <a href=\"https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000006796551/\">Code de l\u2019action sociale et des familles, art.\u00a0L.123-6</a>. <a class=\"jqRetourNote blocNote__return\" href=\"#fnref-802277-4\">Retour au texte</a></p>\n<p class=\"blocNote__content\" id=\"fn-802277-5\"><a class=\"jqRetourNote blocNote__note\" href=\"#fnref-802277-5\">Note 05</a> <a href=\"https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000022173373#:~:text=Les%20canalisations%20de%20transport%20appartenant,d%C3%A9cret%20en%20Conseil%20d'Etat.\">CGCT, art.\u00a0L.2333-84</a>. <a class=\"jqRetourNote blocNote__return\" href=\"#fnref-802277-5\">Retour au texte</a></p>\n<p class=\"blocNote__content\" id=\"fn-802277-6\"><a class=\"jqRetourNote blocNote__note\" href=\"#fnref-802277-6\">Note 06</a> <a href=\"https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000039678246/\">Code des transports, art.\u00a0L.1272-5.</a> <a class=\"jqRetourNote blocNote__return\" href=\"#fnref-802277-6\">Retour au texte</a></p>\n</div>\n</div>",
    "created_at": "2022-06-16T11:11:46+00:00",
    "updated_at": "2022-06-16T11:12:02+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 8,
    "domain_name": "www.lagazettedescommunes.com",
    "preview_picture": "https://www.lagazettedescommunes.com/wp-content/uploads/2020/10/france-couleurs.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["datagrandest", "prestataires", "mckinsey"],
    "is_public": false,
    "id": 30,
    "title": "McKinsey\u202f: un arbre qui cache une grande for\u00eat",
    "url": "https://www.franceinter.fr/societe/mckinsey-un-arbre-qui-cache-une-grande-foret",
    "content": "<p class=\"chapo\">Le recours massif aux cabinets de consultants s\u2019est amplifi\u00e9 ces derni\u00e8res ann\u00e9es. Mais McKinsey, dont le nom est largement cit\u00e9, n\u2019est qu\u2019un cabinet parmi d\u2019autres. Et le recours au priv\u00e9 s\u2019est \u00e9tendu jusqu\u2019aux collectivit\u00e9s locales.</p><figure class=\"rich-visual\"><img class=\"dejavu\" data-dejavu-src=\"https://cdn.radiofrance.fr/s3/cruiser-production/2022/05/632e931c-2f52-4b4e-a04e-3a3be9818147/1136_photo-5-france-cabinets-de-consultants.jpg\" src=\"denied:data:image/jpeg;base64,%20/9j/2wBDACgcHiMeGSgjISMtKygwPGRBPDc3PHtYXUlkkYCZlo+AjIqgtObDoKrarYqMyP/L2u71////m8H////6/+b9//j/2wBDASstLTw1PHZBQXb4pYyl+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj/wAARCAAcACoDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAwQBAgUA/8QAJBAAAgIBBAEEAwAAAAAAAAAAAQIAAxESITFBBBMiYXEyUWL/xAAXAQEBAQEAAAAAAAAAAAAAAAABAgAD/8QAGBEBAQEBAQAAAAAAAAAAAAAAAAERAkH/2gAMAwEAAhEDEQA/ANS7Ro9/EW1Vqq4QMO4V762pBJHu4BibOFY5YY6hWVssy2RURj9QlfkKeRgygsU76pUUozbNuZO3wtGshlzO0/UHWRWoWTq+JYI21acHLMg4HYgPTL/gCB/U2GVQOIp5CLzwfiT1NhgDK9eFIXeRXW4sB2x9wWo2NhjmQ4wxAJxJnPp1qDSCB2ZfESucq1AB6jeTOiX/2Q==\" width=\"1070\" height=\"722\" alt=\"Le recours aux cabinets de conseil a fortement augment\u00e9 ces derni\u00e8res ann\u00e9es, un ph\u00e9nom\u00e8ne qui touche m\u00eame les collectivit\u00e9s locales.\" referrerpolicy=\"no-referrer\" /><figcaption>Le recours aux cabinets de conseil a fortement augment\u00e9 ces derni\u00e8res ann\u00e9es, un ph\u00e9nom\u00e8ne qui touche m\u00eame les collectivit\u00e9s locales. \u00a9 Radio France / Melissa Foust</figcaption></figure><p>Le nom de McKinsey, ce cabinet de consultants am\u00e9ricain point\u00e9 du doigt \u00e0 plusieurs reprises lors des auditions de la commission d\u2019enqu\u00eate du S\u00e9nat, mais aussi au cours de la campagne pr\u00e9sidentielle, symbolise d\u00e9sormais les turpitudes d\u2019une fonction publique qui aurait peu \u00e0 peu brad\u00e9 ses comp\u00e9tences pour les confier au secteur priv\u00e9. Mais derri\u00e8re ce cabinet se trouve en r\u00e9alit\u00e9 une myriade d\u2019autres cabinets de consultants sur lesquels s\u2019appuient d\u00e9sormais les administrations. Le cabinet Boston Consulting Group est intervenu \u00e0 l\u2019Institut national de la consommation pour r\u00e9duire les effectifs de la r\u00e9daction du magazine <em>60 Millions de consommateurs</em>. Le cabinet Roland Berger a \u00e9t\u00e9 missionn\u00e9 pour conseiller l\u2019\u00c9tat afin de sauver l\u2019aci\u00e9rie Ascoval. Accenture a travaill\u00e9 sur la r\u00e9duction des d\u00e9penses d\u2019op\u00e9rateurs publics ou d\u2019administrations centrales... Ce sont ainsi une myriade de consultants qui accompagnent \u00e9lus et hauts-fonctionnaires dans leur prise de d\u00e9cision.</p><h2>Un march\u00e9 en pleine expansion</h2><p>Si ces prestations augmentent, leur chiffrage global est cependant impossible \u00e0 effectuer. <a target=\"_blank\" href=\"https://www.assemblee-nationale.fr/dyn/15/rapports/cion_fin/l15b4928_rapport-information\">La mission d\u2019information de l\u2019Assembl\u00e9e nationale</a>, tout comme <a target=\"_blank\" href=\"https://www.senat.fr/rap/r21-578-1/r21-578-18.html\">la commission d\u2019enqu\u00eate du S\u00e9nat</a>, pourtant dot\u00e9es de droits \u00e9tendus pour r\u00e9cup\u00e9rer tous les documents utiles \u00e0 leurs travaux, ne sont pas parvenues \u00e0 \u00e9tablir un recensement exhaustif de ces cabinets de consultants. Les d\u00e9put\u00e9es V\u00e9ronique Louwagie (LR) et Cendra Motin (LREM), dont la mission d\u2019information portait sur \u201cl\u2019outsourcing\u201d, autrement dit l\u2019externalisation de t\u00e2ches et services, ont \u00e9voqu\u00e9 une somme spectaculaire de 13 milliards d\u2019euros pour l\u2019ann\u00e9e 2019, mais qui englobait toutes sortes de prestations de service et intellectuelles difficilement v\u00e9rifiables.</p><p>De son c\u00f4t\u00e9, la commission d\u2019enqu\u00eate du S\u00e9nat, port\u00e9e par Arnaud Bazin (LR) et \u00c9liane Assassi (CRCE), a \u00e9valu\u00e9 ce recours aux consultants \u00e0 un milliard d\u2019euros en 2021, tout en pr\u00e9cisant que ce montant incluait les prestations informatiques. Enfin, la ministre de la Transformation et de la fonction publiques d\u2019alors, Am\u00e9lie de Montchalin, avan\u00e7ait 140 millions d\u2019euros pour la p\u00e9riode 2018-2020, lors de son audition devant la commission d\u2019enqu\u00eate du S\u00e9nat. Les ordres de grandeur varient donc du tout au tout.</p><aside class=\"card bounce\" data-xiti=\"Rebond::Article\"><figure class=\"media-visual\"><a href=\"https://www.franceinter.fr/politique/une-enquete-du-senat-revele-l-influence-croissante-des-cabinets-de-conseil-sur-les-politiques-publiques\" data-xiti-trackable=\"true\" data-xiti-libelle=\"vignette_1_Une enqu\u00eate du S\u00e9nat confirme &quot;l'influence croissante des cabinets de conseil sur les politiques publiques&quot;\" data-xiti-type=\"N\"><img data-dejavu-src=\"https://cdn.radiofrance.fr/s3/cruiser-production/2022/03/ef3000c9-3f82-427d-8bc7-0716921c7943/300x170_okok.jpg\" src=\"denied:data:image/jpeg;base64,/9j/2wBDACgcHiMeGSgjISMtKygwPGRBPDc3PHtYXUlkkYCZlo+AjIqgtObDoKrarYqMyP/L2u71////m8H////6/+b9//j/2wBDASstLTw1PHZBQXb4pYyl+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj/wAARCAAXACoDASIAAhEBAxEB/8QAGQAAAwEBAQAAAAAAAAAAAAAAAAECBAMF/8QAIRAAAgIBBAMBAQAAAAAAAAAAAQIAAxESITFBBCJRE2H/xAAXAQEBAQEAAAAAAAAAAAAAAAABAgMA/8QAGhEBAQEAAwEAAAAAAAAAAAAAAQARAhIxIf/aAAwDAQACEQMRAD8AxeNWRaDYvrPQ/SlchUG8zKULZBwe1aFjYTjniY9lrym8K5G+MGN8NgfI6wNOTvDrOxBPXMKhy6rauBL1r9EzkKqOzbZ4EmGVAM18gWHFlQz/ACcXId/QYX4YQmvUDbN9ytbKcBcHV3KS1mOmmtQfphCCATx+s720IDb7MJkNr5hCdx8hb//Z\" class=\"dejavu\" alt=\"La commission d'enqu\u00eate a r\u00e9alis\u00e9 plus de 40 auditions dans ce dossier [photo d'illustration].\" title=\"La commission d'enqu\u00eate a r\u00e9alis\u00e9 plus de 40 auditions dans ce dossier [photo d'illustration].\" crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\" /></a></figure><p>\u00c0 lire \u00a0- \u00a0 <a class=\"card-text-title tag\" href=\"https://www.franceinter.fr/politique\" data-xiti-trackable=\"true\" data-xiti-libelle=\"Politique\" data-xiti-type=\"N\" data-xiti-button=\"plus_d_infos\">Politique</a> <a class=\"card-text-sub\" href=\"https://www.franceinter.fr/politique/une-enquete-du-senat-revele-l-influence-croissante-des-cabinets-de-conseil-sur-les-politiques-publiques\" data-xiti-trackable=\"true\" data-xiti-libelle=\"Une enqu\u00eate du S\u00e9nat confirme &quot;l'influence croissante des cabinets de conseil sur les politiques publiques&quot;\" data-xiti-type=\"N\" data-xiti-button=\"plus_d_infos\">Une enqu\u00eate du S\u00e9nat confirme \"l'influence croissante des cabinets de conseil sur les politiques publiques\" </a></p>\n</aside><p>Sur un point au moins, les conclusions des parlementaires convergent\u202f: le recours aux consultants a consid\u00e9rablement augment\u00e9 ces derni\u00e8res ann\u00e9es. C\u2019est m\u00eame un march\u00e9 en pleine expansion. Selon Syntec, le syndicat du secteur, il a doubl\u00e9 une premi\u00e8re fois entre 2009 et 2019. Et il devrait encore doubler, malgr\u00e9 la crise sanitaire, d\u2019ici 2031. M\u00eame les \u00e9tudiants des grandes \u00e9coles sont de plus en plus attir\u00e9s par le consulting, comme le notent Matthieu Aron et Caroline Michel-Aguirre dans leur ouvrage <a target=\"_blank\" href=\"https://allary-editions.fr/products/matthieu-aron-et-caroline-michel-aguirre-les-infiltres\"><em>Les Infiltr\u00e9s</em></a> (\u00c9d. Allary) : <em>\u201cEn 2007, 7\u202f% des \u00e9tudiants des trois grandes \u00e9coles, HEC, Centrale ou Polytechnique, devenaient consultants en strat\u00e9gie. En 2014, ils \u00e9taient 14\u202f%. Et en 2020, on atteint 30\u202f%.\u201d</em></p><h2>Le secteur public\u202f: une cible privil\u00e9gi\u00e9e</h2><p>Le service public est de plus en plus convoit\u00e9 par ces acteurs. Pascal Imbert, pr\u00e9sident du cabinet de consultants Wavestone, affirmait devant la commission d\u2019enqu\u00eate du S\u00e9nat avoir orient\u00e9 ses services vers les administrations, consid\u00e9rant ce secteur comme un \u201cmarch\u00e9 d\u2019avenir\u201d\u202f: <em>\u201cEn 2016, nous avons fait le choix de d\u00e9velopper tr\u00e8s fortement notre activit\u00e9 dans le secteur public, qui ne repr\u00e9sentait alors que 6\u202f% de notre chiffre d\u2019affaires. Il est aujourd\u2019hui de 14\u202f%. Nous avons pris cette d\u00e9cision en anticipant une phase de transformation beaucoup plus large destin\u00e9e \u00e0 moderniser l\u2019administration.\u201d</em></p><p>Une modernisation de l\u2019administration\u202fqui est plac\u00e9e au c\u0153ur des discussions et des d\u00e9cisions politiques successives depuis des d\u00e9cennies. Dans les ann\u00e9es 1980 d\u00e9j\u00e0, une nouvelle tendance, le <em>new public management</em> traversait l\u2019Atlantique pour gagner les esprits europ\u00e9ens. Ce sont Ronald Reagan aux \u00c9tats-Unis et Margaret Thatcher en Grande-Bretagne qui font appara\u00eetre cette notion de \u201cnouveau management public\u201d. <em>\u201cElle a \u00e9t\u00e9 lanc\u00e9e par des administrations politiquement conservatrices dont le but \u00e9tait d\u2019introduire dans le secteur public les m\u00e9thodes du secteur priv\u00e9, pour faire des \u00e9conomies budg\u00e9taires\",</em> pr\u00e9cise le chercheur <a target=\"_blank\" href=\"https://www.editionsladecouverte.fr/l_hopital_sous_pression-9782707164285\">Nicolas Belorgey</a>. \"<em>Le programme de ces deux chefs de gouvernement \u00e9tait de r\u00e9duire les imp\u00f4ts. Pour que cela passe dans la population\u202fen France, on a chang\u00e9 le nom, un peu les m\u00e9thodes de travail, mais l\u2019inspiration fondamentale reste de rendre un service \u00e0 moindre co\u00fbt.\u201d</em></p><h2>Le paradoxe du serpent</h2><p>Au d\u00e9part, la haute fonction publique fran\u00e7aise ne voit pas d\u2019un bon \u0153il les quelques collaborations mises en place avec des consultants. Mais au fil des ann\u00e9es, et apr\u00e8s l\u2019externalisation de services aussi vari\u00e9s que le m\u00e9nage ou l\u2019informatique, les esprits s\u2019habituent aux collaborations avec le priv\u00e9. Un pas suppl\u00e9mentaire sera franchi avec l\u2019arriv\u00e9e de Nicolas Sarkozy en 2007. Il initie la r\u00e9vision g\u00e9n\u00e9rale des politiques publiques (RGPP), destin\u00e9e \u00e0 poursuivre la modernisation de l\u2019\u00c9tat. Connue surtout pour sa mesure de non-remplacement d\u2019un fonctionnaire sur deux, la RGPP avait pour but de proc\u00e9der \u00e0 des \u00e9conomies \u00e0 tous les \u00e9tages. On la confie \u00e0 un expert : \u00c9ric Woerth. <em>\u201cIl est lui-m\u00eame un ancien consultant d\u2019Arthur Andersen\"</em>, pr\u00e9cise Caroline Michel-Aguirre, journaliste et co-autrice du livre <em>Les Infiltr\u00e9s. \"Il se retrouve avec le maroquin de la r\u00e9forme de l\u2019\u00c9tat. Il va faire venir des anciens consultants aux postes cl\u00e9s, pour mettre en place cette politique de r\u00e9duction des co\u00fbts.\u201d</em> Des audits sont alors command\u00e9s \u00e0 tous les niveaux. Les consultants ont d\u00e9sormais portes ouvertes dans les administrations.</p><p>Pour Arnaud Bontemps, haut-fonctionnaire et porte-parole du <a target=\"_blank\" href=\"https://nosservicespublics.fr/qui-sommes-nous\">collectif Nos services publics</a>, <em>\u201csur la p\u00e9riode 2006-2018, l\u2019\u00c9tat a perdu 180 000 postes de fonctionnaires. La cons\u00e9quence directe, c\u2019est la cr\u00e9ation de pans entiers de march\u00e9 pour les cabinets de conseil au sein du secteur public.\u201d</em> Des consultants charg\u00e9s d\u2019identifier les \u00e9conomies possibles pour all\u00e9ger les finances de l\u2019\u00c9tat. Un objectif louable, si ce n\u2019est, selon la sociologue Julie Gervais, co-autrice de l\u2019ouvrage <a target=\"_blank\" href=\"https://www.editionsladecouverte.fr/la_valeur_du_service_public-9782348068553\">La valeur du Service Public</a>, qu\u2019il se traduit par une perte s\u00e8che de comp\u00e9tences, avec un autre effet qu\u2019on appelle le \u201cparadoxe du serpent\u201d. <em>\u201cC\u2019est l\u2019image du serpent qui se mord la queue\",</em> explique-t-elle. \"<em>D\u2019abord, les cabinets de conseil encouragent les administrations et les responsables politiques \u00e0 couper dans les d\u00e9penses publiques. Puis, dans un deuxi\u00e8me temps, ces m\u00eames cabinets proposent leurs services pour boucher les trous qu\u2019ils ont eux-m\u00eames creus\u00e9s\u202f!\u201d</em></p><p>Claude Revel, d\u00e9l\u00e9gu\u00e9e interminist\u00e9rielle \u00e0 plusieurs reprises, a connu les deux \u00e9poques\u202f: les ann\u00e9es 1980 et les ann\u00e9es post RGPP. \u00c0 son retour dans la haute fonction publique en 2012, elle constate un changement d\u2019\u00e9tat d\u2019esprit. <em>\u201cDans les ann\u00e9es 1980, un sens de l\u2019int\u00e9r\u00eat g\u00e9n\u00e9ral \u00e9tait port\u00e9 avec une certaine fiert\u00e9 au sein de la haute administration\",</em> t\u00e9moigne Claude Revel. \"<em>Quand je suis revenue, j\u2019ai constat\u00e9 que l\u2019ambiance \u00e9tait compl\u00e8tement diff\u00e9rente. On pensait d\u00e9sormais que le management par l\u2019\u00c9tat \u00e9tait inf\u00e9rieur \u00e0 celui du management par le priv\u00e9. Ensuite, les cabinets ext\u00e9rieurs de Conseil, surtout am\u00e9ricains, \u00e9taient consid\u00e9r\u00e9s comme \u00e9tant comp\u00e9tents et pouvant apporter la bonne parole.\u201d</em></p><aside class=\"card bounce\" data-xiti=\"Rebond::Article\"><figure class=\"media-visual\"><a href=\"https://www.franceinter.fr/justice/mckinsey-une-enquete-preliminaire-ouverte-pour-blanchiment-aggrave-de-fraude-fiscale\" data-xiti-trackable=\"true\" data-xiti-libelle=\"vignette_1_McKinsey : une enqu\u00eate pr\u00e9liminaire ouverte pour &quot;blanchiment aggrav\u00e9 de fraude fiscale&quot;\" data-xiti-type=\"N\"><img data-dejavu-src=\"https://cdn.radiofrance.fr/s3/cruiser-production/2022/04/ce75d5d1-818e-4b7d-8926-dc9536514ce1/300x170_maxnewsworldfour629622.jpg\" src=\"denied:data:image/jpeg;base64,/9j/2wBDACgcHiMeGSgjISMtKygwPGRBPDc3PHtYXUlkkYCZlo+AjIqgtObDoKrarYqMyP/L2u71////m8H////6/+b9//j/2wBDASstLTw1PHZBQXb4pYyl+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj/wAARCAAXACoDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAECA//EAB4QAAICAgMBAQAAAAAAAAAAAAABAhESUSExQQNx/8QAFgEBAQEAAAAAAAAAAAAAAAAAAQIA/8QAFxEBAQEBAAAAAAAAAAAAAAAAAAERIf/aAAwDAQACEQMRAD8A0cSowtNspwT9E4vZe1OG0mqa4REvml0UpSj2i7jLzkJetYxUB4GtBiXqcZ5LQ8ltgBJUv0pLaAAJqKtq2VT2AAX/2Q==\" class=\"dejavu\" alt=\"Le parquet national financier a annonc\u00e9 ce mercredi l'ouverture d'une enqu\u00eate pr\u00e9liminaire pour blan\" title=\"Le parquet national financier a annonc\u00e9 ce mercredi l'ouverture d'une enqu\u00eate pr\u00e9liminaire pour blan\" crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\" /></a></figure><p>\u00c0 lire \u00a0- \u00a0 <a class=\"card-text-title tag\" href=\"https://www.franceinter.fr/justice\" data-xiti-trackable=\"true\" data-xiti-libelle=\"Justice\" data-xiti-type=\"N\" data-xiti-button=\"plus_d_infos\">Justice</a> <a class=\"card-text-sub\" href=\"https://www.franceinter.fr/justice/mckinsey-une-enquete-preliminaire-ouverte-pour-blanchiment-aggrave-de-fraude-fiscale\" data-xiti-trackable=\"true\" data-xiti-libelle=\"McKinsey : une enqu\u00eate pr\u00e9liminaire ouverte pour &quot;blanchiment aggrav\u00e9 de fraude fiscale&quot;\" data-xiti-type=\"N\" data-xiti-button=\"plus_d_infos\">McKinsey : une enqu\u00eate pr\u00e9liminaire ouverte pour \"blanchiment aggrav\u00e9 de fraude fiscale\" </a></p>\n</aside><h2>Une acc\u00e9l\u00e9ration en 2017</h2><p>Une touche suppl\u00e9mentaire a \u00e9t\u00e9 apport\u00e9e en 2017, avec l\u2019arriv\u00e9e au pouvoir d\u2019Emmanuel Macron, qualifi\u00e9 d\u2019\u201cidole des consultants\u201d par Alain Minc, conseiller politique. <em>\u201cIl r\u00e9fl\u00e9chit comme eux, il parle comme eux. Il a cette promesse du changement, faire plus en co\u00fbtant moins\u201d</em>, estime Caroline Michel-Aguirre. Effectivement, il va leur ouvrir grand les portes des administrations. D\u2019abord, en cr\u00e9ant la Direction interminist\u00e9rielle pour la transformation publique (DITP). Compos\u00e9e d\u2019environ 80 experts, elle compte dans ses rangs autant de fonctionnaires que d\u2019anciens consultants pour <a href=\"https://www.franceinter.fr/comment-le-nudge-a-conquis-la-macronie\">\u00e9pauler les administrations dans leur strat\u00e9gie de transformation</a>.</p><p>D\u00e8s sa cr\u00e9ation, cette d\u00e9l\u00e9gation a conclu un \u201cmarch\u00e9 cadre\u201d, dont le principe est de faciliter le recours aux consultants pour tout minist\u00e8re ou administration. <em>\u201cLe but est d\u2019aider l\u2019\u00c9tat \u00e0 se transformer dans la dur\u00e9e du quinquennat\u201d</em>, explique Benjamin Polle, journaliste sp\u00e9cialiste du secteur pour le site Consultor. Avec une particularit\u00e9\u202f: il devient inutile de lancer un appel d\u2019offres, d\u00e9marche fastidieuse et lente, puisque le march\u00e9 cadre permet de s\u2019affranchir de cette \u00e9tape. Mais celui-ci a d\u00e9rap\u00e9. Lanc\u00e9 \u00e0 l\u2019\u00e9t\u00e9 2018, il ne devait pas d\u00e9passer 100 millions d\u2019euros. Or il a finalement atteint 208 millions d\u2019euros d\u00e9but 2022. Ces d\u00e9passements devraient cependant cesser : une jurisprudence europ\u00e9enne a contraint l\u2019\u00c9tat fran\u00e7ais \u00e0 fixer un montant \u00e0 ne pas d\u00e9passer pour un \u201cmarch\u00e9 cadre\u201d. Le d\u00e9cret est entr\u00e9 en application au 1er janvier 2022.</p><p>Autre d\u00e9rive constat\u00e9e\u202f: les cabinets de consultants r\u00e9f\u00e9renc\u00e9s par la DITP devaient se partager les commandes selon un principe dit du \u201ctourniquet\u201d. Une fois une mission attribu\u00e9e, un cabinet doit attendre que tous les autres cabinets aient d\u00e9croch\u00e9 une mission, avant d\u2019\u00eatre \u00e0 nouveau sollicit\u00e9 par une administration. Mais selon la s\u00e9natrice communiste \u00c9liane Assassi, rapporteure de la commission d\u2019enqu\u00eate du S\u00e9nat : <em>\u201cUn cabinet peut, au nom du droit de suite ou du devoir de suite, obtenir une mission d\u00e8s lors qu\u2019elle s\u2019inscrit dans la coh\u00e9rence de la premi\u00e8re qui lui a \u00e9t\u00e9 confi\u00e9e.\u201d</em></p><h2>Deux mondes qui ne se comprennent pas</h2><p>Si le recours aux consultants s\u2019est g\u00e9n\u00e9ralis\u00e9, la greffe avec les fonctionnaires a parfois du mal \u00e0 prendre. On a pu le constater lors d\u2019une mission du cabinet de consultants Wavestone au sein de l\u2019<a target=\"_blank\" href=\"https://www.ofpra.gouv.fr/fr/l-ofpra/presentation-generale\">Office fran\u00e7ais de protection des r\u00e9fugi\u00e9s et apatrides</a> (Ofpra). Elle \u00e9tait destin\u00e9e \u00e0 am\u00e9liorer le d\u00e9lai de traitement des dossiers des demandeurs d\u2019asile et la coh\u00e9sion de l\u2019\u00e9quipe, suite \u00e0 l\u2019arriv\u00e9e de pr\u00e8s de 200 nouveaux agents. L\u2019un des fonctionnaires int\u00e9gr\u00e9s aux \u00e9quipes de travail, a confi\u00e9 \u00e0 la cellule investigation de Radio France\u202f: <em>\u201cNous avons pass\u00e9 \u00e9norm\u00e9ment de temps \u00e0 leur expliquer les \u00e9tapes du traitement d\u2019un dossier de demandeur d\u2019asile en collant des post-its sur des tableaux. Mais au mois de f\u00e9vrier, soit pr\u00e8s de six mois apr\u00e8s le d\u00e9but de leur mission, ils n\u2019avaient pas encore bien compris. Et il a fallu leur r\u00e9expliquer que nous n\u2019avions pas des clients en face de nous. Que leur vocabulaire n\u2019\u00e9tait pas le bon. C\u2019\u00e9tait lunaire.\u201d</em> Un autre consid\u00e8re que pour une mission \u00e0 487\u202f000 euros, <em>\u201con aurait pu le faire en interne\u201d</em>.</p><p>Quant aux ateliers d\u00e9di\u00e9s \u00e0 la question de coh\u00e9sion d\u2019\u00e9quipe, ils ont tourn\u00e9 court. <em>\u201cCes consultants tenaient absolument \u00e0 ce que nous mettions en place deux id\u00e9es pr\u00e9sent\u00e9es comme r\u00e9volutionnaires\u202f: faire une r\u00e9union de section hebdomadaire de 30 minutes, et utiliser un outil de \u2018management visuel\u2019</em>, se souvient un fonctionnaire de l\u2019Ofpra. <em>Il s\u2019agit en fait d\u2019une tr\u00e8s grande feuille de papier accroch\u00e9e sur le mur, avec des th\u00e8mes tout \u00e0 fait infantilisants type \u2018m\u00e9t\u00e9o RH\u2019, \u2018horoscope des officiers de protection\u2019, \u2018bo\u00eete \u00e0 questions\u2019, que nous sommes invit\u00e9s \u00e0 alimenter avec des post-its. On a en face de nous des r\u00e9fugi\u00e9s qui nous parlent d\u2019actes de torture. Alors dessiner des soleils sur des post-its, on ne peut pas.\u201d</em> Ce sentiment de ne pas parler la m\u00eame langue, le sociologue Nicolas Belorgey l\u2019a lui aussi ressenti dans la fonction publique hospitali\u00e8re. Il avait choisi d\u2019int\u00e9grer plusieurs cabinets de conseil pour suivre leurs missions dans le cadre de ses travaux de recherche. L\u2019une d\u2019elles l\u2019a conduit dans les services des urgences : <em>\u201cIl s'agissait de r\u00e9duire le temps d\u2019attente des patients. Mais en r\u00e9alit\u00e9, leur travail a consist\u00e9 \u00e0 r\u00e9duire le temps de passage des patients. Cela signifie une consultation m\u00e9dicale moins approfondie, les patients ressortent plus rapidement, mais ils reviennent aussi davantage.\u201d</em></p><div class=\"embed-blocked\" data-check-didomi-vendor=\"c:twitter-rNGnjKz6\"><div>Pour afficher ce contenu Twitter, vous devez accepter les cookies<strong>R\u00e9seaux Sociaux</strong>.<p>Ces cookies permettent de partager ou r\u00e9agir directement sur les r\u00e9seaux sociaux auxquels vous \u00eates connect\u00e9s ou d'int\u00e9grer du contenu initialement post\u00e9 sur ces r\u00e9seaux sociaux. Ils permettent aussi aux r\u00e9seaux sociaux d'utiliser vos visites sur nos sites et applications \u00e0 des fins de personnalisation et de ciblage publicitaire.</p></div><a data-didomi-preferences-show=\"1\">G\u00e9rer mes choix</a></div><h2>Les collectivit\u00e9s locales, elles aussi touch\u00e9es par le ph\u00e9nom\u00e8ne</h2><p>Le recours aux consultants concerne d\u00e9sormais aussi les conseils r\u00e9gionaux, d\u00e9partementaux, intercommunalit\u00e9s et municipalit\u00e9s. Selon le ma\u00eetre de conf\u00e9rences en sciences politiques St\u00e9phane Cadiou, la d\u00e9centralisation a conf\u00e9r\u00e9 un certain nombre de comp\u00e9tences pour lesquelles ces collectivit\u00e9s ne disposaient pas des ressources en interne. Mais deux autres causes, affirme-t-il, expliquent ce recours croissant aux consultants. <em>\u201cLes grandes vagues de politiques publiques nationales comme la politique de r\u00e9novation urbaine, les politiques de s\u00e9curit\u00e9 ou de l\u2019environnement, sont autant de cycles o\u00f9 les gouvernements successifs enr\u00f4lent les collectivit\u00e9s pour de grandes transitions,</em> explique le chercheur. <em>Bien souvent, elles ont besoin d\u2019\u00eatre accompagn\u00e9es, donc de recourir \u00e0 des conseillers. Enfin, depuis les ann\u00e9es 2000, l\u2019\u00c9tat s\u2019est retir\u00e9 de l\u2019assistance aux collectivit\u00e9s territoriales cr\u00e9ant ainsi un appel d\u2019air. Les plus petites collectivit\u00e9s ont d\u00fb se tourner vers des acteurs priv\u00e9s, pour accompagner leur d\u00e9marche de d\u00e9veloppement territorial.\u201d</em></p><p>Les plus grosses collectivit\u00e9s disposent de suffisamment de ressources, mais l\u2019\u00c9tat les incite parfois \u00e0 recourir au priv\u00e9, comme le relate le haut fonctionnaire Arnaud Bontemps, du collectif Nos services publics\u202f: <em>\u201cIl existe un programme qui vise \u00e0 accompagner les collectivit\u00e9s dans la mise en \u0153uvre de plans alimentaires territoriaux. Or l\u2019aide apport\u00e9e par l\u2019\u00c9tat est conditionn\u00e9e \u00e0 une chose\u202f: que les collectivit\u00e9s n\u2019utilisent pas cette aide pour embaucher des gens en interne, mais qu\u2019e**lles l\u2019utilisent pour tout autre type de prestation. Autrement dit, elles doivent passer par des consultants.\u201d</em></p><h2>Une r\u00e9duction en trompe l\u2019\u0153il\u202f?</h2><p>Le 29 janvier dernier, une directive du premier ministre d\u2019alors, Jean Castex, demandait aux administrations de r\u00e9duire de 15\u202f% leur recours aux consultants. Pas de quoi vraiment changer la donne. Pour Arnaud Bontemps, <em>\u201cc\u2019est 15\u202f% par rapport \u00e0 l\u2019ann\u00e9e record 2021, qui \u00e9tait plus de deux fois sup\u00e9rieure \u00e0 l\u2019ann\u00e9e 2018 au d\u00e9but du quinquennat d\u2019Emmanuel Macron. En r\u00e9alit\u00e9 donc, c\u2019est une stabilisation du recours aux cabinets.\u201d</em> Gabriel Attal, alors porte-parole du gouvernement, annon\u00e7ait en f\u00e9vrier 2022 qu\u2019une r\u00e9flexion \u00e9tait en cours pour r\u00e9internaliser une partie de ce consulting. Lors de son arriv\u00e9e \u00e0 la t\u00eate de l\u2019AP-HP (Assistance publique - H\u00f4pitaux de Paris), Martin Hirsch avait d\u00e9j\u00e0 fait ce choix en cr\u00e9ant un cabinet de consultants interne. \u00c0 l\u2019automne prochain, une proposition de loi devrait par ailleurs \u00eatre d\u00e9pos\u00e9e au S\u00e9nat par les membres de la commission d\u2019enqu\u00eate, pour traduire dans la r\u00e8glementation les recommandations list\u00e9es dans leur rapport. Mais on n\u2019en est qu\u2019au stade de la r\u00e9flexion. Et on sent bien que l\u2019\u00c9tat est tiraill\u00e9 entre une conviction profonde que le priv\u00e9 peut aider le public \u00e0 devenir plus performant, et une opinion publique r\u00e9ticente qu\u2019il lui faut rassurer.</p><iframe class=\"dailymotion\" frameborder=\"0\" width=\"400\" height=\"400\" src=\"https://www.dailymotion.com/embed/video/x8b37q2?pubtool=oembed\" allowfullscreen=\"allowfullscreen\"> </iframe><h2>Aller plus loin :</h2><ul><li><strong>LIRE |</strong> <a target=\"_blank\" href=\"https://allary-editions.fr/products/matthieu-aron-et-caroline-michel-aguirre-les-infiltres\"><strong>Les Infiltr\u00e9s,</strong></a> Caroline Michel-Aguirre et Matthieu Aron (\u00c9d. Allary)</li>\n<li><strong>LIRE |</strong> <a target=\"_blank\" href=\"https://www.senat.fr/fileadmin/Fichiers/Images/redaction_multimedia/2022/2022_Documents-PDF/20220317_ESSENTIEL_-_Cabinet_de_conseil.pdf\"><strong>Synth\u00e8se sur l\u2019influence des cabinets de conseil sur les politiques publiques</strong></a> , commission d\u2019enqu\u00eate s\u00e9natoriale</li>\n<li><strong>LIRE |</strong> <a target=\"_blank\" href=\"https://www.francebleu.fr/infos/faits-divers-justice/affaire-mckinsey-perquisition-au-siege-francais-pour-des-soupcons-de-fraude-fiscale-1653393446\"><strong>L\u2019affaire McKinsey : perquisition au si\u00e8ge fran\u00e7ais pour des soup\u00e7ons de fraude fiscale</strong></a> , France Bleu</li>\n<li><strong>REGARDER |</strong> <a target=\"_blank\" href=\"https://www.francetvinfo.fr/sante/maladie/coronavirus/vaccin/video-mckinsey-petits-conseils-entre-amis_4318497.html\"><strong>McKinsey : petits conseils entre amis</strong></a> , Compl\u00e9ment d'enqu\u00eate, France T\u00e9l\u00e9visions</li>\n</ul>",
    "created_at": "2022-05-30T13:34:00+00:00",
    "updated_at": "2022-05-30T13:34:46+00:00",
    "published_at": "2022-05-27T06:17:41+00:00",
    "published_by": ["Marjolaine Koch,  Cellule investigation de Radio France"],
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr",
    "reading_time": 13,
    "domain_name": "www.franceinter.fr",
    "preview_picture": "https://cdn.radiofrance.fr/s3/cruiser-production/2022/05/632e931c-2f52-4b4e-a04e-3a3be9818147/1200x680_photo-5-france-cabinets-de-consultants.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["opendatasoft", "datagrandest", "opendata", "work"],
    "is_public": false,
    "id": 29,
    "title": "La data en 2031 : faire de la donn\u00e9e un service pour tous - Opendatasoft",
    "url": "https://www.opendatasoft.com/fr/blog/la-data-en-2031-faire-de-la-donnee-un-service-pour-tous/&_hsmi=213992987&_hsenc=p2ANqtz-8cWQkUEbRJPpVUre_NAv-druau_E78Vm7r_DyVGkTSJDEfauE2OKSswux0ZVdZJOrNan0aP7gf1ZeQgLiCibGtFIs7UqZW-FeIYNQRYo5qPVg_Z6w",
    "origin_url": "https://www.opendatasoft.com/fr/blog/la-data-en-2031-faire-de-la-donnee-un-service-pour-tous/?utm_medium=email&_hsmi=213992987&_hsenc=p2ANqtz-8cWQkUEbRJPpVUre_NAv-druau_E78Vm7r_DyVGkTSJDEfauE2OKSswux0ZVdZJOrNan0aP7gf1ZeQgLiCibGtFIs7UqZW-FeIYNQRYo5qPVg_Z6w&utm_content=213992987&utm_source=hs_automation",
    "content": "<div class=\"text-conversation\"><p>Les donn\u00e9es sont au c\u0153ur de nos \u00e9conomies et sont produites en masse par tous les types d\u2019organisations dans tous les secteurs d\u2019activit\u00e9. L\u2019enjeu actuel reste cependant de rendre ces donn\u00e9es pleinement accessibles et intelligibles pour faciliter leur r\u00e9utilisation, et permettre \u00e0 chacun de consommer la donn\u00e9e comme n\u2019importe quel autre contenu afin d\u2019am\u00e9liorer son quotidien tant personnel que professionnel.</p><p>Nous nous sommes projet\u00e9s en 2031, dans un monde o\u00f9 la data serait accessible \u00e0 tous, avec ENGIE, IQVIA, Altares et SNCF R\u00e9seau \u00e0 l\u2019occasion d\u2019une s\u00e9ance de pitches prospectifs lors de notre dernier Data on Board.</p><p>Une session \u00e0 la fois \u00e9tonnante et inspirante pour entrevoir ensemble l\u2019avenir de la donn\u00e9e dans les secteurs de l\u2019\u00e9nergie, de la sant\u00e9, de l\u2019information et des transports.</p><div style=\"margin: auto;\"><a href=\"https://cta-redirect.hubspot.com/cta/redirect/2041226/87d3b819-9682-46ff-90df-f0a4cd02110c\" target=\"_blank\" rel=\"noopener\"><img id=\"hs-cta-img-87d3b819-9682-46ff-90df-f0a4cd02110c\" class=\"hs-cta-img alignnone c2\" src=\"https://no-cache.hubspot.com/cta/default/2041226/87d3b819-9682-46ff-90df-f0a4cd02110c.png\" alt=\"Nouveau call-to-action\" referrerpolicy=\"no-referrer\" /></a></div></div><div class=\"text-conversation\"><p>\u00c0 la crois\u00e9e de deux univers, la sant\u00e9 et les nouvelles technologies, IQVIA est l\u2019expert des donn\u00e9es de sant\u00e9 et des solutions de conseil destin\u00e9es aux acteurs du syst\u00e8me de sant\u00e9 depuis plus de 60 ans et dans plus de 140 pays. Notre invit\u00e9e Flore Coudy, Directrice marketing chez IQVIA France, s\u2019est projet\u00e9e avec nous sur l\u2019utilisation des donn\u00e9es dans le secteur de la sant\u00e9 dans 10 ans.</p></div><h3 class=\"title-conversation\">Transformer la data en information \u201caugment\u00e9e\u201d, \u00e0 forte valeur ajout\u00e9e</h3><div class=\"text-conversation\"><p>IQVIA s\u2019appuie sur ses bases de donn\u00e9es uniques, sur son expertise et sur ses outils d\u2019analyse pour apporter des services data et des solutions de conseil aux acteurs de la sant\u00e9.</p><p>Flore Coudy estime que dans 10 ans, il ne sera plus question de commercialiser les donn\u00e9es, mais les informations \u00e0 forte valeur ajout\u00e9e issues de la data :</p></div><div class=\"temoignage-article content-temoign\"><p>\u201cDans 10 ans, nous livrerons des r\u00e9ponses imm\u00e9diates \u00e0 nos clients, et non plus de la data \u00e0 proprement parler. Nous offrirons des informations pertinentes, en donnant aux utilisateurs des r\u00e9ponses concr\u00e8tes aux questions qu\u2019ils se posent et sans passer par l\u2019interm\u00e9diaire de la data, de l\u2019analyse, du traitement et de la collecte.\"</p></div><div class=\"text-conversation\"><p>Les difficult\u00e9s \u00e0 acc\u00e9der aux donn\u00e9es et \u00e0 en tirer des insights ne permettent pas aujourd\u2019hui de d\u00e9mocratiser compl\u00e8tement l\u2019acc\u00e8s aux donn\u00e9es. Flore Coudy donne l\u2019exemple concret auquel peuvent faire face les collaborateurs en laboratoire :</p><p>\u201cLorsqu\u2019un collaborateur dans l\u2019un de nos laboratoires pharmaceutiques re\u00e7oit une information sur ses parts de march\u00e9, il doit d\u00e9duire lui-m\u00eame quelles sont les actions \u00e0 mener pour faire progresser la part de march\u00e9. Dans 10 ans, les chefs de produit pourront recevoir directement des recommandations op\u00e9rationnelles de la part d\u2019IQVIA.\u201d</p><p>Les acteurs de la sant\u00e9 pourront ainsi avoir acc\u00e8s \u00e0 des informations directement actionnables relatives, par exemple:</p><ul><li>aux p\u00f4les d\u2019investissements \u00e0 privil\u00e9gier (par exemple, la publicit\u00e9 sur les r\u00e9seaux sociaux),</li>\n<li>aux ressources \u00e0 mettre en oeuvre (par exemple, en termes de recrutement ou d\u2019outils)</li>\n<li>aux opportunit\u00e9s de d\u00e9ploiement (par exemple, les pharmacies o\u00f9 telles ou telles gammes de produit fonctionnent le mieux)</li>\n</ul></div><h3 class=\"title-conversation\">S\u2019adapter aux enjeux r\u00e9glementaires \u00e0 venir</h3><div class=\"text-conversation\"><p>IQVIA est leader dans la commercialisation des donn\u00e9es de sant\u00e9. L\u2019entreprise se pr\u00e9pare pourtant \u00e0 une restriction totale de la vente de ces donn\u00e9es \u00e0 l\u2019avenir.</p><p>Flore Coudy explique qu\u2019IQVIA se projette sur un mod\u00e8le innovant \u00e0 m\u00eame d\u2019anticiper ces r\u00e9glementations avec deux approches de partage des donn\u00e9es :</p><ul><li><strong>Un partage en open data des donn\u00e9es de sant\u00e9</strong> afin d\u2019en faciliter l\u2019acc\u00e8s et d\u2019accro\u00eetre la transparence. La crise a \u00e9t\u00e9 le d\u00e9clencheur de cette d\u00e9marche plus large d\u2019ouverture des donn\u00e9es, avec des b\u00e9n\u00e9fices r\u00e9els d\u2019image et de notori\u00e9t\u00e9 pour l\u2019entreprise.</li>\n<li><strong>La mon\u00e9tisation de donn\u00e9es enrichies et travaill\u00e9es, des services data, con\u00e7us</strong> par les \u00e9quipes d\u2019IQVIA afin de transformer ces donn\u00e9es en recommandations et outils d\u2019aide \u00e0 la d\u00e9cision.</li>\n</ul><p>Flore Coudy estime ainsi qu\u2019une possible r\u00e9glementation dans le secteur de la sant\u00e9 ne doit pas \u00eatre per\u00e7ue comme une contrainte mais comme une opportunit\u00e9 d\u2019aller beaucoup plus loin dans le traitement de la donn\u00e9e et la mise en place de nouvelles m\u00e9thodologies.</p><p>Cette d\u00e9marche permet \u00e0 IQVIA d\u2019identifier de nouvelles solutions innovantes pour valoriser la data dans le secteur de la sant\u00e9, notamment par le biais de la donn\u00e9e synth\u00e9tique. Ce type de donn\u00e9es permettrait notamment de contourner l\u2019obstacle de la data privacy et des diff\u00e9rentes r\u00e9glementations relatives \u00e0 la protection des donn\u00e9es personnelles.</p></div><div class=\"text-conversation\"><p>Le Groupe SNCF R\u00e9seau est charg\u00e9 de la gestion et de l\u2019entretien des infrastructures ferroviaires en France. Nicolas Wurtz, Open Source Project Manager chez SNCF R\u00e9seau, a lui aussi jou\u00e9 le jeu de la prospective pour donner \u00e0 voir l\u2019utilisation des donn\u00e9es dans son secteur en 2031.</p></div><h3 class=\"title-conversation\">Cr\u00e9er un simulateur open source de circulation des trains \u00e0 l\u2019\u00e9chelle europ\u00e9enne</h3><div class=\"text-conversation\"><p>SNCF R\u00e9seau partage ses donn\u00e9es \u00e0 l\u2019ensemble des collaborateurs pour am\u00e9liorer la gestion de projets en interne (cartographie des interventions, analyse des op\u00e9rations). Cette d\u00e9marche permet d\u2019acc\u00e9l\u00e9rer l\u2019innovation et de favoriser la mise en place de nouveaux services pour am\u00e9liorer la performance du r\u00e9seau ferroviaire.</p><p>Nicolas Wurtz imagine l\u2019aboutissement de ce projet d\u2019ouverture des donn\u00e9es dans 10 ans via l\u2019ouverture d\u2019un logiciel open source de simulation de circulation des trains \u00e0 l\u2019\u00e9chelle europ\u00e9enne, notamment avec la collaboration des r\u00e9seaux ferroviaires suisses et allemands.</p><p>Toutes les entit\u00e9s (gestionnaires d\u2019infrastructures et entreprises ferroviaires) pourront alors s\u2019appuyer sur ce logiciel librement, sans avoir besoin de demander l\u2019acc\u00e8s aux donn\u00e9es pour les exploiter et les r\u00e9utiliser.</p><p>Un challenge de taille : 10 ans pour regrouper toutes les donn\u00e9es n\u00e9cessaires pour analyser la circulation des trains provenant d\u2019une multitude de producteurs diff\u00e9rents : trains, signaux, itin\u00e9raires, gares, aiguillages, donn\u00e9es dynamiques d\u2019acc\u00e9l\u00e9ration des trains, etc</p><p>Cette d\u00e9marche permettra d\u2019aboutir sur une base de connaissance et de travail commune et fiable pour exploiter les donn\u00e9es ferroviaires et am\u00e9liorer la circulation des trains en toutes circonstances.</p></div><h3 class=\"title-conversation\">Am\u00e9liorer l\u2019efficacit\u00e9, la prise de d\u00e9cision et anticiper les probl\u00e8mes gr\u00e2ce \u00e0 l\u2019open data</h3><div class=\"text-conversation\"><p>Pour Nicolas Wurtz, la cr\u00e9ation de cette plateforme de donn\u00e9es open data permettra d\u2019avoir une meilleure gestion de la circulation des 15 000 trains fran\u00e7ais gr\u00e2ce \u00e0 une vision globale de tous les signaux en temps r\u00e9el.</p><p>Par ailleurs, ce syst\u00e8me permettra d\u2019avoir une grande souplesse et d\u2019injecter de nouvelles circulations \u00e0 la derni\u00e8re minute, ou encore de rep\u00e9rer imm\u00e9diatement des anomalies dans les itin\u00e9raires et de les corriger avant que l\u2019erreur n\u2019ait un impact sur la circulation globale.</p></div><div class=\"temoignage-article content-temoign\"><p>\u201cPour moi un bon outil c'est un outil qu'on oublie. Mon travail consiste \u00e0 faire en sorte que les outils qu'on d\u00e9veloppe soient simples et intuitifs pour ceux qui font la circulation des trains.\u201d</p></div><div class=\"text-conversation\"><p>Enfin, la mise \u00e0 disposition des donn\u00e9es en open data ouvre la porte \u00e0 l\u2019innovation et de nouveaux usages au sein du groupe SNCF R\u00e9seau. Les collaborateurs seront ainsi plus enclins \u00e0 proposer de nouveaux usages ce qui permettra de faire avancer le projet en fonction des besoins des utilisateurs et pas uniquement en fonction du cahier des charges d\u00e9fini \u00e0 l\u2019origine.</p></div><div class=\"text-conversation\"><p>Engie est le troisi\u00e8me plus grand groupe mondial dans le secteur de l\u2019\u00e9nergie et partage de nombreuses informations en open data au grand public sur la capacit\u00e9 des actifs d\u2019ENGIE \u00e0 produire, stocker et transporter de l\u2019\u00e9lectricit\u00e9 et du gaz dans l\u2019Union europ\u00e9enne.</p><p>Caroline Flaissier, Senior Advisor Energy chez ENGIE s\u2019est projet\u00e9e avec nous sur les usages de la data dans le secteur de l\u2019\u00e9nergie dans 10 ans.</p></div><h3 class=\"title-conversation\">Poursuivre l\u2019accompagnement de la transition \u00e9nerg\u00e9tique</h3><div class=\"text-conversation\"><p>La question du partage des donn\u00e9es dans le secteur de l\u2019\u00e9nergie est un enjeu majeur pour accompagner la transition \u00e9nerg\u00e9tique et est au centre des pr\u00e9occupations des acteurs du secteur pour les prochaines ann\u00e9es.</p><p>Selon Caroline Flaissier, ce sont les donn\u00e9es comportementales des clients, employ\u00e9s, et plus largement de tous les acteurs mondiaux, qui permettent de comprendre en profondeur les usages et les solutions \u00e0 mettre en place. La question de la confidentialit\u00e9 des donn\u00e9es se pose, bien s\u00fbr, et risque de devenir une contrainte encore plus grande dans les ann\u00e9es \u00e0 venir.</p><p>Caroline Flaissier estime toutefois qu\u2019une remise en question globale des mod\u00e8les cr\u00e9\u00e9s par les acteurs de l\u2019\u00e9nergie est urgente, pour permettre d\u2019exploiter pleinement les donn\u00e9es comportementales.</p><p>Par ailleurs, c\u2019est l\u2019industrialisation du partage des ces donn\u00e9es \u00e0 l\u2019\u00e9chelle mondiale qui permettra, selon elle, de cr\u00e9er un nouveau mod\u00e8le pour r\u00e9aliser les objectifs de la transition \u00e9nerg\u00e9tique et d\u2019accompagner tous les acteurs dans cette d\u00e9marche.</p></div><h3 class=\"title-conversation\">Mettre en place un mod\u00e8le adapt\u00e9 aux enjeux du secteur de l\u2019\u00e9nergie</h3><div class=\"text-conversation\"><p>Selon Caroline, la base de la r\u00e9ussite des \u00e9nerg\u00e9ticiens en 2031 repose sur leur capacit\u00e9 \u00e0 \u00e9tablir un constat assez fort : l\u2019aveu de leur \u00e9chec et le souhait de tout reprendre de z\u00e9ro.<br />En effet, les avanc\u00e9es sur l\u2019analyse des donn\u00e9es comportementales sont souvent frein\u00e9es par la structure des organisations qui, par d\u00e9faut, silote l\u2019information.</p></div><div class=\"temoignage-article content-temoign\"><p>\u201cUne fois qu'on avait d\u00e9cid\u00e9 de travailler sur du comportemental, l'organisation nous demande de reporter par secteur d'activit\u00e9, par consommation, par chiffre d'affaires, etc\u2026Agir ainsi, c\u2019est faire un pas en arri\u00e8re vers les anciens mod\u00e8les, ce qui ne permet pas de faire avancer concr\u00e8tement les projets li\u00e9s \u00e0 la transition \u00e9nerg\u00e9tique.\u201d</p></div><div class=\"text-conversation\"><p>Red\u00e9marrer de z\u00e9ro et cr\u00e9er de nouveaux mod\u00e8les sera la cl\u00e9 de la r\u00e9ussite, selon Caroline Flaissier. Par ailleurs, cela permettra de recruter des nouveaux profils, qui se forment diff\u00e9remment et qui seront compatibles avec un mod\u00e8le bas\u00e9 sur la donn\u00e9e au service de la transition \u00e9nerg\u00e9tique.</p></div><div class=\"text-conversation\"><p>Expert de l\u2019information sur les entreprises, Altares collecte, structure, analyse et enrichit les donn\u00e9es BtoB afin de les rendre \u00ab intelligentes \u00bb et faciliter la prise de d\u00e9cision pour les directions g\u00e9n\u00e9rales et op\u00e9rationnelles des entreprises. Luc Querton, CEO d\u2019Altares, a propos\u00e9 sa vision de 2031.</p></div><h3 class=\"title-conversation\">Fournir un service de qualit\u00e9 bas\u00e9 sur des donn\u00e9es fiables et \u00e9thiques</h3><div class=\"text-conversation\"><p>Altares traite la donn\u00e9e d\u2019entreprise sur diff\u00e9rents axes financiers, juridiques et capitalistiques et fournit \u00e0 ses clients des agr\u00e9gats qui peuvent d\u00e9terminer la survie, ou, au contraire, la rupture de production. Luc Querton soul\u00e8ve deux enjeux fondamentaux qui s\u2019imposent pour fournir un service de qualit\u00e9 :</p><ul><li>la cr\u00e9dibilit\u00e9 et la fiabilit\u00e9 de la donn\u00e9e</li>\n<li>l\u2019honorabilit\u00e9 \u00e9thique des algorithmes d\u00e9cisionnels.</li>\n</ul><p>Pour r\u00e9pondre \u00e0 ces deux grands enjeux, Altares a identifi\u00e9 deux grands leviers \u00e0 actionner \u00e0 l\u2019avenir :</p><ul><li>La cr\u00e9ation d\u2019une carte d\u2019identit\u00e9 unique pour la donn\u00e9e pour en garantir la fiabilit\u00e9, la stabilit\u00e9 et aussi la dur\u00e9e de vie.</li>\n<li>La soumission des algorithmes et de leurs diff\u00e9rentes versions \u00e0 des tests d\u2019audits d\u2019honorabilit\u00e9, r\u00e9alis\u00e9s par des organismes certificateurs externes. Ces derniers peuvent garantir que les algorithmes Altares r\u00e9pondent au nouveau corpus r\u00e9glementaire impos\u00e9 par la responsabilit\u00e9 soci\u00e9tale et environnementale.</li>\n</ul></div><h3 class=\"title-conversation\">S\u2019appuyer sur les savoir-faire existants</h3><div class=\"text-conversation\"><p>Altares aide ses clients \u00e0 se pr\u00e9munir contre le risque financier de d\u00e9faillance mais aussi \u00e0 r\u00e9pondre \u00e0 leurs imp\u00e9ratifs de conformit\u00e9 r\u00e9glementaire et environnementale et \u00e0 maximiser leur d\u00e9veloppement commercial. Pour assurer le meilleur accompagnement possible, Altares fait fasse \u00e0 deux grands challenges :</p><ul><li>La raret\u00e9 de la ressource intellectuelle et la difficult\u00e9 \u00e0 former les data scientists et d\u00e9veloppeurs qui peuvent aider Altares \u00e0 mettre en \u0153uvre rapidement de nouveaux mod\u00e8les bas\u00e9s sur la donn\u00e9e.</li>\n<li>La r\u00e9ticence de la part des clients \u00e0 accepter des pr\u00e9conisations de d\u00e9cisions fournies par les algorithmes.</li>\n</ul><p>\u00c0 l\u2019avenir, Luc Querton estime qu\u2019il faut avant tout miser sur le savoir-faire et les donn\u00e9es des clients qui permettront de d\u00e9velopper des p\u00f4les de comp\u00e9tences crois\u00e9es et de construire de nouveaux mod\u00e8les industriels.</p></div><div class=\"temoignage-article content-temoign\"><p>\"Ces nouveaux mod\u00e8les pourront m\u00eame \u00eatre d\u00e9clin\u00e9s par secteur (\u00e9nergie, mobilit\u00e9, etc.) pour apporter une expertise tr\u00e8s pr\u00e9cise, ce qui nous permettra \u00e9galement d\u2019engager de nouveaux march\u00e9s \u00e0 l\u2019\u00e9tranger.\"</p></div><div class=\"text-conversation\"><p>Luc Querton identifie \u00e9galement les prochaines r\u00e9glementations comme une opportunit\u00e9 de constituer de nouveaux attributs de mesures pour favoriser cette mobilit\u00e9 interne et la fluidification du savoir.</p></div><h3 class=\"title-conversation\">Data et RSE : quels enjeux ?</h3><div class=\"text-conversation\"><p>La responsabilit\u00e9 sociale des entreprises (RSE) s\u2019impose comme le nouveau paradigme de l\u2019analyse de performance des organisations. Altares doit donc s\u2019y adapter en croisant de nouveaux indicateurs li\u00e9s \u00e0 cette probl\u00e9matique avec d\u2019autres plus classiques (risque de d\u00e9faillance, mouvements capitalistiques) pour offrir une vision juste du comportement extra-financier des entreprises.</p></div><div class=\"temoignage-article content-temoign\"><p>\u201cL\u2019ensemble des entreprises produiront tr\u00e8s vite de nombreuses donn\u00e9es RSE, ce qui nous permettra d\u2019enrichir nos corpus pour ensuite fournir des \u201ccartes d\u2019identit\u00e9 g\u00e9n\u00e9riques\u201d \u00e0 pr\u00e9senter aux entreprises.\u201d</p></div><div class=\"text-conversation\"><p>Cette session de projections en 2031 a \u00e9t\u00e9 l\u2019occasion de mettre en lumi\u00e8re les changements importants \u00e0 enclencher pour entrevoir ensemble l\u2019avenir de la donn\u00e9e dans les secteurs de l\u2019\u00e9nergie, de la sant\u00e9, de l\u2019information et des transports.</p><p>Les mod\u00e8les de partage des donn\u00e9es sont aujourd\u2019hui silot\u00e9s dans tous les secteurs et tous nos experts partagent la m\u00eame conviction : la donn\u00e9e doit \u00eatre ouverte et la d\u00e9mocratisation de l\u2019acc\u00e8s et des usages de la donn\u00e9e est indispensable pour permettre \u00e0 tous d\u2019en exploiter les b\u00e9n\u00e9fices.</p><p>Les questions de data privacy restent tr\u00e8s pr\u00e9sentes chez nos invit\u00e9s, ils y voient toutefois l\u2019occasion de transformer les mod\u00e8les existants au profit de tous.</p></div><div class=\"bloc-article-simulaire\"><p>Articles sur le m\u00eame th\u00e8me :</p><p><a href=\"https://www.opendatasoft.com/fr/tag/events-2/\" class=\"item\">Events</a> <a href=\"https://www.opendatasoft.com/fr/tag/data-sharing-fr/\" class=\"item\">Data Sharing</a></p></div>",
    "created_at": "2022-05-30T12:58:13+00:00",
    "updated_at": "2022-05-30T12:58:44+00:00",
    "published_at": "2022-03-29T12:32:21+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 10,
    "domain_name": "www.opendatasoft.com",
    "preview_picture": "https://www.opendatasoft.com/wp-content/uploads/2022/03/2.png",
    "http_status": "200"
  },
  {
    "is_archived": 1,
    "is_starred": 0,
    "tags": ["livre", "resume", "psycho"],
    "is_public": false,
    "id": 28,
    "title": "Pourquoi trop penser rend manipulable R\u00e9sum\u00e9 et avis - Christel Petitcollin",
    "url": "https://des-livres-pour-changer-de-vie.com/pourquoi-trop-penser-rend-manipulable/",
    "archived_at": "2022-05-30T16:08:04+00:00",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><p><a href=\"https://amzn.to/3oqngcP\" target=\"_blank\" rel=\"noopener\" class=\"external\">\n<p><img class=\"c7\" title=\"pourquoi trop penser rend manipulable christel petitcollin\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/pourquoi-trop-penser-rend-manipulable-christel-peticollin.jpg\" alt=\"pourquoi trop penser rend manipulable christel petitcollin\" width=\"249\" height=\"350\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</a></p><blockquote>\n<p><strong>R\u00e9sum\u00e9 du livre \u00ab Pourquoi trop penser rend manipulable \u2013 prot\u00e9gez votre mental de l\u2019emprise \u00bb</strong>\u00a0: Ce livre est un outil vital lorsque nous traversons des crises au niveau personnel ou soci\u00e9tal, en particulier pour les <em>personnes hypersensibles</em>, qui se sentent emp\u00eatr\u00e9es dans une <em>toile d\u2019araign\u00e9e</em>, car \u00ab\u00a0Pourquoi trop penser rend manipulable\u00a0\u00bb donne des <strong><em>cl\u00e9s de compr\u00e9hension</em></strong> du fonctionnement de <strong>pens\u00e9es complexes</strong> et des cl\u00e9s pour <strong>\u00e9tablir ses limites personnelles</strong>.</p>\n</blockquote><p>Par Christel Petitcollin, \u00e9ditions Guy Tr\u00e9daniel, 2017, 261 pages.</p><p><em>Note\u00a0: cette chronique est une chronique invit\u00e9e \u00e9crite par Ang\u00e8le Caignec-Langlo du blog</em> <a href=\"https://lessentiel-des-parents.com/\" target=\"_blank\" rel=\"noopener\" class=\"external\">L\u2019Essentiel des Parents</a><em>.</em></p><h2>Chronique et r\u00e9sum\u00e9 de \u00ab Pourquoi trop penser rend manipulable \u2013 Prot\u00e9gez votre mental de l\u2019emprise \u00bb</h2><p>Christel Petitcollin est sp\u00e9cialiste de la <strong>manipulation mentale</strong> et de la <strong>surefficience mentale<sup><strong>[1]</strong></sup></strong>. Depuis plus de vingt-cinq ans aupr\u00e8s des <strong>victimes de manipulateurs</strong>, Christel Petitcollin est aussi \u00e9crivaine, conf\u00e9renci\u00e8re et formatrice en d\u00e9veloppement personnel.</p><h3>Introduction</h3><h3>\u00ab Depuis quand n\u2019avez-vous pas ri\u00a0? \u00bb</h3><p>Ma m\u00e8re m\u2019a transmis ce livre \u00ab\u00a0Pourquoi trop penser rend manipulable\u00a0\u00bb \u00e0 un moment d\u00e9sesp\u00e9r\u00e9 de ma vie sentimentale. Sur une intuition de sa part, il est arriv\u00e9 \u00e0 point nomm\u00e9 pour moi. J\u2019\u00e9tais <strong>pr\u00eate</strong> \u00e0 le lire, et ce livre m\u2019a sauv\u00e9 la vie.</p><p>Sauver la vie, c\u2019est-\u00e0-dire\u00a0? J\u2019\u00e9tais dans une relation de couple <strong>malsaine</strong> et <strong>toxique</strong>, je n\u2019y voyais plus rien et je ne savais plus <strong>qui</strong> j\u2019\u00e9tais. Un jour, je me suis r\u00e9veill\u00e9e en sursaut pour \u00e9chapper \u00e0 ma disparition int\u00e9rieure \u2013 en clair, je me serais \u00e9teinte int\u00e9rieurement si le r\u00e9veil en douche froide ne s\u2019\u00e9tait pas manifest\u00e9.</p><p>En <a href=\"https://lessentiel-des-parents.com/burn-out-maternel-et-depression-post-partum/5-cles-pour-sortir-dune-depression-post-partum\" target=\"_blank\" rel=\"noopener\" class=\"external\">\u00e9puisement maternel extr\u00eame et burn-out global</a>, j\u2019\u00e9tais all\u00e9e voir un ost\u00e9opathe qui m\u2019avait demand\u00e9 \u00ab depuis quand n\u2019avez-vous pas <strong>ri</strong>\u00a0? \u00bb, une question qui m\u2019a surprise car je ne me l\u2019\u00e9tais pas pos\u00e9e et que je suis une personne d\u2019ordinaire rayonnante et joyeuse. J\u2019ai fondu en larmes.</p><h3>Un livre bou\u00e9e de sauvetage</h3><p>\u00ab Pourquoi trop penser rend manipulable, prot\u00e9gez votre mental de l\u2019emprise \u00bb a \u00e9t\u00e9 un phare dans la travers\u00e9e de la temp\u00eate. Ce livre m\u2019a aid\u00e9e \u00e0 savoir dans quelle situation je me trouvais. Le livre m\u2019a donn\u00e9 des <strong>cl\u00e9s concr\u00e8tes et applicables</strong> pour poser des balises. Il m\u2019a aid\u00e9e \u00e0 maintenir mon cap jusqu\u2019\u00e0 ce que je sorte la t\u00eate de l\u2019eau de fa\u00e7on durable.</p><p>Depuis j\u2019ai lu aussi, en compl\u00e9ment, quelques autres livres de l\u2019auteur (\u00ab Je pense mieux \u00bb, \u00ab <a href=\"https://des-livres-pour-changer-de-vie.com/je-pense-trop/\" target=\"_blank\" rel=\"noopener\">Je pense trop</a> \u00bb, \u00ab Divorcer d\u2019un manipulateur \u00bb, \u00ab \u00c9chapper aux manipulateurs \u00bb, \u00ab Enfants de manipulateurs \u00bb, l\u2019auteur y aborde aussi la notion d\u2019<em>ali\u00e9nation parentale</em>).</p><p><img title=\"phare dans la travers\u00e9e de la temp\u00eate\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/phare-dans-la-traversee-de-la-tempete.jpg?is-pending-load=1\" alt=\"phare dans la travers\u00e9e de la temp\u00eate\" width=\"600\" height=\"365\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"phare dans la travers\u00e9e de la temp\u00eate\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/phare-dans-la-traversee-de-la-tempete.jpg\" alt=\"phare dans la travers\u00e9e de la temp\u00eate\" width=\"600\" height=\"365\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p>Voici, dans cette chronique de \u00ab\u00a0Pourquoi trop penser rend manipulable\u00a0\u00bb, <strong>l\u2019essence du message du livre</strong> et des suggestions compl\u00e9mentaires. Je vous <strong>recommande vivement de LIRE le livre</strong> si vous pensez \u00eatre dans une relation toxique, ou que vous vous dites \u00ab <em>je pense trop</em> \u00bb, ou que vous vous trouvez face \u00e0 une personne ou entit\u00e9 \u00e0 <strong>double face</strong>.</p><p>Le livre de Christel Petitcollin d\u00e9montre <strong>tous les m\u00e9canismes de la manipulation</strong> et offre <strong>les cl\u00e9s pour ne plus se laisser prendre au pi\u00e8ge</strong>. Livre \u00e0 garder \u00e0 son chevet\u00a0!</p><h3>Contenu du livre \u00ab\u00a0Pourquoi trop penser rend manipulable\u00a0\u00bb\u00a0: Les cl\u00e9s pour se lib\u00e9rer de l\u2019emprise</h3><p>Donc, si vous voulez vous <strong>lib\u00e9rer d\u00e9finitivement</strong> de tout ce qui fait que vous \u00eates manipulable, lisez ce livre <strong><em>dans l\u2019ordre</em></strong> car il a un objectif <strong>th\u00e9rapeutique</strong>.</p><p>Vous allez d\u00e9couvrir\u00a0:</p><ul><li>Qui est le manipulateur</li>\n<li>Qui est le manipul\u00e9</li>\n<li>La <strong>pens\u00e9e complexe arborescente</strong> et <strong>l\u2019hypersensibilit\u00e9</strong> de la personne manipulable</li>\n<li>Le grand malentendu de la <strong>projection</strong>\u00a0: quand deux mondes se rencontrent</li>\n<li>Comment trouver son <strong>axe int\u00e9rieur</strong>, se centrer et se recentrer r\u00e9guli\u00e8rement</li>\n<li>Comment <strong>poser des limites</strong>, un cadre\u00a0:\n<ul><li>Se respecter soi-m\u00eame</li>\n<li>Sortir du triangle <em>victime\u2013bourreau\u2013sauveur</em></li>\n<li>Qu\u2019en est-il de cette <strong>amn\u00e9sie traumatique</strong>\u00a0?</li>\n<li>D\u00e9velopper son <strong>assertivit\u00e9</strong> et ce que vous ne devez <strong>plus jamais</strong> faire</li>\n</ul></li>\n</ul><h3>Les cl\u00e9s \u00e0 retenir de \u00ab\u00a0Pourquoi trop penser rend manipulable\u00a0\u00bb\u00a0:<br /></h3><p>Voici les trois cl\u00e9s \u00e0 retenir de ce livre\u00a0:</p><ol><li>Il y a des gens m\u00e9chants et malintentionn\u00e9s, oui\u00a0!</li>\n<li>Il ou Elle ne changera pas. Seul vous pouvez changer votre attitude face \u00e0 lui ou elle.</li>\n<li>Fuyez\u00a0! car il ne servira \u00e0 rien d\u2019y faire face, vous perdrez.</li>\n</ol><p>Enfin, le dernier \u00e9l\u00e9ment important \u00e0 retenir est de <strong>s\u2019en tenir aux faits, aux actes</strong>.</p><p>En effet l\u2019observation factuelle permet de constater la r\u00e9alit\u00e9 ind\u00e9pendamment des ressentis. Les \u00e9l\u00e9ments bancals de la situation ressortiront comme le nez au milieu de la figure. A titre d\u2019exemple, <strong>faire ses comptes</strong> est un bon moyen de voir les dysfonctionnements dans le foyer, la gestion de chacun et son rapport aux choses.</p><blockquote>\n<p>\u00ab Ne vous disputez jamais avec un imb\u00e9cile\u00a0:<br />il vous tirera \u00e0 son niveau<br />et il gagnera par exp\u00e9rience \u00bb.<br />Citation d\u2019Albert Einstein</p>\n</blockquote><p><img title=\"les cl\u00e9s \u00e0 retenir pour se lib\u00e9rer de la manipulation mentale et psychologique\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/les-cles-retenir-pour-se-liberer-de-la-manipulation-mentale-et-psychologique.jpg?is-pending-load=1\" alt=\"les cl\u00e9s \u00e0 retenir pour se lib\u00e9rer de la manipulation mentale et psychologique\" width=\"600\" height=\"398\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"les cl\u00e9s \u00e0 retenir pour se lib\u00e9rer de la manipulation mentale et psychologique\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/les-cles-retenir-pour-se-liberer-de-la-manipulation-mentale-et-psychologique.jpg\" alt=\"les cl\u00e9s \u00e0 retenir pour se lib\u00e9rer de la manipulation mentale et psychologique\" width=\"600\" height=\"398\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3>Partie 1- Qui est le manipulateur\u00a0?</h3><h3>Chapitre 1\u00a0: Un manipulateur a deux visages</h3><p>Docteur Jekyll et Mister Hyde\u00a0: il s\u2019agit de la <strong>premi\u00e8re caract\u00e9ristique</strong>. L\u2019auteur explique qu\u2019en consultation ce crit\u00e8re est <strong>valid\u00e9 dans 100% des cas</strong>. L\u2019un tr\u00e8s sympathique et avenant, pour l\u2019ext\u00e9rieur, l\u2019autre morose et cruel, il devient haineux avec le temps, r\u00e9serv\u00e9 pour le cercle priv\u00e9. En g\u00e9n\u00e9ral, seule la victime conna\u00eet ce deuxi\u00e8me visage. L\u2019auteure explique qu\u2019il s\u2019agit en r\u00e9alit\u00e9 plus d\u2019un <strong>masque par-dessus un visage</strong> que de deux visages.</p><p>MASQUE\u00a0:</p><ul><li>Sympa,</li>\n<li>Proche,</li>\n<li>Amical</li>\n</ul><p>VRAI VISAGE\u00a0:</p><ul><li>Familiarit\u00e9 d\u00e9plac\u00e9e,</li>\n<li>Sans g\u00eane,</li>\n<li>Curiosit\u00e9 intrusive,</li>\n<li>Envahisseur d\u2019espace\n<ul><li>Se tient dans votre sph\u00e8re intime,</li>\n<li>Vous touche physiquement,</li>\n<li>Regard dur mais il sourit de toutes ses dents,</li>\n<li>S\u2019inclut effront\u00e9ment dans votre futur.</li>\n</ul></li>\n</ul><p><img title=\"deux visages masque manipulation jekyll et mister hide\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/deux-visages-masque-manipulation-jekyll-et-mister-hide.jpg?is-pending-load=1\" alt=\"deux visages masque manipulation jekyll et mister hide\" width=\"600\" height=\"400\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"deux visages masque manipulation jekyll et mister hide\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/deux-visages-masque-manipulation-jekyll-et-mister-hide.jpg\" alt=\"deux visages masque manipulation jekyll et mister hide\" width=\"600\" height=\"400\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Un manipulateur utilise quatre ficelles pour vous transformer en marionnette</strong></h3><h3>1- S\u00e9duction</h3><p><strong>Capture de r\u00eave</strong> et <strong>mim\u00e9tisme</strong>\u00a0: vous aurez l\u2019impression d\u2019avoir rencontr\u00e9 votre alter ego.</p><p>Flatterie et promesses all\u00e9chantes. Mais il ne tient pas ses paroles.</p><p>Les cl\u00e9s pour s\u2019en sortir\u00a0:</p><ul><li>Taisez-vous et laissez les gens parler en premier</li>\n<li>Demandez-vous \u00ab en quoi cette personne est-elle comme moi\u00a0? \u00bb</li>\n<li>Regardez les <strong>actes</strong> plut\u00f4t que d\u2019\u00e9couter les paroles qui peuvent \u00eatre un tissu de mensonges</li>\n</ul><h3>2- Victimisation</h3><p>Le manipulateur va se pr\u00e9senter comme une pauvre chose qui a souffert, quelqu\u2019un de malheureux mais qui ne se remet jamais en question. Si vous \u00e9prouvez de la <strong>piti\u00e9</strong> pour lui, vous \u00eates pi\u00e9g\u00e9. L\u2019auteur d\u00e9montre bien tous les leviers activ\u00e9s chez le manipul\u00e9 par le manipulateur.</p><p>L\u2019auteure cite une cons\u0153ur qui dit \u00ab Si vous ressentez ne serait-ce qu\u2019une goutte de piti\u00e9 pour votre conjoint\u2026 fuyez\u00a0! \u00bb.</p><p>Elle pr\u00e9cise ensuite la <strong>diff\u00e9rence entre compassion et piti\u00e9</strong>. La compassion c\u2019est comprendre la souffrance de l\u2019autre et savoir qu\u2019il a les ressources internes pour la surmonter. Une personne peut avoir besoin de soutien moral mais pas que vous r\u00e9gliez ses probl\u00e8mes personnels \u00e0 sa place.</p><h3>3- Intimidation</h3><p>Cette troisi\u00e8me corde est activ\u00e9e tr\u00e8s t\u00f4t dans la relation, explique Christel Petitcollin. L\u2019intimidation sert au <strong>dressage</strong> du manipul\u00e9. Elle se met en place <strong>insidieusement</strong> et <strong>progressivement</strong>, pour faire <strong>vivre dans la peur.</strong></p><p>Le manipulateur est comme un orage pr\u00eat \u00e0 exploser. Quand il entre dans la pi\u00e8ce l\u2019atmosph\u00e8re change.</p><p>Apr\u00e8s la phase de s\u00e9duction, les compliments du d\u00e9but de la relation se transforment en critiques et moqueries blessantes.</p><h3>4- Culpabilisation</h3><p>La quatri\u00e8me ficelle ach\u00e8ve de vous transformer en marionnette.</p><p>La culpabilisation c\u2019est <strong>vous rendre responsable de ce qui ne va pas</strong>. Quoique vous fassiez, quoique vous disiez, ce n\u2019est pas ce qu\u2019il fallait faire ou dire.</p><p>Le manipulateur est de mauvaise foi et utilise volontiers les <strong>injonctions de conformit\u00e9</strong> \u00ab les gens intelligents font\u2026 \u00bb, \u00ab tout le monde sait que\u2026 \u00bb.</p><p>L\u2019objectif de ce m\u00e9canisme est de vous faire apprendre \u00e0 <strong>connecter vous-m\u00eame vos actes \u00e0 ses r\u00e9actions</strong>.</p><p><img title=\"manipulation tirer les ficelles\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/manipulation-tirer-les-ficelles.jpg?is-pending-load=1\" alt=\"manipulation tirer les ficelles\" width=\"600\" height=\"400\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"manipulation tirer les ficelles\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/manipulation-tirer-les-ficelles.jpg\" alt=\"manipulation tirer les ficelles\" width=\"600\" height=\"400\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p>L\u2019auteure pr\u00e9cise bien que <strong>ces ficelles ne sont pas si subtiles que cela</strong> et que le jour o\u00f9 elles ne fonctionnent plus, vous \u00eates libre.</p><h3>Chapitre 2\u00a0: Le pi\u00e8ge \u00e0 trois cl\u00e9s du manipulateur</h3><h3>Un pi\u00e8ge \u00e0 trois cl\u00e9s\u00a0:</h3><ol><li>Le <strong>doute</strong>,</li>\n<li>La <strong>peur</strong>,</li>\n<li>La <strong>culpabilit\u00e9</strong>.</li>\n</ol><p>Cela vous parle\u00a0? Nous y voil\u00e0, alors poursuivons.</p><h3>Un proc\u00e9d\u00e9 en trois temps\u00a0:</h3><ol><li><em>La p\u00e9riode de s\u00e9duction</em>,</li>\n<li><em>Le temps du harc\u00e8lement</em>,</li>\n<li><em>Le moment de la destruction.</em></li>\n</ol><p>J\u2019ai fait partie de tous ceux qui, ayant v\u00e9cu une exp\u00e9rience similaire, ont tous dit \u00ab j\u2019allais y laisser ma peau\u00a0! \u00bb</p><h3>Et trois pens\u00e9es\u00a0:</h3><ul><li>\u00ab <strong>Cause toujours\u00a0!</strong> \u00bb\u00a0: vous vous plierez en quatre, vous vous justifierez, rien n\u2019y fera</li>\n<li>\u00ab <strong>\u00c7a te fera les pieds\u00a0!</strong> \u00bb\u00a0: vous vous retrouvez sur le bord de la route, ou vous retrouvez plant\u00e9 dehors car il a ferm\u00e9 la porte \u00e0 cl\u00e9 et qu\u2019il est parti avec, ou \u00e0 devoir refaire une \u00e9ni\u00e8me fois la t\u00e2che que vous pensiez avoir finie. L\u2019auteur donne des exemples de situations tr\u00e8s concr\u00e8tes et pr\u00e9cise que le manipulateur trouvera toujours l\u00e9gitime de vous punir.</li>\n<li>\u00ab <strong>Rendors-toi\u00a0!</strong> \u00bb la voil\u00e0 l\u2019amn\u00e9sie traumatique. Nous y reviendrons plus bas. Quand vous \u00eates sur le point de rompre la relation, le manipulateur redevient subitement adorable. Cela s\u00e8me le doute en vous puisque le voil\u00e0 soudain en train de se comporter comme vous l\u2019attendiez depuis longtemps. Ce n\u2019est que temporaire.</li>\n</ul><p><img class=\"aligncenter size-full wp-image-25287 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/belle-au-bois-dormant-rendors-toi-manipulation-amnesie-traumatique-e1638796479487.jpeg?is-pending-load=1\" alt=\"belle au bois dormant rendors toi manipulation amn\u00e9sie traumatique\" width=\"600\" height=\"384\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-25287\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/belle-au-bois-dormant-rendors-toi-manipulation-amnesie-traumatique-e1638796479487.jpeg\" alt=\"belle au bois dormant rendors toi manipulation amn\u00e9sie traumatique\" width=\"600\" height=\"384\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><blockquote>\n<p><em>\u00ab Aie confiance, Crois en moi, que je puisse veiller sur toi \u00bb dit le serpent Kaa dans Le Livre de la Jungle pour hypnotiser et manger Mowgli.</em></p>\n</blockquote><h3>Chapitre 3\u00a0: Mais qui sont ces manipulateurs\u00a0?</h3><p>Le manipulateur peut se rencontrer dans n\u2019importe quelle relation. Cela peut \u00eatre un conjoint, une coll\u00e8gue de travail, un partenaire, une belle-s\u0153ur etc.</p><p><strong>Hommes et femmes en proportion \u00e9quivalente</strong>.</p><p>Christel Petitcollin d\u00e9taille dans \u00ab\u00a0Pourquoi trop penser rend manipulable\u00a0\u00bb que ces personnes sont les <strong>m\u00eames que celles que vous avez crois\u00e9es \u00e0 l\u2019\u00e9cole dans la cour de r\u00e9cr\u00e9ation</strong>.</p><p>En fait, les manipulateurs semblent \u00eatre <strong>bloqu\u00e9s \u00e0 un certain \u00e2ge mental</strong>. L\u2019auteure d\u00e9taille dans le chapitre 3 sa th\u00e9orie de <strong>l\u2019immaturit\u00e9</strong> pour faire la diff\u00e9rence et voir les nuances entre un manipulateur, un pervers narcissique, un sociopathe, un psychopathe.</p><p>Dans tous les cas, <strong>il ne s\u2019agit pas de cautionner leurs d\u00e9viances</strong>. Pour les aider il faut les <strong>cadrer</strong>, mais c\u2019est un travail \u00e0 temps plein et loin d\u2019\u00eatre reposant. D\u2019o\u00f9 la question \u00ab peuvent-ils changer\u00a0? \u00bb, ce \u00e0 quoi l\u2019auteure r\u00e9pond \u00ab NON \u00bb cat\u00e9goriquement. Les manipulateurs ne changeront pas, c\u2019est une des <strong>cl\u00e9s \u00e0 retenir</strong> de ce livre.</p><h3><strong>Comment rep\u00e9rer un manipulateur\u00a0?</strong></h3><ul><li>Tout va <strong>trop vite</strong></li>\n<li>Ne confondez plus <strong>familiarit\u00e9</strong> et chaleur humaine</li>\n<li>Ne vous laissez plus <strong>mystifier</strong> par l\u2019assurance d\u2019une personne</li>\n<li>V\u00e9rifiez la <strong>coh\u00e9rence de vie</strong></li>\n<li>Rep\u00e9rez son c\u00f4t\u00e9 <strong>profiteur</strong></li>\n<li>Vous d\u00e9couvrez des <strong>sentiments inhumains</strong> : les manipulateurs ne ressentent aucune culpabilit\u00e9, se montrent glacials dans des situations pleines d\u2019humanit\u00e9, ils g\u00e2chent d\u00e9lib\u00e9r\u00e9ment les bons moments. Christel Petitcollin est formelle \u00e0 l\u2019issue de 100% de ses consultations\u00a0: \u00ab la seule humanit\u00e9 qu\u2019ils ont est celle que vous voulez bien leur pr\u00eater \u00bb</li>\n<li>Vous vivez un sentiment de <strong>pi\u00e8ge</strong></li>\n</ul><h3>Partie 2- Qui sont les manipul\u00e9s\u00a0?</h3><p>Christel Petitcollin consacre une partie importante de son livre \u00ab\u00a0Pourquoi trop penser rend manipulable\u00a0\u00bb pour d\u00e9tailler les personnes manipul\u00e9es, qu\u2019elle appelle les <em>surefficients</em>, diff\u00e9rents des normo-pensants.</p><h3>Chapitre 4\u00a0: Pr\u00e9cision entre surefficients et normo-pensants\u00a0:</h3><ul><li>La pens\u00e9e neurotypique est <strong>lin\u00e9aire et s\u00e9quentielle</strong>, dans une progression logique d\u2019id\u00e9es sans en sauter une.</li>\n<li>Les personnes surefficientes ont une pens\u00e9e <strong>arborescente</strong>, une pens\u00e9e qui part en \u00e9toile, chaque nouvelle id\u00e9e en fait jaillir dix nouvelles et ainsi de suite.</li>\n</ul><p>Il n\u2019y a pas de connotation de valeur. Ce sont des fonctionnements diff\u00e9rents.</p><p><img title=\"pens\u00e9e arborescente surefficience\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/pensee-arborescente-surefficience.jpg?is-pending-load=1\" alt=\"pens\u00e9e arborescente surefficience\" width=\"600\" height=\"428\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"pens\u00e9e arborescente surefficience\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/pensee-arborescente-surefficience.jpg\" alt=\"pens\u00e9e arborescente surefficience\" width=\"600\" height=\"428\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3>Chapitre 5\u00a0: Surefficience</h3><p>La sp\u00e9cificit\u00e9 des personnes surefficientes se compl\u00e8te avec une <strong>hyperesth\u00e9sie</strong>, une <strong>hypersensibilit\u00e9</strong>, une <strong>hyper\u00e9motivit\u00e9</strong> (dont une hyperempathie).</p><p>En outre, l\u2019auteure \u00e9nonce aussi des caract\u00e9ristiques chez les manipul\u00e9s comme le <strong>besoin inconscient de symbiose</strong> et la <strong>d\u00e9pendance affective.</strong></p><p>L\u2019auteure \u00e9voque aussi une <strong>m\u00e9moire g\u00e9mellaire</strong> (<em>syndrome du jumeau perdu</em>).</p><p>Voici quelques autres traits de caract\u00e8re\u00a0:</p><ul><li>Manque de <strong>confiance en soi</strong></li>\n<li>Respect maladif de la <strong>parole donn\u00e9e</strong></li>\n<li>Sinc\u00e9rit\u00e9 \u00e0 en \u00eatre <strong>transparent</strong>\u00a0; les surefficients s\u2019imaginent que tout le monde a le <strong>m\u00eame sens de l\u2019engagement</strong> et la m\u00eame <strong>sinc\u00e9rit\u00e9</strong> qu\u2019eux</li>\n<li>Besoin d\u2019\u00eatre <strong>utile</strong> et de <strong>sauver le monde</strong></li>\n</ul><p>Christel Petitcollin insiste sur l\u2019importance de la <strong>connaissance de soi</strong> comme \u00e9l\u00e9ment pour sortir des relations manipul\u00e9es, ce pourquoi elle d\u00e9veloppe cet aspect dans ce livre et aussi dans ces ouvrages \u00ab Je pense trop \u00bb et \u00ab Je pense mieux \u00bb.</p><p>Je voudrais souligner ici que l\u2019auteure est particuli\u00e8rement pertinente et qu\u2019elle utilise les mots justes mais aussi des <strong>exemples tr\u00e8s concrets</strong> issus de ses consultations, ce qui permet de bien s\u2019y reconna\u00eetre.</p><p>Christel Petitcollin souligne que les techniques de manipulation fonctionnent en g\u00e9n\u00e9ral mieux sur les <strong>gens intelligents et humanistes</strong>, souvent <strong>trop ouverts</strong> et <strong>pas assez m\u00e9fiants</strong>.</p><h3>Chapitre 6\u00a0: Pens\u00e9e complexe arborescente et hypersensibilit\u00e9</h3><p>Elle d\u00e9taille dans cette partie de \u00ab\u00a0Pourquoi trop penser rend manipulable\u00a0\u00bb les raisons neurologiques, \u00e9motionnelles et psychologiques qui rendent vuln\u00e9rable \u00e0 la pr\u00e9dation.</p><ul><li>Besoin de <strong>cl\u00f4ture cognitive</strong> : le cerveau complexe ne supporte pas l\u2019inachev\u00e9, les dossiers en attente, mais aussi le fait de devoir tout recommencer quand il pensait avoir enfin termin\u00e9</li>\n<li><strong>Difficult\u00e9 \u00e0 sortir des automatismes mentaux</strong> et \u00e0 <strong>g\u00e9rer les impr\u00e9vus</strong> et encore plus l\u2019effet de surprise</li>\n<li>Un <strong>syst\u00e8me sensoriel plus d\u00e9velopp\u00e9 et alerte</strong> (sens du d\u00e9tail, sensibilit\u00e9 aux sons, odeurs, pulls qui grattent, etc.)</li>\n<li><strong>D\u00e9ficit de l\u2019inhibition latente</strong>, c\u2019est-\u00e0-dire que la personne n\u2019a pas la possibilit\u00e9 de se prot\u00e9ger des informations parasites, elle capte tout en m\u00eame temps, d\u2019o\u00f9 la quasi-impossibilit\u00e9 de se concentrer et de r\u00e9fl\u00e9chir quand le manipulateur se trouve dans la m\u00eame pi\u00e8ce.</li>\n<li>Une <strong>amygdale c\u00e9r\u00e9brale hyper vigilante</strong> qui va \u00eatre <strong>sur-stimul\u00e9e</strong> par la relation avec le manipulateur (il est inqui\u00e9tant, mena\u00e7ant, joue avec l\u2019effet de surprise et les changements de programme \u00e0 la derni\u00e8re minute, mise devant le fait accompli)</li>\n</ul><h3>Le jeu des \u00e9motions</h3><p>Dans les caract\u00e9ristiques psychologiques, Christel Petitcollin propose un <strong>tableau des \u00e9motions</strong> dont elle expose les <strong>fonctions d\u2019alerte et d\u2019actions</strong>. Les cinq \u00e9motions naturelles\u00a0:</p><ol><li>Joie</li>\n<li>Col\u00e8re</li>\n<li>Tristesse</li>\n<li>Frustration</li>\n<li>Peur</li>\n</ol><p>Les deux \u00e9motions apprises\u00a0:</p><ol><li>Honte</li>\n<li>Culpabilit\u00e9</li>\n</ol><p>Christel Petitcollin indique que les <strong>gens d\u00e9viants sont \u00e9hont\u00e9s et ne ressentent aucune culpabilit\u00e9</strong>, que seuls les gens braves ayant une conscience ressentent honte et culpabilit\u00e9.</p><p>Le manipulateur rep\u00e8re l\u2019<strong>hyper\u00e9motivit\u00e9 d\u00e9sordonn\u00e9e</strong> (<em>temp\u00eates int\u00e9rieures</em>) de sa victime et joue avec, comme le jeu de la barbichette\u00a0:</p><p><strong>Vous \u00eates boulevers\u00e9, il est glacial.</strong> Vous \u00eates calme, il perd son self-control.</p><p>Lors d\u2019un divorce par exemple, vous passez pour une folle, hyst\u00e9rique et perdez votre cr\u00e9dibilit\u00e9, tandis qu\u2019il vous pousse \u00e0 bout, calme, pos\u00e9, raisonnable. Ou bien, vous \u00eates calme et <strong>factuelle</strong>, il est <strong>nerveux et agressif</strong>.</p><p>Combien de fois avez-vous eu la sensation d\u00e9sagr\u00e9able de faire de la gymnastique intellectuelle ou des montagnes russes \u00e9motionnelles\u00a0?</p><h3>\u00c0 la question\u00a0: \u00ab mais, ne serait-ce pas moi qui suis le manipulateur, la manipulatrice dans cette histoire\u00a0? \u00bb</h3><p>L\u2019auteure r\u00e9pond que si vous <em>pensez</em> que vous l\u2019\u00eates, vous ne l\u2019\u00eates pas.</p><p>Christel Petitcollin pense que <strong>les manipulateurs sont bien plus conscients de leur m\u00e9chancet\u00e9</strong> qu\u2019ils ne veulent bien le faire croire, comme elle en atteste de courriers qu\u2019elle re\u00e7oit de leur part. Elle en donne un exemple lors de son passage \u00e0 la radio dans l\u2019\u00e9mission \u00ab On est fait pour s\u2019entendre \u00bb sur RTL \u00ab <a href=\"https://www.rtl.fr/actu/debats-societe/comment-sortir-des-griffes-d-un-e-pervers-narcissique-7900028493\" class=\"external\" target=\"_blank\">Pervers narcissique\u00a0: comment \u00e9chapper \u00e0 l\u2019emprise</a> \u00bb.</p><p>La <strong>confusion mentale</strong> dans laquelle se retrouve la victime peut amener \u00e0 croire que c\u2019est elle-m\u00eame la manipulatrice. D\u2019o\u00f9 l\u2019importance de savoir <strong>ce qui vient de l\u2019autre</strong>, et ce qui vient de moi. Le manipulateur, dont les m\u00e9canismes de projection sont primaires et beaucoup plus conscients qu\u2019on ne voudrait le croire, sait que la meilleure d\u00e9fense est l\u2019attaque\u00a0; <strong>il vous coupe l\u2019herbe sous le pied</strong>.</p><h3>Chapitre 7\u00a0: Pourquoi essayer de comprendre un manipulateur ne sert \u00e0 rien</h3><p>L\u2019auteure d\u00e9taille dans la suite la notion de territoire et de cartes. Pour un m\u00eame territoire, chacun peut et a une carte diff\u00e9rente. Le territoire correspond \u00e0 la r\u00e9alit\u00e9, tandis que la carte est une vision, une perception unique et subjective de la r\u00e9alit\u00e9.</p><p>Christel Petitcollin repr\u00e9cise \u00e0 cet endroit les <strong>subtilit\u00e9s entre la pens\u00e9e neuro typique et la pens\u00e9e complexe</strong> pour illustrer le fait qu\u2019il est <strong>difficile de <em>lire la carte</em> de quelqu\u2019un d\u2019autre</strong>. Pour cela, elle utilise l\u2019image d\u2019arbustes dans un parc public.</p><ul><li>La pens\u00e9e neuro typique, rationnelle et analytique\u00a0: \u00e0 chacun d\u2019arroser son arbuste, ici c\u2019est chez moi, l\u00e0 c\u2019est chez toi\u00a0; voler du <strong>terrain</strong> se voit\u00a0; si chacun fait sa part, le monde tournera bien.</li>\n<li>La pens\u00e9e complexe, \u00e9motionnelle et <strong>globale</strong>\u00a0: tous les arbres et les arbustes font partie du parc, d\u2019un grand tout, il convient d\u2019arroser tous les arbres et arbustes du parc\u00a0; ici, voler un arbuste (la <strong>notion de territoire</strong> personnel) est inconcevable puisqu\u2019il fait partie d\u2019un tout. \u00ab Cela n\u2019a pas de sens d\u2019\u00eatre bien si les autres sont mal. \u00bb Int\u00e9r\u00eat pour tous, s\u2019entendre et collaborer.</li>\n</ul><p>Or <strong>la m\u00e9chancet\u00e9 et le sabotage existent dans la r\u00e9alit\u00e9</strong>, il est donc vital de le discerner.</p><h3>Deux cartes pour un territoire</h3><p><img title=\"carte diff\u00e9rente du terrain trouver sa voie\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/carte-differente-du-terrain-trouver-sa-voie.jpg?is-pending-load=1\" alt=\"carte diff\u00e9rente du terrain trouver sa voie\" width=\"600\" height=\"398\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"carte diff\u00e9rente du terrain trouver sa voie\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/carte-differente-du-terrain-trouver-sa-voie.jpg\" alt=\"carte diff\u00e9rente du terrain trouver sa voie\" width=\"600\" height=\"398\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p>L\u2019auteure utilise la notion de cartes et territoires abord\u00e9e en PNL. Elle explique que les surefficients ajoutent un ensemble de donn\u00e9es sur leur carte et qu\u2019il convient de <strong>hi\u00e9rarchiser l\u2019information</strong>. Il convient de faire un nettoyage, afin de pouvoir <strong>ajouter des informations qui ne vont pas dans le sens de ce qu\u2019on aurait envie de croire</strong> mais qui sont <strong>indispensables \u00e0 l\u2019orientation</strong>. Pour rester dans la m\u00e9taphore des cartes d\u2019orientation, il est bon \u00e0 savoir que dans telle zone il y a des vip\u00e8res pour pouvoir emporter avec soi sa pompe \u00e0 venin. Il s\u2019agit de <strong>s\u00e9curit\u00e9</strong>.</p><p>Christel Petitcollin rapporte les paroles prononc\u00e9es par les victimes de manipulateurs, comme \u00ab mais je ne veux pas savoir que le monde n\u2019est pas celui que je crois qu\u2019il est. \u00bb Enferm\u00e9s dans leur id\u00e9alisme, les surefficients <strong>refusent d\u2019int\u00e9grer \u00e0 leur carte des donn\u00e9es qui d\u00e9rangent</strong> leurs croyances. Ce qui explique <strong>l\u2019amn\u00e9sie traumatique</strong> que nous d\u00e9veloppons plus loin.</p><p>C\u2019est un probl\u00e8me crucial quand on a acc\u00e8s brusquement \u00e0 la pens\u00e9e psychopathe alors qu\u2019on n\u2019en soup\u00e7onnait m\u00eame pas l\u2019existence. Des <strong>paysages gla\u00e7ants</strong> apparaissent souvent dans un <strong>frisson d\u2019horreur</strong>. Christel Petitcollin rapporte que les victimes confessent avec honte \u00ab <em>\u00e7a m\u2019avait effleur\u00e9 l\u2019esprit</em> \u00bb et elle rassure en pr\u00e9cisant \u00ab non, votre esprit n\u2019est pas tordu d\u2019oser penser que \u2026 \u00bb.</p><p>Christel Petitcollin insiste sur le fait que <strong>savoir que les manipulateurs existent et comment ils fonctionnent</strong> permet d\u2019ajouter les couloirs \u00e0 avalanche et les ravins sur sa carte pour ne plus tomber dedans et <strong>ne plus se faire avoir</strong>. Par ailleurs, comme nous l\u2019avons d\u00e9j\u00e0 \u00e9voqu\u00e9 au d\u00e9but de cette chronique, l\u2019auteure insiste sur les paroles vides de sens. Il ne sert \u00e0 rien d\u2019essayer de comprendre un manipulateur, mais il est important d\u2019indiquer certaines informations sur sa carte pour pouvoir s\u2019orienter.</p><p>Qu\u2019est-ce qui fait que le manipul\u00e9 et le manipulateur semblent \u00eatre si compl\u00e9mentaires\u00a0?</p><h3>Compl\u00e9mentarit\u00e9s des fonctionnements</h3><p>En effet, la proie du manipulateur a une <strong>compl\u00e9mentarit\u00e9</strong> avec son pr\u00e9dateur. Ce qui en fait toutes les <strong>subtilit\u00e9s de la relation toxique</strong>. Les surefficients et les manipulateurs sont sur un m\u00eame territoire mais avec des cartes diff\u00e9rentes et une fa\u00e7on de les lire aux antipodes.</p><ul><li>Valeurs d\u2019harmonie, humanit\u00e9, altruisme, int\u00e9grit\u00e9</li>\n<li>Guerre, cruaut\u00e9, cupidit\u00e9, mensonge</li>\n</ul><p>La question se pose\u00a0: \u00ab Pourquoi s\u2019obstiner \u00e0 croire que la paix est unanimement d\u00e9sir\u00e9e\u00a0? \u00bb</p><h3>Guerre et paix</h3><p>Vous voulez la paix, il ne cherche que la guerre car le conflit le fait vivre. La guerre commence par \u00eatre <strong>sensorielle</strong> (hyperesth\u00e9sie), elle s\u2019attaque ensuite \u00e0 la <strong>joie de vivre</strong>, puis elle est neurologique avec les <strong>impr\u00e9vus</strong> et les <strong>effets de surprise</strong>. Le manipulateur est\u00a0:</p><ul><li><strong>Impr\u00e9visible</strong></li>\n<li><strong>Pulsionnel</strong></li>\n<li><strong>Contradictoire</strong></li>\n<li>Met la <strong>pression de l\u2019urgence</strong></li>\n</ul><p>Le manipulateur n\u2019est <strong>gentil que par calcul</strong>. Il vous fait <strong>payer sa gentillesse</strong>.</p><p>Les gens qui pensent trop sont des <strong>fontaines in\u00e9puisables</strong>, tandis que le manipulateur est un <strong>puits sans fond</strong>.</p><p><strong>L\u2019enjeu est essentiellement \u00e9nerg\u00e9tique</strong>, d\u2019o\u00f9 la m\u00e9taphore du vampire. Quand on sort d\u2019une interaction avec un manipulateur, on se sent vid\u00e9, rinc\u00e9, essor\u00e9, cela \u00e9puise.</p><h3>Partie 3- \u00catre centr\u00e9 pour ne plus subir ni cautionner</h3><h3><strong>Comment trouver son axe int\u00e9rieur\u00a0? Par quel processus\u00a0?</strong></h3><p>Maintenant que le paysage a \u00e9t\u00e9 d\u00e9peint, il s\u2019agit de se sortir de la situation d\u2019emprise et de ne plus y retomber. Cela passe par\u00a0:</p><ul><li>D\u00e9marche de <strong>connaissance de soi</strong>, d\u2019introspection, de <strong>rapports factuels</strong> des \u00e9v\u00e9nements et des donn\u00e9es pour une analyse factuelle et objective de la situation.</li>\n<li>Accepter de <strong>voir les choses telles qu\u2019elles sont</strong>, accepter que la r\u00e9alit\u00e9 soit diff\u00e9rente de la projection qu\u2019on s\u2019en fait. C\u2019est-\u00e0-dire \u00eatre dans la capacit\u00e9 de <strong>voir ce qui n\u2019est pas beau</strong> dans la relation/situation et plus globalement ce qui n\u2019est pas beau, concr\u00e8tement, dans le monde.</li>\n<li>Avoir la <strong>capacit\u00e9 et l\u2019accompagnement sain pr\u00e9vu</strong> pour faire face \u00e0 <strong>l\u2019effondrement</strong> de ses croyances et projections.</li>\n</ul><p>Une note que j\u2019ajoute aussi, l\u2019importance de <strong>se connecter r\u00e9guli\u00e8rement \u00e0 soi</strong> pour \u00eatre en mesure <strong>d\u2019\u00e9couter ses intuitions</strong> et de <strong>voir les signes</strong> (par exemple, vous \u00eates plus souvent malade que d\u2019ordinaire). Cela peut se faire via la tenue d\u2019un <strong>journal quotidien</strong> (gardez-le secret), et de <strong>bilans personnels et professionnels r\u00e9guliers</strong> (point abord\u00e9 plus bas pour \u00e9viter l\u2019amn\u00e9sie traumatique, l\u2019oubli, et contrer l\u2019occultation).</p><p><img title=\"trouver son axe int\u00e9rieur souplesse et robustesse du roseau stabilit\u00e9 danse\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/trouver-son-axe-interieur-souplesse-et-robustesse-du-roseau-stabilite-danse.jpg?is-pending-load=1\" alt=\"trouver son axe int\u00e9rieur souplesse et robustesse du roseau stabilit\u00e9 danse\" width=\"600\" height=\"400\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"trouver son axe int\u00e9rieur souplesse et robustesse du roseau stabilit\u00e9 danse\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/trouver-son-axe-interieur-souplesse-et-robustesse-du-roseau-stabilite-danse.jpg\" alt=\"trouver son axe int\u00e9rieur souplesse et robustesse du roseau stabilit\u00e9 danse\" width=\"600\" height=\"400\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3>Chapitre 8\u00a0: Comment poser ses limites et poser un cadre\u00a0?</h3><h3>Comment sortir du triangle victime-bourreau-sauveur\u00a0?</h3><p>L\u2019auteur creuse en profondeur ce sujet du triangle, le r\u00f4le de victime et celui du sauveur face au bourreau. Elle d\u00e9taille en particulier les <strong>subtilit\u00e9s dans les conceptions de l\u2019amour et de la spiritualit\u00e9</strong>, dans le but d\u2019<strong>\u00e9viter de se fourvoyer</strong>.</p><p>Effectivement, tant qu\u2019on ne conna\u00eet pas le ph\u00e9nom\u00e8ne de manipulation mentale, on est objectivement une victime. Toutefois, \u00e0 partir du moment o\u00f9 l\u2019info est disponible, <strong>refuser d\u2019en prendre connaissance engage d\u00e9j\u00e0 sa responsabilit\u00e9</strong>. Une victime qui sait mais qui laisse faire <strong>devient complice</strong>.</p><p>Dans ce chapitre, plusieurs sonnettes d\u2019alarme et de points d\u2019attention sont tir\u00e9s.</p><h3>Les points d\u2019attention\u00a0:</h3><ul><li>L\u2019auteur souligne qu\u2019il est <strong>tr\u00e8s grave de refuser de voir la m\u00e9chancet\u00e9</strong> ou de ne pas prendre au s\u00e9rieux un <strong>message d\u2019alerte</strong>. \u00ab En cautionnant les d\u00e9viances et la cruaut\u00e9 de 2% \u00e0 4% de la population, c\u2019est l\u2019humanit\u00e9 tout enti\u00e8re que vous trahissez. \u00bb Elle souligne la <strong>grande erreur de laisser l\u2019impunit\u00e9 totale aux gens d\u00e9viants</strong>.</li>\n<li>Le <strong>jeu de l\u2019avocat</strong> \u2013 avocat du diable, qui se joue \u00e0 partir du r\u00f4le du <em>sauveur</em> dans le triangle</li>\n<li>Attention \u00e0 ne pas confondre <em>ang\u00e9lisme</em> et <em>spiritualit\u00e9</em></li>\n<li>Attention \u00e0 ne pas confondre <em>amour au 4<sup>e</sup> degr\u00e9</em> et <em>syndrome de Stockholm</em></li>\n</ul><blockquote>\n<p><strong>Aimer ce n\u2019est pas tout permettre</strong></p>\n</blockquote><p>Il est important de garder son <strong>humanit\u00e9</strong> en y ajoutant le <strong><em>discernement</em></strong> et l\u2019<strong><em>auto-protection</em></strong>.</p><h3>Les cl\u00e9s\u00a0:</h3><ul><li>Il n\u2019est pas question \u00ab d\u2019exterminer \u00bb les manipulateurs mais de <strong>ne plus s\u2019occuper d\u2019eux</strong> et d\u2019<strong>arr\u00eater de vouloir les changer</strong></li>\n<li>Les actes d\u00e9viants ne sont pas cautionnables</li>\n<li>Ne pas amplifier leur pouvoir de nuisance, soit <strong>ne plus leur laisser l\u2019espace de nuire</strong></li>\n</ul><h3>Chapitre 9\u00a0: L\u2019amn\u00e9sie traumatique</h3><h3>L\u2019amn\u00e9sie traumatique, qu\u2019est-ce que c\u2019est\u00a0?</h3><p>L\u2019amn\u00e9sie traumatique c\u2019est le <strong>refus de voir les choses</strong>. Une personne peut pr\u00e9f\u00e9rer <strong>continuer de ne pas voir</strong>, plut\u00f4t que de <strong>s\u2019avouer</strong> \u00e0 elle-m\u00eame qu\u2019elle n\u2019a pas vu, car c\u2019est tr\u00e8s <strong>humiliant</strong> de s\u2019\u00eatre fait avoir, pendant parfois des ann\u00e9es\u00a0!</p><p>D\u2019o\u00f9 l\u2019importance de se reconnecter \u00e0 soi, sans jugement, en se maternant, se consid\u00e9rer avec douceur lors de cet effondrement.</p><p>L\u2019auteur donne ici la cl\u00e9 ultime de d\u00e9senvoutement, le prix pour se lib\u00e9rer d\u00e9finitivement des manipulateurs\u00a0: <strong>faire face \u00e0 tous les aspects de la manipulation</strong>, m\u00eame les plus obscures et d\u00e9rangeantes. C\u2019est notamment pour cela qu\u2019<strong>une lecture du livre est n\u00e9cessaire</strong> dans l\u2019optique <strong>th\u00e9rapeutique</strong>, afin que chaque voile puisse \u00eatre \u00f4t\u00e9, <strong>d\u00e9clic apr\u00e8s d\u00e9clic</strong>.</p><h3>Comment emp\u00eacher l\u2019amn\u00e9sie traumatique\u00a0?</h3><p>Il s\u2019agit de prendre conscience de la situation, d\u2019accepter de la voir dans toutes ses dimensions m\u00eame les plus d\u00e9sagr\u00e9ables et de noter les nouvelles informations sur la carte, pour reprendre l\u2019analogie utilis\u00e9e plus haut.</p><ul><li>S\u2019en tenir aux faits et aux actes</li>\n<li>Apprendre \u00e0 se prot\u00e9ger, par soi-m\u00eame</li>\n<li>Apprendre \u00e0 se conna\u00eetre soi-m\u00eame</li>\n<li>Faire des <strong>bilans</strong> <strong><em>r\u00e9guliers</em></strong> pour <strong>tirer les enseignements</strong> des exp\u00e9riences v\u00e9cues</li>\n<li>Tenir un <strong>journal de bord</strong></li>\n</ul><p><img title=\"tenir un journal de bords s'en tenir aux faits faire un bilan crise\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/tenir-un-journal-de-bords-en-tenir-aux-faits-faire-un-bilan-crise.jpg?is-pending-load=1\" alt=\"tenir un journal de bords s'en tenir aux faits faire un bilan crise\" width=\"600\" height=\"400\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"tenir un journal de bords s'en tenir aux faits faire un bilan crise\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/tenir-un-journal-de-bords-en-tenir-aux-faits-faire-un-bilan-crise.jpg\" alt=\"tenir un journal de bords s'en tenir aux faits faire un bilan crise\" width=\"600\" height=\"400\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3>Chapitre 10\u00a0: La cl\u00e9 de l\u2019assertivit\u00e9</h3><p>L\u2019assertivit\u00e9 est un \u00e9tat d\u2019esprit. Vous n\u2019\u00eates ni paillasson, ni h\u00e9risson, juste dans l\u2019affirmation. L\u2019affirmation tranquille face \u00e0 un manipulateur c\u2019est la <strong>posture d\u2019adulte responsable</strong> rappelle l\u2019auteur.</p><h3>Se conna\u00eetre et se d\u00e9finir pour \u00eatre centr\u00e9 et authentique</h3><p><strong>Votre instinct ne vous ment jamais</strong> (survie\u00a0: id\u00e9es qui effleurent l\u2019esprit)</p><p><strong>Votre intuition ne vous ment jamais</strong> (ne pas remettre en question les avertissements de l\u2019intuition)</p><h3>\u00c9couter votre sagesse int\u00e9rieure</h3><p>Votre intuition est votre amie et protectrice, elle ne veut que votre bien.</p><h3>Poser des interdits et restaurer des droits inali\u00e9nables</h3><p>C\u2019est \u00e0 vous de d\u00e9finir vos <strong>limites</strong>, de d\u00e9fendre vos <strong>valeurs</strong>, de faire respecter votre <strong>int\u00e9grit\u00e9</strong>. Si vous souhaitez faire l\u2019exercice de nommer les valeurs qui vous sont ch\u00e8res, je vous recommande la vid\u00e9o de la web-s\u00e9rie diffus\u00e9e en ligne \u00ab Et tout le monde s\u2019en fout \u00bb sur les <strong>valeurs</strong>.</p><p>L\u2019auteur souligne que les manipulateurs ne respectent pas les limites et ne reconnaissent pas nos droits. Que c\u2019est donc \u00e0 nous de faire en sorte qu\u2019ils n\u2019aient plus l\u2019espace de les transgresser.</p><h3>R\u00e9apprendre d\u2019urgence l\u2019impolitesse et l\u2019inconstance</h3><p>Cet aspect qui n\u2019est pas forc\u00e9ment \u00e9vident au premier abord est en fait vital. Vous avez <strong>le droit de changer d\u2019avis</strong>, de reprendre votre parole.</p><h3>Ne plus vous d\u00e9rober devant vos responsabilit\u00e9s</h3><p>Christel Petitcollin propose la signature d\u2019un pacte avec soi-m\u00eame, de prendre un engagement vis-\u00e0-vis de soi, pour <strong>ne plus se laisser tomber</strong>.</p><h3>Chapitre 11\u00a0: Outils d\u2019affirmation de soi simples et efficaces</h3><p>Christel Petitcollin propose aussi par ailleurs des stages d\u2019affirmation de soi et d\u2019assertivit\u00e9, car il est compliqu\u00e9 de s\u2019affirmer face \u00e0 un manipulateur mais c\u2019est vital.</p><p>Voici les outils qu\u2019elle donne pour s\u2019affirmer et \u00eatre assertif\u00a0:</p><ul><li><strong>Refuser la pression de l\u2019urgence</strong>\u00a0: \u00ab je vais y r\u00e9fl\u00e9chir \u00bb</li>\n<li><strong>Le disque ray\u00e9</strong>\u00a0: r\u00e9sumer votre position en trois phrases synth\u00e9tiques que vous r\u00e9p\u00e9tez en boucle, en ajoutant l\u2019\u00e9num\u00e9ration des it\u00e9rations \u00ab c\u2019est la deuxi\u00e8me fois que je te le dis, c\u2019est la cinqui\u00e8me fois que je te le dis \u00bb</li>\n<li><strong>Les phrases magiques</strong>\u00a0: face \u00e0 votre disque ray\u00e9 qui montre votre positionnement solide, le manipulateur va essayer de vous entra\u00eener dans une <strong>discussion st\u00e9rile</strong> dont l\u2019objectif est de vous forcer \u00e0 vous justifier. Les phrases magiques servent \u00e0 <strong>rester \u00e0 l\u2019ext\u00e9rieur du d\u00e9bat,</strong> explique l\u2019auteur.</li>\n</ul><p>Exemples de phrases magiques que vous pouvez utiliser d\u00e8s maintenant\u00a0:</p><ul><li class=\"c10\">\n<ul><li><em>\u00ab Si tu le dis \u00bb</em></li>\n<li><em>\u00ab Tu as le droit de le croire \u00bb</em></li>\n<li><em>\u00ab C\u2019est ton avis \u00bb</em></li>\n<li><em>\u00ab Personne n\u2019est parfait \u00bb</em></li>\n<li>Si vous souhaitez aller encore plus loin, je vous recommande cet autre ouvrage qui donne beaucoup de phrases magiques et qui propose des dialogues de situations concr\u00e8tes pour s\u2019exercer, il s\u2019agit de \u00ab <a href=\"https://amzn.to/3EtmJwB\" class=\"external\" target=\"_blank\">Les manipulateurs sont parmi nous</a> \u00bb d\u2019Isabelle Nazare-Aga</li>\n</ul></li>\n<li><strong>S\u2019en tenir fermement aux faits objectifs</strong> : ils \u00e9vitent de sombrer dans le doute. <strong>Gardez beaucoup de traces \u00e9crites</strong> (\u00ab tu as dit ceci, tel jour \u00e0 telle heure, je t\u2019ai envoy\u00e9 un mail pour te confirmer\u2026 \u00bb), rester <strong>hors de l\u2019\u00e9motionnel</strong> et devenir conscient de votre propre subjectivit\u00e9 (\u00ab il fait chaud \u00bb, ce n\u2019est pas pareil que \u00ab il fait 25\u00b0C \u00bb\u00a0; l\u2019auteur donne cet exemple\u00a0: votre manipulateur dit \u00ab Tu es toujours en retard\u00a0! \u00bb, vous regardez votre montre et r\u00e9pondez \u00ab Tu as raison. Il est 9h06. J\u2019ai exactement 6 minutes de retard. \u00bb)</li>\n</ul><h3>Chapitre 12\u00a0: Ce que vous ne devez plus jamais faire</h3><ul><li><strong>Arr\u00eater de jouer les sauveurs</strong> : les adultes ne sont pas de petits \u00eatres sans d\u00e9fense. Vous n\u2019avez pas \u00e0 les prendre en charge.</li>\n<li><strong>Tout donner sans jamais rien recevoir</strong> : le maternage n\u2019a rien \u00e0 faire dans une relation d\u2019adulte \u00e0 adulte.</li>\n<li><strong>Lui trouver des excuses ou essayer de le comprendre</strong>\u00a0: certains actes sont inexcusables, on ne doit jamais cautionner les comportements d\u00e9viants. Ne pas confondre excuser et pardonner.</li>\n<li><strong>Essayer de lutter</strong>\u00a0: renoncer \u00e0 avoir une bonne communication avec lui. La meilleure chose \u00e0 faire est de le cadrer au maximum et de s\u2019en tenir le plus loin possible.</li>\n<li><strong>Le laisser-faire</strong>\u00a0: c\u2019est un mauvais calcul, car en pensant \u00e9viter sa col\u00e8re vous alimentez sa toute-puissance</li>\n<li><strong>Croire qu\u2019il changera</strong>\u00a0: nous l\u2019avons d\u00e9j\u00e0 rappel\u00e9 plusieurs fois. Depuis combien de temps attendez-vous qu\u2019il change\u00a0? Le manipulateur vous fait vivre en permanence dans l\u2019espoir d\u2019un changement prochain. Reprenez en main <strong>votre</strong> vie.</li>\n<li><strong>Rester dans une culpabilit\u00e9 na\u00efvement pr\u00e9tentieuse</strong>\u00a0: comportement qui consiste \u00e0 croire que l\u2019on a trop investi pour reculer. Les cl\u00e9s pour cela sont d\u2019arr\u00eater de sublimer le sordide, se rendre compte qu\u2019on s\u2019est fait escroquer, que vous n\u2019avez pas tout pouvoir sur tout.</li>\n<li><strong>\u00catre transparent et vous justifier</strong>\u00a0: les victimes de manipulateurs n\u2019ont pas de jardin secret, aucun espace d\u2019intimit\u00e9 et r\u00e9pondent candidement aux questions pos\u00e9es. Les cl\u00e9s sont\u00a0: restez silencieux, ne r\u00e9pondez pas aux questions, faites de la r\u00e9tention d\u2019informations, cultivez un jardin secret.</li>\n<li><strong>Accepter d\u2019\u00eatre malheureux</strong>\u00a0: faites le point de votre vie. Les manipulateurs vous placent dans une non-vie, ils \u00e9touffent votre joie de vivre.</li>\n</ul><h3>Conclusion du livre \u00ab\u00a0Pourquoi trop penser rend manipulable\u00a0\u00bb et derni\u00e8res cl\u00e9s</h3><p>Christel Petitcollin, l\u2019auteure de \u00ab Pourquoi trop penser rend manipulable \u00bb, remarque que la rencontre avec un manipulateur est effectivement un <strong>formidable acc\u00e9l\u00e9rateur de d\u00e9veloppement personnel</strong> mais que le but est de <strong>ne pas y laisser sa peau</strong> !</p><p>Il est n\u00e9cessaire d\u2019<strong>apprendre \u00e0 dire non</strong>, de poser ses limites et de se faire respecter, ce qui rel\u00e8ve de la <strong>responsabilit\u00e9 de toute personne adulte</strong>.</p><p>Toutefois, sachant que le manipulateur est ce qu\u2019il est et qu\u2019il ne changera pas, l\u2019application de l\u2019affirmation de soi et de l\u2019assertivit\u00e9 face au manipulateur ne peut durer qu\u2019un temps. Vous avez mieux \u00e0 faire de votre temps de vie. Il n\u2019existe alors qu\u2019une solution\u00a0: <strong>SORTIR DE LA RELATION</strong>.</p><p>L\u2019auteur met bien le point sur le fait que peu de relations avec un manipulateur sont r\u00e9ellement obligatoires. Si le manipulateur est de votre famille, la cl\u00e9 est d\u2019<strong>espacer et \u00e9courter les contacts</strong> avec lui et de <strong>ne parler de rien de personnel</strong> (la m\u00e9t\u00e9o suffit).</p><p>Le souhait de l\u2019auteur est qu\u2019\u00e0 la fin de cette lecture, <strong>c\u2019est nous qui choisissions</strong> de\u00a0:</p><ul><li>Nous aimer,</li>\n<li>Rire,</li>\n<li>\u00catre joyeux et d\u00e9tendu,</li>\n<li>Pratiquer les activit\u00e9s dont on raffole,</li>\n<li>Qui on veut fr\u00e9quenter,</li>\n<li>R\u00e9aliser nos r\u00eaves.</li>\n</ul><p>C\u2019est ce que la lecture de ce livre \u00ab\u00a0Pourquoi trop penser rend manipulable\u00a0\u00bb m\u2019a permis de faire.</p><p><img title=\"joies enfants se lib\u00e9rer de l'emprise r\u00e9aliser ses r\u00eaves\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/joies-enfants-se-liberer-de-lemprise-realiser-ses-reves.jpg?is-pending-load=1\" alt=\"joies enfants se lib\u00e9rer de l'emprise r\u00e9aliser ses r\u00eaves\" width=\"600\" height=\"400\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"joies enfants se lib\u00e9rer de l'emprise r\u00e9aliser ses r\u00eaves\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/joies-enfants-se-liberer-de-lemprise-realiser-ses-reves.jpg\" alt=\"joies enfants se lib\u00e9rer de l'emprise r\u00e9aliser ses r\u00eaves\" width=\"600\" height=\"400\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h2>Conclusion sur \u00ab Pourquoi trop penser rend manipulable \u2013 Prot\u00e9gez votre mental de l\u2019emprise \u00bb de Christel Petitcollin</h2><h3>Ce que \u00ab\u00a0Pourquoi trop penser rend manipulable\u00a0\u00bb m\u2019a apport\u00e9, en quoi a-t-il chang\u00e9 ma vie</h3><p>\u00ab\u00a0Pourquoi trop penser rend manipulable\u00a0\u00bb a <strong><em>r\u00e9volutionn\u00e9</em></strong> ma mani\u00e8re de voir le monde, les gens et les relations \u2013 en particulier les relations ou jeux de pouvoir, dont <strong>je n\u2019avais pas conscience</strong> ou m\u00eame pas connaissance auparavant (#bisounours).</p><p>Ce livre m\u2019a <strong><em>conduit \u00e0 agir diff\u00e9remment</em></strong>, \u00e0 sortir de ma zone de confort, \u00e0 mettre les deux pieds dans la Vie pour sauver ma lumi\u00e8re int\u00e9rieure. Un autre livre m\u2019a aussi accompagn\u00e9 dans ce travail de lib\u00e9ration d\u2019un point de vue <strong><em>juridique</em></strong>\u00a0; il s\u2019agit de \u00ab <strong><a href=\"https://amzn.to/3xWsoZA\" target=\"_blank\" rel=\"noopener\" class=\"external\">Pour en finir avec les tyrans et les pervers narcissiques dans la famille</a></strong> \u00bb de <strong>Yvonne Poncet-Bonissol</strong>, psychoclinicienne, aux \u00e9ditions Dangles.</p><p>Ce changement de paradigme et de vie par la <strong>pose d\u2019actes concrets <em>m\u2019a apport\u00e9 des r\u00e9sultats que je n\u2019aurais jamais pens\u00e9 avoir</em></strong>. Dans un premier temps on peut dire que j\u2019ai <strong>chang\u00e9 de vie</strong>, puisque je suis pass\u00e9e d\u2019une vie \u00ab de famille \u00bb au statut de maman solo. Mais le changement se manifeste aussi par un <strong>nouveau regard sur le monde</strong>, plus factuel, avec plus de recul et aussi <strong>d\u2019observation</strong> de mes mouvements int\u00e9rieurs (peurs, sch\u00e9mas, gymnastique intellectuelle).</p><p>Je vois les <em>actes</em>, les <em>propos</em> et les <em>gens</em> tels qu\u2019ils sont et je fais attention \u00e0 <strong>ne plus tomber dans les pi\u00e8ges</strong> ou les panneaux qui jonchent les chemins.</p><p>Je vous invite \u00e0 lire aussi \u00ab <strong><a href=\"https://amzn.to/3doDH37\" target=\"_blank\" rel=\"noopener\" class=\"external\">Relations et jeux de pouvoir</a></strong> \u00bb de Jean-Jacques Cr\u00e8vec\u0153ur qui, dans son travail avec Ananou Thiran, d\u00e9montre que\u00a0:</p><ul><li>\u00ab Le pouvoir que l\u2019on peut avoir sur nous d\u00e9pend totalement de notre acceptation. \u00bb</li>\n<li>\u00ab \u00c0 partir du moment o\u00f9 nous arr\u00eatons de donner du pouvoir nous nous lib\u00e9rons. \u00bb</li>\n</ul><blockquote>\n<p>\u00ab Qui n\u2019emp\u00eache pas le mal le favorise. \u00bb<br />Citation de Cic\u00e9ron</p>\n</blockquote><p>A l\u2019issue de la lecture de ce livre \u00ab\u00a0Pourquoi trop penser rend manipulable\u00a0\u00bb, vous aurez non seulement <strong>tout compris</strong> mais aussi vous aurez les cl\u00e9s pour <strong>changer imm\u00e9diatement</strong> et <strong>gu\u00e9rir \u00e0 jamais</strong>.</p><p>Le livre est structur\u00e9, la langue claire et juste. Il convient parfaitement aux personnes qui sont dans une <strong>situation \u00e9touffante</strong> ou qui les <strong>tiraille</strong>, et qui \u00ab <strong>pensent trop</strong> \u00bb ou <strong>s\u2019auto-censurent</strong> dans leur t\u00eate, leur c\u0153ur et leur corps.</p><p><em>Points <strong>forts</strong>\u00a0:</em></p><ul><li>Tr\u00e8s complet et <strong>pratique</strong></li>\n<li>Va \u00e0 l\u2019essentiel sans langue de bois</li>\n<li>Attendez-vous \u00e0 \u00eatre secou\u00e9 mais lib\u00e9r\u00e9.</li>\n<li>Une <strong>m\u00e9thodologie efficace</strong>, un mode d\u2019emploi \u00e0 appliquer, simple pour sortir de l\u2019emprise.</li>\n<li>Il permet de commencer \u00e0 vivre.</li>\n<li>Tableaux r\u00e9capitulatifs, pour des rappels simples et rapides en cas de besoin.</li>\n<li>A l\u2019issue de la m\u00e9thode, vous vous \u00eates lib\u00e9r\u00e9 et pouvez <strong>retrouver votre joie de vivre</strong> qui vous est inh\u00e9rente mais que vous aviez oubli\u00e9e.</li>\n</ul><p><em>Point <strong>faible</strong>\u00a0:</em></p><ul><li>aucun, mis \u00e0 part la difficult\u00e9 d\u2019en faire un r\u00e9sum\u00e9\u00a0!</li>\n</ul><p>Ma note\u00a0:</p><p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png?is-pending-load=1\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n<p style=\"text-align: center;\">Avez-vous lu <em>\u201cPourquoi trop penser rend manipulable\u201d</em>\u00a0? Combien le notez-vous\u00a0?</p><p style=\"text-align: center;\"><img width=\"16\" height=\"16\" id=\"rating_25284_1\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif?is-pending-load=1\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" srcset=\"\" class=\"jetpack-lazy-image c11\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"16\" height=\"16\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<p><img width=\"16\" height=\"16\" id=\"rating_25284_2\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Passable - Un ou deux passages int\u00e9ressants\" title=\"Passable - Un ou deux passages int\u00e9ressants\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_25284_3\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Moyen - Quelques bonnes id\u00e9es\" title=\"Moyen - Quelques bonnes id\u00e9es\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_25284_4\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" title=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_25284_5\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" title=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n(<strong>1</strong>votes, moyenne:<strong>5,00</strong>out of 5)<br />\n<p><img src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\nLoading...<p style=\"text-align: center;\"><a href=\"https://amzn.to/3lAxwxh\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin de lire plus de commentaires sur le livre</a> de Christel Petitcollin <em>\u201cPourquoi trop penser rend manipulable\u201d</em></p><p style=\"text-align: center;\"><a href=\"https://amzn.to/3GhLaxl\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin d\u2019acheter le livre</a> de Christel Petitcollin <em>\u201cPourquoi trop penser rend manipulable\u201d</em></p><noscript>\n</noscript><p><sup>[1]</sup> Terme que l\u2019auteure de \u00ab\u00a0Pourquoi trop penser rend manipulable\u00a0\u00bb a invent\u00e9 et qui est dissoci\u00e9 de la pens\u00e9e norm\u00e9e. Toute une partie du livre est d\u00e9di\u00e9e \u00e0 ce concept de surefficience mentale.</p>",
    "created_at": "2022-05-02T07:56:55+00:00",
    "updated_at": "2022-05-30T16:08:04+00:00",
    "published_at": "2021-12-30T16:00:00+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 29,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/pourquoi-trop-penser-rend-manipulable-christel-peticollin.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["coaching", "livre", "resume"],
    "is_public": false,
    "id": 27,
    "title": "Comprendre et pratiquer le coaching personnel F. Colnot et F. Vitry",
    "url": "https://des-livres-pour-changer-de-vie.com/comprendre-et-pratiquer-le-coaching-personnel/",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><p><a href=\"https://amzn.to/3DgnDM4\" target=\"_blank\" rel=\"noopener\" class=\"external\">\n<p><img class=\"aligncenter wp-image-24312 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/Comprendre-et-pratiquer-le-coaching-personnel-e1636783320451.jpg\" alt=\"Couverture de Comprendre et pratiquer le coaching personnel\" width=\"249\" height=\"350\" referrerpolicy=\"no-referrer\" /></p>\n</a></p><blockquote>\n<p><strong>R\u00e9sum\u00e9 de \u00ab\u2009<em>Comprendre et pratiquer le coaching personnel. Comment devenir un bon coach de vie</em>\u2009\u00bb d\u2019Odile Cluzel, Francis Colnot et Florence Vitry</strong>\u00a0: un manuel d\u2019une grande qualit\u00e9 \u00e0 destination de celles et ceux qui souhaitent orienter \u2014 ou r\u00e9orienter \u2014 leur carri\u00e8re vers le coaching de vie. Gr\u00e2ce \u00e0 ce livre bref, mais complet, vous d\u00e9couvrirez ce qui fait la sp\u00e9cificit\u00e9 et la richesse de ce nouveau m\u00e9tier\u2009!</p>\n</blockquote><p>Par Odile Cluzel, Francis Colnot et Florence Vitry, 2019 (4<sup>e</sup>\u00a0\u00e9dition), 273\u00a0pages.</p><h2><strong>Chronique et r\u00e9sum\u00e9 de \u00ab\u00a0Comprendre et pratiquer le coaching personnel\u00a0\u00bb\u00a0:</strong></h2><h3><strong>Un mot sur les auteurs\u00a0: Odile Cluzel, Francis Colnot et Florence Vitry</strong></h3><p><strong>Odile Cluzet</strong> travaillait en entreprise dans le domaine des ressources humaines avant de se tourner vers le coaching personnel. D\u00e9sormais, elle exerce son m\u00e9tier de coach de vie aussi bien en entreprise qu\u2019aupr\u00e8s de particuliers. Elle est, entre autres, charg\u00e9e de cours \u00e0 l\u2019universit\u00e9 de Cergy-Pontoise au sein du DU <em>Executive coaching</em>.</p><p><strong>Francis Colnot</strong> a lui aussi travaill\u00e9 durant plus de dix ans en entreprise, avant de se reconvertir au m\u00e9tier de coach personnel via des <a href=\"https://des-livres-pour-changer-de-vie.com/la-pnl-pour-les-nuls/\" target=\"_blank\" rel=\"noopener\">formations en PNL</a> (programmation neurolinguistique) et en interventions strat\u00e9giques syst\u00e9miques br\u00e8ves, notamment. Parmi d\u2019autres responsabilit\u00e9s, il l\u2019un des membres fondateurs de l\u2019Association europ\u00e9enne de coaching (EMCC).</p><p><strong>Florence Vitry</strong> a \u00e9t\u00e9 directrice des ressources humaines pendant une vingtaine d\u2019ann\u00e9es, \u00e0 la fois dans le secteur public et dans le secteur priv\u00e9. Comme ses coll\u00e8gues, elle a r\u00e9orient\u00e9 sa carri\u00e8re en suivant un grand nombre de formations\u00a0: en PNL et en approche syst\u00e9mique orient\u00e9e solutions, notamment. Elle intervient r\u00e9guli\u00e8rement au sein du DESU Pratiques du coaching de l\u2019universit\u00e9 de Paris\u00a08 Vincennes Saint-Denis.</p><p>Les trois auteurs forment des coaches certifi\u00e9s ESQA (European Supervisors Quality). Ensemble, ils ont fond\u00e9 un <strong>cabinet de coaching</strong> nomm\u00e9 <a href=\"https://atout-coach.fr/\" target=\"_blank\" rel=\"nofollow noopener rel=\" class=\"external\">Atout Coach</a>. <em>Comprendre et pratiquer le coaching personnel. Comment devenir un bon coach de vie</em> a re\u00e7u un tr\u00e8s bon accueil de la part de la profession\u00a0:</p><blockquote>\n<p>\u00ab\u2009Cet ouvrage, r\u00e9solument p\u00e9dagogique, et d\u2019autant plus pr\u00e9cieux qu\u2019il est le fruit d\u2019une intense exp\u00e9rience professionnelle, constitue \u00e0 ce jour une des rares <strong>publications de r\u00e9f\u00e9rence</strong> en mati\u00e8re de coaching personnel.\u2009\u00bb (Micha\u00ebl Pichat, Ma\u00eetre de conf\u00e9rences des universit\u00e9s en psychologie, Nouvelle pr\u00e9face de l\u2019ouvrage, p.\u00a0VIII)</p>\n</blockquote><p><img class=\"aligncenter wp-image-24315 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/La-passion-d-accompagner-e1630311718275.jpg?is-pending-load=1\" alt=\"Comprendre et pratiquer le coaching personnel: La passion nous a men\u00e9 ici\u00a0!\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-24315 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/La-passion-d-accompagner-e1630311718275.jpg\" alt=\"Comprendre et pratiquer le coaching personnel: La passion nous a men\u00e9 ici\u00a0!\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Introduction. Oser r\u00e9inventer sa vie</strong></h3><p>Cette affirmation s\u2019applique d\u2019abord aux auteurs, puisqu\u2019ils ont os\u00e9, \u00e0 un moment donn\u00e9 de leur vie professionnelle, <strong>changer de cap</strong>. Coaches professionnels de cadres dirigeants au sein de leurs entreprises respectives, ils ont souhait\u00e9 \u00e9tendre leur niveau d\u2019intervention \u00e0 des clients individuels, soucieux d\u2019\u00eatre accompagn\u00e9s dans la r\u00e9alisation de leur projet personnel.</p><p>Cette quatri\u00e8me version de l\u2019ouvrage vise avant tout \u00e0 incorporer les riches commentaires en provenance des \u00e9tudiants et de l\u2019exp\u00e9rience acquise depuis 2008 (ann\u00e9e de la premi\u00e8re publication), ainsi qu\u2019\u00e0 insister sur <strong>la l\u00e9gitimit\u00e9 et la sp\u00e9cificit\u00e9 du m\u00e9tier de coach personnel ou coach de vie</strong>.</p><p>Les auteurs pr\u00e9f\u00e8rent utiliser ces deux termes \u2014 coaching personnel et coaching de vie \u2014 plut\u00f4t que la notion anglophone de <em>life coaching</em>. Ces notions leur paraissent plus adapt\u00e9es \u00e0 la r\u00e9alit\u00e9 et \u00e0 l\u2019ambition de leur profession\u00a0: <strong>accompagner le client vers la r\u00e9alisation de son projet personnel ou projet de vie</strong>.</p><blockquote>\n<p>\u00ab\u2009Pour nous, le coaching personnel r\u00e9pond \u00e0 toute demande d\u2019accompagnement d\u2019un individu, visant \u00e0 l\u2019atteinte d\u2019un objectif personnel ou professionnel, d\u00e8s lors que la d\u00e9marche est ind\u00e9pendante de toute \u201cprescription\u201d ext\u00e9rieure. Ce qui compte ici, ce n\u2019est pas la porte d\u2019entr\u00e9e, c\u2019est-\u00e0-dire la th\u00e9matique abord\u00e9e, qu\u2019elle soit d\u2019ordre professionnel ou personnel, c\u2019est bien davantage la nature de la d\u00e9marche\u00a0: individuelle et du seul ressort de la personne. En cela, le coaching personnel, tel que nous l\u2019exposons ici, englobe \u00e0 la fois l\u2019accompagnement personnel et professionnel, par <strong>une prise en compte de l\u2019individu dans sa globalit\u00e9</strong>.\u2009\u00bb (<em>Comprendre et pratique le coaching personnel</em>, p.\u00a05)</p>\n</blockquote><h3><strong>Chapitre\u00a01. Coach personnel\u00a0: un m\u00e9tier \u00e0 part enti\u00e8re</strong></h3><h3><strong>En quoi est-ce un vrai m\u00e9tier\u2009?</strong></h3><p>Depuis le milieu du XX<sup>e</sup>\u00a0si\u00e8cle, <strong>la soci\u00e9t\u00e9 occidentale a chang\u00e9</strong>. Les d\u00e9terminismes sociaux ont perdu de leur force. D\u00e9sormais, on n\u2019est plus oblig\u00e9 de suivre la voie trac\u00e9e par les parents ou la famille. On cr\u00e9e son propre \u00ab\u2009projet de vie\u2009\u00bb, notamment en changeant de m\u00e9tier au cours de la carri\u00e8re professionnelle.</p><p>La psychanalyse et la psychoth\u00e9rapie ne sont pas les seules voies d\u2019acc\u00e8s \u00e0 la relation d\u2019aide. L\u2019avantage du coaching de vie est qu\u2019il n\u2019enferme pas la personne dans l\u2019\u00e9tiquette de \u00ab\u2009malade\u2009\u00bb, ni m\u00eame de \u00ab\u2009patient\u2009\u00bb. Le \u00ab\u2009client\u2009\u00bb du coach (ou coach\u00e9) est actif et en recherche de solutions.</p><p>Pour r\u00e9pondre \u00e0 cette <strong>demande d\u2019aide</strong>, le coaching s\u2019est d\u00e9velopp\u00e9 en cr\u00e9ant un cadre de travail, une d\u00e9ontologie, des connaissances et des comp\u00e9tences sp\u00e9cifiques qui en font aujourd\u2019hui un m\u00e9tier \u00e0 part enti\u00e8re. Le coaching de vie diff\u00e8re d\u2019un coaching th\u00e9matique (comme le coaching sportif, qui s\u2019apparente \u00e0 un <em>training</em>, un entra\u00eenement), notamment par sa <strong>dimension holistique</strong>, c\u2019est-\u00e0-dire globale.</p><p>Le coaching de vie ou personnel est aujourd\u2019hui inscrit au <strong>R\u00e9pertoire national de la certification professionnelle</strong> (le RNCP) sous le code ROME K1103, ce qui constitue une reconnaissance sur le territoire fran\u00e7ais. Des universit\u00e9s enseignant le coaching et des cabinets de coaching s\u2019ouvrent r\u00e9guli\u00e8rement. En 2010, 4\u2009000 professionnels se seraient d\u00e9clar\u00e9s en France (selon les sources de la Soci\u00e9t\u00e9 fran\u00e7aise de coaching).</p><h3><strong>Le coaching\u00a0: une pratique \u00e9mergente d\u2019accompagnement</strong></h3><p>Il existe aujourd\u2019hui, malgr\u00e9 tout, une prolif\u00e9ration de titres, de labellisations et de pratiques qui s\u00e8me la confusion\u00a0: <em>counselling</em>, <em>coaching</em>, <em>sponsoring</em>, <em>mentoring</em>, etc. C\u2019est pourquoi il convient de bien identifier la sp\u00e9cificit\u00e9 de la pratique de coaching de vie.</p><p>Tout d\u2019abord, il faut noter que, si l\u2019on peut rester insatisfait quant \u00e0 la notion de coaching \u2014 qui reste un anglicisme et renvoie \u00e0 une tradition manag\u00e9riale et sportive \u2014 il n\u2019y a toutefois pas de solution de rechange \u00e9vidente et c\u2019est pourquoi le terme a \u00e9t\u00e9 conserv\u00e9.</p><p>Les auteurs n\u2019h\u00e9sitent pas, pour leur part, \u00e0 faire remonter l\u2019origine du coaching qu\u2019ils souhaitent pratiquer \u00e0 <strong>la figure de Socrate</strong>, ce philosophe de l\u2019Antiquit\u00e9 grecque ayant pour devise \u00ab\u2009Connais-toi toi-m\u00eame\u2009\u00bb.</p><p>Historiquement, il est par ailleurs incontestable que le coaching prend ses racines dans l\u2019<a href=\"https://des-livres-pour-changer-de-vie.com/comment-avoir-un-mental-de-champion/\" target=\"_blank\" rel=\"noopener\">entra\u00eenement sportif</a>, qui a lui-m\u00eame trouv\u00e9 \u00e0 s\u2019implanter, au cours du XX<sup>e</sup>\u00a0si\u00e8cle, dans les entreprises\u00a0: les chefs d\u2019entreprises recherchant, eux aussi, la performance.</p><p>L\u2019individualisme triomphant, la course \u00e0 la performance, l\u2019exigence d\u2019autonomie, le risque de d\u00e9classement, l\u2019\u00e9puisement sont aujourd\u2019hui notre lot quotidien \u00e0 tous. Par l\u2019interm\u00e9diaire d\u2019outils et m\u00e9thodes issus des sciences humaines, on apprend \u00e0 l\u2019individu \u00e0 mieux \u00ab\u2009se g\u00e9rer\u2009\u00bb et \u00e0 d\u00e9velopper ses potentiels. Mais est-ce cela, le coaching\u2009? Les auteurs s\u2019interrogent.</p><p><strong>La performance</strong> \u2014 pour r\u00e9sumer ce ph\u00e9nom\u00e8ne en un mot \u2014 <strong>est l\u2019id\u00e9ologie du temps pr\u00e9sent</strong>. L\u2019injonction principale est la suivante\u00a0: se r\u00e9aliser. Le coaching de vie s\u2019inscrit-il en faux contre ces tendances sociales\u2009? Oui et non. Non, parce qu\u2019elle provient de ce grand mouvement historique et qu\u2019elle fonde sa pratique sur l\u2019existence des individus contemporains qui se trouvent pris dans ces exigences. Oui, parce qu\u2019elle en refuse la tyrannie et explore les diff\u00e9rentes voies de r\u00e9alisation de soi de l\u2019individu (pas seulement la voie de la productivit\u00e9).</p><h3><strong>Coach personnel\u00a0: un m\u00e9tier d\u2019avenir</strong></h3><blockquote>\n<p>\u00ab\u2009L\u2019individualisation, au sens de construction de soi en tant qu\u2019\u00eatre original, inventif, est sans aucun doute \u00e0 la source de toute demande de coaching de vie. [\u2026] Si aujourd\u2019hui individualit\u00e9 rime avec d\u00e9veloppement de soi, celle-ci ne peut se faire que dans la relation \u00e0 l\u2019autre, c\u2019est-\u00e0-dire dans l\u2019\u00e9change. Non, l\u2019esprit collectif n\u2019a pas disparu [\u2026] Individualit\u00e9 rime aussi avec solidarit\u00e9.\u2009\u00bb (<em>Comprendre et pratiquer le coaching personnel</em>, p.\u00a029)</p>\n</blockquote><p>Le coaching de vie cherche, avec l\u2019individu, son \u00ab\u2009<strong>c\u0153ur de vocation</strong>\u2009\u00bb, ce qui le fait s\u2019\u00e9panouir. C\u2019est une sorte d\u2019apprentissage continu o\u00f9 l\u2019on apprend \u00e0 apprendre. Depuis les ann\u00e9es\u00a02000, les universit\u00e9s accueillent d\u2019ailleurs des personnes qui exercent d\u00e9j\u00e0 une activit\u00e9 professionnelle, mais souhaitent se reconvertir ou simplement s\u2019initier au coaching. Il y a l\u00e0, on le voit, un d\u00e9sir de changement et une demande que le coaching personnel est amen\u00e9 \u00e0 rencontrer.</p><p><img class=\"aligncenter wp-image-24316 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/Reinventer-sa-vie-e1630311815243.jpg?is-pending-load=1\" alt=\"Comprendre et pratiquer le coaching personnel: Trouver sa voie\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-24316 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/Reinventer-sa-vie-e1630311815243.jpg\" alt=\"Comprendre et pratiquer le coaching personnel: Trouver sa voie\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Chapitre\u00a02. Qu\u2019est-ce qui distingue un coach personnel d\u2019un coach en entreprise\u2009?</strong></h3><h3><strong>Le cadre d\u2019intervention</strong></h3><p>La principale diff\u00e9rence entre le coaching en entreprise et le coaching personnel consiste en la pr\u00e9sence ou en l\u2019absence d\u2019un prescripteur. Dans le cas du coaching en entreprise, l\u2019entreprise joue le r\u00f4le d\u2019un tiers qui prescrit le coaching \u00e0 l\u2019employ\u00e9. Cela ne peut \u00eatre le cas pour le coaching de vie.</p><p>En un sens, le coaching en entreprise est donc un \u00ab\u2009coaching sous contrainte\u2009\u00bb (p.\u00a035). La relation est formalis\u00e9e par un contrat, \u00e9tablissant un nombre de s\u00e9ances \u00e0 l\u2019avance, des objectifs, des r\u00e8gles de fonctionnement, etc.</p><p>Si le tiers n\u2019est pas pr\u00e9sent lors des s\u00e9ances, il n\u2019emp\u00eache que sa pr\u00e9sence est tacite, en raison du contrat lui-m\u00eame. En outre, une restitution a souvent lieu en pr\u00e9sence du repr\u00e9sentant de l\u2019entreprise \u00e0 l\u2019issue des s\u00e9ances. On cherche ainsi \u00e0 \u00e9valuer la r\u00e9alisation des objectifs (par exemple, devenir capable d\u2019exercer ou de r\u00e9aliser telle performance dans telle fonction).</p><p>Il y a donc bien une contrainte forte, \u00e0 la fois au niveau du cadre et des objectifs, puisque l\u2019entreprise peut exercer une pression sur le coach\u00e9\u00a0: en l\u2019absence de r\u00e9sultats, c\u2019est la d\u00e9gradation ou la porte\u2026</p><p>Par ailleurs, le coach\u00e9 arrive d\u00e9j\u00e0 charg\u00e9 de pr\u00e9jug\u00e9s qui vont l\u2019enthousiasmer ou le freiner face \u00e0 la proposition de coaching. Le sentiment de devoir se faire aider peut, notamment, \u00eatre per\u00e7u tr\u00e8s n\u00e9gativement.</p><p>Ce type de contrainte n\u2019existe pas dans le coaching personnel. <strong>La relation est duelle\u2009; la demande \u00e9mane du coach\u00e9 lui-m\u00eame</strong>. Il devient une contrainte si un tiers se \u00ab\u2009cache\u2009\u00bb dans l\u2019environnement du client et que celui-ci n\u2019agit pas pour lui, mais pour faire plaisir \u00e0 une autre personne ou \u00e0 un groupe.</p><p>Pareillement, les objectifs ne deviennent contraignants que si le coach\u00e9 agit en r\u00e9f\u00e9rence \u00e0 des normes sociales auxquelles il veut \u00e0 tout prix se conformer.</p><h3><strong>Les sp\u00e9cificit\u00e9s du coaching personnel</strong></h3><p>Le coach personnel a une responsabilit\u00e9 vis-\u00e0-vis de ses clients, du fait m\u00eame de la relative libert\u00e9 que lui octroie sa pratique. Il doit se donner \u00e0 lui-m\u00eame des garde-fous pour que le client soit \u2014 et se sente \u2014 en s\u00e9curit\u00e9\u00a0: \u00e9thique, d\u00e9ontologie, cadre clairement \u00e9tabli, \u00e9changes avec les pairs et supervision, autoformation et <a href=\"https://des-livres-pour-changer-de-vie.com/creer-sa-vie-en-etant-soi/\" target=\"_blank\" rel=\"noopener\">connaissance de soi</a>).</p><p>Dans le coaching personnel, le cadre de la relation va \u00eatre construit \u00e0 partir de <strong>la demande et des contraintes propres du client</strong>. Ces param\u00e8tres incluent\u00a0:</p><ol><li>Le temps\u2009;</li>\n<li>Le budget\u2009;</li>\n<li>L\u2019objectif du client (la demande)\u2009;</li>\n<li>Les indicateurs de r\u00e9ussite.</li>\n</ol><p>La demande propre au coaching personnel doit se distinguer d\u2019autres demandes (une demande m\u00e9dicale, une plainte, etc.). \u00ab\u2009Qu\u2019attendez-vous de mon aide\u2009?\u2009\u00bb permet au client de clarifier sa demande. Celle-ci doit \u00eatre li\u00e9e \u00e0 un changement op\u00e9rable au sein du projet de vie global du coach\u00e9.</p><p>Gr\u00e2ce aux informations re\u00e7ues, le coach pourra pr\u00e9ciser la demande, choisir (ou non) d\u2019y r\u00e9pondre et passer un contrat avec le client.</p><h3><strong>La co-construction du cadre</strong></h3><p>Le <strong>contrat de coaching de vie</strong> est le plus souvent un contrat pass\u00e9 oralement entre le coach\u00e9 et le coach. Il se passe en r\u00e8gle g\u00e9n\u00e9rale lors de la premi\u00e8re s\u00e9ance. Bien entendu, le contrat porte sur la demande du coach\u00e9\u2009; toutefois, comme celle-ci est le plus souvent amen\u00e9e \u00e0 changer et \u00e0 se pr\u00e9ciser en cours de route, le contrat doit rester ouvert aux modifications. Le consentement mutuel est \u00e0 la base du contrat.</p><p>Le coach a l\u2019<strong>obligation de moyens</strong>, non de r\u00e9sultats. Il fait tout pour l\u2019accompagner dans ses propres objectifs, en investissant ses connaissances et comp\u00e9tences dans la relation. Une \u00ab\u2009p\u00e9riode d\u2019essai\u2009\u00bb peut \u00e9ventuellement \u00eatre d\u00e9cid\u00e9e entre le coach et le coach\u00e9 afin d\u2019\u00e9tablir si la relation peut se poursuivre sur de bonnes bases ou non.</p><p>Le contrat comprend deux \u00e9l\u00e9ments principaux\u00a0:</p><ul><li><strong>La partie \u00ab\u2009commerciale\u2009\u00bb</strong> = prix, p\u00e9riodicit\u00e9, dur\u00e9e, nombre de s\u00e9ances, lieu, condition de prise de rendez-vous, annulations, p\u00e9riode d\u2019essai \u00e9ventuelle, engagements r\u00e9ciproques et objectifs du coaching\u2009;</li>\n<li><strong>L\u2019objet du coaching</strong> = l\u2019accompagnement proprement dit qui va faire \u00e9merger les objectifs du coach\u00e9 progressivement et qui est donc \u00e9volutif.</li>\n</ul><p>Le coach devra s\u2019assurer qu\u2019il est la personne ad\u00e9quate pour la demande d\u2019aide (soit que la demande ne soit pas li\u00e9e au coaching, soit qu\u2019un autre coach puisse \u00eatre plus appropri\u00e9). Pour sa part, le coach\u00e9 devra montrer son engagement (notamment dans l\u2019apprentissage de ce qu\u2019est le coaching) et il pourra aussi, par exemple, moduler le rythme des s\u00e9ances.</p><h3><strong>Enjeux et libert\u00e9</strong></h3><blockquote>\n<p>\u00ab\u2009Les enjeux du coaching personnel n\u2019apparaissent pas obligatoirement au premier entretien, car ils d\u00e9pendent des objectifs que se fixe le client, lesquels se d\u00e9voilent lors des s\u00e9ances suivantes de coaching. Les enjeux sont donn\u00e9s par les r\u00e9ponses aux questions\u00a0: \u201cQue se passera-t-il si vous n\u2019atteignez pas les objectifs que vous vous \u00eates fix\u00e9s\u2009? ou \u00ab\u2009Que se passera-t-il si vous atteignez les objectifs que vous vous \u00eates fix\u00e9s\u2009?\u2009\u00bb.\u201d (<em>Comprendre et pratiquer le coaching personnel</em>, p.\u00a075)</p>\n</blockquote><p>Dans le coaching personnel, c\u2019est au coach\u00e9 de d\u00e9finir le crit\u00e8re de r\u00e9ussite ou d\u2019\u00e9chec, aussi bien que les sanctions (positives ou n\u00e9gatives) \u00e9ventuelles. Le coach ne juge pas et n\u2019intervient pas \u00e0 ce stade, bien que sa pr\u00e9sence soit souvent utile pour les clarifier.</p><p>Une autre diff\u00e9rence entre le coaching en entreprise et le coaching de vie consiste en la libert\u00e9 de parole et d\u2019action dont b\u00e9n\u00e9ficie le client\u00a0: aucun conflit de loyaut\u00e9 vis-\u00e0-vis de son travail, ni d\u2019obligation d\u2019agir \u2014 le client dit ce qu\u2019il veut et fait usage du coaching comme bon lui semble.</p><p><strong>Le coach de vie est responsable du processus</strong> et notamment, d\u2019assurer la dimension holistique de l\u2019intervention \u2014 ce qui n\u2019est pas le cas en coaching en entreprise, puisque le coaching se focalise sur la dimension professionnelle. Dans le coaching personnel, m\u00eame si la demande est tr\u00e8s r\u00e9guli\u00e8rement li\u00e9e au monde du travail, elle entre en r\u00e9sonance avec les autres domaines de la vie et le coach doit entendre ce caract\u00e8re global.</p><blockquote>\n<p>\u201cLe fait de pouvoir aborder d\u2019autres domaines que le professionnel peut avoir aussi pour effet de d\u00e9focaliser la personne de sa demande initiale pour lui permettre de se positionner plus justement par rapport \u00e0 ses d\u00e9sirs, y compris professionnels d\u2019ailleurs. [\u2026] L\u2019art du coach va \u00eatre d\u2019explorer la demande de son client tout en l\u2019aidant \u00e0 se d\u00e9centrer de son probl\u00e8me. L\u2019aider \u00e0 mettre en perspective sa situation tout en l\u2019amenant \u00e0 se positionner sur les possibilit\u00e9s de changement.\u201d (<em>Comprendre et pratiquer le coaching personnel</em>, p.\u00a080)</p>\n</blockquote><h3><strong>Le positionnement du coach personnel</strong></h3><p>Le coach personnel per\u00e7oit son client \u00ab\u2009comme un tout\u2009\u00bb, avec des \u00e9motions, des pens\u00e9es, des actions qui lui sont propres. Il est centr\u00e9 sur lui et attentif \u00e0 ces trois dimensions de son \u00eatre. Il cherche \u00e0 lui <strong>laisser la place</strong> pour exprimer ce qui est bon pour lui, sans lui imposer de norme ou de connaissance sup\u00e9rieure sur ce que serait \u00ab\u2009le sens de la vie\u2009\u00bb.</p><p>Par ailleurs, le coach de vie n\u2019a pas de mod\u00e8le th\u00e9orique uniforme et pr\u00e9\u00e9tabli. Il est d\u2019abord \u00e0 l\u2019\u00e9coute de l\u2019autre et l\u2019aide \u00e0 formuler ce qui fait sens pour lui, notamment en posant une question projective du genre\u00a0: \u00ab\u2009Vous avez 90\u00a0ans, vous avez r\u00e9ussi votre vie, qu\u2019avez-vous v\u00e9cu\u2009?\u2009\u00bb.</p><p>Pour atteindre le changement \u2014 l\u2019obtention d\u2019un \u00e9tat futur \u00e0 partir d\u2019un \u00e9tat actuel \u2014 le coach de vie va se focaliser sur le processus. Qu\u2019ajouter\u2009? Que retirer\u2009? Que modifier\u2009?</p><p>Bien s\u00fbr, le coach personnel doit \u00eatre capable de <strong>reconna\u00eetre les limites de son intervention</strong>. Il n\u2019est pas \u00ab\u2009n\u00e9\u2009\u00bb pour \u00eatre coach et il n\u2019est pas souhaitable qu\u2019il transmette ce type d\u2019id\u00e9e \u00e0 ces coach\u00e9s. D\u2019autre part, le coach, bien qu\u2019il invite ses coach\u00e9s \u00e0 imaginer une autre vie, ne doit pas vouloir leur r\u00e9alisation \u00e0 leur place, voire plus qu\u2019eux-m\u00eames. Parfois, les r\u00eaves devront \u00eatre adapt\u00e9s pour rencontrer l\u2019exigence de r\u00e9alit\u00e9.</p><p><img class=\"aligncenter wp-image-24317 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/Accueillir-le-changement-e1630311926214.jpg?is-pending-load=1\" alt=\"Comprendre et pratiquer le coaching personnel: \u00cates-vous pr\u00eat pour le changement\u00a0?\" width=\"600\" height=\"355\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-24317 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/Accueillir-le-changement-e1630311926214.jpg\" alt=\"Comprendre et pratiquer le coaching personnel: \u00cates-vous pr\u00eat pour le changement\u00a0?\" width=\"600\" height=\"355\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Chapitre\u00a03. Comprendre et pratiquer le coaching personnel: L\u2019identit\u00e9 du coach personnel</strong></h3><h3><strong>Comprendre et pratiquer le coaching personnel: \u00cates-vous un coach de vie\u2009? Autodiagnostic</strong></h3><p>Les auteurs proposent un test non scientifique permettant de s\u2019auto\u00e9valuer selon quatre cat\u00e9gories que l\u2019on peut r\u00e9sumer de cette fa\u00e7on\u00a0: tr\u00e8s dispos\u00e9, dispos\u00e9, peu dispos\u00e9 et pas dispos\u00e9 \u00e0 exercer le m\u00e9tier de coach personnel.</p><p>Une chose est certaine\u00a0: au d\u00e9but de leur carri\u00e8re, les coaches ont beaucoup de questions \u00e0 l\u2019esprit. Ils se demandent notamment quelles connaissances utiliser et quelle attitude adopter\u2009; ils s\u2019interrogent sur leurs capacit\u00e9s, leur l\u00e9gitimit\u00e9 et leur sp\u00e9cificit\u00e9 (notamment vis-\u00e0-vis du travail de coach en entreprise).</p><p>Voici quelques caract\u00e9ristiques du coach de vie. Il\u00a0:</p><ul><li>Travaille avec la personne dans sa globalit\u00e9\u2009;</li>\n<li>Rejette les demandes de \u00ab\u2009sauvetage\u2009\u00bb qui viseraient \u00e0 prendre la place du coach\u00e9\u2009;</li>\n<li>Aide \u00e0 d\u00e9finir et \u00e0 se centrer sur les objectifs de la personne\u2009;</li>\n<li>Se centre davantage sur le futur que sur le pass\u00e9 (qui peut faire l\u2019objet d\u2019un autre type d\u2019aide)\u2009;</li>\n<li>Se conna\u00eet suffisamment lui-m\u00eame pour rep\u00e9rer les blocages d\u2019autrui\u2009;</li>\n<li>Oriente son client dans sa propre complexit\u00e9 en r\u00e9sistant \u00e0 la simplification\u2009;</li>\n<li>Fait preuve d\u2019une grande ouverture d\u2019esprit\u2009;</li>\n<li>Sait se d\u00e9centrer et laisser son ego \u00ab\u2009en position basse\u2009\u00bb\u2009;</li>\n<li>Valorise les ressources et les aptitudes du coach\u00e9\u2009;</li>\n<li>Permet au client de faire des liens nouveaux et d\u2019avancer dans la d\u00e9finition de son projet de vie.</li>\n</ul><h3><strong>Comprendre et pratiquer le coaching personnel: Quelle formation pour le coach de vie\u2009?</strong></h3><p>Pour se former, il existe des \u00e9coles de coaching (plut\u00f4t centr\u00e9es sur le m\u00e9tier de coach en entreprise) et des formations dipl\u00f4mantes au sein de plusieurs universit\u00e9s. Les mati\u00e8res enseign\u00e9es sont, par exemple\u00a0:</p><ul><li>Programmation neurolinguistique (PNL)\u2009;</li>\n<li>Th\u00e9rapies br\u00e8ves avec le mod\u00e8le cognitivo-comportementaliste\u2009;</li>\n<li>Analyse transactionnelle\u2009;</li>\n<li>Gestalt-th\u00e9rapie\u2009;</li>\n<li>Approche syst\u00e9mique\u2009;</li>\n<li>Etc.</li>\n</ul><blockquote>\n<p>\u00ab\u2009Le lecteur peut s\u2019\u00e9tonner de l\u2019int\u00e9r\u00eat de s\u2019approprier des connaissances relevant de la psychologie alors que l\u2019objectif du coach personnel n\u2019est en aucun cas de soigner. D\u2019abord, un des avantages est de pouvoir reconna\u00eetre, rep\u00e9rer les personnes dont la probl\u00e9matique rel\u00e8ve plus d\u2019une th\u00e9rapie que d\u2019un coaching. Mais la connaissance de ces domaines peut \u00e9galement \u00eatre envisag\u00e9e sous un angle bien diff\u00e9rent que celui observ\u00e9 par un th\u00e9rapeute\u00a0: par exemple, alors que celui-ci se centre sur les dysfonctionnements de son patient, le coach rep\u00e8re plut\u00f4t les aspects positifs du fonctionnement de son client, c\u2019est-\u00e0-dire ses ressources.\u2009\u00bb (<em>Comprendre et pratiquer le coaching personnel</em>, p.\u00a0114)</p>\n</blockquote><p>En s\u2019appuyant sur ses ressources, le client sera mieux \u00e0 m\u00eame de se construire un projet de vie adapt\u00e9, avec (et plus tard sans) l\u2019aide bienveillante du coach. Quoi qu\u2019il en soit, il convient de <strong>bien distinguer th\u00e9rapie et coaching</strong>.</p><p>Le coach utilisera un mod\u00e8le disciplinaire (m\u00e9thodes, outils, grilles d\u2019analyse, etc.) et un mod\u00e8le relationnel (une fa\u00e7on de communiquer) qui le distinguent. Par exemple, il fera usage d\u2019indicateurs de personnalit\u00e9 tels que MBTI\u00ae, GOLDEN\u00ae, Process Com\u00ae. Il utilisera aussi, notamment, des outils cr\u00e9atifs tels que le dessin ou le photo-langage lorsqu\u2019il est n\u00e9cessaire d\u2019acc\u00e9der \u00e0 certaines \u00e9motions.</p><p>Tout au long de sa carri\u00e8re, le coach personnel cherchera \u00e0 <a href=\"https://www.coachfederation.fr/je-veux-devenir-coach/les-11-competences-du-coach-selon-icf\" target=\"_blank\" rel=\"noopener\" class=\"external\">d\u00e9velopper ses comp\u00e9tences</a>.</p><h3><strong>Comprendre et pratiquer le coaching personnel: Une condition imp\u00e9rative pour le coach\u00a0: mieux se conna\u00eetre</strong></h3><p>Il ne s\u2019agit pas n\u00e9cessairement de r\u00e9aliser une longue psychanalyse, mais d\u2019\u00eatre conscient de soi et aussi d\u2019avoir une certaine estime et confiance en soi. Le coach de vie doit \u00eatre capable de reconna\u00eetre et de contr\u00f4ler ses propres \u00e9motions, sans quoi il ne pourra accueillir celles de l\u2019autre.</p><p>Pour avancer dans sa pratique, le coach personnel peut avoir <strong>besoin de supervision</strong> par un praticien exp\u00e9riment\u00e9, qui l\u2019aidera \u00e0 transformer ses doutes, ses erreurs peut-\u00eatre, en ressources pour s\u2019am\u00e9liorer dans le m\u00e9tier. Pour un coach \u00e0 temps plein, une rencontre mensuelle semble \u00eatre une bonne option.</p><blockquote>\n<p>\u201cUne des particularit\u00e9s du coach personnel est qu\u2019il est \u00ab\u2009son propre outil\u2009\u00bb pour accompagner son coach\u00e9. Cela signifie qu\u2019il utilise sa sensibilit\u00e9, ce qu\u2019il ressent, ce qui r\u00e9sonne en lui \u00e0 partir des paroles et des attitudes de son client pour le faire progresser. [\u2026] Si le coach est attentif \u00e0 ses propres sensations, \u00e9motions, il rep\u00e9rera que le client rejoue avec lui des sc\u00e8nes de sa vie et lui fait vivre ce qu\u2019il fait subir \u00e0 son entourage. Il est aussi \u00e0 m\u00eame de percevoir l\u2019int\u00e9r\u00eat de partager ce qu\u2019il ressent pour aider son client \u00e0 faire des liens avec la difficult\u00e9 qu\u2019il est venu exposer.\u201d (<em>Pratiquer et comprendre le coaching personnel</em>, p.\u00a0126)</p>\n</blockquote><p>Bien s\u00fbr, l\u2019\u00e9change doit se faire sur une base bienveillante et respectueuse, mais le coach a tout int\u00e9r\u00eat \u00e0 faire conna\u00eetre ses \u00e9motions au client pour l\u2019aider \u00e0 adopter une autre perspective sur lui-m\u00eame.</p><h3><strong>Comprendre et pratiquer le coaching personnel: Une posture</strong></h3><p>Pour caract\u00e9riser la posture du coach, les auteurs utilisent un outil cr\u00e9\u00e9 par <strong>Robert Dilts</strong>, sp\u00e9cialiste en PNL\u00a0: les <strong>niveaux logiques</strong>, qui sont au nombre de six.</p><ol><li><strong>Environnement</strong>\u00a0: dans le cadre du coaching personnel, la relation est duelle et le contexte est donc moins tendu qu\u2019en entreprise \u2014 la confidentialit\u00e9 et la confiance sont des r\u00e8gles de base\u2009;</li>\n<li><strong>Comportement et attitudes mentales</strong>\u00a0: le coach \u00e9vite toute attitude directive (conseil, jugement moral). Il sait entendre sans pour autant se fondre dans les sentiments de l\u2019autre \u2014 humilit\u00e9, \u00e9coute et acceptation du client\u00a0dans sa complexit\u00e9\u2009;</li>\n<li><strong>Valeurs et croyances</strong>\u00a0: certaines valeurs et croyances limitantes doivent \u00eatre per\u00e7ues et d\u00e9sactiv\u00e9es pour ne pas influer n\u00e9gativement sur l\u2019\u00e9change \u2014 par contre, il doit croire en la valeur intrins\u00e8que de son client et \u00eatre certain que l\u2019action de celui-ci est sous-tendue par une intention positive (m\u00eame si lui-m\u00eame ne la con\u00e7oit pas clairement)\u2009;</li>\n<li><strong>Identit\u00e9</strong>\u00a0: le coach personnel recherche la congruence\u2009;</li>\n<li><strong>Mission</strong>\u00a0: il cherche un sens \u00e0 sa propre pratique \u2014 par exemple, en se concevant comme un \u00ab\u2009passeur\u2009\u00bb ou un \u00ab\u2009\u00e9veilleur\u2009\u00bb.</li>\n</ol><h3><strong>Comprendre et pratiquer le coaching personnel: Une d\u00e9ontologie</strong></h3><blockquote>\n<p>\u00ab\u2009Le code de d\u00e9ontologie du coach personnel s\u2019oriente sur deux axes principaux\u00a0: favoriser la confiance du client et faciliter les rep\u00e8res du coach. Les devoirs du coach personnel sont pr\u00e9cis\u00e9s dans une charte qui est remise au client ou consign\u00e9e dans le contrat pass\u00e9.\u2009\u00bb (<em>Comprendre et pratiquer le coaching personnel</em>, p.\u00a0138)</p>\n</blockquote><p>La <strong>charte \u00e9thique</strong> se doit au minimum de\u00a0:</p><ul><li>Expliquer la nature, les limites et les contraintes de l\u2019intervention du coach personnel\u2009;</li>\n<li>Exposer l\u2019engagement du coach vis-\u00e0-vis de son coach\u00e9\u2009;</li>\n<li>Garantir la confidentialit\u00e9 des \u00e9changes\u2009;</li>\n<li>Rappeler le respect des droits, des valeurs et de la libert\u00e9 du client.</li>\n</ul><h3><strong>Comprendre et pratiquer le coaching personnel: R\u00e9flexion et m\u00e9thodologie autour du projet de vie</strong></h3><p>Un projet de vie, qu\u2019est-ce que c\u2019est\u2009? Comment affronter cette notion si large\u2009? N\u2019est-il pas pr\u00e9tentieux, venant du coach, de pr\u00e9tendre aider quelqu\u2019un \u00e0 \u00ab\u2009r\u00e9aliser son projet de vie\u2009\u00bb\u2009? Pour y voir plus clair, Odile Cluzel, Francis Colnot et Florence Vitry proposent quelques pistes de r\u00e9flexion.</p><blockquote>\n<p>\u00ab\u2009L\u2019id\u00e9e qu\u2019il existe un projet de vie repose sur le constat que chaque individu se construit depuis l\u2019enfance autour de certaines valeurs, qu\u2019il est sensible au bien et au mal, etc., et qu\u2019il \u00e9labore ainsi une conception de la vie qui lui est propre, bien que largement influenc\u00e9e par son environnement familial, culturel\u2026\u2009\u00bb (<em>Comprendre et pratiquer le coaching personnel</em>, p.\u00a0142)</p>\n</blockquote><p>Les auteurs parlent de \u00ab\u2009bricolage\u2009\u00bb\u00a0: il n\u2019est pas \u00e9vident de <strong>construire sa vie</strong>. La \u00ab\u2009r\u00e9ussite\u2009\u00bb d\u00e9pend de bien des \u00e9l\u00e9ments et on avance souvent en zigzag, cherchant \u00e0 d\u00e9velopper un \u00e9l\u00e9ment (par exemple, les signes ext\u00e9rieurs de richesse), puis un autre (par exemple, les comp\u00e9tences ou le d\u00e9veloppement de certains talents). L\u2019envie de donner un sens \u00e0 tout cela est capitale\u2009; encore faut-il savoir le trouver et le mettre en \u0153uvre.</p><p>Le coach pourra aider le client \u00e0 \u00ab\u2009trier, jeter, remanier, \u00e9claircir tous les \u00e9l\u00e9ments qu\u2019il lui am\u00e8ne en vrac\u2009\u00bb (p.\u00a0144). Il l\u2019aidera aussi \u00e0 <strong>se confronter \u00e0 la r\u00e9alit\u00e9</strong>, lorsque cela est n\u00e9cessaire, et toujours en vue de r\u00e9adapter le projet positivement.</p><p>Voici quelques points de m\u00e9thodologie pour <strong>\u00e9claircir un projet de vie</strong>\u00a0:</p><ol><li>Instauration d\u2019un climat de confiance et identification d\u2019une demande (\u00e0 ce stade, le coach \u00e9coutera, tout en questionnant et en se synchronisant \u00e0 l\u2019autre)\u2009;</li>\n<li>Transformation de la demande en \u00ab\u2009mat\u00e9riau\u00a0de travail\u2009\u00bb et exploration des domaines de vie et des valeurs\u00a0(il s\u2019agira de d\u00e9terminer l\u2019objectif, de faire \u00e9merger les valeurs, parfois dans la confrontation et le recadrage, pour parvenir \u00e0 un projet r\u00e9aliste)\u2009;</li>\n<li>Aide \u00e0 la progression via la stimulation des ressources du client (le travail portera sur les actions concr\u00e8tes \u00e0 mener, notamment via la proposition de t\u00e2ches \u00e0 r\u00e9aliser et l\u2019utilisation de profils de personnalit\u00e9)\u2009;</li>\n<li>Retour sur le chemin parcouru et autonomisation (l\u2019\u00e9change pourra se centrer sur l\u2019\u00e9valuation de la progression et sur les risques et les forces du projet, via quelques techniques comme le photo-langage ou la visualisation, par exemple).</li>\n</ol><p>Le coach devra assurer une vigilance vis-\u00e0-vis de lui-m\u00eame et vis-\u00e0-vis du client pour agir avec recul et pertinence.</p><h3><strong>Comprendre et pratiquer le coaching personnel: Quelques outils pertinents pour l\u2019accompagnement</strong></h3><p>Voici un p\u00eale-m\u00eale de quelques situations de travail et les outils utilis\u00e9s par les coaches personnels\u00a0:</p><ul><li><strong>D\u00e9termination de l\u2019objectif (ou d\u00e9marche d\u2019objectifs)</strong>= pour travailler sur la clarification des objectifs, le coach pourra poser des questions relatives \u00e0 la situation actuelle, la situation future souhait\u00e9e et le chemin pour y parvenir, puis construire un tableau d\u2019objectifs (trois, par exemple)\u2009;</li>\n<li><strong>Domaines de vie</strong>= pour travailler sur l\u2019harmonisation et l\u2019\u00e9quilibre des domaines de vie, on interrogera le coach\u00e9 sur ses activit\u00e9s, les \u00e9motions ressenties \u00e0 ces occasions et leur statut de plaisir ou d\u2019obligation \u2014 les r\u00e9sultats pourront \u00e9galement faire l\u2019objet d\u2019un tableau r\u00e9capitulatif\u2009;</li>\n<li><strong>Recadrage des situations de vie</strong>= il sera utile de travailler \u00e0 l\u2019interpr\u00e9tation des situations lorsque le client per\u00e7oit des obstacles entravant la r\u00e9ussite de son projet \u2014 cela pourra passer par une introspection concernant les \u00e9motions ressenties et les filtres mentaux utilis\u00e9s\u2009;</li>\n<li><strong>R\u00eave \u00e9veill\u00e9</strong>= il s\u2019agit d\u2019une <a href=\"https://des-livres-pour-changer-de-vie.com/auto-hypnose/\" target=\"_blank\" rel=\"noopener\">m\u00e9thode de relaxation issue de l\u2019hypnose</a> qui permet de l\u00e2cher prise et de fixer le projet dans l\u2019inconscient\u2009;</li>\n<li><strong>Photo-langage\u00ae</strong>= c\u2019est un jeu d\u2019interpr\u00e9tation de photographies qui permet de clarifier le projet de vie, les obstacles \u00e0 surmonter et les ressources \u00e0 utiliser\u2009;</li>\n<li><strong>Recherche de valeurs</strong> = les auteurs proposent un questionnaire de 15\u00a0questions (p.\u00a0164-165) permettant d\u2019\u00e9tablir un tableau de recherche de valeurs et d\u2019antivaleurs, puis de se questionner sur ses croyances\u2009;</li>\n<li><strong>Projet de vie/Carte personnelle</strong> = celle-ci permet de r\u00e9capituler le travail accompli en faisant le point sur la vision du monde, le projet de vie, les buts et objectifs et finalement le code de conduite du coach\u00e9.</li>\n</ul><h3><strong>Comprendre et pratiquer le coaching personnel: De nouvelles approches pour un monde toujours en mouvement</strong></h3><p>Les auteurs compl\u00e8tent le point pr\u00e9c\u00e9dent par l\u2019\u00e9num\u00e9ration d\u2019autres techniques\u00a0:</p><ul><li><strong>Approche syst\u00e9mique et la <a href=\"https://des-livres-pour-changer-de-vie.com/comment-devenir-un-optimiste-contagieux/\" target=\"_blank\" rel=\"noopener\">psychologie positive</a></strong>= la premi\u00e8re permet d\u2019insister sur les r\u00e9ussites (les exceptions aux probl\u00e8mes rencontr\u00e9s) et la seconde permet de mettre en avant les comp\u00e9tences psychologiques et relationnelles du client\u2009;</li>\n<li><strong>ACT</strong>= cette approche en quatre \u00e9tapes permet de clarifier les valeurs qui importent au client via l\u2019acceptation et l\u2019engagement\u2009;</li>\n<li><strong>Mindfulness</strong> = les techniques de <a href=\"https://des-livres-pour-changer-de-vie.com/au-coeur-de-la-tourmente-la-pleine-conscience/\" target=\"_blank\" rel=\"noopener\">pleine conscience</a> permettent de s\u2019ancrer dans le pr\u00e9sent et d\u2019\u00e9vacuer les pens\u00e9es n\u00e9gatives\u2009;</li>\n<li><strong>Coaching g\u00e9n\u00e9ratif</strong> = centr\u00e9e sur la cr\u00e9ativit\u00e9, cette approche issue de la PNL a pour ambition de transformer les obstacles du client en ressources lui permettant d\u2019accomplir son projet\u2009;</li>\n<li><strong>Ligne du temps (outil issu de la PNL)</strong>= l\u2019objectif est ici d\u2019augmenter la motivation du client en le faisant voyager mentalement dans son pass\u00e9 et dans son avenir\u2009;</li>\n<li><strong>Pratiques narratives</strong> = il s\u2019agit de d\u00e9construire et de reconstruire les histoires racont\u00e9es \u00e0 propos du client \u2014 mais aussi celles qu\u2019il se raconte \u00e0 lui-m\u00eame \u2014 pour <a href=\"https://des-livres-pour-changer-de-vie.com/120-citations-pour-booster-sa-confiance-en-soi/\" target=\"_blank\" rel=\"noopener\">amplifier la confiance et l\u2019estime de soi\u2009</a>;</li>\n<li><strong>Arbre de vie</strong> = lorsque le client fait \u00e9tat d\u2019une peur, cette m\u00e9taphore peut l\u2019aider \u00e0 lui redonner confiance en lui-m\u00eame \u2014 le client dessine un arbre complet o\u00f9 chaque partie correspond \u00e0 une dimension (pass\u00e9/pr\u00e9sent/futur, comp\u00e9tences, etc.) \u00e0 explorer\u2009;</li>\n<li><strong>Approche gestaltiste</strong> = l\u2019utilisation de l\u2019espace, du corps et des \u00e9motions \u00ab\u2009ici et maintenant\u2009\u00bb permet de couper court aux mentalisations et aux impasses que celles-ci peuvent g\u00e9n\u00e9rer.</li>\n</ul><p><img class=\"aligncenter wp-image-24318 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/De-nouveaux-outils-e1630311997194.jpg?is-pending-load=1\" alt=\"Comprendre et pratiquer le coaching personnel: Le mindfulness, un exemple de nouvel outil\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-24318 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/De-nouveaux-outils-e1630311997194.jpg\" alt=\"Comprendre et pratiquer le coaching personnel: Le mindfulness, un exemple de nouvel outil\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Chapitre\u00a04. Comprendre et pratiquer le coaching personnel: Pourquoi nos clients viennent-ils nous voir plut\u00f4t qu\u2019un autre professionnel de la relation d\u2019aide\u2009?</strong></h3><h3><strong>Comprendre et pratiquer le coaching personnel: Coaching personnel et psychoth\u00e9rapie</strong></h3><blockquote>\n<p>\u00ab\u2009La finalit\u00e9 d\u2019une action de coaching personnel est l\u2019exploration, la mise en \u0153uvre et la validation d\u2019un projet de vie. De fait, cet accompagnement encourage le d\u00e9veloppement du potentiel du coach\u00e9 aussi bien du point de vue personnel que professionnel, car un individu, en tant que syst\u00e8me vivant, ne saurait \u00eatre r\u00e9duit \u00e0 un seul aspect de lui-m\u00eame.\u2009\u00bb (<em>Comprendre et pratiquer le coaching personnel</em>, p.\u00a0181)</p>\n</blockquote><p>En fait, une fois cet objectif et le cadre du coaching pos\u00e9s, celui-ci peut avancer main dans la main avec cette autre pratique qu\u2019est la psychoth\u00e9rapie. L\u2019important est de les distinguer, mais pas de les exclure l\u2019une l\u2019autre. Le coaching n\u2019est pas simplement pour les gens \u00ab\u2009qui vont bien\u2009\u00bb, et la psychoth\u00e9rapie pour les gens \u00ab\u2009qui vont mal\u2009\u00bb\u00a0: une personne peut avoir besoin des deux, en m\u00eame temps ou \u00e0 diff\u00e9rents moments de sa vie.</p><p>La responsabilit\u00e9 du coach est engag\u00e9e. Gr\u00e2ce \u00e0 sa d\u00e9ontologie et \u00e0 son exp\u00e9rience, il doit \u00eatre capable de savoir lorsque son aide atteint ses limites et qu\u2019il serait bon de faire appel \u00e0 un psychoth\u00e9rapeute (par exemple, si un obstacle revient syst\u00e9matiquement et para\u00eet infranchissable ou si la personne ressasse sans cesse son pass\u00e9, sans pouvoir aller de l\u2019avant).</p><p>Les individus savent souvent, parfois intuitivement, \u00e0 qui s\u2019adresser. Mais parfois, il faut les aiguiller. Rappelons-le\u00a0: la vis\u00e9e du coaching n\u2019est pas de soigner \u2014 et de fa\u00e7on corr\u00e9lative, celui qui vient voir un coach n\u2019est donc pas consid\u00e9r\u00e9 comme un \u00ab\u2009malade\u2009\u00bb (ce qui peut en attirer certains, qui cherchent \u00e0 \u00e9viter cette \u00e9tiquette).</p><blockquote>\n<p>\u00ab\u2009Le r\u00f4le d\u2019un coach n\u2019est pas d\u2019intervenir sur la structure psychique pour la changer. L\u2019une des finalit\u00e9s de son intervention en revanche sera de permettre plus de souplesse \u00e0 l\u2019individu, de mani\u00e8re \u00e0 ce qu\u2019il puisse pr\u00e9cis\u00e9ment <strong>prendre contact avec ses ressources</strong>, trouver ses propres solutions dans la mise en place de son projet.\u2009\u00bb (<em>Comprendre et pratiquer le coaching personnel</em>, p.\u00a0190)</p>\n</blockquote><h3><strong>Comprendre et pratiquer le coaching personnel: Coaching de vie et d\u00e9veloppement personnel</strong></h3><p>La question de la distinction entre coaching de vie et <a href=\"https://des-livres-pour-changer-de-vie.com/developpement-personnel/\" target=\"_blank\" rel=\"noopener\">d\u00e9veloppement personnel</a> m\u00e9rite d\u2019\u00eatre pos\u00e9e selon les auteurs. En effet, pour eux, <strong>il n\u2019y a pas identit\u00e9 parfaite</strong>, m\u00eame si les finalit\u00e9s sont globalement les m\u00eames, \u00e0 savoir l\u2019\u00e9quilibre, le d\u00e9veloppement des ressources et l\u2019\u00e9panouissement de la personne.</p><p>On constate une diff\u00e9rence au niveau du type d\u2019accompagnement et des moyens utilis\u00e9s. Le d\u00e9veloppement personnel a parfois recours \u00e0 des techniques issues de la psychoth\u00e9rapie et peut aussi proposer des s\u00e9ances de groupe. Le coaching de vie refuse quant \u00e0 lui d\u2019intervenir dans le champ de la psychologie clinique, il se focalise sur le projet de vie (et donc sur l\u2019avenir) et il reste individuel (pas de s\u00e9ance de groupe).</p><h3><strong>Comprendre et pratiquer le coaching personnel: Coaching personnel et m\u00e9tier du conseil</strong></h3><blockquote>\n<p>\u00ab\u2009Si la personne imagine son probl\u00e8me ou sa difficult\u00e9 comme relevant de circonstances, de causes ext\u00e9rieures \u00e0 elle, elle va, par exemple, estimer manquer de connaissances en rapport avec son probl\u00e8me, et rechercher l\u2019expertise pour pouvoir appliquer des m\u00e9thodes \u00e9prouv\u00e9es et donc efficaces. Alors elle choisira un conseiller, un expert qui va l\u2019\u00e9couter, puis analyser et faire un diagnostic de la situation, et enfin fera des pr\u00e9conisations qu\u2019elle aura int\u00e9r\u00eat \u00e0 suivre pour r\u00e9gler sa difficult\u00e9.\u2009\u00bb (Comprendre et pratiquer le coaching personnel, p.\u00a0199)</p>\n</blockquote><p>Il y a une foule d\u2019experts ou de conseillers dans divers domaines\u00a0: du conseiller conjugal au conseiller en cr\u00e9ation d\u2019entreprise, en passant par l\u2019avocat, l\u2019assistance sociale, etc. Ces personnes aident \u00e0 r\u00e9soudre des probl\u00e8mes en mobilisant une expertise pr\u00e9cise, qu\u2019ils vont soumettre \u00e0 la personne.</p><p>La diff\u00e9rence avec le coaching personnel appara\u00eet clairement\u00a0: le coach ne se place pas dans une situation de \u00ab\u2009sachant\u2009\u00bb ou d\u2019\u00ab\u2009expert\u2009\u00bb par rapport \u00e0 la vie du client. Son seul savoir, pourrait-on dire, est fait d\u2019outils pour que le client lui-m\u00eame d\u00e9couvre ce qu\u2019il veut et comment y parvenir.</p><p>Une autre diff\u00e9rence tient au fait que la personne concevra son \u00ab\u2009probl\u00e8me\u2009\u00bb comme int\u00e9rieur, li\u00e9 \u00e0 sa personnalit\u00e9. Elle voudra un interlocuteur qui lui permette de prendre de la distance sur sa propre vie et qui l\u2019aide \u00e0 construire sa d\u00e9marche, sans prendre parti. On retrouve ici l\u2019un des cr\u00e9dos du coaching de vie\u00a0:</p><blockquote>\n<p><strong>\u00ab\u2009Le client est le seul expert de son projet de vie.\u2009\u00bb</strong> (<em>Comprendre et pratiquer le coaching personnel</em>, p.\u00a0202)</p>\n</blockquote><h3><strong>Comprendre et pratiquer le coaching personnel: Coaching personnel et formation</strong></h3><p>Le coaching personnel se distingue de la formation et en particulier de deux formes\u00a0: la formation au sens du <em>training</em> (entra\u00eenement) et le cod\u00e9veloppement.</p><p>La <strong>formation/<em>training</em></strong> vise \u00e0 acqu\u00e9rir des savoirs, des comp\u00e9tences ou des aptitudes et repose sur des th\u00e9matiques bien d\u00e9finies (apprentissage du piano, d\u2019un sport, etc.) et des programmes d\u00e9termin\u00e9s avec cahier des charges et \u00e9valuations. Le formateur est plac\u00e9 en position haute vis-\u00e0-vis du contenu, puisque c\u2019est lui qui d\u00e9tient le savoir et le d\u00e9livre.</p><p>Le <strong>cod\u00e9veloppement</strong> consiste en une aide fournie aux managers\u00a0: il est un dispositif d\u2019accompagnement visant \u00e0 prendre du recul, \u00e0 favoriser la coop\u00e9ration et l\u2019entraide et \u00e0 mobiliser, ce faisant, l\u2019intelligence collective. On parle alors surtout de facilitateur, qui n\u2019est pas n\u00e9cessairement un coach professionnel, mais qui est en revanche form\u00e9 sp\u00e9cifiquement \u00e0 ce type de pratique.</p><p>Par contraste, le <strong>coaching de vie</strong> met en pr\u00e9sence un client qui cherche des savoirs et des solutions en lui-m\u00eame, en affrontant ses propres obstacles. Il a besoin d\u2019une prise de distance qui lui permette d\u2019agir de fa\u00e7on plus pertinente et coh\u00e9rente. Le coach est en position basse sur le contenu, puisque celui-ci est apport\u00e9 par le coach\u00e9\u2009; en revanche, il sera en position haute sur le processus, puisqu\u2019il va guider le client dans sa d\u00e9marche en l\u2019aidant \u00e0 red\u00e9finir ses probl\u00e8mes et son projet de vie.</p><h3><strong>Comprendre et pratiquer le coaching personnel: Coaching personnel et coaching en entreprise</strong></h3><p>Il arrive souvent que les personnes s\u2019engagent dans un coaching personnel au moment d\u2019une reconversion ou d\u2019un changement de fonction dans l\u2019entreprise. Ils pourraient demander un financement de celle-ci, mais ne le font pas. Pourquoi\u2009?</p><p>\u00ab\u2009Deux raisons majeures g\u00e9n\u00e8rent la demande de coaching personnel plut\u00f4t que de coaching en entreprise\u00a0:</p><ul><li>D\u2019une part, nos clients ne veulent pas que leur d\u00e9marche soit officialis\u00e9e\u2009;</li>\n<li>D\u2019autre part, ils consid\u00e8rent qu\u2019il s\u2019agit d\u2019une d\u00e9marche de changement personnel et de d\u00e9veloppement et ne se consid\u00e8rent donc pas en position l\u00e9gitime de solliciter un financement \u00e0 l\u2019entreprise ou \u00e0 l\u2019organisation \u00e0 laquelle ils appartiennent.</li>\n</ul><p>La troisi\u00e8me raison compl\u00e9mentaire pour laquelle nos clients viennent dans nos cabinets, c\u2019est la solitude face \u00e0 la prise de d\u00e9cision\u00a0: ils font appel au coaching quand ils se sentent confront\u00e9s \u00e0 une d\u00e9cision capitale pour eux et qui engage leur avenir.\u2009\u00bb (<em>Comprendre et pratiquer le coaching personnel</em>, p.\u00a0217-218)</p><p>Concernant le caract\u00e8re personnel de la d\u00e9marche, le client peut \u00eatre rassur\u00e9 par <strong>la confidentialit\u00e9</strong> \u00e0 laquelle s\u2019engage le coach et le fait que les s\u00e9ances aient lieu en dehors de l\u2019entreprise (ce qui implique, d\u2019ailleurs, de mettre en place des syst\u00e8mes pour \u00e9viter la rencontre de deux clients). Surtout, passer du coaching professionnel au coaching personnel permet de s\u2019assurer que ce seront bien les objectifs de la personne qui seront au centre du processus, et non pas ceux de l\u2019entreprise.</p><p><strong>L\u2019autofinancement</strong> assure aussi un pouvoir plus grand du coach\u00e9 sur le cadre de l\u2019interaction (sa dur\u00e9e, ses pauses \u00e9ventuelles, son arr\u00eat, etc.). Il s\u2019agit de faire du \u00ab\u2009sur-mesure\u2009\u00bb. Certes, le prix peut \u00eatre \u00e9lev\u00e9\u00a0: on comptera aux alentours de 1000 \u00e0 15\u2009000\u00a0\u20ac pour 10\u00a0s\u00e9ances, selon les auteurs. C\u2019est donc un \u00ab\u2009luxe\u2009\u00bb que tout le monde ne peut se payer. Il demande \u00e9galement un investissement en temps et une implication personnelle s\u00e9rieuse.</p><p>Enfin, le coach\u00e9 peut se sentir libre d\u2019aborder <strong>toutes les th\u00e9matiques et tous les domaines de sa vie</strong>, ce qu\u2019il ne peut pas faire dans le cadre d\u2019un coaching en entreprise. Il peut \u00e9voquer tranquillement ses doutes et ses contradictions et prendre le temps d\u2019explorer chaque domaine de sa vie, pour voir comment les \u00e9quilibrer et les harmoniser. C\u2019est \u00e0 eux, au final, que revient la responsabilit\u00e9 de leur propre vie.</p><blockquote>\n<p>\u00ab\u2009D\u00e9cider d\u2019un <a href=\"https://des-livres-pour-changer-de-vie.com/mon-nouveau-livre-gratuit/\" target=\"_blank\" rel=\"noopener\">nouveau choix de vie</a>, c\u2019est engager les ann\u00e9es \u00e0 venir et un certain nombre \u201cd\u2019investissements\u201d \u00e0 faire (en termes d\u2019\u00e9nergie, de temps et de finances), de choses \u00e0 l\u00e2cher, d\u2019\u00e9l\u00e9ments \u00e0 r\u00e9organiser\u2026 alors ne pas d\u00e9cider \u00e0 la l\u00e9g\u00e8re semble appropri\u00e9\u2009! Pour le coach, ne pas conseiller fait partie de sa d\u00e9ontologie\u00a0: il s\u2019engage \u00e0 laisser le coach\u00e9 libre de ses choix. La solitude est un fait\u00a0: m\u00eame accompagn\u00e9e, la personne coach\u00e9e est en r\u00e9alit\u00e9 seule \u00e0 prendre les d\u00e9cisions qui engagent son avenir. [\u2026] Le coaching permet donc de ne pas se sentir seul(e) au cours de la r\u00e9flexion pr\u00e9alable ou de la mise en \u0153uvre d\u2019une d\u00e9cision. En \u00e9voquant les cons\u00e9quences des diff\u00e9rentes solutions possibles, le client arrive \u00e0 se repr\u00e9senter un r\u00e9sultat, plus ais\u00e9ment qu\u2019en r\u00e9fl\u00e9chissant seul.\u2009\u00bb (<em>Comprendre et pratique le coaching personnel</em>, p.\u00a0231)</p>\n</blockquote><h3><strong>Conclusion. Pont vers le futur</strong></h3><blockquote>\n<p>\u00ab\u2009Pour nous, il ne fait aucun doute que le coaching personnel existe, en tant que relation d\u2019aide, d\u00e8s lors qu\u2019un individu, en son nom propre, s\u2019engage dans une d\u00e9marche d\u2019accompagnement en vue de la r\u00e9alisation de son projet. [\u2026] Il est clair pour nous que le coaching personnel, en tant qu\u2019<strong>accompagnement d\u2019un individu dans tous ses domaines de vie</strong>, englobe tous les types de coaching, quelle que soit leur porte d\u2019entr\u00e9e.\u2009\u00bb (<em>Comprendre et pratiquer le coaching personnel</em>, p.\u00a0235-236)</p>\n</blockquote><p>Les auteurs ont confiance en l\u2019avenir de leur pratique, qu\u2019ils estiment d\u00e9j\u00e0 sortie des probl\u00e8mes de l\u00e9gitimit\u00e9 qui la taraudaient \u00e0 ses commencements. D\u00e9sormais, gr\u00e2ce au travail des institutions et associations, <strong>la pratique est devenue une profession reconnue</strong>, un m\u00e9tier qui s\u2019exerce dans un cadre pr\u00e9cis et s\u2019apprend \u00e0 l\u2019universit\u00e9. Le coaching personnel continuera de se renforcer et de se d\u00e9velopper, en France et dans le reste du monde.</p><h3><strong>Annexes</strong></h3><p>Odile Cluzel, Francis Colnot et Florence Vitry\u00a0enrichissent l\u2019ouvrage d\u2019un certain nombre d\u2019annexes bien utiles.</p><ul><li>Une liste des associations et formations\u2009;</li>\n<li>Une feuille de route du premier entretien\u2009;</li>\n<li>Un guide pour passer un contrat avec le coach\u00e9\u2009;</li>\n<li>Une grille d\u2019\u00e9valuation qualitative de l\u2019entretien par le coach\u00e9\u2009;</li>\n<li>Les codes des principales associations de coaches en France.</li>\n</ul><p><img class=\"aligncenter wp-image-24319 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/Prendre-confiance-ensoi-e1630312057320.jpg?is-pending-load=1\" alt=\"Comprendre et pratiquer le coaching personnel: Prendre confiance en soi gr\u00e2ce au coaching personnel\" width=\"600\" height=\"362\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-24319 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/Prendre-confiance-ensoi-e1630312057320.jpg\" alt=\"Comprendre et pratiquer le coaching personnel: Prendre confiance en soi gr\u00e2ce au coaching personnel\" width=\"600\" height=\"362\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h2><strong>Conclusion sur \u00ab\u2009<em>Comprendre et pratiquer le coaching personnel. Comment devenir un bon coach de vie</em>\u2009\u00bb d\u2019Odile Cluzel, Francis Colnot et Florence Vitry\u00a0:</strong></h2><h3><strong>Un livre pour d\u00e9limiter le travail du coach personnel (ou du coach de vie)</strong></h3><p>Ce livre est enti\u00e8rement centr\u00e9 sur <strong>la question de la sp\u00e9cificit\u00e9 du m\u00e9tier de coach personnel</strong> (ou coach de vie). \u00c0 chaque page ou presque, on sent la volont\u00e9 des auteurs de rendre sensible cette particularit\u00e9 et de la faire surgir pour le lecteur.</p><p>Celui-ci est d\u2019abord introduit \u00e0 l\u2019histoire et au processus d\u2019institutionnalisation de ce m\u00e9tier (<strong>chapitre\u00a01</strong>), puis \u00e0 la diff\u00e9rence entre coaching personnel et coaching professionnel (<strong>chapitre\u00a02</strong>). Ensuite, il en apprend davantage sur les caract\u00e9ristiques qui permettent d\u2019identifier le coach personnel (<strong>chapitre\u00a03</strong>). Enfin, les auteurs marquent les \u00ab\u2009fronti\u00e8res\u2009\u00bb du m\u00e9tier en le comparant aux pratiques des psychoth\u00e9rapeutes, des entra\u00eeneurs, des formateurs et \u2014 \u00e0 nouveau \u2014 des coaches professionnels (<strong>chapitre\u00a04</strong>).</p><p>Si vous souhaitez diversifier votre compr\u00e9hension ou votre pratique du coaching, n\u2019h\u00e9sitez pas \u00e0 jeter un \u0153il du c\u00f4t\u00e9 de cet autre livre, <a href=\"https://des-livres-pour-changer-de-vie.com/le-coach-prospere/\" target=\"_blank\" rel=\"noopener\"><em>Le coach prosp\u00e8re</em></a>.</p><h3><strong>Ce qu\u2019il faut retenir de \u00ab\u2009<em>Comprendre et pratiquer le coaching personnel. Comment devenir un bon coach de vie</em>\u2009\u00bb\u00a0:</strong></h3><p><strong>Premier enseignement important\u00a0</strong>: le coaching personnel ou coaching de vie est un m\u00e9tier \u00e0 part enti\u00e8re, qui dispose de ses formations universitaires ou sup\u00e9rieures, de ses codes de d\u00e9ontologie, de ses associations de r\u00e9f\u00e9rence et de ses signes de reconnaissance administratifs (notamment via le RNCP) en France.</p><p><strong>Deuxi\u00e8me enseignement majeur</strong>\u00a0: le projet de vie est au c\u0153ur de l\u2019accompagnement fourni par le coach personnel ou coach de vie. En ce sens, le coaching personnel est un accompagnement de la personne dans les diff\u00e9rents domaines de sa vie (famille, relations sociales, d\u00e9veloppement des talents, etc.), et non seulement un accompagnement d\u2019ordre professionnel.</p><p><strong>Troisi\u00e8me chose \u00e0 retenir\u00a0</strong>: en tant qu\u2019accompagnement de la personne, le coaching personnel est une d\u00e9marche qui vise l\u2019autonomie. Le coach soutient par sa pr\u00e9sence, renforce la <a href=\"https://des-livres-pour-changer-de-vie.com/le-pouvoir-de-la-confiance-en-soi/\" target=\"_blank\" rel=\"noopener\">confiance en soi</a> par des mots ad\u00e9quats, propose des exercices et soul\u00e8ve des questions ou des incoh\u00e9rences, mais il ne juge ni ne conseille.</p><p>Ce dernier point est bien d\u00e9crit par <strong>Florence Lamy</strong>, r\u00e9dactrice de l\u2019une des deux pr\u00e9faces de l\u2019ouvrage\u00a0:</p><blockquote>\n<p>\u00ab\u2009Le coaching personnel [\u2026] n\u00e9cessite cette qualit\u00e9 du questionnement, cet art d\u2019ouvrir le regard de l\u2019autre, de l\u2019aider \u00e0 d\u00e9caler son point de vue pour sortir de la bo\u00eete. Int\u00e9grer le questionnement comme un art relationnel permet d\u2019aborder de nombreuses perspectives et m\u00eame parfois de sauter d\u2019un niveau de sens \u00e0 un autre. Et surtout, faire de cet art un des points centraux de sa pratique de coach (nous ne sommes pas uniquement dans l\u2019\u00e9coute m\u00eame si elle se doit d\u2019\u00eatre, elle aussi, de grande qualit\u00e9), nous pr\u00e9serve de l\u2019\u00e9cueil majeur de tomber dans le conseil.\u2009\u00bb (Florence Lamy, ancienne \u00e9l\u00e8ve du DESU en coaching personnel organis\u00e9 par les auteurs, Pr\u00e9face \u00e0 la 4<sup>e</sup>\u00a0\u00e9dition)</p>\n</blockquote><p>Mais laissons le mot de la fin aux auteurs\u00a0:</p><blockquote>\n<p>\u00ab\u2009Oui, le coaching de vie est une pratique en plein essor, car il permet \u00e0 la personne d\u2019identifier sa vocation intime, celle qui lui procure du plaisir\u2009; de structurer, \u00e9tape apr\u00e8s \u00e9tape, la trajectoire susceptible de la conduire vers l\u2019expression la plus intense de cette vocation et de trouver l\u2019environnement qui va l\u2019accueillir.\u2009\u00bb (<em>Comprendre et pratiquer le coaching personnel</em>, p.\u00a029)</p>\n</blockquote><p><em>Points\u00a0<strong>forts</strong>\u00a0:</em></p><ul><li>Une \u00e9criture globalement dynamique\u2009;</li>\n<li>Un bon \u00e9quilibrage des aspects r\u00e9flexifs, th\u00e9oriques et des exemples\u2009;</li>\n<li>Les annexes.</li>\n</ul><p><em>Points\u00a0<strong>faibles</strong>\u00a0:</em></p><ul><li>L\u2019\u00e9criture \u00e0 six mains est un processus p\u00e9rilleux\u00a0: sans une vue tr\u00e8s pr\u00e9cise de ce que doit dire chacun, on court le risque de la r\u00e9p\u00e9tition et du bavardage \u2013 or c\u2019est, par moment, l\u2019impression que l\u2019on peut avoir en lisant l\u2019ouvrage\u2009;</li>\n<li>Des intertitres qui s\u00e8ment un peu la confusion.</li>\n</ul><p>Ma note\u00a0:</p><p><img width=\"25\" height=\"24\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png?is-pending-load=1\" alt=\"image\" srcset=\"\" class=\"jetpack-lazy-image\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"25\" height=\"24\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\u00a0\n<p><img width=\"25\" height=\"24\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" referrerpolicy=\"no-referrer\" /></p>\n\u00a0\n<p><img width=\"25\" height=\"24\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" referrerpolicy=\"no-referrer\" /></p>\n\u00a0\n<p><img width=\"25\" height=\"24\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" referrerpolicy=\"no-referrer\" /></p>\n\u00a0<img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image6.png\" alt=\"image\" width=\"24\" height=\"22\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /><p class=\"c9\">Avez-vous lu le livre d\u2019Odile Cluzel, Francis Colnot et Florence Vitry \u00ab\u2009<em>Comprendre et pratiquer le coaching personnel. Comment devenir un bon coach de vie</em>\u2009\u00bb\u2009? Combien le notez-vous\u2009?</p><p class=\"c9\"><img width=\"16\" height=\"16\" id=\"rating_24311_1\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif?is-pending-load=1\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" srcset=\"\" class=\"jetpack-lazy-image c10\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"16\" height=\"16\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p><img width=\"16\" height=\"16\" id=\"rating_24311_2\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Passable - Un ou deux passages int\u00e9ressants\" title=\"Passable - Un ou deux passages int\u00e9ressants\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24311_3\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Moyen - Quelques bonnes id\u00e9es\" title=\"Moyen - Quelques bonnes id\u00e9es\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24311_4\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" title=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24311_5\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" title=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n(<strong>1</strong>votes, moyenne:<strong>3,00</strong>out of 5)<br />\n<p><img src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\nLoading...<p class=\"c9\"><a href=\"https://amzn.to/3wGyMU5\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin de lire plus de commentaires sur le livre</a>\u00a0d\u2019Odile Cluzel, Francis Colnot et Florence Vitry \u00ab\u2009<em>Comprendre et pratiquer le coaching personnel. Comment devenir un bon coach de vie</em>\u2009\u00bb</p><p class=\"c9\"><a href=\"https://amzn.to/3wEuuN2\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin d\u2019acheter le livre\u00a0</a>d\u2019Odile Cluzel, Francis Colnot et Florence Vitry \u00ab\u2009<em>Comprendre et pratiquer le coaching personnel. Comment devenir un bon coach de vie</em>\u2009\u00bb</p><noscript>\n</noscript>",
    "created_at": "2022-05-02T07:56:40+00:00",
    "updated_at": "2022-05-02T07:56:47+00:00",
    "published_at": "2022-01-13T16:00:29+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 37,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/Comprendre-et-pratiquer-le-coaching-personnel-e1636783320451.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["livre", "resume", "bien-etre"],
    "is_public": false,
    "id": 26,
    "title": "Cultiver l'intelligence R\u00e9sum\u00e9 et avis Giuseppe Sorrentino",
    "url": "https://des-livres-pour-changer-de-vie.com/cultiver-lintelligence/",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><p><a href=\"https://amzn.to/3FaW5IC\" target=\"_blank\" rel=\"noopener\" class=\"external\">\n<p><img class=\"aligncenter wp-image-24413 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Cultiver-intelligence-e1636955181377.jpg\" alt=\"Couverture de cultiver l'intelligence de Giuseppe Sorrentino\" width=\"219\" height=\"350\" referrerpolicy=\"no-referrer\" /></p>\n</a></p><blockquote>\n<p><strong>R\u00e9sum\u00e9 de \u00ab\u2009<em>Cultiver l\u2019intelligence. Techniques et strat\u00e9gies pour apprendre, se souvenir et augmenter ses capacit\u00e9s de concentration</em>\u2009\u00bb de Giuseppe Sorrentino\u00a0:</strong> un petit livre \u00e0 mettre dans votre sac et \u00e0 emporter partout, afin de vous rappeler comment vous pouvez, par quelques moyens simples et quelques efforts, renforcer votre m\u00e9moire et profiter de toutes vos capacit\u00e9s mentales\u2009!</p>\n</blockquote><p>Par Giuseppe Sorrentino, 2020, 119 pages.</p><h2><strong>Chronique et r\u00e9sum\u00e9 de \u00ab\u2009<em>Cultiver l\u2019intelligence. Techniques et strat\u00e9gies pour apprendre, se souvenir et augmenter ses capacit\u00e9s de concentration</em>\u2009\u00bb\u00a0de Giuseppe Sorrentino</strong></h2><h3><strong>Introduction</strong></h3><p>Vous estimez-vous intelligent ou non\u2009? Que signifie pour vous cet adjectif\u2009? Et quelle importance accordez-vous \u00e0 cette facult\u00e9\u00a0: l\u2019intelligence\u2009? Est-elle modulable\u2009? <strong>Peut-on devenir (plus) intelligent\u2009?</strong> Ce livre a pour ambition de donner des cl\u00e9s permettant \u00e0 chacun de r\u00e9pondre \u00e0 ces questions.</p><blockquote>\n<p>\u00ab\u2009Nous souhaitons avant tout r\u00e9pondre \u00e0 une question cruciale\u00a0: est-il possible de d\u00e9velopper l\u2019intelligence\u2009? Peut-on cultiver notre esprit et am\u00e9liorer nos capacit\u00e9s mentales\u2009?\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a07)</p>\n</blockquote><p>Tout \u00e0 fait\u2009! Toutefois, il ne s\u2019agit pas d\u2019un ouvrage compos\u00e9 de formules magiques\u00a0: il est impossible de changer en quelques secondes. Vous y trouverez plut\u00f4t des <strong>conseils \u00e0 appliquer sur le long terme</strong>. Parce qu\u2019accro\u00eetre son intelligence prend du temps, tout simplement.</p><p>Vous \u00eates pr\u00eat\u2009? Allez, c\u2019est parti pour un petit voyage dans le \u00ab\u2009jardin\u2009\u00bb de l\u2019intelligence\u2009!</p><h3><strong>Chapitre\u00a01. Cultiver l\u2019intelligence: Une personne intelligente</strong></h3><p>Qu\u2019est-ce qu\u2019une personne intelligente\u2009? Est-ce la personne qui obtient les meilleures notes en classe\u2009? Non. Cela, ce n\u2019est qu\u2019un indicateur. Et il peut nous tromper.</p><p>Des enfants peuvent r\u00e9ussir tr\u00e8s diversement \u00e0 l\u2019\u00e9cole et \u00eatre, pourtant, tous intelligents. Simplement, les capacit\u00e9s mentales des uns seront bien dirig\u00e9es et entra\u00een\u00e9es, tandis que celles des autres seront moins bien canalis\u00e9es.</p><p>Pour se faire comprendre, l\u2019auteur prend l\u2019exemple fictif de trois enfants et de leur <strong>rapport \u00e0 la scolarit\u00e9</strong>\u00a0:</p><ul><li>R\u00e9becca est une bonne \u00e9l\u00e8ve, elle est concentr\u00e9e sur ses t\u00e2ches et a un rythme de vie bien \u00e9tabli\u2009;</li>\n<li>Mario est un cancre qui adore bricoler et qui ne b\u00e9n\u00e9ficie pas toujours du meilleur encadrement \u00e0 la maison\u2009;</li>\n<li>Julia pr\u00e9f\u00e8re apprendre \u00e0 jouer un instrument en autodidacte et qui parvient, tout juste, \u00e0 obtenir la moyenne.</li>\n</ul><p>Peut-on qualifier \u00e0 priori R\u00e9becca de plus intelligente que Julia, et Julia de plus intelligente que Mario\u2009? Certainement pas\u2009! D\u2019une part, parce qu\u2019ils d\u00e9veloppent tous des comp\u00e9tences dans divers domaines (la musique, le bricolage, l\u2019\u00e9tude). D\u2019autre part, parce que chacun d\u2019entre eux peut modifier ses habitudes pour <a href=\"https://des-livres-pour-changer-de-vie.com/jai-choisi-leducation-positive/\" target=\"_blank\" rel=\"noopener\">augmenter ses chances de r\u00e9ussite</a>.</p><p><strong>L\u2019intelligence n\u2019est pas une facult\u00e9 unique dont on disposerait \u00e0 priori</strong>, mais un jardin compos\u00e9 de diff\u00e9rents \u00e9l\u00e9ments, qui s\u2019entretient et se cultive au quotidien.</p><p><img class=\"aligncenter wp-image-24421 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Intelligence-et-scolarite-e1631023662789.jpg?is-pending-load=1\" alt=\"Cultiver l'intelligence: L'intelligence ne se r\u00e9duit pas aux r\u00e9sultats scolaires\" width=\"600\" height=\"424\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-24421 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Intelligence-et-scolarite-e1631023662789.jpg\" alt=\"Cultiver l'intelligence: L'intelligence ne se r\u00e9duit pas aux r\u00e9sultats scolaires\" width=\"600\" height=\"424\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Chapitre\u00a02. Cultiver l\u2019intelligence: Le QI. Oui, et apr\u00e8s\u2009?</strong></h3><p>En fait, comme nous allons le voir progressivement dans ce livre, beaucoup de facteurs influencent les performances cognitives. Il faut donc travailler sur ces facteurs pour am\u00e9liorer l\u2019intelligence, plut\u00f4t que de se consid\u00e9rer, \u00e0 la base, comme quelqu\u2019un de b\u00eate ou d\u2019incapable.</p><p>Il convient tout particuli\u00e8rement de <strong>ne pas trop pr\u00eater attention aux r\u00e9sultats des tests de QI</strong> que l\u2019on trouve en ligne. D\u2019abord, parce qu\u2019il s\u2019agit souvent d\u2019ersatz de tests professionnels\u2009; ensuite, parce que le QI n\u2019est qu\u2019une mesure parmi d\u2019autres de l\u2019intelligence.</p><p>M\u00eame si vous allez voir un sp\u00e9cialiste pour passer ce type de test (apr\u00e8s tout, pourquoi pas), ne demeurez pas prisonnier de l\u2019\u00e9tiquette qui vous sera attribu\u00e9e\u00a0: c\u2019est dans l\u2019action que vous devez vous \u00e9valuer, c\u2019est-\u00e0-dire en fonction de chaque situation et en fonction de l\u2019apprentissage que vous \u00eates capable de faire.</p><h3><strong>Chapitre\u00a03. Cultiver l\u2019intelligence: Un jardin bien entretenu</strong></h3><blockquote>\n<p>\u00ab\u2009Votre esprit, pour travailler au mieux, doit \u00eatre consid\u00e9r\u00e9 comme un jardin que l\u2019on entretient\u2009! Toutes les mauvaises herbes doivent \u00eatre enlev\u00e9es, les pots doivent \u00eatre ordonn\u00e9s, certaines plantes doivent \u00eatre taill\u00e9es, les nuisibles doivent \u00eatre chass\u00e9s, les nutriments doivent \u00eatre reconstitu\u00e9s dans le sol, de nouvelles plantes doivent \u00eatre achet\u00e9es et arros\u00e9es r\u00e9guli\u00e8rement.\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a017)</p>\n</blockquote><p>Cela demande bien s\u00fbr de <a href=\"https://des-livres-pour-changer-de-vie.com/top-200-citations-de-motivation-pour-rester-super-motive/\" target=\"_blank\" rel=\"noopener\">la motivation</a>. Giuseppe Sorentino se propose aussi d\u2019aborder ce point, mais il met en garde\u00a0: c\u2019est \u00e0 vous de prendre les choses en main \u2014 la seule lecture d\u2019un livre ne vous aidera gu\u00e8re\u2009! <strong>Il faut agir</strong>.</p><h3><strong>Cultiver l\u2019intelligence: Par o\u00f9 commencer</strong></h3><p>Votre jardin est peut-\u00eatre en jach\u00e8re. Ou du moins, il n\u2019est pas tr\u00e8s bien rang\u00e9. Par o\u00f9 commencer les r\u00e9novations\u2009? Vous devrez regarder autour de vous\u00a0: quels sont les outils \u00e0 votre disposition\u2009? De quoi le jardin est-il compos\u00e9 (quels types de fleurs, de plantes, etc.)\u2009? Que faire des mauvaises herbes\u2009?</p><p>Pas moyen d\u2019y \u00e9chapper\u00a0: il va falloir <a href=\"https://des-livres-pour-changer-de-vie.com/marie-kondo-et-la-methode-konmari-pour-changer-de-vie/\" target=\"_blank\" rel=\"noopener\"><strong>faire du tri</strong></a>.</p><h3><strong>Le temps</strong></h3><p>C\u2019est moins le temps en lui-m\u00eame que votre repr\u00e9sentation du temps qui joue un r\u00f4le sur l\u2019intelligence. Dans ce livre, vous apprendrez \u00e0 le voir comme un alli\u00e9. Il sera aussi important d\u2019aborder la question de l\u2019organisation de votre temps.</p><h3><strong>Le corps</strong></h3><p>Corps et esprit sont indissociables en pratique. \u00ab\u2009Un esprit sain dans un corps sain\u2009\u00bb, dit le proverbe. C\u2019est exactement l\u2019id\u00e9e qui est d\u00e9velopp\u00e9e ici. Pour devenir plus intelligent, il n\u2019y a donc pas de miracle\u00a0: il sera n\u00e9cessaire de prendre soin de son corps, notamment par le biais d\u2019une alimentation \u00e9quilibr\u00e9e et du sport.</p><h3><strong>La motivation</strong></h3><p>Comment acqu\u00e9rir une motivation sur le long terme\u2009? C\u2019est l\u2019une des questions \u00e0 se poser lorsqu\u2019on cherche \u00e0 \u00eatre plus intelligent. Sans volont\u00e9, sans but, l\u2019intelligence erre et se fane. Il faut donc trouver le moyen de la maintenir vivace en chaque occasion.</p><h3><strong>L\u2019ordre ou la libert\u00e9\u2009?</strong></h3><p>L\u2019auteur r\u00e9pond de fa\u00e7on originale\u00a0: il est bon d\u2019utiliser les deux\u2009! D\u2019une part, l\u2019ordre apporte une efficacit\u00e9 (donc une \u00e9conomie de moyens) qui est b\u00e9n\u00e9fique \u00e0 l\u2019intelligence. Mais d\u2019autre part, la confusion offre \u00e0 l\u2019intelligence la perspective et la capacit\u00e9 \u00e0 trouver de nouvelles solutions.</p><h3><strong>La logique</strong></h3><p>L\u2019intelligence n\u2019est pas la logique\u2009! Mais la logique, assur\u00e9ment, contribue \u00e0 l\u2019intelligence. C\u2019est-\u00e0-dire\u2009? La logique est un instrument qui peut nous aider \u00e0 r\u00e9soudre des probl\u00e8mes complexes, rien de plus. Ce n\u2019est pas une fin en soi, ni le seul signe tangible qu\u2019une personne soit mentalement dou\u00e9e ou non.</p><h3><strong>La cr\u00e9ativit\u00e9</strong></h3><p>Imagination et cr\u00e9ativit\u00e9 sont aussi deux facettes de l\u2019intelligence, ou plut\u00f4t deux \u00e9l\u00e9ments qui la composent. Alli\u00e9es \u00e0 la logique et \u00e0 la recherche de solutions concr\u00e8tes, elles font des miracles\u2009! Leur r\u00f4le\u2009? Trouver un \u00e9ventail de solutions que la logique devra ensuite comparer et sous-peser pour qu\u2019un choix puisse \u00eatre fait.</p><h3><strong>Cultiver l\u2019intelligence: La m\u00e9moire</strong></h3><p>Apprendre par c\u0153ur est un poncif de l\u2019\u00e9cole. On nous apprend souvent \u00e0 avoir la t\u00eate \u00ab\u2009bien pleine\u2009\u00bb, plut\u00f4t que \u00ab\u2009bien faite\u2009\u00bb, pour paraphraser Montaigne. Ceci dit, il n\u2019est pas inutile d\u2019avoir une bonne m\u00e9moire\u2009! Pour \u00ab\u2009bien faire\u2009\u00bb, il est souvent important de ma\u00eetriser un certain nombre d\u2019informations et donc d\u2019avoir celles-ci en m\u00e9moire.</p><p>Toutefois, l\u2019oubli joue lui aussi un r\u00f4le capital dans le d\u00e9veloppement de l\u2019intelligence, puisqu\u2019il permet de laisser tomber les connaissances inutiles et de se focaliser sur ce qui est vraiment important.</p><h3><strong>Cultiver l\u2019intelligence: Les \u00e9motions</strong></h3><blockquote>\n<p>\u00ab\u2009Si l\u2019intelligence est d\u00e9finie comme la capacit\u00e9 de trouver la meilleure solution \u00e0 un probl\u00e8me auquel nous sommes confront\u00e9s, il est impossible de laisser nos \u00e9motions et nos valeurs de c\u00f4t\u00e9.\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a024)</p>\n</blockquote><p>La peur, l\u2019anxi\u00e9t\u00e9, la joie, la honte, etc. sont des \u00e9motions qui favorisent ou inhibent l\u2019expression des id\u00e9es. C\u2019est pourquoi il importera d\u2019apprendre \u00e0 les g\u00e9rer pour devenir plus intelligent.</p><h3><strong>La socialit\u00e9</strong></h3><p>Il importe aussi de savoir rep\u00e9rer les \u00e9motions d\u2019autrui et de s\u2019int\u00e9resser \u00e0 son exp\u00e9rience. L\u2019empathie joue un r\u00f4le tout \u00e0 fait primordial dans le d\u00e9veloppement de l\u2019intelligence et c\u2019est aussi un point sur lequel ce livre se propose d\u2019insister.</p><p><img class=\"aligncenter wp-image-24422 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Cultiver-intelligence-comme-un-jardin-e1631023719970.jpg?is-pending-load=1\" alt=\"Cultiver l'intelligence: Cultiver son intelligence comme un jardin\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-24422 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Cultiver-intelligence-comme-un-jardin-e1631023719970.jpg\" alt=\"Cultiver l'intelligence: Cultiver son intelligence comme un jardin\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Chapitre\u00a04. Cultiver l\u2019intelligence: La motivation</strong></h3><p>Nous n\u2019avons aucun mal \u00e0 accomplir certaines activit\u00e9s. D\u2019autres, en revanche, sont une vraie corv\u00e9e. Pourquoi\u2009? Parce que nous n\u2019avons peut-\u00eatre pas toujours une claire vision des objectifs auxquels nous souhaitons arriver.</p><p>Si nous rechignons \u00e0 effectuer certaines t\u00e2ches, c\u2019est parce que nous manquons de motivation \u2014 c\u2019est-\u00e0-dire d\u2019un <em>motif</em> qui nous pousse \u00e0 agir. En g\u00e9n\u00e9ral, c\u2019est souvent la passion qui nous pousse \u2014 sans passion, pas d\u2019action et donc pas de r\u00e9sultats.</p><p>Toutefois, il peut \u00eatre bon d\u2019acqu\u00e9rir des comp\u00e9tences dans des domaines pour lesquels nous avons peu de passion, c\u2019est-\u00e0-dire peu d\u2019int\u00e9r\u00eat imm\u00e9diat (plaisir, bien-\u00eatre, etc.). Dans ce cas, il faut parvenir \u00e0 <strong>formuler un objectif d\u00e9sirable</strong> pour se donner de la motivation \u00e0 agir, m\u00eame sans recevoir de b\u00e9n\u00e9fice dans l\u2019instant pr\u00e9sent.</p><h3><strong>Noir sur blanc (mais en couleur)</strong></h3><p>Que faire si, justement, vous voulez devenir plus intelligent, mais que vous avez quelques difficult\u00e9s \u00e0 vous y mettre\u2009? Voici le conseil de Guiseppe Sorrentino pour <strong>d\u00e9velopper sa motivation</strong>.</p><ul><li>Tout d\u2019abord, choisissez votre objectif\u2009;</li>\n<li>Ensuite, asseyez-vous confortablement\u2009;</li>\n<li>Une fois assis, formez une image claire du moment o\u00f9 vous aurez atteint cet objectif\u2009;</li>\n<li>Enrichissez cette image d\u2019une foule de sensations agr\u00e9ables (visuelles, auditives, kinesth\u00e9siques)\u2009;</li>\n<li>Ancrez cette image en vous et mat\u00e9rialisez-l\u00e0 aussi dans le monde ext\u00e9rieur (sur une feuille de papier, \u00e9crivez votre but et mettez la feuille dans votre portefeuille)\u2009;</li>\n<li>Revenez \u00e0 votre objectif d\u00e8s que le besoin s\u2019en fait sentir, en relisant les mots sur la feuille et en vous replongeant dans le \u00ab\u2009souvenir\u2009\u00bb que vous aurez cr\u00e9\u00e9.</li>\n</ul><p>L\u2019auteur ne le mentionne pas, mais cette technique est issue de la <a href=\"https://des-livres-pour-changer-de-vie.com/la-pnl-guide-pratique-de-la-programmation-neuro-linguistique/\" target=\"_blank\" rel=\"noopener\">programmation neurolinguistique</a> (PNL). Un autre conseil qu\u2019il donne consiste \u00e0 <strong>trouver une personne de confiance</strong> \u00e0 qui raconter votre objectif.</p><blockquote>\n<p>\u00ab\u2009La t\u00e2che de cette personne sera de vous suivre, \u00e9tape par \u00e9tape, et de vous dire lorsque vous d\u00e9viez du chemin. [\u2026] De cette fa\u00e7on, vous aurez une source de motivation interne [l\u2019objectif imag\u00e9] et une autre externe. C\u2019est l\u2019id\u00e9al pour parcourir le chemin qui vous attend.\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a032)</p>\n</blockquote><p>Vous pourriez \u00e9ventuellement faire appel \u00e0 un coach de vie (ou coach personnel) pour vous aider \u00e0 maintenir vos objectifs principaux.</p><h3><strong>Chapitre\u00a05. Cultiver l\u2019intelligence:Un temps pour agir</strong></h3><p>Les personnes ponctuelles font preuve d\u2019organisation\u2009; celles qui le sont moins sont en revanche plus spontan\u00e9es et, dit-on, plus optimistes. Alors, laquelle de ces deux caract\u00e9ristiques favorise le mieux l\u2019intelligence\u2009? Eh bien les deux, encore une fois\u2009! Cela d\u00e9pend tout simplement de la situation\u2026</p><h3><strong>Le temps, ce tyran</strong></h3><p>L\u2019accoutumance au stress ou <a href=\"https://des-livres-pour-changer-de-vie.com/le-nouvel-art-du-temps/\" target=\"_blank\" rel=\"noopener\">l\u2019impression de toujours manquer de temps</a> sont nocives pour la sant\u00e9.</p><p>Pour y mettre fin, <strong>organisez vos journ\u00e9es</strong> en faisant la liste de vos t\u00e2ches. Et adaptez-l\u00e0 de fa\u00e7on r\u00e9aliste. Insistons-y\u00a0: \u00e9crivez TOUT ce que vous faites et devez faire et pas seulement les t\u00e2ches principales que vous aviez pr\u00e9vu de r\u00e9aliser.</p><p>Vous pouvez aussi imaginer ce qui se passerait si vous arriviez en retard \u00e0 ce rendez-vous chez le coiffeur que vous avez \u00e0 16\u00a0heures par exemple. Serait-ce un drame\u2009? Soyez honn\u00eate en r\u00e9alisant l\u2019exercice et pr\u00e9parez-vous mentalement \u00e0 la situation. Ensuite, vivez-l\u00e0, c\u2019est-\u00e0-dire arrivez 10\u00a0minutes en retard\u2009!</p><p>Que s\u2019est-il pass\u00e9\u2009? Sans doute rien de grave. Apr\u00e8s quelques excuses et quelques bavardages, la situation est redevenue tout \u00e0 fait banale. Aucune catastrophe ne s\u2019est produite et vous vous \u00eates fait coiffer de fa\u00e7on tout aussi professionnelle que d\u2019habitude.</p><p>La le\u00e7on\u00a0de cette exp\u00e9rience\u2009? D\u00e9sormais, vous savez que vous pouvez <a href=\"https://des-livres-pour-changer-de-vie.com/votre-temps-est-infini/\" target=\"_blank\" rel=\"noopener\"><strong>g\u00e9rer le temps avec un peu plus de flexibilit\u00e9</strong></a>, parce que vous avez une juste appr\u00e9hension des cons\u00e9quences du retard. En \u00e9tant plus flexible, vous \u00eates moins stress\u00e9 et donc aussi plus intelligent, c\u2019est-\u00e0-dire plus apte \u00e0 trouver des solutions aux probl\u00e8mes.</p><h3><strong>Cultiver l\u2019intelligence: Qui va lentement va sainement et\u2026</strong></h3><p>Les personnes un peu trop laxistes en mati\u00e8re d\u2019horaires peuvent elles aussi s\u2019entra\u00eener \u00e0 mettre un peu d\u2019ordre dans leur planning. Cela les rendra \u00e9galement plus intelligentes, dans la mesure o\u00f9 elles deviendront capables de donner plus de valeur au temps.</p><p>Il s\u2019agit surtout d\u2019un enjeu important pour les individus qui ne parviennent pas \u00e0 se d\u00e9cider et qui laissent leur vie s\u2019\u00e9couler pour ainsi dire \u00ab\u2009malgr\u00e9 eux\u2009\u00bb, en ne parvenant pas \u00e0 accomplir leurs objectifs. Pour ces personnes, qui sont souvent en proie \u00e0 <a href=\"https://des-livres-pour-changer-de-vie.com/avalez-le-crapaud/\" target=\"_blank\" rel=\"noopener\">la procrastination</a>, les cons\u00e9quences de l\u2019inaction (ou de la mauvaise action) peuvent \u00eatre g\u00eanantes, voire tr\u00e8s n\u00e9fastes.</p><p>Comment changer\u2009? Comment cr\u00e9er une routine permettant de passer \u00e0 l\u2019action\u00a0et, de cette fa\u00e7on, limiter les retards que vous infligez aux autres\u00a0(et qui peuvent vous nuire)\u2009?</p><blockquote>\n<p>\u00ab\u2009Pour retrouver une conception du temps utile et fonctionnelle, vous avez besoin\u2026 d\u2019un stylo et de papier. Si aucune activit\u00e9 pr\u00e9cise n\u2019est programm\u00e9e pour la journ\u00e9e ou si vous n\u2019avez pas d\u2019heure fixe pour le d\u00e9jeuner, le d\u00eener, votre shopping ou autres, cr\u00e9ez-les, en ajoutant des activit\u00e9s qui vous font garder un \u0153il sur la montre. Cela ne doit pas devenir une obsession. Mais vous devrez simplement vous rappeler que le temps passe.\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a040)</p>\n</blockquote><p><strong>Un exercice</strong>\u00a0: imposez-vous des heures fixes pour la r\u00e9alisation de chaque t\u00e2che du quotidien (d\u00e9jeuner, sortir la poubelle, v\u00e9rifier le courrier, commencer \u00e0 travailler, etc.) et prenez note lorsque celle-ci est accomplie.</p><p>Gr\u00e2ce \u00e0 cet exercice, vous prendrez conscience que la moindre distraction peut chambouler cette structure. De cette fa\u00e7on, vous deviendrez \u00e9galement capable de mieux comprendre l\u2019\u00e9nervement ou les torts que vous pouvez causer autour de vous en n\u2019agissant pas de mani\u00e8re efficace. Vous minimiserez ainsi les cons\u00e9quences f\u00e2cheuses li\u00e9es \u00e0 votre attitude, ce qui est une preuve d\u2019intelligence\u2009!</p><h3><strong>Cultiver l\u2019intelligence: Donnez du temps au temps</strong></h3><blockquote>\n<p>\u00ab\u2009G\u00e9rer le temps de mani\u00e8re appropri\u00e9e vous permettra d\u2019\u00e9viter les conflits avec ceux qui vous entourent. Cela vous permettra d\u2019\u00e9viter des moments d\u2019anxi\u00e9t\u00e9 et de stress, dont les cons\u00e9quences peuvent parfois \u00eatre lourdes.\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a043)</p>\n</blockquote><p><img class=\"aligncenter wp-image-24423 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Gerer-le-temps-e1631023771892.jpg?is-pending-load=1\" alt=\"Cultiver l'intelligence: G\u00e9rer le temps\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-24423 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Gerer-le-temps-e1631023771892.jpg\" alt=\"Cultiver l'intelligence: G\u00e9rer le temps\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Chapitre\u00a06. Cultiver l\u2019intelligence: Le corps et l\u2019esprit</strong></h3><p>Il y a tant d\u2019interactions entre le corps et l\u2019esprit que ceux-ci sont tout bonnement ins\u00e9parables en pratique\u2009!</p><p>Pensez-y un instant\u00a0: votre r\u00e9gime alimentaire vous rend soit peu enclin \u00e0 r\u00e9fl\u00e9chir (visualisez-vous apr\u00e8s un bon repas), soit vous donne de l\u2019\u00e9nergie pour effectuer des t\u00e2ches complexes (lorsque vous mangez sainement et en bonne quantit\u00e9).</p><p>\u00c0 l\u2019inverse une mauvaise repr\u00e9sentation du temps, par exemple (comme on vient de le voir au chapitre\u00a05), peut g\u00e9n\u00e9rer un stress susceptible de nuire consid\u00e9rablement \u00e0 votre sant\u00e9. Autrement dit, s\u2019occuper de son intelligence, c\u2019est n\u00e9cessairement <strong>\u00eatre attentif \u00e0 son organisme</strong>.</p><h3><strong>Cultiver l\u2019intelligence: Se nourrir intelligemment</strong></h3><p>Giuseppe Sorrentino insiste sur deux points\u00a0: l\u2019\u00e9quilibre alimentaire et <a href=\"https://des-livres-pour-changer-de-vie.com/lalimentation-ou-la-troisieme-medecine/\" target=\"_blank\" rel=\"noopener\">la qualit\u00e9 des aliments consomm\u00e9s</a>.</p><p>D\u2019un c\u00f4t\u00e9, il faut veiller \u00e0 respecter certaines <strong>quantit\u00e9s</strong> de certains aliments. Par exemple, nous avons souvent l\u2019habitude de manger beaucoup trop de prot\u00e9ines d\u2019origine animale. Celles-ci sont utiles et bienvenues pour l\u2019organisme, mais nous pouvons en diminuer la consommation.</p><p>Cela est li\u00e9 au deuxi\u00e8me point\u00a0: la <strong>qualit\u00e9</strong>. Il vaut mieux privil\u00e9gier, par exemple, de la viande produite de fa\u00e7on \u00e9thique et \u00e9cologique, qui respecte l\u2019animal et \u00e9vite l\u2019usage d\u2019antibiotiques, hormones et autres produits de l\u2019industrie agrochimique. Ceci est une prise de position morale et personnelle, certes, mais pensez-y\u00a0: n\u2019est-ce pas aussi meilleur pour votre sant\u00e9\u2009?</p><h3><strong>L\u2019importance de l\u2019eau</strong></h3><p>La d\u00e9shydratation est un probl\u00e8me s\u00e9rieux dans certains pays. Plus g\u00e9n\u00e9ralement, malnutrition et d\u00e9shydratation peuvent causer des graves troubles c\u00e9r\u00e9braux chez les enfants, qui perdureront parfois jusqu\u2019\u00e0 l\u2019\u00e2ge adulte.</p><p><strong>3\u00a0litres d\u2019eau par jour</strong>\u00a0: voici la recommandation de l\u2019auteur \u2014 ni alcool ni soda\u00a0: simplement de l\u2019eau\u2009! Ou des soupes et des bouillons de l\u00e9gumes. Si vous ne pouvez pas vous passer d\u2019une limonade ou d\u2019une bi\u00e8re, buvez-en raisonnablement et consommez, malgr\u00e9 tout, votre ration quotidienne d\u2019eau.</p><h3><strong>Cultiver l\u2019intelligence: De la nourriture pour l\u2019esprit</strong></h3><p>Il est bon d\u2019approfondir <a href=\"https://des-livres-pour-changer-de-vie.com/eat/\" target=\"_blank\" rel=\"noopener\">vos connaissances sur la nutrition</a> si vous souhaitez faire de vous une personne plus intelligente. Ceci dit, avant d\u2019entamer une modification importante de votre r\u00e9gime alimentaire, pensez toujours \u00e0 <strong>consulter un sp\u00e9cialiste</strong> qui vous aiguillera dans votre parcours.</p><p>Voici quelques conseils et quelques aliments propos\u00e9s par Giuseppe Sorrentino. Ceux-ci n\u2019ont pas vocation \u00e0 se substituer \u00e0 la construction d\u2019un v\u00e9ritable programme, mais peuvent vous donner <strong>quelques pistes</strong>\u00a0:</p><ul><li>Diminuer la consommation de viande\u2009;</li>\n<li>La remplacer par des l\u00e9gumineuses et des l\u00e9gumes\u2009;</li>\n<li>\u00c9liminer les aliments gras et frits (surtout les graisses satur\u00e9es)\u2009;</li>\n<li>Consommer de l\u2019huile d\u2019olive\u2009;</li>\n<li>Consommer des aliments riches en vitamines, et surtout en vitamines du groupe B (asperges, brocoli, \u00e9pinards, bananes, noix, patates douces, c\u00e9r\u00e9ales enti\u00e8res, etc.)\u2009;</li>\n<li>Manger du poisson, des fruits de mer et des mollusques avec mod\u00e9ration, mais r\u00e9guli\u00e8rement (trois fois par semaine, par exemple)\u00a0et en privil\u00e9giant toujours des produits de qualit\u00e9\u2009;</li>\n<li>\u00c9viter l\u2019abus des glucides\u2009;</li>\n<li>Limiter la consommation des boissons \u00e9nergisantes (caf\u00e9, th\u00e9, etc.)\u2009;</li>\n<li>Profiter des bienfaits des antioxydants (que l\u2019on retrouve principalement dans les fruits et l\u00e9gumes)\u2009;</li>\n<li>Prendre soin de la flore intestinale gr\u00e2ce aux fibres (l\u00e9gumineuses, fruits, l\u00e9gumes, c\u00e9r\u00e9ales).</li>\n</ul><h3><strong>Manger de mani\u00e8re intelligente</strong></h3><p>Il ne suffit pas de manger de bons produits, il faut encore savoir quand et comment les consommer. Cet ouvrage n\u2019\u00e9tant pas un livre sur la nutrition, il suffit de d\u00e9gager quelques principes de base. Les voici\u00a0:</p><ul><li>Prendre un petit d\u00e9jeuner copieux\u2009;</li>\n<li>Prendre des collations r\u00e9guli\u00e8res en petite quantit\u00e9 (des fruits par exemple)\u2009;</li>\n<li>D\u00e9jeuner l\u00e9ger (une salade, etc.)\u2009;</li>\n<li>Boire beaucoup d\u2019eau (2,5 \u00e0 3\u00a0litres/jour)\u2009;</li>\n<li>Mod\u00e9rer la consommation de glucides\u2009;</li>\n<li>Bien choisir ses produits\u2009;</li>\n<li>Faire l\u2019exp\u00e9rience des produits sans gluten et sans lactose\u2009;</li>\n<li>Manger de fa\u00e7on d\u00e9tendue\u2009;</li>\n<li>Cuisiner soi-m\u00eame.</li>\n</ul><h3><strong>Cultiver l\u2019intelligence: Sports, loisirs et m\u00e9ditation</strong></h3><p>Les activit\u00e9s physiques sont de puissants moyens de devenir plus intelligent.</p><p><strong>Les sports</strong> vous permettent de vous d\u00e9fouler, mais aussi d\u2019augmenter vos capacit\u00e9s logiques, de mieux vous conna\u00eetre vous-m\u00eame (surtout pour les sports individuels) et d\u2019<a href=\"https://des-livres-pour-changer-de-vie.com/cultiver-son-reseau-quand-on-deteste-reseauter/\" target=\"_blank\" rel=\"noopener\">\u00e9tendre votre r\u00e9seau</a> social (surtout pour les sports collectifs).</p><p><strong>Les loisirs manuels</strong>, notamment artistiques, vous aideront \u00e0 d\u00e9velopper votre cr\u00e9ativit\u00e9, vos capacit\u00e9s de coordination, de m\u00e9morisation et de gestion \u00e9motionnelle. Un ind\u00e9niable plus pour <em>booster</em> voter intelligence\u2009!</p><p><a href=\"https://des-livres-pour-changer-de-vie.com/3-livres-sur-la-meditation-resumes-et-avis-pour-se-lancer/\" target=\"_blank\" rel=\"noopener\">La m\u00e9ditation</a>, quant \u00e0 elle, aide \u00e9norm\u00e9ment \u00e0 s\u2019ancrer, \u00e0 s\u2019harmoniser et \u00e0 s\u2019accepter. C\u2019est une activit\u00e9 qui a trop longtemps \u00e9t\u00e9 ignor\u00e9e ou d\u00e9consid\u00e9r\u00e9e, mais qui d\u00e9voile aujourd\u2019hui tous ses secrets et ses bienfaits.</p><blockquote>\n<p>\u00ab\u2009Choisissez l\u2019activit\u00e9 qui convient le mieux \u00e0 votre personnalit\u00e9\u2026 du moment\u2009! Le secret pour s\u2019am\u00e9liorer, grandir et devenir une personne plus compl\u00e8te est de d\u00e9couvrir, de varier et de tester en permanence de nouvelles choses. Vous n\u2019aimez pas l\u2019id\u00e9e de m\u00e9diter, en silence dans votre chambre\u2009? C\u2019est ce qui en fait le d\u00e9fi id\u00e9al pour vous. Votre professeur au coll\u00e8ge a toujours affirm\u00e9 que vous ne seriez pas capable de jouer d\u2019un instrument\u2009? Faites un essai. Un jogging de 20\u00a0minutes est quelque chose d\u2019inimaginable\u2009? Achetez des chaussures et allez courir.\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a062)</p>\n</blockquote><p><img class=\"aligncenter wp-image-24424 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Se-nourrir-sainement-e1631023809150.jpg?is-pending-load=1\" alt=\"Cultiver l'intelligence: Se nourrir sainement rend plus intelligent\u00a0!\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-24424 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Se-nourrir-sainement-e1631023809150.jpg\" alt=\"Cultiver l'intelligence: Se nourrir sainement rend plus intelligent\u00a0!\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Chapitre\u00a07. La matrice</strong></h3><p>Vous rappelez-vous de cette sc\u00e8ne du c\u00e9l\u00e8bre film Matrix, lorsque N\u00e9o doit s\u2019entra\u00eener\u2009? Une salle de sport parfaite appara\u00eet pour pratiquer les arts martiaux et autres activit\u00e9s de combat. Tentez de trouver votre \u00ab\u2009matrice\u2009\u00bb, c\u2019est-\u00e0-dire l\u2019endroit o\u00f9 vous serez lib\u00e9r\u00e9 de toute distraction. Pour ce faire, un peu d\u2019ordre est n\u00e9cessaire.</p><h3><strong>Ordre et progr\u00e8s</strong></h3><p>Organiser ses affaires permet de <a href=\"https://des-livres-pour-changer-de-vie.com/104-astuces-pour-gagner-du-temps-le-livre/\" target=\"_blank\" rel=\"noopener\">gagner du temps</a>. C\u2019est, en d\u2019autres termes, <strong>donner une structure \u00e0 son environnement</strong>, pour le rendre accessible. Mais cela peut \u00eatre une difficult\u00e9 pour bon nombre de personnes. Cela tombe bien, on aime les d\u00e9fis\u2009!</p><p>L\u2019ordre cr\u00e9\u00e9 \u00e0 l\u2019ext\u00e9rieur refl\u00e8te l\u2019ordre int\u00e9rieur, mental. Gr\u00e2ce \u00e0 la mise en ordre, vous ordonnez en m\u00eame temps vos pens\u00e9es. Vous acqu\u00e9rez plus de stabilit\u00e9 et d\u2019assurance dans vos gestes\u2009; vous vous mouvez dans votre zone de confort.</p><h3><strong>Du chaos dans la maison</strong></h3><p>L\u2019ordre peut toutefois mener\u2026 \u00e0 la rigidit\u00e9 et \u00e0 l\u2019incapacit\u00e9 \u00e0 g\u00e9rer l\u2019impr\u00e9vu. C\u2019est le probl\u00e8me des personnes trop ordonn\u00e9es. Un peu de d\u00e9sordre, en effet, n\u2019est pas si n\u00e9gatif\u2009! Pourquoi\u2009? Car cela vous oblige \u00e0 chercher et \u00e0 improviser, donc \u00e0 <strong>vivre en dehors de sa zone de confort</strong> et des routines pr\u00e9\u00e9tablies.</p><h3><strong>Le Yin et le Yang</strong></h3><blockquote>\n<p>\u00ab\u2009Construire ou d\u00e9truire l\u2019ordre interne \u00e9tabli dans ses id\u00e9es et dans ses habitudes, permettant ainsi une croissance de la personne et de ses capacit\u00e9s mentales est possible. Pour cela, il faudra travailler sur nos comportements et sur l\u2019environnement.\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a069)</p>\n</blockquote><p>Voici les conseils de Giuseppe Sorrentino \u00e0 destination des <strong>personnes d\u00e9sordonn\u00e9es</strong>\u00a0:</p><ul><li>Ranger et nettoyer son foyer ou son bureau\u2009;</li>\n<li><a href=\"https://des-livres-pour-changer-de-vie.com/le-pouvoir-des-habitudes/\" target=\"_blank\" rel=\"noopener\">Cr\u00e9er des habitudes simples</a>\u00a0(par exemple, remettre quelque chose \u00e0 sa place juste apr\u00e8s l\u2019avoir utilis\u00e9)\u2009;</li>\n<li>Organiser ses journ\u00e9es (voir le chapitre\u00a05).</li>\n</ul><p>\u00c0 l\u2019inverse, voici quelques conseils de l\u2019auteur pour les <strong>personnes un peu trop ordonn\u00e9es</strong>\u00a0:</p><ul><li>Changer l\u2019ordre habituel d\u2019un espace (chambre, bureau, etc.)\u2009;</li>\n<li>Assouplir certaines habitudes en les ralentissant ou en les modifiant l\u00e9g\u00e8rement (\u00e9viter de ranger directement quelque chose, par exemple).</li>\n</ul><h3><strong>Chapitre\u00a08. Cultiver l\u2019intelligence: La logique</strong></h3><p>L\u2019auteur propose l\u2019exp\u00e9rience int\u00e9ressante suivante. Vous avez devant vous une pomme, un morceau de g\u00e2teau, un couteau et une cuill\u00e8re. Comment les regroupez-vous\u2009?</p><ol><li>Les couverts ensemble (cuill\u00e8re et couteau) et les choses \u00e0 manger \u00e0 c\u00f4t\u00e9 (pomme et g\u00e2teau)\u2009;</li>\n<li>Le couteau avec la pomme et la cuill\u00e8re avec la part de g\u00e2teau (selon l\u2019utilisation)\u2009;</li>\n<li>La pomme \u00e0 part (dans la corbeille), le g\u00e2teau (dans le frigo) et les couverts (dans le tiroir)\u2009;</li>\n<li>Etc.</li>\n</ol><p>Ce que cette petite exp\u00e9rience d\u00e9montre, c\u2019est qu\u2019il n\u2019y a peut-\u00eatre pas une infinit\u00e9 de solutions possibles, mais qu\u2019il y a au moins <strong>une diversit\u00e9 de conceptions \u00e0 propos de ce qui est \u00ab\u2009logique\u2009\u00bb</strong>. En fait, cela montre aussi et surtout qu\u2019il faut n\u00e9cessairement avoir une s\u00e9rie d\u2019informations avant de d\u00e9cider ce qui est logique et ce qui ne l\u2019est pas.</p><h3><strong>Cultiver l\u2019intelligence: Am\u00e9liorer sa logique</strong></h3><p>Comment\u2009? D\u2019abord, en se concentrant sur le probl\u00e8me, c\u2019est-\u00e0-dire en focalisant notre attention dessus et en minimisant les sources de distractions. En s\u2019assurant, ensuite, d\u2019avoir toutes les informations \u00e0 disposition (quelle est, par exemple, la raison du rangement de la pomme, du g\u00e2teau, de la cuill\u00e8re et du couteau\u00a0: la conservation, l\u2019utilisation, la classe d\u2019objets\u2026).</p><p>Par ailleurs, <strong>n\u2019h\u00e9sitez pas \u00e0 jouer</strong>\u2009! Eh oui, les jeux (jeux d\u2019\u00e9nigmes, sudokus, etc.), et particuli\u00e8rement les jeux de soci\u00e9t\u00e9, vous aident \u00e0 d\u00e9velopper vos comp\u00e9tences logiques, en plus des comp\u00e9tences sociales. Les jeux vid\u00e9o doivent \u00eatre utilis\u00e9s avec plus de pr\u00e9cautions, en raison des addictions qu\u2019ils entra\u00eenent parfois.</p><p><img class=\"aligncenter wp-image-24425 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Jouer-avec-la-logique-e1636953734348.jpg?is-pending-load=1\" alt=\"Mettez votre logique \u00e0 l'\u00e9preuve\u00a0!\" width=\"279\" height=\"279\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Jouer-avec-la-logique-e1636953734348.jpg 279w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Jouer-avec-la-logique-e1636953734348-150x150.jpg 150w\" data-lazy-sizes=\"(max-width: 279px) 100vw, 279px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-24425 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Jouer-avec-la-logique-e1636953734348.jpg\" alt=\"Mettez votre logique \u00e0 l'\u00e9preuve\u00a0!\" width=\"279\" height=\"279\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Jouer-avec-la-logique-e1636953734348.jpg 279w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Jouer-avec-la-logique-e1636953734348-150x150.jpg 150w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Chapitre\u00a09. L\u2019artiste</strong></h3><blockquote>\n<p>\u00ab\u2009Comme la logique, la cr\u00e9ativit\u00e9 est \u00e9galement soumise \u00e0 de lourdes croyances qui d\u00e9forment sa v\u00e9ritable nature. Beaucoup de gens ont tendance \u00e0 penser que ceux qui sont cr\u00e9atifs sont n\u00e9s ainsi, qu\u2019ils ont quelque chose en plus et c\u2019est tout. Si une personne n\u2019a pas d\u2019imagination, elle n\u2019en aura jamais. Heureusement, les choses ne marchent pas comme \u00e7a et la cr\u00e9ativit\u00e9 peut \u00eatre stimul\u00e9e et d\u00e9velopp\u00e9e comme toutes les autres facettes de l\u2019intelligence.\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a077)</p>\n</blockquote><p>La particularit\u00e9 de la cr\u00e9ativit\u00e9\u2009? Offrir des solutions originales aux probl\u00e8mes. Mais comment parvenir \u00e0 accro\u00eetre cette capacit\u00e9\u2009?</p><h3><strong>Devenir quelqu\u2019un de cr\u00e9atif</strong></h3><p>En fait, la cr\u00e9ativit\u00e9 ne rime pas n\u00e9cessairement (voire ne rime que rarement) avec spontan\u00e9it\u00e9. Quelqu\u2019un de cr\u00e9atif est avant tout quelqu\u2019un d\u2019entra\u00een\u00e9, qui sait beaucoup de choses sur un domaine en question (dans le domaine artistique, la danse ou la musique, par exemple).</p><p>Consacrer un peu de temps tous les jours \u00e0 <strong>une activit\u00e9 qui vous pla\u00eet</strong> est un excellent moyen de <a href=\"https://des-livres-pour-changer-de-vie.com/7-moyens-de-developper-votre-creativite/\" target=\"_blank\" rel=\"noopener\">stimuler sa curiosit\u00e9 et sa cr\u00e9ativit\u00e9</a>. Informez-vous. Comment les jazzmen r\u00e9alisent-ils leurs improvisations\u2009? Comment devient-on acteur de th\u00e9\u00e2tre\u2009? Exp\u00e9rimentez \u00e0 partir de ce que vous apprenez.</p><p>Giuseppe Sorrentino conseille \u00e9galement d\u2019<strong>utiliser le <em>problem solving</em></strong>. Il s\u2019agit d\u2019une technique pour r\u00e9soudre tous les probl\u00e8mes \u2014 quotidiens ou professionnels \u2014 qui se posent \u00e0 vous. La recette en est simple\u00a0: chaque fois que vous \u00eates face \u00e0 une difficult\u00e9, demandez-vous quelles sont <em>toutes</em> les options possibles (m\u00eame les moins logiques) pour r\u00e9soudre ce probl\u00e8me.</p><p>Combien de solutions avez-vous trouv\u00e9es\u2009? Au plus vous trouverez de solutions, au plus vous montrerez que votre esprit devient \u00e9lastique et original. Ne visez pas la solution efficace ici, mais plut\u00f4t la diversification des points de vue sur la r\u00e9solution du probl\u00e8me.</p><h3><strong>Chapitre\u00a010. Jouer avec la m\u00e9moire</strong></h3><p>La m\u00e9moire est l\u2019un des crit\u00e8res importants de r\u00e9ussite dans le syst\u00e8me scolaire. Pourtant, avoir une excellente m\u00e9moire ne signifie pas n\u00e9cessairement \u00eatre quelqu\u2019un de tr\u00e8s intelligent\u00a0: les autres dimensions aper\u00e7ues jusqu\u2019ici doivent \u00e9galement entrer en compte (organisation temporelle et spatiale, cr\u00e9ativit\u00e9, logique, etc.).</p><blockquote>\n<p>\u00ab\u2009L\u2019intelligence peut tirer sa force de la m\u00e9moire, elle peut grandir avec elle, mais elle n\u2019est pas la m\u00e9moire.\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a083)</p>\n</blockquote><p>Comme la logique et la cr\u00e9ativit\u00e9, la m\u00e9moire peut \u00eatre am\u00e9lior\u00e9e par l\u2019interm\u00e9diaire d\u2019entra\u00eenements sp\u00e9cifiques. Lesquels\u2009?</p><h3><strong>Les cartes \u00e0 collectionner</strong></h3><p>Ces cartes que vous utilisiez peut-\u00eatre \u00e9tant enfant sont un formidable r\u00e9v\u00e9lateur d\u2019une chose\u00a0: <strong>nous retenons beaucoup mieux les images (et les histoires) que les nombres</strong>. Habituellement, ces cartes comportaient les deux, mais qui a d\u00e9j\u00e0 demand\u00e9 \u00e0 son partenaire de jeu la carte \u00ab\u200984\u2009\u00bb, au lieu de d\u00e9crire l\u2019image (qu\u2019il s\u2019agisse d\u2019un joueur de foot ou d\u2019un personnage de Disney)\u2009!?</p><h3><strong>Les nombres</strong></h3><p>Pour retenir des nombres, un truc consiste donc \u00e0 transformer ceux-ci en images, puis en histoires. Comment\u2009? En cr\u00e9ant un code\u2009! Voici celui propos\u00e9 par l\u2019auteur\u00a0:</p><ol><li>T, D</li>\n<li>N, GN</li>\n<li>M</li>\n<li>R</li>\n<li>L, GL</li>\n<li>C, G (ci, gi)</li>\n<li>C, G, K (sons durs)</li>\n<li>F, V</li>\n<li>P, B</li>\n</ol><p>Et enfin, pour le 0\u00a0: S, Z, SC (ski). Une fois ce code \u00e9tudi\u00e9 (oui, il faudra l\u2019\u00e9tudier), vous aurez beaucoup plus de facilit\u00e9s \u00e0 retenir de longues suites de chiffres (codes, combinaisons, num\u00e9ros de t\u00e9l\u00e9phone, etc.). Comment\u2009? Vous allez <strong>cr\u00e9er des mots</strong> \u00e0 partir des sections de la combinaison. Par exemple, le num\u00e9ro\u00a06570832674\u00a0que vous commencez par diviser en 65-70-83-26-74.</p><p>\u00c0 partir de l\u00e0, vous allez composer des mots (les voyelles sont laiss\u00e9es \u00e0 votre guise) \u00e0 partir du code ci-dessus. Par exemple\u00a0:</p><ul><li>65 \u2014 CL \u2013 Ciel</li>\n<li>70 \u2014 GZ \u2013 Gaz</li>\n<li>83 \u2014 FM \u2013 Fum\u00e9e</li>\n<li>26 \u2014 NG \u2013 Nage</li>\n<li>74 \u2014 CR \u2013 Carr\u00e9</li>\n</ul><p>Maintenant, vous avez tous les \u00e9l\u00e9ments en main pour <strong>composer une jolie histoire</strong>, avec tous ces mots dans l\u2019ordre. Lorsque vous ne vous souviendrez plus de la combinaison exacte, vous n\u2019aurez qu\u2019\u00e0 vous rappeler cette petite histoire (vous vous la rappellerez mieux, vous verrez) et vous serez capable de retomber sur vos pattes\u2009!</p><h3><strong>Une histoire incroyable</strong></h3><p>Ce syst\u00e8me de <strong>conversion phon\u00e9tique</strong> des nombres est bien pratique. Mais vous pouvez l\u2019exploiter au-del\u00e0 des \u00e9l\u00e9ments num\u00e9riques eux-m\u00eames.</p><blockquote>\n<p>\u00ab\u2009Les noms, les noms de famille, les dates, les lieux g\u00e9ographiques et tout ce qui n\u2019a pas de connotation visuelle directement identifiable peuvent \u00eatre transform\u00e9s en une image que vous int\u00e9grerez \u00e0 une histoire. L\u2019important est que cette histoire soit originale, riche en d\u00e9tails et en images vives, en mouvements.\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a091)</p>\n</blockquote><p>Bien s\u00fbr, il vous faudra pers\u00e9v\u00e9rer pour ma\u00eetriser parfaitement cet outil. Mais c\u2019est possible\u2026 Et ludique\u2009!</p><h3><strong>Groupes d\u2019informations</strong></h3><p>Pour compl\u00e9ter l\u2019exposition de cette m\u00e9thode, l\u2019auteur propose encore <strong>quelques techniques additionnelles</strong>.</p><p>Premi\u00e8rement, <strong>utilisez des th\u00e8mes</strong>. Pour apprendre de nombreuses combinaisons, vous pourriez associer un th\u00e8me \u00e0 une histoire (par exemple, le th\u00e8me \u00ab\u2009Ciel\u2009\u00bb pour l\u2019histoire que vous aurez cr\u00e9\u00e9 pour la combinaison prise en exemple ci-dessus\u00a0: 6570832674), puis associer ce th\u00e8me \u00e0 un chiffre de 1 \u00e0 100 \u2014 par exemple le 1.</p><p>Vous saurez alors que 1 = Ciel = histoire qui m\u00e8ne \u00e0 ce code. Et vous pouvez ainsi \u00ab\u2009cumuler\u2009\u00bb de nombreuses combinaisons. Pour le chiffre\u00a02, vous associez un autre th\u00e8me, c\u2019est-\u00e0-dire une histoire/combinaison, etc. Vous progressez ainsi de 1 jusqu\u2019au nombre de combinaisons totales que vous avez \u00e0 retenir.</p><p>Deuxi\u00e8mement, <strong>utilisez des lieux</strong>. Le principe est le m\u00eame, sauf que vous associez chaque histoire \u00e0 une pi\u00e8ce ou \u00e0 un endroit que vous connaissez bien (la cave = votre premi\u00e8re histoire). Vous pouvez utiliser ces lieux pour composer une structure logique (de la cave au grenier, par exemple) et ainsi retenir une multitude de combinaisons dans un ordre pr\u00e9cis.</p><p><img class=\"aligncenter wp-image-24426 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Retenir-les-nombres-e1631023909447.jpg?is-pending-load=1\" alt=\"Cultiver l'intelligence, Comment retenir les nombres\u00a0?\" width=\"600\" height=\"389\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-24426 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Retenir-les-nombres-e1631023909447.jpg\" alt=\"Cultiver l'intelligence, Comment retenir les nombres\u00a0?\" width=\"600\" height=\"389\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Chapitre\u00a011. L\u2019intelligence \u00e9motionnelle</strong></h3><blockquote>\n<p>\u00ab\u2009Comme si l\u2019intelligence au sens classique du terme ne suffisait pas, l\u2019intelligence \u00e9motionnelle veut aussi sa part dans le monde complexe des capacit\u00e9s mentales et elle y a droit. Une personne qui ne se laisse pas entra\u00eener par les \u00e9v\u00e9nements et qui parvient \u00e0 r\u00e9soudre ses probl\u00e8mes et \u00e0 atteindre ses objectifs de la meilleure fa\u00e7on.\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a095)</p>\n</blockquote><p>C\u2019est d\u2019ailleurs un point commun que partagent les philosophes sto\u00efciens, tels que l\u2019empereur <a href=\"https://des-livres-pour-changer-de-vie.com/pensees-pour-moi-meme/\" target=\"_blank\" rel=\"noopener\">Marc Aur\u00e8le</a>, et les psychologues comportementalistes contemporains, notamment.</p><p>C\u2019est, le plus souvent, d\u2019abord par nos \u00e9motions que nous appr\u00e9hendons le monde. Vous voyez une araign\u00e9e et vous \u00eates pris de peur. Celle-ci vous indique qu\u2019il existe un potentiel danger et vous pr\u00e9pare \u00e0 l\u2019action (pour peu que vous ne sombriez pas dans la panique et la stup\u00e9faction).</p><p>Plusieurs \u00e9motions cohabitent quotidiennement en nous\u00a0: la peur, mais aussi la tristesse, la joie, la col\u00e8re, la honte, la confusion, etc. En fait, il importe de <strong>reconna\u00eetre ce qui cause l\u2019\u00e9motion</strong>, quelle qu\u2019elle soit, et d\u2019adapter son comportement en fonction \u2014 telle est en tout cas l\u2019id\u00e9e principale, assez simple, que propose de retenir l\u2019auteur.</p><p>Voici un exemple\u00a0: si vous savez que vous prenez plaisir \u00e0 jouer de la batterie, vous savez que cet instrument est la cause du sentiment de joie ressenti. Pourtant, il vous arrive r\u00e9guli\u00e8rement d\u2019oublier votre batterie et de vous mettre \u00e0 regarder la t\u00e9l\u00e9vision apr\u00e8s une longue journ\u00e9e de travail. Malheureusement, cette activit\u00e9 vous procure beaucoup moins de satisfaction. Alors, pourquoi ne pas aller taper quelques coups de baguette sur la batterie que vous aviez laiss\u00e9e de c\u00f4t\u00e9\u2009? Voil\u00e0 un comportement qui \u2014 \u00e0 coup s\u00fbr \u2014 \u00e9gaierait votre soir\u00e9e\u2009!</p><p>Bien s\u00fbr, <strong>changer de comportement n\u2019a rien de tr\u00e8s facile</strong>. Giuseppe Sorrentino vous donne n\u00e9anmoins quelques conseils pour y parvenir avec plus d\u2019aisance.</p><h3><strong>\u00c0 la d\u00e9couverte de vos \u00e9motions</strong></h3><p>Voici quelques exercices qui vous aideront \u00e0 g\u00e9rer vos \u00e9motions de fa\u00e7on plus optimale.</p><ul><li><strong>La liste</strong>\u00a0: notez quelque part les \u00e9motions ressenties au cours de la journ\u00e9e et les comportements correspondants. Comment avez-vous r\u00e9agi \u00e0 tel moment\u2009? \u00c9tait-ce opportun\u2009? Pourriez-vous remplacer ce sch\u00e9ma d\u2019action par un autre\u2009? Lequel\u2009?</li>\n<li><strong>L\u2019intensit\u00e9</strong>\u00a0: Quelle \u00e9tait l\u2019intensit\u00e9 de l\u2019\u00e9motion ressentie \u00e0 un moment \u00ab\u2009M\u2009\u00bb\u2009? Prenons le cas de la joie \u2014 qui, en exc\u00e8s, peut \u00e9galement nuire \u00e0 nos jugements et \u00e0 nos actions\u00a0: avez-vous ressenti une joie tranquille, de l\u2019ordre de la s\u00e9curit\u00e9, ou bien un sentiment beaucoup plus fort, de l\u2019ordre de l\u2019euphorie ou de l\u2019extase\u2009?</li>\n<li><strong>L\u2019alarme\u00a0</strong>: cinq ou six fois par jour, faites sonner votre t\u00e9l\u00e9phone pour faire le point. Quelles sont vos \u00e9motions, l\u00e0, tout de suite\u2009? Pourquoi\u2009? Notez ces r\u00e9ponses et n\u2019oubliez pas d\u2019indiquer l\u2019intensit\u00e9, car tous ces exercices sont li\u00e9s\u2009!</li>\n<li><strong>La m\u00e9ditation</strong>\u00a0: c\u2019est un exercice un peu distinct. Ici, prenez le temps de vous poser et de regarder \u00e0 l\u2019int\u00e9rieur de vous-m\u00eame de fa\u00e7on distanci\u00e9e, en vous concentrant sur votre respiration. La m\u00e9ditation est une pratique puissante qui comporte de nombreuses variantes (<a href=\"https://des-livres-pour-changer-de-vie.com/mediter-jour-apres-jour/\" target=\"_blank\" rel=\"noopener\"><em>mindfulness</em></a>, etc.). Informez-vous et trouvez celle qui vous convient.</li>\n</ul><h3><strong>Ma\u00eetriser ses \u00e9motions</strong></h3><blockquote>\n<p>\u00ab\u2009Vous pouvez exercer un certain degr\u00e9 de ma\u00eetrise sur vos \u00e9motions par le comportement et par la cognition. [\u2026] Les pens\u00e9es saboteuses peuvent compl\u00e8tement ruiner vos journ\u00e9es et votre vie en g\u00e9n\u00e9rant des \u00e9motions n\u00e9gatives, en vous emp\u00eachant d\u2019agir de la meilleure fa\u00e7on, en vous faisant perdre la motivation, la lucidit\u00e9 et en cr\u00e9ant ainsi une s\u00e9rie de catastrophes. Tout ce que vous avez \u00e0 faire est de remplacer ces pens\u00e9es trompeuses et dangereuses par d\u2019autres plus rationnelles. C\u2019est tout.\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a0102-103)</p>\n</blockquote><p>Si vous ressentez de l\u2019anxi\u00e9t\u00e9, r\u00e9sistez \u00e0 la temp\u00eate et <strong>interrogez-vous</strong>\u00a0:</p><ul><li>Que se passe-t-il\u2009?</li>\n<li>Qu\u2019est-ce que je crains\u2009?</li>\n<li>Y a-t-il des chances r\u00e9elles que cela se produise\u2009?</li>\n<li>Ai-je le contr\u00f4le sur la situation\u2009?</li>\n<li>Quelle action puis-je entreprendre\u2009?</li>\n</ul><p>Bien s\u00fbr, ce n\u2019est pas n\u00e9cessairement ais\u00e9. Mais avec de l\u2019entra\u00eenement, il est possible d\u2019acqu\u00e9rir cette distance vis-\u00e0-vis de soi-m\u00eame et de d\u00e9senfler les \u00e9motions trop pr\u00e9gnantes, qui paralysent nos jugements et nos actions.</p><p>Vous \u00eates en col\u00e8re\u2009? Agissez de la m\u00eame mani\u00e8re. Analysez l\u2019opportunit\u00e9 de cette col\u00e8re et sa force\u00a0: est-il utile de se battre pour cette cause\u2009? Canalisez-l\u00e0 positivement ou, si vous ne le pouvez pas, <strong>r\u00e9alisez une activit\u00e9 qui changera votre \u00e9motion</strong> et qui vous mettra en joie (d\u00e9foulez-vous en jouant de la batterie, par exemple\u2009!).</p><p>Face \u00e0 la honte et \u00e0 l\u2019embarras, <strong>apprenez \u00e0 accepter l\u2019erreur</strong>. Encore un conseil similaire \u00e0 l\u2019enseignement du sto\u00efcisme. Vous \u00eates faillible\u2009? Eh bien soit. N\u2019est-ce pas une chance, m\u00eame\u2009? Eh bien oui, puisque vous pouvez \u00e9voluer\u2009! R\u00e9fl\u00e9chissez aux raisons de votre honte et tirez-en des le\u00e7ons pour progresser. La prochaine fois, vous agirez mieux, et c\u2019est l\u00e0 tout ce qui importe.</p><p>La frustration \u2014 qui accompagne souvent de tristesse \u2014 consiste en un sentiment de faiblesse ou d\u2019inaccomplissement personnel, lui-m\u00eame li\u00e9 \u00e0 des regrets ou \u00e0 des croyances limitantes. Pour couper court \u00e0 ce cercle vicieux, listez puis r\u00e9alisez quotidiennement quelques activit\u00e9s qui vous procurent de la joie, un sentiment de force et de confiance en vous-m\u00eame. Supprimez progressivement les sources de tristesse et <strong>consacrez-vous \u00e0 vous-m\u00eame</strong> et \u00e0 ce qui vous pla\u00eet vraiment.</p><p>Giuseppe Sorrentino donne un ultime conseil\u00a0: apr\u00e8s une p\u00e9riode particuli\u00e8rement longue de stress, vous pouvez r\u00e9initialiser votre syst\u00e8me corporel par la stimulation du nerf vague. Renseignez-vous aupr\u00e8s de sp\u00e9cialistes.</p><h3><strong>\u00catre optimiste</strong></h3><blockquote>\n<p>\u00ab\u2009L\u2019optimisme est une composante importante de l\u2019intelligence \u00e9motionnelle et vous permet de r\u00e9agir aux situations d\u00e9favorables, aux \u00e9checs et de retrouver la motivation et l\u2019\u00e9nergie. Lorsque nous parlons d\u2019optimisme, voil\u00e0 ce que nous voulons dire\u00a0:</p>\n</blockquote><ul><li>\n<blockquote>\n<p>Analyser la situation objectivement. Quel est le probl\u00e8me\u2009? Que pourrait-on faire diff\u00e9remment, que pourrait-on faire mieux\u2009?</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Il est important de comprendre que le r\u00e9sultat d\u00e9pend de vous. Il peut arriver de ne pas atteindre un objectif, mais vous pouvez essayer de nouveau.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Le changement est possible et c\u2019est \u00e0 vous de le mettre en action.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Mettez en marche le changement. Lorsque vous aurez d\u00e9termin\u00e9 clairement ce qui a mal tourn\u00e9, vous pourrez changer les choses, agir en cons\u00e9quence et faire une autre tentative.\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a0106-107)</p>\n</blockquote>\n</li>\n</ul><p><img class=\"aligncenter wp-image-24427 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Gerer-ses-emotions-e1631023984955.jpg?is-pending-load=1\" alt=\"Cultiver l'intelligence: Apprenez \u00e0 ma\u00eetriser vos \u00e9motions\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-24427 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Gerer-ses-emotions-e1631023984955.jpg\" alt=\"Cultiver l'intelligence: Apprenez \u00e0 ma\u00eetriser vos \u00e9motions\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Chapitre\u00a012. Les autres</strong></h3><p>L\u2019intelligence \u00e9motionnelle va de pair avec la pr\u00e9sence des autres\u2026 Tout simplement, car ce sont souvent d\u2019autres \u00eatres humains qui nous procurent les \u00e9motions les plus fortes\u2009! Mais cela va aussi dans l\u2019autre sens\u00a0: nous sommes capables d\u2019avoir acc\u00e8s aux sentiments d\u2019autrui gr\u00e2ce \u00e0 une facult\u00e9 ordinaire et pourtant si pr\u00e9cieuse\u2026 <strong>L\u2019empathie</strong>.</p><p>Pour <a href=\"https://des-livres-pour-changer-de-vie.com/cessez-detre-gentil-soyez-vrai/\" target=\"_blank\" rel=\"noopener\">communiquer de fa\u00e7on plus sereine et apais\u00e9e</a>, il importe au plus haut point d\u2019\u00eatre compris <em>et</em> de comprendre. Il ne s\u2019agit pas, avec l\u2019empathie, d\u2019\u00eatre spontan\u00e9ment d\u2019accord ou de plonger sans limites dans le ressenti de la personne en face de soi, mais de faire l\u2019exp\u00e9rience d\u2019un changement de perspective.</p><p>On comprend ais\u00e9ment que <strong>certains comportements sont \u00e0 bannir</strong>\u00a0ou \u00e0 limiter lorsque l\u2019on souhaite \u00e9couter l\u2019autre et entrer dans son point de vue\u00a0: la critique, l\u2019usage de st\u00e9r\u00e9otypes, les commentaires d\u00e9plac\u00e9s et d\u00e9valorisants, les ordres ou les menaces, l\u2019abus de conseils \u00ab\u2009tout faits\u2009\u00bb, le questionnement intempestif, la logique aveugle (\u00ab\u2009si, alors\u2026\u2009\u00bb).</p><p>L\u2019empathie vous permettra notamment d\u2019\u00e9viter les malentendus sur le sens des mots en cherchant la signification qui \u00e9tait recherch\u00e9e par l\u2019interlocuteur. En cherchant ce qui le fait parler, vous pourrez d\u00e9celer s\u2019il utilise un masque ou s\u2019il parle honn\u00eatement et s\u2019il utilise l\u2019ironie ou l\u2019humour, par exemple.</p><h3><strong>Imiter les autres</strong></h3><p>Comme la programmation neurolinguistique l\u2019a tr\u00e8s bien montr\u00e9, l\u2019empathie permet aussi d\u2019imiter les autres, soit afin d\u2019entrer plus ais\u00e9ment en contact avec eux, soit en vue d\u2019adopter des comportements qui nous paraissent b\u00e9n\u00e9fiques ou propices \u00e0 la r\u00e9alisation de nos objectifs.</p><h3><strong>Chapitre\u00a013. L\u2019arriv\u00e9e du printemps</strong></h3><blockquote>\n<p>\u00ab\u2009Que dire de plus\u2026 Nous arrivons \u00e0 la fin de ce bref voyage dans le monde de l\u2019intelligence, et nous esp\u00e9rons que nous avons \u00e9t\u00e9 en mesure de vous donner des \u00e9l\u00e9ments utiles qui vous aideront \u00e0 cultiver votre jardin intellectuel. En particulier, nous esp\u00e9rons que vous retiendrez ce message important.</p>\n<p><strong>Vous pouvez atteindre vos objectifs avec de l\u2019implication et de la pers\u00e9v\u00e9rance\u2009!</strong></p>\n<p>Commencez imm\u00e9diatement \u00e0 mettre en pratique les conseils, les exercices et les techniques propos\u00e9s dans ce livre. Donnez la possibilit\u00e9 aux fleurs de votre esprit, cach\u00e9es en hiver, de fleurir \u00e0 nouveau quand revient le printemps\u2009\u00bb (<em>Cultiver l\u2019intelligence</em>, p.\u00a0113-114)</p>\n</blockquote><p><img class=\"aligncenter wp-image-24428 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Arrivee-du-printemps-e1631024045689.jpg?is-pending-load=1\" alt=\"Cultiver l'intelligence, Arriv\u00e9e du printemps\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-24428 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Arrivee-du-printemps-e1631024045689.jpg\" alt=\"Cultiver l'intelligence, Arriv\u00e9e du printemps\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h2><strong>Conclusion sur \u00ab\u2009<em>Cultiver l\u2019intelligence. Tec</em><em>hniques et strat\u00e9gies pour apprendre, se souvenir et augmenter ses capacit\u00e9s de concentration</em>\u2009\u00bb\u00a0de Giuseppe Sorrentino\u00a0:</strong></h2><h3><strong>Petit rappel des principaux \u00e9l\u00e9ments de l\u2019intelligence, selon l\u2019auteur\u00a0:</strong></h3><ul><li>Le temps\u2009;</li>\n<li>Le corps\u2009;</li>\n<li>La motivation\u2009;</li>\n<li>La m\u00e9moire\u2009;</li>\n<li>L\u2019ordre et la libert\u00e9\u2009;</li>\n<li>La logique\u2009;</li>\n<li>La cr\u00e9ativit\u00e9 et l\u2019imagination\u2009;</li>\n<li>Les \u00e9motions\u2009;</li>\n<li>La socialit\u00e9.</li>\n</ul><h3><strong>Ce qu\u2019il faut retenir de \u00ab\u2009<em>Cultiver l\u2019intelligence. Techniques et strat\u00e9gies pour apprendre, se souvenir et augmenter ses capacit\u00e9s de concentration</em>\u2009\u00bb\u00a0ce Giuseppe Sorrentino\u00a0:</strong></h3><p><em>Cultiver l\u2019intelligence</em> est un petit ouvrage qui ne r\u00e9volutionnera ni le champ de la sant\u00e9 ni celui du d\u00e9veloppement personnel, mais qui a le m\u00e9rite d\u2019introduire de fa\u00e7on rapide et efficace \u00e0 une s\u00e9rie de th\u00e9matiques actuelles et souvent travaill\u00e9es par ce domaine. Malgr\u00e9 sa bri\u00e8vet\u00e9, il apporte sa propre touche en abordant de fa\u00e7on originale la question de la m\u00e9moire, une th\u00e9matique qui est moins souvent trait\u00e9e.</p><p>Pour terminer, et pour le plaisir, tentons de r\u00e9sumer ce livre en une phrase. Que retenir\u2009? Que l\u2019intelligence est un ph\u00e9nom\u00e8ne complexe qui repose sur la combinaison et la gestion d\u2019une s\u00e9rie d\u2019\u00e9l\u00e9ments externes et internes \u00e0 l\u2019individu (ce sont les \u00e9l\u00e9ments indiqu\u00e9s ci-dessus\u2009!).</p><p><em>Points\u00a0<strong>forts</strong>\u00a0:</em></p><ul><li>Un livre condens\u00e9 en quelques th\u00e8ses simples, \u00e0 lire en un apr\u00e8s-midi\u2009;</li>\n<li>Mais \u00e0 relire pour effectuer tous les exercices\u2026\u2009;</li>\n<li>Des pages libres pour prendre des notes.</li>\n</ul><p><em>Point <strong>faible</strong>\u00a0:</em></p><ul><li>\u00c0 vouloir faire court, on fait aussi un peu \u00ab\u2009vague\u2009\u00bb\u2026 Dommage que l\u2019auteur omette de citer ses sources et de proposer quelques approfondissements th\u00e9oriques.</li>\n</ul><p>Ma note\u00a0:</p><p><img width=\"25\" height=\"24\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png?is-pending-load=1\" alt=\"image\" srcset=\"\" class=\"jetpack-lazy-image\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"25\" height=\"24\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\u00a0\n<p><img width=\"25\" height=\"24\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" referrerpolicy=\"no-referrer\" /></p>\n\u00a0\n<p><img width=\"25\" height=\"24\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" referrerpolicy=\"no-referrer\" /></p>\n\u00a0\n<p><img width=\"25\" height=\"24\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" referrerpolicy=\"no-referrer\" /></p>\n\u00a0\n<p><img width=\"24\" height=\"22\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image6.png\" alt=\"image\" referrerpolicy=\"no-referrer\" /></p><p class=\"c9\">Avez-vous lu le livre de Giuseppe Sorrentino \u00ab\u2009<em>Cultiver l\u2019intelligence. Techniques et strat\u00e9gies pour apprendre, se souvenir et augmenter ses capacit\u00e9s de concentration</em>\u2009\u00bb\u2009? Combien le notez-vous\u2009?</p><p class=\"c9\"><img width=\"16\" height=\"16\" id=\"rating_24411_1\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif?is-pending-load=1\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" srcset=\"\" class=\"jetpack-lazy-image c10\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"16\" height=\"16\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<p><img width=\"16\" height=\"16\" id=\"rating_24411_2\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Passable - Un ou deux passages int\u00e9ressants\" title=\"Passable - Un ou deux passages int\u00e9ressants\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24411_3\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Moyen - Quelques bonnes id\u00e9es\" title=\"Moyen - Quelques bonnes id\u00e9es\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24411_4\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" title=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24411_5\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" title=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n(<strong>1</strong>votes, moyenne:<strong>3,00</strong>out of 5)<br />\n<p><img src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\nLoading...<p class=\"c9\"><a href=\"https://amzn.to/3ovNJVq\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin de lire plus de commentaires sur le livre</a> de Giuseppe Sorrentino \u00ab\u2009<em>Cultiver l\u2019intelligence. Techniques et strat\u00e9gies pour apprendre, se souvenir et augmenter ses capacit\u00e9s de concentration</em>\u2009\u00bb</p><p class=\"c9\"><a href=\"https://amzn.to/3nfnwL8\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin d\u2019acheter le livre</a> de Giuseppe Sorrentino \u00ab\u2009<em>Cultiver l\u2019intelligence. Techniques et strat\u00e9gies pour apprendre, se souvenir et augmenter ses capacit\u00e9s de concentration</em>\u2009\u00bb</p><noscript>\n</noscript>Recherches utilis\u00e9es pour trouver cet article\u00a0:<p>Prends le temps de lire c\\est la source de l\\intelligence</p>",
    "created_at": "2022-05-02T07:56:27+00:00",
    "updated_at": "2022-05-02T07:56:34+00:00",
    "published_at": "2022-01-20T16:00:04+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 33,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/Cultiver-intelligence-e1636955181377.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["livre", "resume", "pnl"],
    "is_public": false,
    "id": 25,
    "title": "La PNL pour les Nuls R\u00e9sum\u00e9 et avis - Romilla Ready et Kate Burton",
    "url": "https://des-livres-pour-changer-de-vie.com/la-pnl-pour-les-nuls/",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><p class=\"c7\"><a href=\"https://amzn.to/30iLlZL\" target=\"_blank\" rel=\"noopener\" data-wp-editing=\"1\" class=\"external\">\n<p><img class=\"aligncenter wp-image-25102 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/11/la-pnl-pour-les-nuls-romilla-ready-kate-burton-e1636696365266.jpg\" alt=\"la pnl pour les nuls romilla ready et kate burton\" width=\"289\" height=\"350\" referrerpolicy=\"no-referrer\" /></p>\n</a></p><blockquote>\n<p><strong>R\u00e9sum\u00e9 de \u00ab\u2009<em>La PNL pour les nuls</em>\u2009\u00bb de Romilla Ready et Kate Burton</strong>\u00a0: cet ouvrage d\u2019introduction \u00e9crit par deux expertes \u00e9tats-uniennes vous emm\u00e8nera dans le monde de la PNL (programmation neuro-linguistique) et vous guidera parmi ses concepts et ses m\u00e9thodes.</p>\n</blockquote><p>Par Romilla Ready et Kate Burton, 2020 (traduction fran\u00e7aise), 313 pages.</p><p>Titre original\u00a0: \u00ab\u2009<em>Neuro-Linguistic Programming for Dummies</em>\u2009\u00bb.</p><h2><strong>Chronique et r\u00e9sum\u00e9 de \u00ab\u00a0La PNL pour les nuls\u00a0\u00bb de Romilla Ready et Kate Burton\u00a0:</strong></h2><h3><strong>Introduction</strong></h3><blockquote>\n<p>\u00ab\u2009Cet ouvrage vise \u00e0 combler tous ceux qui sont fascin\u00e9s par les relations humaines. Gr\u00e2ce \u00e0 son approche exp\u00e9rimentale, la PNL encourage les personnes \u00e0 agir pour fa\u00e7onner leur vie. Elle attire ceux qui osent et sont pr\u00eats \u00e0 d\u00e9couvrir de nouveaux horizons. [\u2026] L\u2019approche de la PNL consiste d\u2019abord \u00e0 se lancer, \u00e0 mettre de c\u00f4t\u00e9 votre incr\u00e9dulit\u00e9, puis \u00e0 comprendre l\u2019apprentissage.\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a02)</p>\n</blockquote><p>Le ton est donn\u00e9\u00a0: vive l\u2019exp\u00e9rimentation sur soi \u2014 et sur les autres\u2009! Bien s\u00fbr, tout cela s\u2019op\u00e8re dans la bienveillance, la convivialit\u00e9 et un esprit pragmatique de progr\u00e8s. C\u2019est bien pourquoi <strong>la PNL est devenue l\u2019une des ressources privil\u00e9gi\u00e9es de <a href=\"https://des-livres-pour-changer-de-vie.com/developpement-personnel/\" target=\"_blank\" rel=\"noopener\">d\u00e9veloppement personnel</a></strong>. Elle offre en effet mille et une techniques plus ou moins simples pour s\u2019am\u00e9liorer soi-m\u00eame et ses modes de communication avec autrui.</p><p>M\u00eame si elle peut parfois sembler \u00e9sot\u00e9rique ou farfelue (notamment parce qu\u2019elle fait beaucoup appel \u00e0 l\u2019imagination), la PNL dispose de bases scientifiques suffisamment solides. Ses principes sont issus de travaux acad\u00e9miques men\u00e9s dans des universit\u00e9s am\u00e9ricaines, principalement en Californie, d\u00e8s les ann\u00e9es\u00a01970. Elle s\u2019est aujourd\u2019hui r\u00e9pandue et fait l\u2019objet de recherches continues dans le monde entier.</p><p>\u00cates-vous pr\u00eat \u00e0 d\u00e9couvrir le sens et la puissance de ces trois lettres\u2009?</p><h3><strong>Partie\u00a01 \u2014 Bienvenue dans un monde id\u00e9al</strong></h3><h3><strong>Chapitre\u00a01 \u2014 Destination PNL</strong></h3><h3><strong>1. Qu\u2019est-ce que la PNL\u2009?</strong></h3><p>La PNL \u2014 pour programmation neuro-linguistique (adjectif \u00e9crit avec un tiret dans l\u2019ouvrage) \u2014 est une m\u00e9thode qui vise \u00e0 am\u00e9liorer ses fa\u00e7ons de penser et sa communication.</p><ul><li>Le terme \u00ab\u2009<strong>programmation</strong>\u2009\u00bb fait r\u00e9f\u00e9rence \u00e0 la th\u00e9orie de l\u2019apprentissage et \u00e0 l\u2019id\u00e9e selon laquelle nos repr\u00e9sentations mentales des exp\u00e9riences sont le fruit d\u2019un codage particulier \u2014 un processus que nous pouvons apprendre \u00e0 ma\u00eetriser.</li>\n<li>\u00ab\u2009<strong>Neuro</strong>\u2009\u00bb concerne le syst\u00e8me neurologique et renvoie en premier lieu \u00e0 l\u2019id\u00e9e que les sens sont les premiers vecteurs de l\u2019exp\u00e9rience\u00a0: les informations sensorielles g\u00e9n\u00e8rent les pens\u00e9es qui activent le syst\u00e8me neurologique.</li>\n<li>Le terme \u00ab\u2009<strong>linguistique</strong>\u2009\u00bb est quant \u00e0 lui utilis\u00e9 afin de marquer que le langage est la mani\u00e8re privil\u00e9gi\u00e9e par laquelle les \u00eatres humains s\u2019approprient l\u2019exp\u00e9rience et la communiquent. Les mots ont des cons\u00e9quences sur notre fa\u00e7on d\u2019exp\u00e9rimenter le monde.</li>\n</ul><p>Cette m\u00e9thode a \u00e9t\u00e9 d\u00e9velopp\u00e9e par <a href=\"https://des-livres-pour-changer-de-vie.com/un-cerveau-pour-changer/\" target=\"_blank\" rel=\"noopener\">Richard Bandler</a> et John Grinder \u00e0 l\u2019universit\u00e9 de Santa Cruz en Californie, dans les ann\u00e9es\u00a01970. Elle s\u2019appuie sur des entretiens r\u00e9alis\u00e9s aupr\u00e8s de <strong>personnalit\u00e9s particuli\u00e8rement dou\u00e9es dans les domaines de la communication et du changement</strong>. Elle s\u2019est largement d\u00e9velopp\u00e9e depuis et compte aujourd\u2019hui de nombreux praticiens de par le monde.</p><h3><strong>2. Les piliers de la PNL</strong></h3><p>La PNL repose sur 4\u00a0piliers\u00a0:</p><ul><li><strong>Le rapport</strong>\u00a0d\u00e9signe la fa\u00e7on de se relier \u00e0 soi et aux autres. Il importe de savoir \u00eatre int\u00e8gre et de parler-vrai, m\u00eame (et peut-\u00eatre surtout) lorsqu\u2019il s\u2019agit de dire \u00ab\u2009non\u2009\u00bb.</li>\n<li><strong>La repr\u00e9sentation sensorielle</strong>\u00a0concerne les sens\u00a0: la vue, le toucher, l\u2019ou\u00efe, le go\u00fbt et l\u2019odorat nous permettent d\u2019avoir acc\u00e8s \u00e0 un univers riche de sensations.</li>\n<li><strong>La pens\u00e9e en termes de r\u00e9sultats</strong>\u00a0se caract\u00e9rise par une pens\u00e9e positive orient\u00e9e vers <a href=\"https://devenez-meilleur.co/comment-atteindre-des-objectifs-ambitieux/\" target=\"_blank\" rel=\"noopener\" class=\"external\">les objectifs \u00e0 atteindre</a>.</li>\n<li><strong>La flexibilit\u00e9 comportementale</strong> d\u00e9signe, dans la PNL, la capacit\u00e9 \u00e0 se transformer et donc \u00e0 changer de perspective sur le monde quand cela est n\u00e9cessaire.</li>\n</ul><p>Pour atteindre un bon <em>rapport</em> (avec vous-m\u00eame ou avec quelqu\u2019un), vous devrez faire appel \u00e0 vos sens pour entendre le message venu de l\u2019ext\u00e9rieur, et avec clairement \u00e0 l\u2019id\u00e9e le <em>r\u00e9sultat</em> souhait\u00e9. Par ailleurs, vous devrez peut-\u00eatre faire preuve de <em>flexibilit\u00e9</em> afin d\u2019adapter le r\u00e9sultat s\u2019il ne peut \u00eatre atteint tel quel.</p><h3><strong>3. Les mod\u00e8les et le modelage</strong></h3><blockquote>\n<p>\u00ab\u2009La PNL s\u2019attache \u00e0 <strong>mod\u00e9liser l\u2019excellence</strong> dans tous les domaines. Le principe est le suivant\u00a0: si vous trouvez quelqu\u2019un de bon dans un domaine, vous pouvez alors mod\u00e9liser sa strat\u00e9gie et apprendre de lui. Cela signifie que vous pouvez apprendre \u00e0 mod\u00e9liser quiconque vous admirez [\u2026].\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a018)</p>\n</blockquote><p>Sur quoi repose la mod\u00e9lisation\u2009? D\u2019abord, sur l\u2019id\u00e9e \u2014 que l\u2019on retrouve \u00e9galement dans <a href=\"https://des-livres-pour-changer-de-vie.com/pensees-pour-moi-meme/\" target=\"_blank\" rel=\"noopener\">la philosophie sto\u00efcienne</a> \u2014 selon laquelle nous interpr\u00e9tons le monde de fa\u00e7on diff\u00e9rente et que, donc, nos repr\u00e9sentations (nos \u00ab\u2009cartes du monde\u2009\u00bb) diff\u00e8rent.</p><h3><strong>4. Des conseils pour rendre la PNL plus efficace</strong></h3><p>Par ailleurs, la PNL consid\u00e8re que l\u2019apprentissage (ou le remodelage de nos repr\u00e9sentations \u00e0 partir d\u2019un mod\u00e8le d\u2019excellence) se fait progressivement, c\u2019est-\u00e0-dire \u00e9tape par \u00e9tape. Inutile de vouloir se transformer en une seule fois\u2026 Allons-y pas \u00e0 pas\u2009!</p><p>Il faut \u00e9galement avoir <strong>une attitude ouverte</strong> et penser qu\u2019un changement est possible (sinon dans le monde entier, au moins en vous). Adopter une telle attitude est d\u00e9j\u00e0 un changement positif qui permet de se reconnecter autrement et de changer de vie.</p><p>N\u2019h\u00e9sitez donc pas \u00e0 partir \u00e0 l\u2019aventure\u00a0: restez curieux et n\u2019ayez pas peur d\u2019\u00eatre confus quelquefois. En fait, c\u2019est un bon signe et c\u2019est de cette mani\u00e8re que vous avancerez.</p><p>Enfin, prenez <strong>la responsabilit\u00e9 du changement</strong>. C\u2019est \u00e0 vous d\u2019exp\u00e9rimenter, de prendre des notes, de partager et de transmettre vos exp\u00e9riences. Vous pouvez r\u00e9aliser ce travail de fa\u00e7on ludique et enjou\u00e9e.</p><h3><strong>Chapitre\u00a02 \u2014 Hypoth\u00e8ses de base sur la PNL</strong></h3><h3><strong>1. Les pr\u00e9suppositions de la PNL</strong></h3><p>Comme toute m\u00e9thode ou th\u00e9orie, la PNL part d\u2019une s\u00e9rie de postulats ou g\u00e9n\u00e9ralisations sur le monde. Quels sont-ils\u2009? Voici la liste des plus importants\u00a0:</p><ul><li>\u00ab\u2009La carte n\u2019est pas le territoire\u2009\u00bb (Korzybski), vos repr\u00e9sentations ne sont pas le monde\u2009;</li>\n<li>Chaque personne agit ou r\u00e9agit \u00e0 partir de sa propre carte\u2009;</li>\n<li><a href=\"https://des-livres-pour-changer-de-vie.com/les-vertus-de-lechec/\" target=\"_blank\" rel=\"noopener\">Vous n\u2019\u00e9chouez pas</a>, vous recevez un <em>feedback</em> (un retour sur exp\u00e9rience)\u2009;</li>\n<li>Les cons\u00e9quences de la communication importent plus que l\u2019intention \u2014 faites donc attention \u00e0 la fa\u00e7on dont vous communiquez, car c\u2019est le r\u00e9sultat de l\u2019\u00e9change qui compte\u2009;</li>\n<li>Adoptez d\u2019autres fa\u00e7ons de faire si celle que vous utilisez ne fonctionne pas\u2009;</li>\n<li>Vous communiquez avec votre corps autant qu\u2019avec vos mots\u2009;</li>\n<li>Vous disposez des ressources n\u00e9cessaires pour atteindre les r\u00e9sultats souhait\u00e9s\u2009;</li>\n<li>Tout comportement, m\u00eame n\u00e9gatif, vise une fin positive (se faire accepter, \u00eatre aim\u00e9, etc.)\u2009;</li>\n<li>Le comportement ne dit pas tout d\u2019une personne, il convient \u00e9galement de prendre en compte l\u2019environnement, les capacit\u00e9s et les comp\u00e9tences \u00e0 un moment donn\u00e9, les valeurs et les croyances, l\u2019identit\u00e9\u2009;</li>\n<li>Il n\u2019y a pas de s\u00e9paration nette du corps et de l\u2019esprit, mais un continuum \u2014 l\u2019un influen\u00e7ant constamment l\u2019autre\u2009;</li>\n<li>Un changement est toujours concevable, m\u00eame lorsqu\u2019il est difficile \u00e0 imaginer ou \u00e0 accepter\u2009;</li>\n<li>Prendre exemple sur des mod\u00e8les est une excellente fa\u00e7on de progresser.</li>\n</ul><h3><strong>2. Conclusions sur les pr\u00e9suppositions\u00a0: Lancez-vous\u2009!</strong></h3><blockquote>\n<p>\u00ab\u2009<strong>Testez-les sur vous en faisant comme si les g\u00e9n\u00e9ralisations \u00e9taient vraies</strong>. Pratiquez celles que vous trouvez particuli\u00e8rement utiles jusqu\u2019\u00e0 ce qu\u2019elles deviennent une seconde nature. Lorsque vous essayez les pr\u00e9suppositions de la PNL, dressez-en une liste et choisissez-en une par jour. Vous d\u00e9couvrirez soudain que vous vivez ces pr\u00e9suppositions et que \u201cla vie est plus simple\u201d\u2009!\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a037)</p>\n</blockquote><h3><strong>Chapitre\u00a03 \u2014 Prendre votre vie en main</strong></h3><h3><strong>1. Contr\u00f4ler votre m\u00e9moire</strong></h3><p>Les souvenirs sont cod\u00e9s en repr\u00e9sentations sensorielles (sons, images, sensations diverses). Vous pouvez ma\u00eetriser vos souvenirs en accentuant l\u2019\u00e9tat agr\u00e9able des souvenirs positifs et diminuant la peine li\u00e9e aux souvenirs n\u00e9gatifs.</p><p>Comment\u2009? En revivant le souvenir tout en vous focalisant progressivement sur ces sensations, puis en les modifiant mentalement (voir le chapitre\u00a010 pour plus de d\u00e9tails).</p><h3><strong>2. Sens et croyance</strong></h3><p>Ce qu\u2019on pense du monde et des autres est li\u00e9 \u00e0 nos filtres de perception. Pour en changer, il faut \u00eatre capable de prendre la responsabilit\u00e9 de nos pens\u00e9es et accepter de les modifier. Une fa\u00e7on efficace d\u2019entreprendre un changement de croyance consiste \u00e0 se focaliser sur les r\u00e9sultats, plut\u00f4t que sur le probl\u00e8me.</p><p>C\u2019est-\u00e0-dire\u2009? Le danger de penser \u00e0 partir du probl\u00e8me est qu\u2019il peut nous pousser \u00e0 chercher des coupables et nous mettre sur la d\u00e9fensive. Prendre appui sur une question visant la finalit\u00e9 de l\u2019action, telle que \u00ab\u2009quel \u00e9tait le but de mon action\u2009?\u2009\u00bb, permet d\u2019y voir plus clair et d\u2019<strong>avancer de fa\u00e7on plus constructive</strong>.</p><h3><strong>3. La voie de l\u2019excellence</strong></h3><p>D\u00e9finir ce que vous voulez\u00a0: tel est le premier pas. Connaissant l\u2019objectif, le cerveau va se mettre en branle naturellement, et refuser de continuer dans la spirale \u00e9puisante et sans fin des pens\u00e9es n\u00e9gatives. En sachant ce que vous voulez, vous canalisez votre \u00e9nergie et vos ressources \u00e0 bon escient.</p><p>Un conseil\u00a0: imaginez-vous \u00e2g\u00e9, en train de raconter votre vie. Ou m\u00eame plus\u00a0: \u00e9crivez votre n\u00e9crologie et dressez le bilan de votre h\u00e9ritage au monde pour d\u00e9gager plus clairement ce que vous souhaitez obtenir comme r\u00e9sultats dans votre vie.</p><p>Une fois que vous avez un objectif en t\u00eate, <strong>pensez SMART</strong> (sp\u00e9cifique, mesurable, appropri\u00e9, r\u00e9aliste et temporel) \u2014 ou, plus pr\u00e9cis\u00e9ment, posez-vous les questions suivantes, qui vous permettront d\u2019affiner encore sa formulation\u00a0:</p><ul><li>\n<blockquote>\n<p>\u00ab\u2009L\u2019objectif est-il \u00e9nonc\u00e9 de fa\u00e7on positive\u2009?</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>\u00c9mane-t-il d\u2019une initiative personnelle, est-il bien \u00e9tabli et sous mon contr\u00f4le\u2009?</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>D\u00e9crit-il la proc\u00e9dure de v\u00e9rification\u2009?</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Le contexte est-il clairement d\u00e9fini\u2009?</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Les ressources n\u00e9cessaires sont-elles identifi\u00e9es\u2009?</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Ai-je \u00e9valu\u00e9 son caract\u00e8re \u00e9cologique\u2009?</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Identifie-t-il la premi\u00e8re mesure \u00e0 prendre\u2009?\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a047)</p>\n</blockquote>\n</li>\n</ul><h3><strong>4. La formule du succ\u00e8s en 4 points</strong></h3><p>Vous pouvez appliquer la m\u00e9thode SMART (am\u00e9lior\u00e9e) pour chaque objectif sp\u00e9cifique de votre vie. Plus largement, rappelez-vous aussi de ces quatre points, qu\u2019il faut avoir \u00e0 l\u2019esprit tout au long de sa vie\u00a0:</p><ol><li>Conna\u00eetre le r\u00e9sultat souhait\u00e9 (en le formulant bien)\u2009;</li>\n<li>Passer \u00e0 l\u2019action\u2009;</li>\n<li>Utiliser son syst\u00e8me de repr\u00e9sentation sensorielle\u2009;</li>\n<li>Faire preuve de flexibilit\u00e9 comportementale.</li>\n</ol><p>On pourrait ajouter un point\u00a0: <a href=\"https://des-livres-pour-changer-de-vie.com/%f0%9f%93%94-sortie-dagir-reussir-mon-journal-de-productivite-plein-de-%f0%9f%8e%81/\" target=\"_blank\" rel=\"noopener\">tenir un journal des r\u00eaves li\u00e9s \u00e0 vos objectifs</a>. <strong>Noter vos objectifs</strong> vous permettra de ne pas les oublier en cours de route et de programmer votre cerveau (et votre inconscient) \u00e0 suivre la route indiqu\u00e9e. Imaginez que votre objectif est un rendez-vous avec vous-m\u00eame.</p><p>Vous pouvez aussi privil\u00e9gier un carnet muni de pages ou d\u2019intercalaires de couleurs diff\u00e9rentes. Vous noterez alors les objectifs par domaine de votre choix (par exemple\u00a0: vie sociale, travail, sports, etc.). Indiquez des objectifs li\u00e9s ces domaines, puis classez-les par ordre chronologique (objectif \u00e0 court, moyen ou long terme). Assurez-vous que ces objectifs soient bien formul\u00e9s (smart) et jetez-y un coup d\u2019\u0153il r\u00e9guli\u00e8rement.</p><p><img class=\"aligncenter size-full wp-image-22774 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Ecrivez-vos-objectifs-e1629712358963.jpg?is-pending-load=1\" alt=\"Ecrire des objectifs clairs et pr\u00e9cis\" width=\"600\" height=\"358\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-22774\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Ecrivez-vos-objectifs-e1629712358963.jpg\" alt=\"Ecrire des objectifs clairs et pr\u00e9cis\" width=\"600\" height=\"358\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Partie\u00a02 \u2013 Le Code de la route de votre cerveau</strong></h3><h3><strong>Chapitre\u00a04 \u2014 Qui est au volant\u2009?</strong></h3><h3><strong>1. Comment nos peurs peuvent nous conduire dans la mauvaise direction</strong></h3><p>L\u2019inconscient agit de fa\u00e7on souterraine en contr\u00f4lant notre corps, nos \u00e9motions, nos comportements. Pour agir efficacement, il faut imp\u00e9rativement <strong>placer le conscient et l\u2019inconscient en phase l\u2019un avec l\u2019autre</strong>.</p><p>Pour ce faire, il est bon de conna\u00eetre les fonctions respectives de chacun. Le conscient se concentre par exemple sur le langage verbal et la logique, tandis que l\u2019inconscient s\u2019occupe davantage du langage corporel et de <a href=\"https://des-livres-pour-changer-de-vie.com/laissez-courir-les-elephants/\" target=\"_blank\" rel=\"noopener\">la cr\u00e9ativit\u00e9</a>. Observons certaines autres sp\u00e9cificit\u00e9s de ce dernier.</p><ul><li>Incapacit\u00e9 \u00e0 traiter des informations n\u00e9gatives\u00a0(d\u2019o\u00f9 l\u2019importance de formuler ses objectifs de fa\u00e7on positive)\u2009;</li>\n<li>Besoin d\u2019orientation (<a href=\"https://des-livres-pour-changer-de-vie.com/lart-de-la-meditation/\" target=\"_blank\" rel=\"noopener\">la m\u00e9ditation</a> est un excellent moyen d\u2019ouvrir la communication avec votre inconscient et d\u2019apprendre \u00e0 le ma\u00eetriser)\u2009;</li>\n<li>Traitement des souvenirs\u00a0(dont le refoulement de ceux comportant des \u00e9motions n\u00e9gatives non r\u00e9solues)\u2009;</li>\n<li>Apprentissage en continu (l\u2019inconscient n\u2019aime pas s\u2019ennuyer, il a besoin de stimulations)\u2009;</li>\n<li>Moralit\u00e9 (votre inconscient vous fait agir en fonction de certains codes moraux que vous avez appris).</li>\n</ul><h3><strong>2. La formation r\u00e9ticul\u00e9e\u00a0: votre syst\u00e8me de suivi</strong></h3><p>Afin de cat\u00e9goriser toutes les informations sensorielles qui nous arrivent \u00e0 chaque moment de notre vie, un syst\u00e8me de neurones fonctionne \u00e0 plein r\u00e9gime \u2014 la PNL l\u2019appelle \u00ab\u2009formation r\u00e9ticul\u00e9e\u2009\u00bb. Quels sont ces crit\u00e8res de s\u00e9lection\u2009? Comment choisit-elle de conserver ou de rejeter l\u2019information\u2009?</p><ol><li>Importance pour la survie\u2009;</li>\n<li>Nouveaut\u00e9\u00a0(une chose \u00e0 laquelle vous n\u2019\u00eates pas habitu\u00e9 va davantage retenir votre attention)\u2009;</li>\n<li>Investissement \u00e9motionnel fort (pour un proche, par exemple).</li>\n</ol><p>La formation r\u00e9ticul\u00e9e vous aidera \u00e0 remarquer les \u00e9l\u00e9ments en rapport avec vos objectifs, tout en vous permettant de <strong>vivre votre vie quotidienne sans \u00eatre constamment assailli par les sensations</strong>. Notez que vos croyances influencent la formation r\u00e9ticul\u00e9e\u00a0: celles-ci peuvent emp\u00eacher (ou au contraire stimuler) vos perceptions.</p><h3><strong>3. Les croyances et les valeurs font toute la diff\u00e9rence</strong></h3><blockquote>\n<p>\u00ab\u2009Tout le monde a des valeurs, celles-ci varient simplement d\u2019un individu et d\u2019un groupe \u00e0 l\u2019autre. Vos valeurs et vos croyances sont des filtres inconscients que vous utilisez pour d\u00e9cider quels fragments de donn\u00e9es per\u00e7us par vos sens vous allez laisser entrer ou emp\u00eacher d\u2019entrer.\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a073)</p>\n</blockquote><p>Autrement dit, ces valeurs et croyances vous font <a href=\"https://des-livres-pour-changer-de-vie.com/le-neuro-consommateur-comment-les-neurosciences-eclairent-les-decisions-dachat-du-consommateur/\" target=\"_blank\" rel=\"noopener\">prendre des d\u00e9cisions</a> inconsciemment. Elles sont le fruit de vos exp\u00e9riences pass\u00e9es et vous portent \u00e0 avoir confiance (ou non) en certaines de vos capacit\u00e9s. On parle de <strong>croyances limitantes</strong> quand celles-ci vous poussent \u00e0 vous sentir incapable de faire telle ou telle chose.</p><p>D\u2019autre part, les croyances des autres peuvent \u00e9galement nous aider ou nous nuire. Si d\u2019autres (en particulier les figures \u00e9ducatives, professionnelles, les amis et la famille) nous pensent incapables, nous aurons tendance \u00e0 le devenir\u2026 Heureusement, il existe des moyens de contourner ce probl\u00e8me (voir le chapitre\u00a07 sur l\u2019exploration des modes de perception).</p><p>Vous pouvez encore choisir de <strong>transformer vos propres croyances et valeurs</strong>, en agissant sur les modalit\u00e9s sensorielles (sons, images, sensations) qui leur sont associ\u00e9es \u2014 un peu comme pour les souvenirs.</p><h3><strong>4. Imaginez votre r\u00e9alit\u00e9 future</strong></h3><p>L\u2019imagination n\u2019est pas un d\u00e9faut\u2009! Au contraire, cela peut vous aider \u00e0 \u00e9tablir vos objectifs de fa\u00e7on plus efficace. Voici les conseils de Romilla Ready et Kate Burton \u00e0 ce sujet\u00a0:</p><ul><li>\n<blockquote>\n<p>\u00ab\u2009Dressez une liste des \u00e9l\u00e9ments importants concernant votre objectif, des raisons pour lesquelles vous voulez l\u2019atteindre, puis classez-les par ordre d\u2019importance. Vos valeurs vous surprennent\u2009? Vous \u00eates-vous rendu compte que des choses que vous jugiez importantes ne l\u2019\u00e9taient pas tant que cela apr\u00e8s tout\u2009? Avez-vous pens\u00e9 \u00e0 une valeur qui manquait au d\u00e9part\u2009?</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Maintenant, toujours \u00e9veill\u00e9, imaginez-vous en train de flotter en dehors de votre corps et projetez-vous dans l\u2019avenir, \u00e0 l\u2019\u00e9poque o\u00f9 vous pourriez avoir atteint l\u2019objectif fix\u00e9.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Pr\u00eatez attention aux images, sons et sensations et modifiez-les. Parvenez-vous \u00e0 les rendre plus puissants, vibrants, \u00e9clatants, et \u00e0 aller encore au-del\u00e0\u2009?</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Depuis l\u2019avenir, retournez-vous sur le pr\u00e9sent et laissez votre inconscient identifier ce qu\u2019il a besoin de savoir et vous aider \u00e0 en prendre conscience, pour vous permettre d\u2019atteindre votre objectif. N\u2019oubliez pas de noter quelle serait la premi\u00e8re mesure \u00e0 prendre\u2009!</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Une fois le r\u00eave bien savour\u00e9, revenez \u00e0 la r\u00e9alit\u00e9 et prenez cette premi\u00e8re mesure\u2009!\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a084-85)</p>\n</blockquote>\n</li>\n</ul><h3><strong>Chapitre\u00a05 \u2014 Appuyer sur les boutons de la communication</strong></h3><h3><strong>1. Le mod\u00e8le de la communication de la PNL</strong></h3><p>La psychologie cognitive de Bandler et Grinder propose un mod\u00e8le de communication particulier. Celui-ci est constitu\u00e9 de quatre notions importantes\u00a0:</p><ul><li><strong>Le comportement ext\u00e9rieur</strong>\u00a0= la mani\u00e8re dont quelqu\u2019un agit visiblement vis-\u00e0-vis des autres\u2009;</li>\n<li><strong>La r\u00e9ponse int\u00e9rieure</strong>\u00a0= la r\u00e9action qui se produit \u00e0 l\u2019int\u00e9rieur de la personne\u2009;</li>\n<li><strong>Le processus interne</strong>\u00a0= le dialogue qui se met en place lors de la r\u00e9ponse int\u00e9rieure\u2009;</li>\n<li><strong>L\u2019\u00e9tat interne</strong> = les sensations qui submergent la personne \u00e0 l\u2019occasion de la r\u00e9ponse int\u00e9rieure.</li>\n</ul><p>Lorsque, par exemple, deux personnes communiquent, l\u2019une agit d\u2019une certaine fa\u00e7on (comportement ext\u00e9rieur), ce qui permet \u00e0 l\u2019autre de formuler une r\u00e9ponse int\u00e9rieure, puis un comportement ext\u00e9rieur r\u00e9pondant \u00e0 celui de son interlocuteur. Bien s\u00fbr, ce comportement ext\u00e9rieur produit \u00e0 son tour une r\u00e9ponse int\u00e9rieure de la premi\u00e8re personne. Ce cycle se poursuit ainsi jusqu\u2019\u00e0 ce que cesse la communication. Soit la communication peut partir \u00ab\u2009en vrille\u2009\u00bb, soit elle peut r\u00e9ussir et \u00eatre harmonieuse.</p><h3><strong>2. Comprendre le processus de la communication</strong></h3><p>Grinder et Bandler ont remarqu\u00e9 que <strong>les bons communicants</strong> poss\u00e8dent au moins trois caract\u00e9ristiques\u00a0:</p><ol><li>Savoir ce qui est attendu de la communication\u2009;</li>\n<li>\u00catre \u00e0 l\u2019\u00e9coute des r\u00e9ponses et savoir les identifier pr\u00e9cis\u00e9ment\u2009;</li>\n<li>Se montrer flexible pour obtenir, au moins progressivement, ce qui est attendu.</li>\n</ol><p>Nous ne sommes pas capables de tout entendre de l\u2019autre. La communication d\u00e9pend notamment de trois processus\u00a0: les omissions, les distorsions et les g\u00e9n\u00e9ralisations que nous pouvons faire vis-\u00e0-vis de l\u2019information transmise par autrui (ou par le milieu).</p><p>Par ailleurs, nos r\u00e9actions varient en fonction de plusieurs caract\u00e9ristiques qui font notre singularit\u00e9\u00a0: notre m\u00e9taprogramme (est-il plut\u00f4t introverti ou extraverti, par exemple), nos croyances et valeurs, nos attitudes, nos souvenirs, nos d\u00e9cisions.</p><h3><strong>3. Essayer la communication efficace</strong></h3><p>Pour am\u00e9liorer sa communication, mieux vaut apprendre \u00e0 vivre avec toutes ces dimensions inconscientes. Il est possible de cr\u00e9er une communication harmonieuse avec autrui en se montrant d\u00e9termin\u00e9 (en sachant ce que l\u2019on veut obtenir de la discussion) et patient (c\u2019est-\u00e0-dire flexible).</p><p><a href=\"https://des-livres-pour-changer-de-vie.com/la-communication-non-violente/\" target=\"_blank\" rel=\"noopener\">La communication non violente</a> repose sur des bases similaires\u00a0d\u2019\u00e9change et de conscientisation des objectifs et des freins de la communication (d\u00e9sirs, peurs, etc.). Apprendre \u00e0 bien communiquer, c\u2019est apprendre \u00e0 devenir pleinement responsable de ses paroles, c\u2019est-\u00e0-dire des cons\u00e9quences de nos actes langagiers.</p><h3><strong>Partie\u00a03 \u2014 Se faire des amis\u2026 En influen\u00e7ant les autres</strong></h3><h3><strong>Chapitre\u00a06 \u2014 Voir, entendre et sentir \u00e0 votre mani\u00e8re pour mieux communiquer</strong></h3><h3><strong>1. Trois lettres pour des modalit\u00e9s\u00a0: VAK</strong></h3><p>Nous avons appel\u00e9 \u00ab\u00a0modalit\u00e9s\u00a0\u00bb les impressions des sens qui restent pr\u00e9sents \u00e0 l\u2019esprit lorsque nous pensons. Par exemple, si nous pensons \u00e0 un plat, nous pensons \u00e0 des images, des saveurs, un contact chaud ou froid, etc. Ces modalit\u00e9s impr\u00e8gnent litt\u00e9ralement le processus de la pens\u00e9e.</p><p><strong>VAK est un acronyme pour visuel, auditif et kinesth\u00e9sique</strong> (li\u00e9 aux sensations du corps). De ce dernier, on peut distinguer les informations olfactives et gustatives (on obtient alors l\u2019acronyme VAKOG). Certaines personnes ont certains sens plus d\u00e9velopp\u00e9s que d\u2019autres \u2014 ce qui signifie qu\u2019ils captent plus d\u2019information par ce biais.</p><p>Sachant cela, vous pouvez \u00e9galement commencer \u00e0 entra\u00eener vos sens pour les rendre plus aiguis\u00e9s et ainsi recueillir des informations plus vari\u00e9es sur le monde qui vous entoure. Vous d\u00e9couvrirez peut-\u00eatre de meilleures fa\u00e7ons d\u2019apprendre ou de pratiquer une activit\u00e9, sportive ou artistique par exemple.</p><h3><strong>2. \u00c9couter le monde des mots</strong></h3><p>Les mots que vous utilisez peuvent vous donner des indices sur votre syst\u00e8me de repr\u00e9sentation sensorielle privil\u00e9gi\u00e9 (plut\u00f4t visuel, auditif ou kinesth\u00e9sique). Vous pouvez aussi deviner celui des autres.</p><p><strong>Par exemple</strong>, vous direz des propos de quelqu\u2019un qu\u2019ils sont clairs ou lumineux (visuel), qu\u2019ils r\u00e9sonnent ou qu\u2019ils sont forts (auditif), ou bien qu\u2019ils sont solides ou excitants\u2026</p><p>Lorsque les mots sont neutres, sans r\u00e9f\u00e9rence aux sens, la PNL parle de langage digital. Les contrats et documents d\u2019assurance en sont de parfaits exemples.</p><h3><strong>3. Tout dans les yeux</strong></h3><p>Il en va de m\u00eame avec <strong>le langage corporel</strong>, qui dit beaucoup, lui aussi, de votre syst\u00e8me de repr\u00e9sentations sensorielles pr\u00e9f\u00e9r\u00e9. En particulier, le mouvement des yeux permettrait de conna\u00eetre ces pr\u00e9f\u00e9rences. C\u2019est ce que la PNL appelle les cl\u00e9s d\u2019acc\u00e8s visuelles\u00a0:</p><ul><li>Haut \u00e0 droite\u00a0= visuel cr\u00e9\u00e9 (imagination)\u2009;</li>\n<li>Haut \u00e0 gauche\u00a0= visuel \u00e9voqu\u00e9 (images connues)\u2009;</li>\n<li>Droit devant\u00a0= visuel (voir quelque chose de nouveau, d\u2019important)\u2009;</li>\n<li>Lat\u00e9ralement \u00e0 droite = auditif cr\u00e9\u00e9 (entendre de nouveaux sons)\u2009;</li>\n<li>Lat\u00e9ralement \u00e0 gauche\u00a0= auditif \u00e9voqu\u00e9 (souvenir de sons)\u2009;</li>\n<li>Bas \u00e0 gauche = auditif dialogue int\u00e9rieur (se parler \u00e0 soi-m\u00eame)\u2009;</li>\n<li>Bas \u00e0 droite = kinesth\u00e9sique (sensations, \u00e9motions, toucher, go\u00fbt, odorat).</li>\n</ul><p>En fait, l\u2019\u00e9tude du mouvement oculaire peut vous aider \u00e0 cerner l\u2019\u00e9tat d\u2019esprit de quelqu\u2019un. De cette fa\u00e7on, vous vous rendez capable de mieux communiquer avec lui.</p><h3><strong>4. Utiliser le syst\u00e8me VAK</strong></h3><p>La connaissance de ce syst\u00e8me peut vous aider dans bien des domaines de votre vie quotidienne, depuis la gestion des r\u00e9unions professionnelles jusqu\u2019\u00e0 la mentalisation de vos objectifs, en passant par le d\u00e9veloppement d\u2019une \u00e9criture plus puissante.</p><p>N\u2019h\u00e9sitez pas \u00e0 <strong>travailler un sens par jour</strong>, en cherchant \u00e0 explorer ce qui se passe en vous et, \u00e9ventuellement, en apprenant \u00e0 mettre des mots sur vos impressions.</p><p><img class=\"aligncenter size-full wp-image-24109 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/Utiliser-les-sens-e1629712805428.jpg?is-pending-load=1\" alt=\"D\u00e9couvrir ses sens gr\u00e2ce \u00e0 la PNL\" width=\"459\" height=\"600\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-24109\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/Utiliser-les-sens-e1629712805428.jpg\" alt=\"D\u00e9couvrir ses sens gr\u00e2ce \u00e0 la PNL\" width=\"459\" height=\"600\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Chapitre\u00a07 \u2014 \u00c9tablir le rapport</strong></h3><h3><strong>1. Pourquoi le rapport est-il important\u2009?</strong></h3><blockquote>\n<p>\u00ab\u2009Le rapport est au c\u0153ur de la PNL et constitue un de ses piliers, aboutissant \u00e0 une communication satisfaisante entre deux individus ou groupes de personnes. Vous n\u2019avez pas besoin d\u2019aimer quelqu\u2019un pour \u00e9tablir un rapport avec lui. Il s\u2019agit d\u2019une mani\u00e8re de se comporter avec les autres fond\u00e9e sur le respect mutuel et d\u2019\u00e9changer \u00e0 tout moment.\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a0127)</p>\n</blockquote><p>Le rapport est important, car il permet d\u2019<strong>\u00e9tablir des relations bilat\u00e9rales avec n\u2019importe quelle personne</strong>, en \u00e9tablissant un contexte positif de r\u00e9ciprocit\u00e9 et d\u2019\u00e9coute.</p><p>Il importe de pouvoir identifier les rapports r\u00e9ussis et les comparer \u00e0 ceux qui sont mal engag\u00e9s ou carr\u00e9ment inexistants. Si vous souhaitez \u00e9tablir des rapports avec de nouvelles personnes ou en am\u00e9liorer certains, <strong>posez-vous ces questions</strong> en veillant \u00e0 r\u00e9pondre par \u00e9crit\u00a0:</p><ul><li>Quelle est la relation que j\u2019entretiens avec cette personne\u2009?</li>\n<li>Quel changement souhaiterais-je apporter\u2009?</li>\n<li>En quoi cela m\u2019impacterait-il\u2009?</li>\n<li>Et pour autrui, quelles en seraient les cons\u00e9quences\u2009?</li>\n<li>Est-ce que je tiens vraiment \u00e0 y d\u00e9penser du temps et de l\u2019\u00e9nergie\u2009?</li>\n<li>Quelles sont les pressions v\u00e9cues par la personne\u2009?</li>\n<li>Qu\u2019est-ce qui compte le plus pour elle actuellement\u2009?</li>\n<li>Pourrais-je apprendre quelque chose de quelqu\u2019un qui a une bonne relation avec cette personne\u2009?</li>\n<li>Ai-je besoin d\u2019une aide pour am\u00e9liorer le rapport\u2009?</li>\n<li>Quelles sont mes id\u00e9es pour faire \u00e9voluer la relation\u2009?</li>\n<li>Quelle serait la premi\u00e8re chose \u00e0 mettre en place\u2009?</li>\n</ul><h3><strong>2. Techniques de base pour \u00e9tablir le rapport</strong></h3><p>Cr\u00e9er un rapport avec quelqu\u2019un passe par l\u2019environnement, les valeurs et les buts (partag\u00e9s ou non), les croyances et les comp\u00e9tences acquises au long de la vie, et bien s\u00fbr par les mani\u00e8res d\u2019\u00eatre, de parler et d\u2019agir.</p><p>La PNL parle de synchronisation et de <strong>mim\u00e9tisme comportemental</strong> lorsque les deux partenaires d\u2019un rapport se sont mis totalement en phase. Lorsqu\u2019ils ne le sont pas, la PNL parle de d\u00e9saccord.</p><p>Pour faciliter ou acc\u00e9l\u00e9rer la mise en rapport, vous pouvez aussi adopter la m\u00eame perspective sur la vie et le m\u00eame rythme que l\u2019autre personne (y compris le rythme de respiration). Apprenez \u00e0 vous mouler dans ses intentions, mais aussi dans ses fa\u00e7ons d\u2019apprendre et de vivre au quotidien.</p><p>Lorsque vous parlez, <strong>assurez-vous d\u2019\u00eatre en harmonie avec vous-m\u00eame</strong>\u00a0: mots, images et sons doivent fournir le m\u00eame message \u00e0 votre interlocuteur. Connectez-vous \u00e0 autrui en d\u00e9montrant votre confiance en vous-m\u00eame et votre sinc\u00e9rit\u00e9.</p><p>Pour convaincre une personne (ou un groupe) et la \u00ab\u2009conduire\u2009\u00bb dans le sens voulu, commencez par vous mettre en phase avec elle. Plut\u00f4t que de vous opposer, \u00e9coutez et partez de la perspective de l\u2019autre pour le faire doucement d\u00e9river vers la direction souhait\u00e9e.</p><h3><strong>3. Comment rompre un rapport et pourquoi</strong></h3><p>Vous pouvez avoir envie ou besoin de rompre le rapport provisoirement ou d\u00e9finitivement, c\u2019est-\u00e0-dire de vous d\u00e9synchroniser, pour plusieurs raisons\u00a0: l\u2019affaire est conclue, vous \u00eates fatigu\u00e9 ou vous vous ennuyez, vous \u00eates occup\u00e9, etc.</p><p>Comment faire\u2009? Modifiez la position de votre corps dans l\u2019espace, changez le ton ou le volume de votre voix ou utilisez des mots clairs. Pr\u00eatez attention \u00e0 certains gestes (haussement des sourcils, par exemple) et \u00e0 certaines paroles (le connecteur \u00ab\u2009mais\u2009\u00bb peut modifier la perception du message par votre interlocuteur, en ne lui faisant se souvenir que de la moiti\u00e9 n\u00e9gative de votre message).</p><p>Bien s\u00fbr, il est pr\u00e9f\u00e9rable de rester courtois et diplomate. Mais n\u2019h\u00e9sitez pas \u00e0 exprimer votre refus \u2014 surtout si vous avez l\u2019habitude d\u2019en faire trop pour les autres.</p><h3><strong>4. Comprendre les autres points de vue</strong></h3><blockquote>\n<p>\u00ab\u2009Les personnes qui ont du succ\u00e8s affichent la flexibilit\u00e9 n\u00e9cessaire pour percevoir le monde de diff\u00e9rentes mani\u00e8res. Elles prennent plusieurs perspectives, ce qui leur permet d\u2019explorer de nouvelles id\u00e9es.\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a0142)</p>\n</blockquote><p>Vous pouvez vous entra\u00eener \u00e0 prendre <strong>trois points de vue au moins</strong>, que la PNL nomme <strong>positions perceptuelles</strong>\u00a0:</p><ol><li>La v\u00f4tre, celle qui vous est naturelle\u2009;</li>\n<li>Celle de l\u2019autre, qui vous am\u00e8ne \u00e0 imaginer ce qu\u2019il vit\u2009;</li>\n<li>Une position neutre, d\u2019observateur d\u00e9sint\u00e9ress\u00e9.</li>\n</ol><p>Pour vous familiariser avec les diff\u00e9rentes perspectives sur le monde, vous pouvez aussi utiliser le m\u00e9tamiroir. Il s\u2019agit d\u2019un exercice propos\u00e9 par Robert Dilts. Il permet de vous pr\u00e9parer \u00e0 un \u00e9change compliqu\u00e9.</p><p>Comment faire\u2009? Dessinez au sol quatre positions et <strong>suivez la proc\u00e9dure suivante</strong>\u00a0:</p><ol><li>Se placer en premi\u00e8re position et se demander\u00a0: \u00ab\u2009qu\u2019est-ce que je vis, je pense et je ressens lorsque je regarde cette personne\u2009?\u2009\u00bb</li>\n<li>Se placer dans la seconde position et se demander la m\u00eame chose \u2014 mais en se mettant \u00e0 la place de l\u2019autre personne.</li>\n<li>Occuper la troisi\u00e8me position \u2014 neutre \u2014 et se questionner sur soi en premi\u00e8re position\u00a0: qu\u2019est-ce que je pense de \u00ab\u2009moi\u2009\u00bb, vu de l\u2019ext\u00e9rieur\u2009?</li>\n<li>Occuper la quatri\u00e8me position, avec plus de distance encore. L\u00e0, comparer les pens\u00e9es de la troisi\u00e8me position et celles de la premi\u00e8re et les permuter (faire de l\u2019image de soi re\u00e7ue en position n\u00b0\u00a03 la position n\u00b0\u00a01 en premi\u00e8re personne).</li>\n<li>Revenir dans la seconde position et se demander\u00a0: \u00ab\u2009en quoi est-ce diff\u00e9rent maintenant, qu\u2019est-ce qui a chang\u00e9\u2009?\u2009\u00bb</li>\n<li>Revenir dans la premi\u00e8re position et se poser la m\u00eame question\u00a0: \u00ab\u2009en quoi est-ce diff\u00e9rent, qu\u2019est-ce qui a chang\u00e9\u2009?\u2009\u00bb</li>\n</ol><h3><strong>Chapitre\u00a08 \u2014 Comprendre pour \u00eatre compris\u00a0: les m\u00e9taprogrammes</strong></h3><h3><strong>1. Les notions de base d\u2019un m\u00e9taprogramme</strong></h3><blockquote>\n<p>\u00ab\u2009On appelle m\u00e9taprogrammes les filtres inconscients qui orientent vers l\u2019objet de votre attention la fa\u00e7on dont vous traitez n\u2019importe quelle information re\u00e7ue puis dont vous la communiquez.\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a0147)</p>\n</blockquote><p>Ces m\u00e9taprogrammes r\u00e9sultent de vos exp\u00e9riences, principalement celles v\u00e9cues pendant l\u2019enfance. Il en existe beaucoup, mais Romilla Ready et Kate Burton ont choisi de se focaliser sur six paires (en plus de l\u2019introversion et de l\u2019extraversion, \u00e9voqu\u00e9e au chapitre 5) qui peuvent \u00eatre particuli\u00e8rement utiles pour <a href=\"https://des-livres-pour-changer-de-vie.com/top-200-citations-de-motivation-pour-rester-super-motive/\" target=\"_blank\" rel=\"noopener\">se motiver soi-m\u00eame</a> ou faciliter le rapport avec autrui.</p><p>Souvenez-vous\u00a0: il s\u2019agit de <strong>caract\u00e9risations mobiles et \u00e9volutives</strong>. Elles peuvent d\u2019ailleurs se combiner. Surtout, elles ne visent pas \u00e0 juger ou \u00e0 cataloguer, mais \u00e0 comprendre, interpr\u00e9ter et \u00e9ventuellement imiter (ou se synchroniser \u00e0) une situation de communication ou une personne.</p><h3><strong>2. Proactif/R\u00e9actif</strong></h3><p>Le proactif a plut\u00f4t tendance \u00e0 passer \u00e0 l\u2019action. Il veut que les choses avancent et il est pr\u00eat \u00e0 agir pour faire \u00e9voluer la situation. Il trouve des solutions, m\u00eame dans l\u2019urgence. \u00ab\u2009Oser\u2009!\u2009\u00bb, \u00ab\u2009Allons-y\u2009!\u2009\u00bb, \u00ab\u2009Il faut s\u2019y mettre\u2009\u00bb, telles sont quelques-unes des expressions qu\u2019il pourra utiliser au quotidien.</p><p>Le r\u00e9actif cherche plut\u00f4t \u00e0 faire le point et \u00e0 comprendre ce qui se passe avant de prendre une d\u00e9cision. Il attendra \u00e9ventuellement que d\u2019autres prennent l\u2019initiative. \u00ab\u2009R\u00e9fl\u00e9chissons-y\u2009\u00bb, \u00ab\u2009\u00e9tudions les donn\u00e9es\u2009\u00bb, \u00ab\u2009pesons le pour et le contre\u2009\u00bb, dira sans doute le r\u00e9actif.</p><h3><strong>3. Rapprochement/\u00c9loignement</strong></h3><p>Les personnes qui se rapprochent (du plaisir ou de valeurs positives) souhaitent avancer et le font souvent gr\u00e2ce aux b\u00e9n\u00e9fices esp\u00e9r\u00e9s. Elles sont capables de rester calmes et concentr\u00e9es. \u00ab\u2009Accomplir\u2009\u00bb, \u00ab\u2009Obtenir\u2009\u00bb, \u00ab\u2009inclure\u2009\u00bb fait partie des verbes qu\u2019elles aiment employer.</p><p>Les personnes qui s\u2019\u00e9loignent (de la douleur ou de valeurs n\u00e9gatives) cherchent plut\u00f4t \u00e0 prendre leurs distances vis-\u00e0-vis de risques ou de dangers per\u00e7us. Elles g\u00e8rent les crises et se montrent critiques. Elles pr\u00e9f\u00e8rent les verbes \u00ab\u2009enlever\u2009\u00bb, \u00ab\u2009\u00e9viter\u2009\u00bb, \u00ab\u2009solutionner\u2009\u00bb.</p><h3><strong>4. Options/Proc\u00e9dures</strong></h3><p>L\u2019individu orient\u00e9 \u00ab\u2009options\u2009\u00bb aimera d\u00e9couvrir de nouvelles fa\u00e7ons de faire et optera pour la diversit\u00e9. Il aime commencer des projets (mais pas n\u00e9cessairement les terminer). \u00ab\u2009Essayer autrement\u2009\u00bb, \u00ab\u2009improviser le moment venu\u2009\u00bb\u00a0: voil\u00e0 ce qui fait fr\u00e9mir la personne options.</p><p>L\u2019individu orient\u00e9 \u00ab\u2009proc\u00e9dures\u2009\u00bb privil\u00e9giera les m\u00e9thodologies d\u00e9j\u00e0 usit\u00e9es, m\u00eame s\u2019il n\u2019est pas toujours capable de les mettre en place lui-m\u00eame. \u00ab\u2009Suivre les \u00e9tapes\u2009\u00bb, \u00ab\u2009un pas apr\u00e8s l\u2019autre\u2009\u00bb\u00a0: le <em>must</em> de la personne proc\u00e9dures.</p><h3><strong>5. Interne/Externe</strong></h3><p>L\u2019interne aura confiance en lui-m\u00eame\u00a0: il n\u2019aura pas besoin de l\u2019avis des autres pour savoir qu\u2019il a pris la bonne d\u00e9cision. Il s\u2019appuie sur ses propres ressources. Pour influencer un interne, utilisez des termes tels que \u00ab\u2009c\u2019est \u00e0 vous de d\u00e9cider\u2009\u00bb ou \u00ab\u2009voyez vous-m\u00eame\u2009\u00bb.</p><p>L\u2019externe \u00e9prouvera le besoin de se raccrocher \u00e0 l\u2019opinion d\u2019autrui pour s\u2019assurer qu\u2019il a agi de la bonne mani\u00e8re. Il cherche des renforts \u00e0 l\u2019ext\u00e9rieur. Si vous voulez obtenir davantage d\u2019un externe, employez plut\u00f4t des expressions comme \u00ab\u2009les statistiques montrent que\u2026\u2009\u00bb, \u00ab\u2009je sais que vous pouvez le faire\u2009\u00bb, \u00ab\u2009\u00e7a se fait\u2026\u2009\u00bb.</p><h3><strong>6. Global/Sp\u00e9cifique</strong></h3><p>Quelqu\u2019un manifestant un m\u00e9taprogramme plut\u00f4t global d\u00e9coupera les t\u00e2ches en plus gros morceaux. Il aime aussi les vues d\u2019ensemble, les connexions lat\u00e9rales et les concepts. \u00ab\u2009En un mot\u2009\u00bb, \u00ab\u2009g\u00e9n\u00e9ralement\u2009\u00bb, seront des signes tangibles de globalit\u00e9.</p><p>Une personnalit\u00e9 plus sp\u00e9cifique d\u00e9coupera ses t\u00e2ches en plus petites parties. Elle entrera directement dans le d\u00e9tail, utilisera des exemples et avancera de fa\u00e7on plus s\u00e9quentielle. \u00ab\u2009Particuli\u00e8rement\u2009\u00bb, \u00ab\u2009avant/apr\u00e8s\u2009\u00bb, vous feront reconna\u00eetre la sp\u00e9cificit\u00e9.</p><h3><strong>7. Similitude/Similitude avec diff\u00e9rence/diff\u00e9rence</strong></h3><p>Trois profils se d\u00e9gagent ici\u00a0:</p><ul><li>Renvoyer la nouveaut\u00e9 au connu (similitude)\u2009;</li>\n<li>Remarquer la similitude, puis les diff\u00e9rences (similitude avec diff\u00e9rence)\u2009;</li>\n<li>Se focaliser sur les modifications (diff\u00e9rence).</li>\n</ul><p>Le premier usera le vocabulaire du \u00ab\u2009commun\u2009\u00bb, du \u00ab\u2009statique\u2009\u00bb, de l\u2019\u00ab\u2009inchang\u00e9\u2009\u00bb\u2009; le deuxi\u00e8me dira que \u00ab\u2009c\u2019est pareil, sauf que\u2009\u00bb ou que \u00ab\u2009\u00e7a augmente/diminue\u2009\u00bb\u2009; le troisi\u00e8me trouvera que \u00ab\u2009c\u2019est le jour et la nuit\u2009\u00bb, que \u00ab\u2009\u00e7a n\u2019a rien \u00e0 voir\u2009\u00bb ou que c\u2019est \u00ab\u2009transform\u00e9\u2009\u00bb.</p><h3><strong>8. Combiner plusieurs m\u00e9taprogrammes</strong></h3><blockquote>\n<p>\u00ab\u2009Lorsque vous \u00eates dans votre zone de confort, vous pr\u00e9f\u00e9rez adopter une certaine combinaison de m\u00e9taprogrammes. Vous devriez essayer d\u2019avoir \u00e0 l\u2019esprit que cette combinaison peut changer en fonction des circonstances que vous rencontrez. [\u2026]\u00a0Il est \u00e9galement important de se rendre compte que certaines combinaisons conviennent mieux que d\u2019autres \u00e0 certaines professions et que bien d\u2019autres m\u00e9taprogrammes peuvent vous \u00eatre utiles.\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a0168)</p>\n</blockquote><h3><strong>9. D\u00e9velopper vos m\u00e9taprogrammes</strong></h3><p>Pensez-y\u00a0: \u00eates-vous capable de rep\u00e9rer vos m\u00e9taprogrammes, dans les diff\u00e9rentes sph\u00e8res de votre vie\u2009? \u00cates-vous capable de cerner ceux des autres au cours d\u2019une interaction\u00a0et d\u2019agir en cons\u00e9quence\u2009?</p><p>Progressivement, mettez-vous \u00e0 l\u2019\u00e9coute de vous-m\u00eame et des autres, afin d\u2019am\u00e9liorer vos chances d\u2019accomplir vos objectifs et d\u2019avoir des rapports sereins avec autrui.</p><p><img class=\"aligncenter size-full wp-image-24112 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/Decouvrir-sa-personnalite-e1629713103444.jpg?is-pending-load=1\" alt=\"Qui \u00eates-vous\u00a0? D\u00e9couvrez votre personnalit\u00e9 gr\u00e2ce \u00e0 la PNL\" width=\"600\" height=\"450\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-24112\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/Decouvrir-sa-personnalite-e1629713103444.jpg\" alt=\"Qui \u00eates-vous\u00a0? D\u00e9couvrez votre personnalit\u00e9 gr\u00e2ce \u00e0 la PNL\" width=\"600\" height=\"450\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Partie\u00a04 \u2014 Ouvrir la bo\u00eete \u00e0 outils</strong></h3><h3><strong>Chapitre\u00a09 \u2014 Jeter l\u2019ancre</strong></h3><h3><strong>1. Commencer par les ancres</strong></h3><p>Vous pouvez avoir l\u2019impression d\u2019\u00eatre submerg\u00e9 par vos sentiments \u2014 positifs comme n\u00e9gatifs. Vous perdez le contr\u00f4le et r\u00e9agissez de mani\u00e8re disproportionn\u00e9e. Ce qui peut avoir des cons\u00e9quences dans divers aspects de votre vie.</p><p>Pour ma\u00eetriser vos \u00e9tats, c\u2019est-\u00e0-dire la mani\u00e8re dont vous vous sentez \u00e0 un instant T, la PNL dispose d\u2019outils appel\u00e9s techniques d\u2019ancrage. Une ancre, c\u2019est <strong>un stimulus venu de l\u2019ext\u00e9rieur</strong> qui va d\u00e9clencher une r\u00e9ponse en vous et un \u00e9tat int\u00e9rieur.</p><p>Vous pouvez apprendre \u00e0 <strong>d\u00e9finir des ancres</strong>. L\u2019une des m\u00e9thodes est la suivante\u00a0:</p><ol><li>Conna\u00eetre l\u2019\u00e9tat positif dans lequel on souhaite se trouver\u2009;</li>\n<li>Trouver un souvenir correspondant\u2009;</li>\n<li>Revivre le souvenir en y associant les sons, images, sensations\u2009;</li>\n<li>Choisir une ancre \u2014 un son, un mouvement ou une image\u2009;</li>\n<li>Mobiliser l\u2019ancre mentalement (ou en faisant un geste) lorsque le besoin s\u2019en fait sentir.</li>\n</ol><p>Sans le vouloir, nous cr\u00e9ons tous des ancres n\u00e9gatives. Mais nous pouvons apprendre \u00e0 les rep\u00e9rer. Nous pouvons aussi apprendre \u00e0 calibrer nos relations en utilisant les expressions ou attitudes d\u2019autrui comme des ancres.</p><p>Enfin, gr\u00e2ce notamment \u00e0 la proc\u00e9dure \u00e9voqu\u00e9e plus haut, nous pouvons cr\u00e9er nous-m\u00eames une palette d\u2019ancres qui nous permette d\u2019augmenter nos exp\u00e9riences positives et de diminuer les exp\u00e9riences n\u00e9gatives.</p><h3><strong>2. \u00c0 la d\u00e9couverte des \u00e9motions\u00a0: les \u00e9tats s\u00e9quentiels</strong></h3><p>Les \u00e9tats se transforment\u00a0: nous passons tous d\u2019un \u00e9tat \u00e0 un autre. Et nous recherchons aussi parfois\u00a0activement cette modification, pour nous-m\u00eames ou pour les autres. Les ancres permettent de (faire) changer d\u2019\u00e9tat.</p><p>Vous pouvez <strong>utiliser la musique comme ancre</strong>, et tout sp\u00e9cialement la musique baroque (Bach, Mozart, Haendel, Vivaldi)\u2009! Mais pas seulement\u00a0: \u00e9largissez vos go\u00fbts, tout en faisant confiance \u00e0 votre intuition, variez les rythmes et les styles et voyez quels \u00e9tats chaque morceau provoque en vous. Progressivement, trouvez la meilleure musique qui convient \u00e0 une situation probl\u00e9matique et vous permet de vous ressourcer.</p><p>Une autre fa\u00e7on d\u2019apprendre \u00e0 changer d\u2019\u00e9tat consiste \u00e0 <strong>imiter un mod\u00e8le positif</strong>. Pas seulement au niveau des m\u00e9taprogrammes, mais en adoptant sa d\u00e9marche m\u00eame ou certains de ses mouvements corporels. Par exemple, si vous \u00eates petit, prenez de l\u2019assurance en agissant comme une personne plus grande\u2009!</p><h3><strong>3. Approfondir les techniques d\u2019ancrage</strong></h3><p>Les ancres peuvent nous aider \u00e0 \u00e9voluer positivement. Vous pouvez modifier vos ancres n\u00e9gatives en vous d\u00e9sensibilisant, en la neutralisant, en allongeant la cha\u00eene des ancres, c\u2019est-\u00e0-dire en passant par des \u00e9tats successifs qui vont du plus n\u00e9gatif au plus positif (en passant de la col\u00e8re \u00e0 l\u2019inqui\u00e9tude, puis de l\u2019inqui\u00e9tude \u00e0 la curiosit\u00e9 et enfin de cette derni\u00e8re \u00e0 la d\u00e9tente, par exemple).</p><p>Pour prendre parole en public, vous pouvez utiliser <strong>le cercle d\u2019excellence</strong>, qui vise \u00e0 am\u00e9liorer la confiance en soi au moment de <a href=\"https://des-livres-pour-changer-de-vie.com/172-citations-motivantes-pour-passer-a-laction/\" target=\"_blank\" rel=\"noopener\">passer \u00e0 l\u2019action</a>. Cette technique n\u00e9cessite un partenaire et s\u2019appuie, \u00e0 nouveau, sur le ressouvenir d\u2019une exp\u00e9rience positive.</p><p>Vous pourriez peut-\u00eatre aussi avoir besoin de l\u2019ancrage spatial, lorsque vous devez monter sur sc\u00e8ne par exemple. Dans ce cas, vous veillerez \u00e0 d\u00e9livrer tel type d\u2019information \u00e0 un endroit pr\u00e9cis de la salle, afin d\u2019habituer vos interlocuteurs \u00e0 l\u2019id\u00e9e que tel endroit (ou tel geste) signale un type d\u2019information en particulier.</p><h3><strong>4. Une derni\u00e8re chose sur les ancres</strong></h3><blockquote>\n<p>\u00ab\u2009Les ancres ne marchent pas forc\u00e9ment au premier essai. Comme avec tous les outils pr\u00e9sent\u00e9s dans ce livre, votre apprentissage sera plus rapide si vous suivez une formation en PNL et travaillez avec un praticien chevronn\u00e9. Quelle que soit la m\u00e9thode choisie pour d\u00e9velopper vos comp\u00e9tences, c\u2019est-\u00e0-dire seul ou avec l\u2019aide d\u2019autres personnes, lancez-vous. Nous vous encourageons \u00e0 pers\u00e9v\u00e9rer m\u00eame si l\u2019exp\u00e9rience vous semble \u00e9trange au d\u00e9part. Une fois que vous contr\u00f4lez votre \u00e9tat, vous \u00e9largissez l\u2019\u00e9ventail des choix qui s\u2019offrent \u00e0 vous et le jeu en vaut la chandelle.\u2009\u00bb (<em>La PNL pour les nuls</em>, p. 193)</p>\n</blockquote><h3><strong>Chapitre\u00a010 \u2014 Actionner les commandes</strong></h3><h3><strong>1. Sous-modalit\u00e9s\u00a0: comment nous enregistrons nos exp\u00e9riences</strong></h3><p>En PNL, les sens sont nomm\u00e9s modalit\u00e9s. Les sous-modalit\u00e9s, ce sont les caract\u00e9ristiques secondaires li\u00e9es, par exemple, aux sons (\u00e0 l\u2019ou\u00efe) ou aux images (la vue)\u00a0: le rythme, le timbre, le volume ou bien encore la couleur, la luminosit\u00e9, la taille, etc.</p><h3><strong>2. Informations de base ou ce qu\u2019il faut savoir avant de commencer</strong></h3><p>Modifier les sous-modalit\u00e9s des sensations li\u00e9es au souvenir d\u2019une exp\u00e9rience peut transformer ces sensations (passer de la peine \u00e0 l\u2019indiff\u00e9rence ou au plaisir, plus ou moins intense) et donc le souvenir lui-m\u00eame.</p><p>Lorsque vous vous rem\u00e9morez un souvenir, vous pouvez soit \u00eatre dans l\u2019image en tant qu\u2019acteur \u2014 la PNL nomme cela <strong>association</strong> \u2014 ou en-dehors, tel un observateur \u2014 on parle alors de <strong>dissociation</strong>. Il s\u2019agit d\u2019une sous-modalit\u00e9 importante et qu\u2019il faut pouvoir utiliser \u00e0 bon escient pour s\u2019\u00e9loigner ou se rapprocher de nos \u00e9motions.</p><p>La modification des souvenirs peut <strong>vous lib\u00e9rer de peurs et d\u2019inhibitions</strong> acquises dans votre existence. Par exemple, si un professeur vous a trait\u00e9 d\u2019incapable en math un jour, vous pouvez revenir \u00e0 ce souvenir et en transformer les modalit\u00e9s (vous rendez le professeur tout petit, avec une voix ridicule, vous diminuez le son, etc.) afin de faire passer l\u2019\u00e9motion qui lui est associ\u00e9e de triste \u00e0 absurde, voire rigolote. Ce faisant, votre sentiment d\u2019incapacit\u00e9 \u00e0 effectuer une t\u00e2che math\u00e9matique se dissipe.</p><p>Chaque personne sera sensible \u00e0 certaines sous-modalit\u00e9s plut\u00f4t qu\u2019\u00e0 d\u2019autres. Testez-vous en utilisant un souvenir positif et en en modifiant les sous-modalit\u00e9s auditives, visuelles et kinesth\u00e9siques. Quelles sont les modifications qui vous affectent le plus\u2009? Ces sous-modalit\u00e9s seront vos sous-modalit\u00e9s critiques.</p><h3><strong>3. Effectuer des changements pour de vrai</strong></h3><blockquote>\n<p>\u00ab\u2009Imaginez un peu. Vous pouvez programmer votre esprit assis dans le train, dans les embouteillages ou m\u00eame au cours d\u2019un repas ennuyeux avec vos beaux-parents. Et souvenez-vous, l\u2019entra\u00eenement conduit \u00e0 l\u2019excellence, alors entra\u00eenez-vous, avec la certitude de ne pas \u00eatre arr\u00eat\u00e9 pour avoir jou\u00e9 avec vos sous-modalit\u00e9s, m\u00eame en public.\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a0205)</p>\n</blockquote><p>Vous pourrez ainsi\u00a0:</p><ul><li>Att\u00e9nuer la port\u00e9e d\u2019une exp\u00e9rience\u2009;</li>\n<li>Modifier une croyance limitante\u2009;</li>\n<li>Cr\u00e9er une croyance dynamisante\u2009;</li>\n<li>Vous d\u00e9barrasser de sensations d\u00e9sagr\u00e9ables (maux de dos, etc.).</li>\n</ul><p>Utilisez \u00e9galement <strong>le bruissement</strong>. C\u2019est-\u00e0-dire\u2009? Utiliser le processus d\u2019une (mauvaise) habitude pour la transformer. Quel est l\u2019\u00e9l\u00e9ment d\u00e9clencheur qui vous fait, par exemple, vous ronger les ongles\u2009? Trouvez-le et interrompez le processus \u00e0 l\u2019aide du processus suivant propos\u00e9 par Romilla Ready et Kate Burton\u00a0:</p><blockquote>\n<p>\u00ab\u2009<strong>Identifiez le comportement ind\u00e9sirable</strong>\u00a0:</p>\n</blockquote><ol><li>\n<blockquote>\n<p>V\u00e9rifiez que vous \u00eates pr\u00eat \u00e0 proc\u00e9der au changement. Dites-vous simplement \u201cpr\u00eat\u2009?\u201d.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Identifiez l\u2019\u00e9l\u00e9ment d\u00e9clencheur \u00e0 l\u2019origine du comportement ind\u00e9sirable et cr\u00e9ez une image associ\u00e9e. Il s\u2019agit de l\u2019image du signal.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Exploitez l\u2019image afin de d\u00e9couvrir la ou les deux sous-modalit\u00e9s critiques.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Interrompez le processus. Cela signifie que vous sortez de l\u2019\u00e9tat dans lequel vous \u00e9tiez. [\u2026]</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Pensez \u00e0 l\u2019image d\u00e9sir\u00e9e. Cr\u00e9ez une image de vous-m\u00eame en train d\u2019avoir un comportement que vous aimez ou vous tenant d\u2019une certaine fa\u00e7on, en mode dissoci\u00e9.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Interrompez le processus.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Rappelez-vous l\u2019image du signal. Faites-en sorte d\u2019y \u00eatre associ\u00e9, puis placez un cadre autour.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Cr\u00e9ez une image du r\u00e9sultat souhait\u00e9.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Faites entrer l\u2019image d\u00e9sir\u00e9e dans un minuscule point noir et placez celui-ci dans le coin inf\u00e9rieur gauche de l\u2019image du signal.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>D\u2019un bruissement (Fffffff), propulsez le point noir dans la grande image pour qu\u2019il explose sur l\u2019image du signal.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Interrompez le processus.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>R\u00e9p\u00e9tez l\u2019exercice plusieurs fois.\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a0211)</p>\n</blockquote>\n</li>\n</ol><h3><strong>Chapitre\u00a011 \u2014 Changer via les niveaux logiques</strong></h3><h3><strong>1. Quelle est votre perspective\u2009?</strong></h3><p>Pensez-vous qu\u2019il soit impossible de changer\u2009? Mais le monde \u2014 le territoire \u2014 se modifie constamment autour de vous. Alors, pourquoi pas vous et votre carte du territoire\u2009? S\u2019adapter, modifier sa perspective est une composante essentielle d\u2019une existence r\u00e9ussie.</p><p>Les niveaux logiques nous aident \u00e0 comprendre le changement et \u00e0 mettre en place des strat\u00e9gies de transformation pour soi-m\u00eame ou pour des groupes. Comment\u2009? D\u2019abord, en s\u00e9quen\u00e7ant chaque \u00e9tape de la modification et, ensuite, en avan\u00e7ant avec confiance vers le but poursuivi.</p><h3><strong>2. Comprendre les niveaux logiques</strong></h3><p>Les niveaux logiques (aussi nomm\u00e9s niveaux neurologiques) se pr\u00e9sentent diff\u00e9remment, soit de fa\u00e7on hi\u00e9rarchique (sous forme de pyramide), soit de fa\u00e7on r\u00e9ticulaire (sous forme de r\u00e9seau de relations) par exemple. Peu importe\u00a0: l\u2019important est de concevoir les relations entre chacun d\u2019entre eux.</p><p>Voici les six niveaux logiques du changement\u00a0:</p><ol><li>Environnement (o\u00f9, quand et avec qui)\u2009;</li>\n<li>Comportement (quoi)\u2009;</li>\n<li>Capacit\u00e9s et comp\u00e9tences (comment)\u2009;</li>\n<li>Croyances et valeurs (pourquoi)\u2009;</li>\n<li>Identit\u00e9 (qui)\u2009;</li>\n<li>But (dans quel but, pour qui).</li>\n</ol><p>Il est plus facile de modifier un point de l\u2019environnement ma\u00eetris\u00e9 (repeindre les murs de sa maison) que de changer de comportement, mais il est sans doute plus ais\u00e9 de changer de comportement que de modifier ses capacit\u00e9s et ses comp\u00e9tences\u2009; et ainsi de suite. Vous comprenez que de 1 \u00e0 5, <strong>le niveau de difficult\u00e9 augmente</strong>.</p><p>Par ailleurs, le niveau inf\u00e9rieur influe sur le niveau sup\u00e9rieur. De plus, pour \u00eatre bien dans sa peau ou dans un \u00e9tat de congruence, les diff\u00e9rents niveaux doivent \u00eatre align\u00e9s.</p><p>Vous pouvez apprendre \u00e0 <strong>identifier o\u00f9 se situent les probl\u00e8mes</strong> (chez vous ou ailleurs), et tenter de r\u00e9aligner le niveau logique d\u00e9salign\u00e9. Utilisez les questions li\u00e9es \u00e0 chaque niveau pour rep\u00e9rer o\u00f9 \u00ab\u2009\u00e7a\u2009\u00bb coince et amorcer un travail. Pour agir sur un niveau, assurez-vous d\u2019utiliser les ressources issues des niveaux sup\u00e9rieurs.</p><h3><strong>3. Trouver le levier adapt\u00e9 au changement</strong></h3><p>Pour changer, il est n\u00e9cessaire de vouloir changer, de savoir comment proc\u00e9der et d\u2019avoir l\u2019occasion de mettre le changement en \u0153uvre. Demandez-vous comment rendre la transformation plus ais\u00e9e. <strong>Pour chaque niveau, posez-vous les questions suivantes</strong>.</p><p>Au niveau environnemental, demandez-vous\u00a0:</p><ul><li>O\u00f9 est-ce que je suis le mieux pour travailler\u00a0ou vivre\u2009?</li>\n<li>Avec qui est-ce que j\u2019aime \u00eatre\u2009? Qui me fatigue\u2009?</li>\n<li>Quand suis-je au mieux de ma forme\u2009?</li>\n</ul><p>Au niveau comportemental, interrogez-vous de la sorte\u00a0:</p><ul><li>Puis-je atteindre mes objectifs en agissant de cette fa\u00e7on\u2009?</li>\n<li>Mon attitude correspond-elle \u00e0 ce que je veux \u00eatre\u00a0et \u00e0 la fa\u00e7on dont je veux vivre\u2009?</li>\n<li>Est-ce que j\u2019utilise souvent certaines expressions ou certains tics de langage\u2009?</li>\n<li>Quel est votre langage corporel, \u00e0 diff\u00e9rentes occasions\u2009?</li>\n</ul><p>Pour questionner vos comp\u00e9tences et vos capacit\u00e9s, posez-vous par exemple ces questions\u00a0:</p><ul><li>De quelles comp\u00e9tences suis-je fier\u2009? Comment les ai-je acquises\u2009?</li>\n<li>Selon moi, mais aussi selon les autres, dans quels domaines suis-je bon\u2009?</li>\n<li>Quelles sont les personnes qui pourraient m\u2019inspirer\u2009?</li>\n<li>Qu\u2019aimerais-je apprendre\u2009?</li>\n</ul><p>Au sujet des croyances et des valeurs, ne faites pas l\u2019impasse sur les \u00e9l\u00e9ments suivants\u00a0:</p><ul><li>Pourquoi agir ainsi\u2009?</li>\n<li>Qu\u2019est qui m\u2019importe\u2009?</li>\n<li>Qu\u2019est-ce que je consid\u00e8re bien et mal\u2009?</li>\n<li>Quand dis-je \u00ab\u2009je devrais\u2009\u00bb et \u00ab\u2009je ne devrais pas\u2009\u00bb\u2009?</li>\n</ul><p>Pour modifier votre identit\u00e9, il vous faudra notamment questionner ces diff\u00e9rents points\u00a0:</p><ul><li>En quoi ce que je vis exprime ce que je suis\u2009?</li>\n<li>Quel type de personne suis-je\u2009?</li>\n<li>De quelle fa\u00e7on me d\u00e9crirais-je\u2009?</li>\n<li>Comment est-ce que je caract\u00e9rise les autres\u2009?</li>\n<li>Comment les autres me d\u00e9crivent-ils\u2009? Est-ce que cette description me convient\u2009?</li>\n<li>Quels images, sons et sensations est-ce que j\u2019associe \u00e0 moi-m\u00eame\u2009?</li>\n</ul><p>Un changement quant au but implique un questionnement autour de points tels que\u00a0:</p><ul><li>Pourquoi suis-je ici\u2009?</li>\n<li>Qu\u2019est-ce que je voudrais apporter aux autres et au monde\u2009?</li>\n<li>Quel souvenir voudrais-je laisser apr\u00e8s ma mort\u2009?</li>\n</ul><p>Ces questions vous aideront \u00e0 naviguer dans les niveaux logiques.</p><h3><strong>Chapitre\u00a012 \u2013 Vos habitudes\u00a0: d\u00e9couvrir vos programmes secrets</strong></h3><h3><strong>1. L\u2019\u00e9volution des strat\u00e9gies</strong></h3><p>Pour cr\u00e9er un mod\u00e8le valide, la PNL s\u2019est appuy\u00e9e sur les \u00e9tudes de psychologues ant\u00e9rieurs comme Pavlov, qui a d\u00e9couvert le syst\u00e8me stimulus-r\u00e9ponse, et Miller, Galanter et Pribram qui ont pris le relais en cr\u00e9ant le mod\u00e8le TOTE (test d\u00e9clencheur, op\u00e9ration/intervention, test comparatif, exit/sortie). La PNL reprend ce dernier mod\u00e8le en lui ajoutant les syst\u00e8mes de repr\u00e9sentation sensorielle.</p><ul><li><strong>Test D</strong>\u00a0= \u00e9l\u00e9ment d\u00e9clencheur d\u2019une strat\u00e9gie (c\u2019est-\u00e0-dire d\u2019une habitude)\u2009;</li>\n<li><strong>Operate (intervention)</strong>\u00a0= moment o\u00f9 vous recueillez les \u00e9l\u00e9ments pour agir et o\u00f9 vous appliquer votre strat\u00e9gie\u2009;</li>\n<li><strong>Test C</strong> = moment o\u00f9 vous comparez les donn\u00e9es et la situation avec l\u2019objectif qui \u00e9tait poursuivi\u2009;</li>\n<li><strong>Exit (sortie)</strong>\u00a0= sortie du processus.</li>\n</ul><h3><strong>2. Tout dans les yeux\u00a0: identifier la strat\u00e9gie d\u2019une personne</strong></h3><blockquote>\n<p>\u00ab\u2009Une fois la strat\u00e9gie incorpor\u00e9e dans votre cerveau, vous avez tr\u00e8s peu, voire pas du tout, conscience des \u00e9tapes qui la composent. Mais, si vous savez sur quoi pr\u00eater votre attention, vous pouvez d\u00e9couvrir la strat\u00e9gie d\u2019une personne. Votre attention doit se tourner vers le mouvement des yeux.\u2009\u00bb (La PNL pour les nuls, p.\u00a0241)</p>\n</blockquote><p>Pour cela, souvenez-vous des \u00e9l\u00e9ments du chapitre\u00a06.</p><h3><strong>3. Contracter les muscles strat\u00e9giques</strong></h3><p>Les strat\u00e9gies sont li\u00e9es \u00e0 diff\u00e9rents niveaux logiques. Par exemple, au niveau des capacit\u00e9s et des comp\u00e9tences, vous pouvez d\u00e9cider de modifier votre fa\u00e7on de <a href=\"https://des-livres-pour-changer-de-vie.com/parler-en-public-ted/\" target=\"_blank\" rel=\"noopener\">vous pr\u00e9senter en public</a> en modifiant votre strat\u00e9gie d\u2019approche (en vous pr\u00e9sentant, puis en posant des questions, tout en gardant votre objectif \u00e0 l\u2019esprit).</p><p>Au niveau du comportement, vous pouvez \u00e9galement modifier une strat\u00e9gie qui vous d\u00e9plait. Vous \u00eates agressif en voiture\u2009? Lorsque quelqu\u2019un vous double (test D), au lieu de commencer \u00e0 vocif\u00e9rer, pensez \u00e0 l\u2019absurdit\u00e9 de la situation et souriez (operate). Cela fonctionne-t-il\u2009? Si oui (exit), continuez ce que vous avez \u00e0 faire tranquillement \u2014 et sinon, entra\u00eenez-vous en recommen\u00e7ant le processus\u2009!</p><h3><strong>4. Utiliser les strat\u00e9gies de la PNL pour l\u2019amour et la r\u00e9ussite</strong></h3><p>Lorsque vous s\u00e9duisez une personne, vous <strong>mettez toutes les modalit\u00e9s de votre c\u00f4t\u00e9</strong>\u00a0: du parfum au look, en passant pour les mouvements, vous essayez de tout contr\u00f4ler. Lorsque, avec le temps, la fusion avec l\u2019autre se dissipe, la PNL peut vous aider \u00e0 recr\u00e9er une strat\u00e9gie ou \u00e0 observer les strat\u00e9gies du conjoint pour \u00eatre aim\u00e9.</p><p>Comment\u2009? Posez-lui la question\u00a0: \u00ab\u2009tu sais que je t\u2019aime, n\u2019est-ce pas\u2009?\u2009\u00bb et \u00ab\u2009qu\u2019est-ce que je pourrais faire pour que tu te sentes plus aim\u00e9(e)\u2009?\u2009\u00bb et regardez-le (ou la) dans les yeux. Observez ce qu\u2019il s\u2019y passe afin de d\u00e9couvrir comment le (ou la) satisfaire\u2009!</p><p>Il en va de m\u00eame pour <strong>motiver quelqu\u2019un</strong>\u00a0: gr\u00e2ce \u00e0 l\u2019observation de ses yeux lorsque vous lui poser, par exemple, une question du type\u00a0: \u00ab\u2009comment fais-tu pour t\u2019entra\u00eener d\u2019habitude\u2009?\u2009\u00bb, vous comprendrez sa strat\u00e9gie et vous pourrez l\u2019appliquer \u00e0 un autre domaine (par exemple, du football vers l\u2019\u00e9tude des math\u00e9matiques).</p><p>Pour vous-m\u00eame, demandez-vous dans quel domaine vous r\u00e9ussissez et quelles sont les strat\u00e9gies mises en place. Tentez de les transposer au nouveau domaine souhait\u00e9.</p><h3><strong>Chapitre\u00a013 \u2014 Voyage dans le temps</strong></h3><h3><strong>1. L\u2019organisation de vos souvenirs</strong></h3><p>Les souvenirs sont organis\u00e9s comme un \u00ab\u2009collier de perles\u2009\u00bb (William James)\u00a0: ils forment une cha\u00eene qui va du pass\u00e9 au pr\u00e9sent. Pour le futur, vous utilisez des images qui vous permettent de pr\u00e9voir ce qu\u2019il va vous arriver. Chaque souvenir est associ\u00e9 \u00e0 des modalit\u00e9s sensorielles et \u00e0 leurs sous-modalit\u00e9s.</p><p>Il arrive que certains \u00e9v\u00e9nements soient reli\u00e9s entre eux\u00a0: vous vivez quelque chose et cela vous renvoie \u00e0 un souvenir. Ce dernier sera consid\u00e9r\u00e9 comme la cause premi\u00e8re des sensations v\u00e9cues \u00e0 l\u2019occasion du second. Gr\u00e2ce \u00e0 la PNL et au contr\u00f4le des modalit\u00e9s, vous pourrez agir sur ce processus.</p><h3><strong>2. D\u00e9couvrir votre ligne de temps</strong></h3><p>Votre ligne de temps relie le pass\u00e9, le pr\u00e9sent et le futur. Vous pouvez vous l\u2019imaginer de la fa\u00e7on suivante\u00a0:</p><ol><li>\n<blockquote>\n<p>\u00ab\u2009Pensez \u00e0 un \u00e9v\u00e9nement que vous avez v\u00e9cu r\u00e9cemment.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Respirez profond\u00e9ment et d\u00e9tendez-vous au maximum.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Imaginez-vous en train de flotter au-dessus de votre pr\u00e9sent et de partir au-dessus des nuages, dans la stratosph\u00e8re.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Cr\u00e9ez une image de votre ligne de temps bien au-dessous de vous, comme un ruban, et repr\u00e9sentez-vous sur cette ligne.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Maintenant, remontez votre ligne de temps jusqu\u2019\u00e0 ce que vous vous situiez juste au-dessus de l\u2019\u00e9v\u00e9nement r\u00e9cemment v\u00e9cu.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Vous flottez \u00e0 cet endroit aussi longtemps que vous le souhaitez jusqu\u2019\u00e0 ce que vous d\u00e9cidiez de revenir, toujours en planant, jusque vers le pr\u00e9sent, puis de redescendre dans votre corps.\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a0259)</p>\n</blockquote>\n</li>\n</ol><h3><strong>3. Modifier la ligne de temps</strong></h3><p>Vous pouvez vouloir \u00eatre plus ou moins associ\u00e9 ou dissoci\u00e9 au temps. Cela signifie que vous pouvez souhaiter \u00eatre davantage conscient de la valeur du temps et orient\u00e9 vers les buts, ponctuel et rationnel (dissociation) ou bien plut\u00f4t cr\u00e9atif et multit\u00e2che, \u00e9motif et dans l\u2019instant pr\u00e9sent (association).</p><p>Pour vous dissocier, sortez de votre ligne du temps et flottez au-dessus de sorte \u00e0 voir pass\u00e9, pr\u00e9sent ou positionnez-vous de telle sorte \u00e0 la voir clairement devant vous. Pour vous associer, voyez votre ligne de temps devant vous et marchez dessus tel un \u00e9quilibriste, ou laissez-la vous traverser le corps.</p><p>Ces exercices demandent de la pratique et il est pr\u00e9f\u00e9rable de les r\u00e9aliser couch\u00e9, car ils peuvent \u00eatre d\u00e9stabilisants.</p><h3><strong>4. Voyager sur votre ligne de temps vers plus de bonheur</strong></h3><p>En pratiquant des exercices li\u00e9s \u00e0 la ligne de temps, vous pourrez\u00a0:</p><ul><li>Lib\u00e9rer les \u00e9motions n\u00e9gatives et les d\u00e9cisions limitantes\u2009;</li>\n<li>R\u00e9conforter la jeune personne que vous \u00e9tiez\u2009;</li>\n<li>Vous d\u00e9barrasser de l\u2019anxi\u00e9t\u00e9\u2009;</li>\n<li>Vous concocter un meilleur avenir.</li>\n</ul><p>Plusieurs proc\u00e9dures sont propos\u00e9es par Romilla Ready et Kate Burton. Voici l\u2019une d\u2019elles, qui concerne <a href=\"https://des-livres-pour-changer-de-vie.com/joli-monstre/\" target=\"_blank\" rel=\"noopener\"><strong>le traitement de l\u2019anxi\u00e9t\u00e9</strong></a>, c\u2019est-\u00e0-dire une sensation n\u00e9gative associ\u00e9e \u00e0 un \u00e9v\u00e9nement futur.</p><ol><li>\n<blockquote>\n<p>\u00ab\u2009Trouvez un endroit calme pour vous d\u00e9tendre et pensez \u00e0 un \u00e9v\u00e9nement qui vous rend anxieux. Demandez maintenant \u00e0 votre inconscient si vous \u00eates pr\u00eat \u00e0 vous d\u00e9barrasser de l\u2019anxi\u00e9t\u00e9.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Maintenant, \u00e9levez-vous au-dessus de votre ligne de temps de fa\u00e7on \u00e0 voir votre pass\u00e9 et votre avenir devant vous.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Toujours au-dessus de votre ligne de temps, planez jusqu\u2019\u00e0 ce que vous soyez au-dessus de l\u2019\u00e9v\u00e9nement qui vous rend anxieux.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Demandez \u00e0 votre inconscient de tirer la le\u00e7on de l\u2019\u00e9v\u00e9nement afin de lib\u00e9rer rapidement et sans difficult\u00e9 l\u2019anxi\u00e9t\u00e9.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Une fois les informations recueillies, planez plus loin dans le futur jusqu\u2019\u00e0 ce que vous vous trouviez 15\u00a0minutes apr\u00e8s la <em>conclusion heureuse</em> de l\u2019\u00e9v\u00e9nement \u00e0 l\u2019origine de votre anxi\u00e9t\u00e9.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Retournez-vous, regardez vers le pr\u00e9sent et remarquez comme vous \u00eates calme et plus du tout anxieux.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Lorsque vous \u00eates pr\u00eat, planez vers le pr\u00e9sent.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Faites un simple test. Allez dans le futur, vers l\u2019\u00e9v\u00e9nement qui vous rendait anxieux et confirmer que l\u2019anxi\u00e9t\u00e9 a disparu.\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a0269)</p>\n</blockquote>\n</li>\n</ol><h3><strong>Chapitre\u00a014 \u2014 RAS dans la salle des machines</strong></h3><h3><strong>1. Une hi\u00e9rarchie des conflits</strong></h3><p>Nous sommes tous en proie aux conflits int\u00e9rieurs. Dans ces cas-l\u00e0, deux repr\u00e9sentations du monde s\u2019affrontent en nous. Le plus souvent, l\u2019une est consciente et l\u2019autre est plus souterraine, cach\u00e9e dans l\u2019inconscient. \u00ab\u2009Je veux ceci, mais en m\u00eame temps\u2026\u2009\u00bb\u00a0ou encore \u00ab\u2009Je ne sais pas ce qui m\u2019a pris\u2009\u00bb sont des r\u00e9v\u00e9lateurs langagiers de ces luttes.</p><p>Un conflit peut appara\u00eetre aux diff\u00e9rents niveaux logiques (voir le chapitre\u00a011). Il importe de pouvoir identifier \u00e0 quel niveau il se situe. Voici quelques exemples.</p><ul><li><strong>Identit\u00e9</strong>\u00a0: les r\u00f4les sociaux que vous jouez peuvent entrer en conflit. \u00catre un \u00ab\u2009bon parent\u2009\u00bb et un \u00ab\u2009bon employ\u00e9\u2009\u00bb ne vont pas toujours de pair.</li>\n<li><strong>Valeurs et croyances</strong>\u00a0: certaines sont difficiles \u00e0 accorder ou vous jouent des tours. Ainsi, vous pouvez chercher le bonheur, tout en croyant fermement (inconsciemment) que vous ne le m\u00e9ritez pas.</li>\n<li><strong>Capacit\u00e9s et comp\u00e9tences</strong>\u00a0: comment allier vos comp\u00e9tences sociales avec vos aptitudes cr\u00e9atrices\u2009? Cela m\u00e8ne parfois \u00e0 des choix de carri\u00e8res difficiles.</li>\n<li><strong>Comportement</strong>\u00a0: un conflit surgit lorsque vous adoptez le comportement oppos\u00e9 \u00e0 celui qui vous m\u00e8nerait vers la r\u00e9alisation de vos objectifs.</li>\n<li><strong>Environnement</strong>\u00a0: o\u00f9 voulez-vous vivre r\u00e9ellement\u2009? Et qui voulez-vous fr\u00e9quenter\u2009? Faites-vous les choses au bon moment\u2009?</li>\n</ul><h3><strong>2. Du tout aux parties</strong></h3><p>Chaque souvenir important d\u00e9clenche une r\u00e9ponse \u00e9motionnelle qui forme une partie de vous, cach\u00e9e dans votre inconscient et agissant \u00e0 votre insu. Vous avez ainsi des intentions qui vous \u00e9chappent. Elles sont positives en elles-m\u00eames (voir le chapitre\u00a02), mais peuvent ne pas rencontrer leur but. Par exemple, vous pouvez boire parce que vous avez besoin d\u2019amour\u2009; pourtant, l\u2019alcool ne vous apportera pas ce que vous recherchez.</p><p>Il importe donc de <strong>trouver quel est le besoin r\u00e9el</strong>, sous-jacent au comportement probl\u00e9matique. Vous devrez donc aller fouiller votre inconscient pour y d\u00e9couvrir ce qui \u00ab\u2009coince\u2009\u00bb, seul ou \u00e0 l\u2019aide d\u2019un sp\u00e9cialiste.</p><h3><strong>3. Au secours\u2009! Je suis en conflit avec moi-m\u00eame</strong></h3><blockquote>\n<p>\u00ab\u2009L\u2019autosabotage est l\u2019un des sympt\u00f4mes dont vous pouvez souffrir lorsque plusieurs parties de votre esprit sont en conflit. Votre tentative d\u2019accomplissement d\u2019un objectif \u00e9tant annihil\u00e9e par une de ces parties.\u2009\u00bb (<em>La PNL pour les nuls</em>, p.\u00a0277)</p>\n</blockquote><p>Pour y mettre fin, il faudra commencer par <strong>\u00e9couter votre inconscient</strong> et remplacer le comportement inad\u00e9quat par un autre, plus positif. Ou vous pouvez aussi \u00ab\u2009choisir votre camp\u2009\u00bb, c\u2019est-\u00e0-dire d\u00e9cider quelle partie de vous-m\u00eame vous souhaitez \u00e9liminer.</p><h3><strong>4. Devenir un tout\u2026 en int\u00e9grant vos parties</strong></h3><p>L\u2019id\u00e9al est d\u2019aspirer \u00e0 devenir un tout harmonieux, dont les parties sont en accord les unes avec les autres. Pour ce faire, la PNL a invent\u00e9 deux techniques\u00a0: <strong>le squash visuel et le recadrage</strong>.</p><p>Dans le premier exercice, il faut au pr\u00e9alable avoir identifi\u00e9 les parties en conflit et leurs intentions positives respectives, et ensuite visualiser \u2014 via la personnification \u2014 les parties en conflit et imaginer un d\u00e9bat constructif entre elles, afin de d\u00e9gager les ressources utiles pour atteindre un but positif commun.</p><p>Dans le deuxi\u00e8me cas, vous cherchez davantage \u00e0 modifier le contexte d\u2019une exp\u00e9rience et \u00e0 trouver, par l\u00e0, ce qui ne va pas. Il s\u2019agit de \u00ab\u2009faire comme si\u2009\u00bb vous aviez r\u00e9gl\u00e9 un probl\u00e8me, ou comme si vous \u00e9tiez une autre personne que vous admirez, ou comme si vous disposiez de toutes les informations pour prendre une d\u00e9cision, ou comme si une bonne f\u00e9e pouvait changer un \u00e9l\u00e9ment qui ne convient pas.</p><h3><strong>5. Les conflits plus importants</strong></h3><p>Les propos ci-dessus visaient surtout les conflits intrapersonnels. Mais comment faire lorsqu\u2019il s\u2019agit de conflits entre des personnes ou des groupes (voire entre des nations)\u2009? Vous pouvez, l\u00e0 aussi, utiliser les ressources des outils cit\u00e9s, en les adaptant. Par exemple, vous pourriez avoir besoin des deux m\u00e9thodes en agissant de cette fa\u00e7on\u00a0:</p><ol><li>Agir en tant que n\u00e9gociateur\u2009;</li>\n<li>Interroger les parties sur les intentions positives et les besoins qu\u2019elles sous-tendent\u2009;</li>\n<li>Proposer aux parties de trouver des points communs et un but commun\u2009;</li>\n<li>Explorer des solutions de rechange gr\u00e2ce au \u00ab\u2009comme si\u2009\u00bb\u2009;</li>\n<li>D\u00e9cider des ressources que chaque partie peut apporter \u00e0 la solution du probl\u00e8me\u2009;</li>\n<li>Mettre en place une action avec le but commun en vue.</li>\n</ol><p><img class=\"aligncenter size-full wp-image-24115 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/Utiliser-les-ancres-e1629713659652.jpg?is-pending-load=1\" alt=\"Apprenez \u00e0 utiliser les ancres perceptuelles gr\u00e2ce \u00e0 la PNL\" width=\"400\" height=\"600\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-24115\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/08/Utiliser-les-ancres-e1629713659652.jpg\" alt=\"Apprenez \u00e0 utiliser les ancres perceptuelles gr\u00e2ce \u00e0 la PNL\" width=\"400\" height=\"600\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Partie\u00a05 \u2013 Les dix commandements</strong></h3><h3><strong>Chapitre\u00a015 \u2014 Dix applications de la PNL</strong></h3><p>Pour terminer, voici dix domaines dans lesquels la PNL pourra vous \u00eatre utile\u00a0:</p><ol><li>Assurer votre d\u00e9veloppement personnel</li>\n<li>G\u00e9rer vos relations personnelles et professionnelles</li>\n<li>N\u00e9gocier une solution qui contente tout le monde</li>\n<li>Atteindre des objectifs commerciaux</li>\n<li>Cr\u00e9er des pr\u00e9sentations convaincantes</li>\n<li>G\u00e9rer votre temps et vos pr\u00e9cieuses ressources</li>\n<li>Prendre un coach pour conna\u00eetre le succ\u00e8s</li>\n<li>Vous servir de la PNL pour votre sant\u00e9</li>\n<li>\u00catre en phase avec votre auditoire\u00a0: conseils aux formateurs et aux \u00e9ducateurs</li>\n<li>D\u00e9crocher un emploi</li>\n</ol><h2><strong>Conclusion sur \u00ab\u2009<em>La PNL pour les Nuls</em>\u2009\u00bb de Romilla Ready et Kate Burton\u00a0\u00a0:</strong></h2><h3><strong>Un manuel \u00e0 utiliser pour exp\u00e9rimenter</strong></h3><p>En plus des explications th\u00e9oriques et des guides pour passer \u00e0 l\u2019action, cet ouvrage propose une liste de dix ouvrages de r\u00e9f\u00e9rence et d\u2019autres ressources bien pratiques. Vous pourrez utiliser le livre pour \u00e9voluer dans la PNL, le crayonner, choisir les exercices qui vous conviennent le mieux, etc. Un cr\u00e9do\u00a0: l\u2019exp\u00e9rimentation\u2009!</p><h3><strong>Ce qu\u2019il faut retenir de \u00ab\u2009<em>La PNL pour les Nuls</em>\u2009\u00bb\u00a0:</strong></h3><p>La PNL a d\u00e9velopp\u00e9 ses bases th\u00e9oriques dans le courant des ann\u00e9es 1970 et a sans cesse \u00e9t\u00e9 renouvel\u00e9e depuis. Elle s\u2019appuie sur des sources diverses, depuis la psychologie comportementale jusqu\u2019aux travaux de Carl Jung.</p><p>Son principal int\u00e9r\u00eat pratique, aujourd\u2019hui, est de fournir une sorte de boite \u00e0 outils de m\u00e9thodes et d\u2019instruments \u00e0 employer pour mieux se conna\u00eetre soi-m\u00eame ou aider \u00e0 d\u00e9bloquer les situations de communication houleuses.</p><p>Elle est bas\u00e9e sur un pr\u00e9suppos\u00e9 majeur\u00a0: il est toujours possible de transformer les personnes et les relations, \u00e0 condition d\u2019utiliser son imagination et de faire preuve d\u2019une certaine dose de motivation.</p><p><em>Points\u00a0<strong>forts</strong>\u00a0:</em></p><ul><li>Une pr\u00e9sentation didactique des concepts\u2009;</li>\n<li>Des r\u00e9f\u00e9rences et des ressources utiles\u2009;</li>\n<li>De nombreux exercices clairement expliqu\u00e9s.</li>\n</ul><p><em>Points\u00a0<strong>faibles</strong>\u00a0:</em></p><ul><li>Quelques redites, mais celles-ci sont parfois n\u00e9cessaires.</li>\n</ul><p>Ma note\u00a0:</p><h3><img class=\"alignnone jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Explorateur exp\u00e9dition Mike Horn Conqu\u00e9rant de l'impossible\" width=\"25\" height=\"24\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" />\u00a0 \u00a0\u00a0<img class=\"alignnone jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Explorateur exp\u00e9dition Mike Horn Conqu\u00e9rant de l'impossible\" width=\"25\" height=\"24\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" />\u00a0 \u00a0\u00a0<img class=\"alignnone jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Explorateur exp\u00e9dition Mike Horn Conqu\u00e9rant de l'impossible\" width=\"25\" height=\"24\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" />\u00a0 \u00a0\u00a0<img class=\"alignnone jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Explorateur exp\u00e9dition Mike Horn Conqu\u00e9rant de l'impossible\" width=\"25\" height=\"24\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" />\u00a0 \u00a0\u00a0<img class=\"alignnone jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Explorateur exp\u00e9dition Mike Horn Conqu\u00e9rant de l'impossible\" width=\"25\" height=\"24\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /></h3><p class=\"c7\">Avez-vous lu le livre de Romilla Ready et Kate Burton\u00a0\u00ab\u2009<em>La PNL pour les Nuls</em>\u2009\u00bb\u2009? Combien le notez-vous\u2009?</p><p class=\"c7\"><img width=\"16\" height=\"16\" id=\"rating_24013_1\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif?is-pending-load=1\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" srcset=\"\" class=\"jetpack-lazy-image c10\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"16\" height=\"16\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p><img width=\"16\" height=\"16\" id=\"rating_24013_2\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Passable - Un ou deux passages int\u00e9ressants\" title=\"Passable - Un ou deux passages int\u00e9ressants\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24013_3\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Moyen - Quelques bonnes id\u00e9es\" title=\"Moyen - Quelques bonnes id\u00e9es\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24013_4\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" title=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24013_5\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" title=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n(<strong>1</strong>votes, moyenne:<strong>5,00</strong>out of 5)<br />\n<p><img src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\nLoading...<p class=\"c7\"><a href=\"https://amzn.to/30iLlZL\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin de lire plus de commentaires sur le livre</a>\u00a0de Romilla Ready et Kate Burton \u00ab\u2009<em>La PNL pour les Nuls</em>\u2009\u00bb</p><p class=\"c7\"><a href=\"https://amzn.to/3D8Hg8Q\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin d\u2019acheter le livre\u00a0de Romilla Ready et Kate Burton</a> \u00ab\u2009<em>La PNL pour les Nuls</em>\u2009\u00bb</p><noscript>\n</noscript><p class=\"c7\">Format de Poche\u00a0:</p><noscript>\n</noscript>Recherches utilis\u00e9es pour trouver cet article\u00a0:<p>La PNL pour les Nuls</p>",
    "created_at": "2022-05-02T07:56:16+00:00",
    "updated_at": "2022-05-02T07:56:22+00:00",
    "published_at": "2022-02-10T16:00:12+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 47,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/11/la-pnl-pour-les-nuls-romilla-ready-kate-burton-e1636696365266.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["livre", "resume", "psycho"],
    "is_public": false,
    "id": 24,
    "title": "Tous intuitifs R\u00e9sum\u00e9 et avis Victoria Pell\u00e9 Reimers",
    "url": "https://des-livres-pour-changer-de-vie.com/tous-intuitifs/",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><p class=\"c7\"><a href=\"https://amzn.to/3DBDAvE\" target=\"_blank\" rel=\"noopener\" class=\"external\">\n<p><img class=\"aligncenter wp-image-25304 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/tous-intuitifs-victoria-pelle-reimers-e1638943806975.jpg\" alt=\"tous intuitifs victoria pelle reimers\" width=\"218\" height=\"350\" referrerpolicy=\"no-referrer\" /></p>\n</a></p><blockquote>\n<p><strong>R\u00e9sum\u00e9 de \u00ab\u00a0<em>Tous intuitifs \u2013 L\u2019intuition, l\u2019\u00e2me de la performance</em>\u00a0\u00bb de Victoria Pell\u00e9 Reimers</strong> : ce livre\u00a0nous invite \u00e0 <strong>comprendre</strong>, <strong>r\u00e9veiller</strong> et <strong>d\u00e9velopper</strong> nos <strong>ressources intuitives</strong> afin de les r\u00e9habiliter dans nos vies et dans nos entreprises comme <strong>facteurs cl\u00e9s de succ\u00e8s</strong>.</p>\n</blockquote><p>Par <strong>Victoria Pell\u00e9 Reimers</strong>, 2020, 288 pages.</p><h2><strong>Chronique et r\u00e9sum\u00e9 de \u00ab\u00a0<em>Tous intuitifs</em>\u00a0\u00bb de Victoria Pell\u00e9 Reimers</strong></h2><h3><strong>Introduction</strong></h3><ul><li>\n<h4><strong>Nous sommes tous intuitifs</strong></h4>\n</li>\n</ul><p>Victoria Pell\u00e9 Reimers commence son ouvrage en expliquant que <strong>nous sommes tous intuitifs et rationnels</strong> \u00e0 la fois et ce, de fa\u00e7on <strong>naturelle</strong>. Selon elle, c\u2019est le syst\u00e8me dans lequel nous vivons qui contribue \u00e0 effacer aujourd\u2019hui notre nature intuitive.</p><ul><li>\n<h4><strong>L\u2019agilit\u00e9, qui nous aide \u00e0 survivre dans un contexte incertain, provient de l\u2019intuition</strong></h4>\n</li>\n</ul><p>L\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> fait ensuite remarquer qu\u2019au cours de cette derni\u00e8re d\u00e9cennie, notre <strong>monde a chang\u00e9</strong>\u00a0: il est, nous explique-t-elle, <strong>devenu VUCA</strong>, autrement dit\u00a0<strong>volatile</strong> (Volatility), <strong>incertain</strong> (Uncertainty), <strong>complexe</strong> (Complexity) et <strong>ambigu</strong> (Ambiguity).</p><p>Or, dans un contexte VUCA, ce qui caract\u00e9rise <strong>ceux qui s\u2019en sortent</strong>, c\u2019est \u00ab\u00a0<strong>l\u2019agilit\u00e9</strong>\u00ab\u00a0. L\u2019agilit\u00e9 est \u00ab\u00a0cette <strong>capacit\u00e9 \u00e0 changer d\u2019orientation</strong>, \u00e0 choisir comment, avec qui et quand agir pour garder l\u2019\u00e9quilibre et m\u00eame pour remporter de nouveaux march\u00e9s\u00a0\u00bb.</p><p>Selon Victoria Pell\u00e9 Reimers, cette <strong>capacit\u00e9 provient de l\u2019intuition</strong>, de cette \u00ab\u00a0<strong>guidance int\u00e9rieure</strong>, presque instinctive pour certains, visionnaire pour d\u2019autres\u00a0\u00bb.</p><ul><li>\n<h4><strong>L\u2019objectif de ce livre\u00a0</strong></h4>\n</li>\n</ul><p>Fortes de 17 ann\u00e9es de recherches et de 8 ans de pratique sur le sujet de l\u2019intuition aupr\u00e8s d\u2019entrepreneurs, Victoria Pell\u00e9 Reimers pr\u00e9cise que <strong>le but de son livre \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em></strong> est de nous aider \u00e0 <strong>devenir plus</strong> <strong>r\u00e9ceptif</strong> <strong>\u00e0 notre intuition pour la</strong> <strong>mettre au service de nos projets et de notre pratique manag\u00e9riale</strong> (en apprenant \u00e0 rep\u00e9rer les forces et manques d\u2019intuition au sein de notre \u00e9quipe par exemple).</p><h3><strong>Partie 1 \u2013 Que savons-nous sur l\u2019intuition\u00a0?</strong></h3><p>Dans cette premi\u00e8re partie, l\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> explique <strong>ce qu\u2019est l\u2019intuition</strong> en faisant r\u00e9f\u00e9rence aux <strong>d\u00e9couvertes scientifiques</strong> sur le sujet. Puis elle expose <strong>d\u2019autres angles</strong> (au-del\u00e0 de la science) <strong>pour aborder\u00a0le ph\u00e9nom\u00e8ne de l\u2019intuition humaine</strong>.</p><h3><strong>1.1 \u2013 Tous intuitifs: D\u00e9finir l\u2019intuition</strong></h3><ul><li>\n<h4><strong>Qu\u2019est-ce que l\u2019intuition\u00a0?</strong></h4>\n</li>\n</ul><p>Dans ce premier chapitre, Victoria Pell\u00e9 Reimers fait part de sa <strong>d\u00e9finition de l\u2019intuition</strong>. La voici de fa\u00e7on synth\u00e9tique\u00a0:</p><p>L\u2019intuition est \u00ab\u00a0<strong>une connaissance qui nous arrive subitement</strong>, parfois accompagn\u00e9e d\u2019une <strong>\u00e9motion</strong>\u00ab\u00a0. Elle \u00ab\u00a0nous <strong>avertit</strong>, nous <strong>conseille</strong>, nous <strong>guide</strong>\u00a0\u00bb\u00a0sous forme de d\u00e9cisions, de rencontres, de solutions, d\u2019inspiration, et ce, dans de tr\u00e8s nombreux domaines.</p><p class=\"c7\"><img class=\"aligncenter size-full wp-image-25297 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-definition-tous-intuitifs-recherches-scientifiques.jpg?is-pending-load=1\" alt=\"intuition d\u00e9finition tous intuitifs recherches scientifiques\" width=\"600\" height=\"400\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-definition-tous-intuitifs-recherches-scientifiques.jpg 600w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-definition-tous-intuitifs-recherches-scientifiques-300x200.jpg 300w\" data-lazy-sizes=\"(max-width: 600px) 100vw, 600px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-25297\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-definition-tous-intuitifs-recherches-scientifiques.jpg\" alt=\"intuition d\u00e9finition tous intuitifs recherches scientifiques\" width=\"600\" height=\"400\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-definition-tous-intuitifs-recherches-scientifiques.jpg 600w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-definition-tous-intuitifs-recherches-scientifiques-300x200.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><ul><li>\n<h4><strong>Des avanc\u00e9es scientifiques mais une connaissance encore incompl\u00e8te sur ce qu\u2019est l\u2019intuition</strong></h4>\n</li>\n</ul><p>L\u2019auteure nous informe ensuite que les <strong>recherches neuroscientifiques</strong> ont r\u00e9cemment mis en lumi\u00e8re <strong>les zones de notre cerveau o\u00f9 se joue une partie du m\u00e9canisme intuitif</strong> lors de nos <a href=\"https://des-livres-pour-changer-de-vie.com/le-neuro-consommateur-comment-les-neurosciences-eclairent-les-decisions-dachat-du-consommateur/\" target=\"_blank\" rel=\"noopener\">prises de d\u00e9cision</a>.\u00a0Pourtant, malgr\u00e9 ces d\u00e9couvertes, nous ne sommes <strong>pas encore en mesure de \u00ab\u00a0circonscrire ce qu\u2019est l\u2019intuition dans sa totalit\u00e9\u00a0\u00bb</strong>. Car, indique Victoria Pell\u00e9 Reimers, l\u2019intuition va <strong>au-del\u00e0</strong> des informations transmises par <strong>nos cinq sens</strong>.</p><ul><li>\n<h4><strong>L\u2019intuition reconnue comme \u00e9tant \u00e0 l\u2019origine des plus grandes d\u00e9couvertes</strong></h4>\n</li>\n</ul><p>L\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> rappelle enfin que l\u2019intuition est une connaissance reconnue par les plus grands scientifiques. D\u2019ailleurs, pour beaucoup d\u2019entre eux, <strong>l\u2019intuition associ\u00e9e \u00e0 la logique conduit aux plus grandes d\u00e9couvertes</strong>.\u00a0\u00c0 ce propos, elle cite le grand math\u00e9maticien et philosophe Henri Poincar\u00e9 qui disait\u00a0:</p><blockquote>\n<p>\u00ab\u00a0C\u2019est <strong>avec l\u2019intuition</strong> que l\u2019<strong>on trouve</strong> et <strong>avec la logique</strong> que l\u2019<strong>on prouve</strong>.\u00a0\u00bb</p>\n</blockquote><h3><strong>1.2 -Tous intuitifs: Ce que nous croyons savoir sur l\u2019intuition et ce que nous pr\u00e9f\u00e9rons ignorer</strong></h3><ul><li>\n<h4><strong>Les derni\u00e8res d\u00e9couvertes scientifiques concernant l\u2019intuition</strong></h4>\n</li>\n</ul><p>Dans ce deuxi\u00e8me chapitre de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em>, Victoria Pell\u00e9 Reimers <strong>approfondit la notion d\u2019intuition</strong>. Pour cela, elle propose d\u2019explorer les d\u00e9couvertes scientifiques r\u00e9centes en ce qui concerne\u00a0:</p><ul><li class=\"c8\">\n<ul><li>La <strong>provenance des informations</strong> qui nous arrivent lorsque nous parlons d\u2019intuition.</li>\n<li>La temporalit\u00e9, en particulier <strong>la notion de futur\u00a0et l\u2019accessibilit\u00e9 des informations</strong> qui se trouvent dans ce futur pour \u00e9tudier le sujet des <strong>pr\u00e9monitions</strong>.</li>\n</ul></li>\n<li>\n<h4><strong>Aller au-del\u00e0 des sciences \u00ab\u00a0officielles\u00a0\u00bb pour une compr\u00e9hension plus large de ce qu\u2019est l\u2019intuition</strong></h4>\n</li>\n</ul><p>Victoria Pell\u00e9 Reimers pr\u00e9cise que notre compr\u00e9hension de l\u2019intuition resterait tr\u00e8s limit\u00e9e si nous nous arr\u00eations aux sciences dites \u00ab\u00a0officielles\u00a0\u00bb.\u00a0C\u2019est pourquoi, elle fait le choix d\u2019aller au-del\u00e0 de celles-ci tout en nous pr\u00e9venant\u00a0: cela impliquera parfois de <strong>revoir nos croyances et nos jugements</strong>. Car aujourd\u2019hui encore, l\u2019intuition est un sujet qui suscite des r\u00e9sistances. Cette m\u00e9fiance est li\u00e9e, selon elle, au <strong>conditionnement</strong> de notre \u00e9poque et de notre \u00e9ducation occidentale.\u00a0Elle \u00e9crit\u00a0en effet\u00a0:</p><blockquote>\n<p>\u00ab\u00a0Partout, de la maternelle aux \u00e9tudes sup\u00e9rieures, nous avons d\u00fb int\u00e9grer un mode lin\u00e9aire, reproductif, \u00e9liminant la cr\u00e9ativit\u00e9 et l\u2019intuition au profit de la logique, seule voie autoris\u00e9e et respect\u00e9e. [\u2026] Il faut parfois attendre la trentaine, la quarantaine ou m\u00eame plus, pour que chacun r\u00e9alise au d\u00e9tour de l\u2019exp\u00e9rience de la vie, que son intuition n\u2019est pas si folle, voire \u00e9tonnamment juste dans certaines situations, que sa cr\u00e9ativit\u00e9 est n\u00e9cessaire parfois pour sortir du lot et enfin, que sa fantaisie le distinguera toujours d\u2019un robot quelle que soit l\u2019avanc\u00e9e de l\u2019IA\u2026\u00a0\u00bb</p>\n</blockquote><h3><strong>1.3 \u2013 Tous intuitifs: Que nous disent les neurosciences sur l\u2019intuition\u00a0?</strong></h3><ul><li>\n<h4><strong>La d\u00e9couverte des zones c\u00e9r\u00e9brales actives lors de nos d\u00e9cisions intuitives</strong></h4>\n</li>\n</ul><p>L\u2019intuition, autrefois consid\u00e9r\u00e9e comme \u00ab\u00a0quasi fantaisiste\u00a0\u00bb fait l\u2019objet aujourd\u2019hui de beaucoup de curiosit\u00e9. Nous sommes, en effet, de plus en nombreux \u00e0 vouloir savoir comment fonctionne vraiment notre intuition.</p><p>Jusqu\u2019\u00e0 ces derni\u00e8res ann\u00e9es (fin du 20<sup>\u00e8me</sup> si\u00e8cle), nous n\u2019avions que peu d\u2019informations sur les m\u00e9canismes intuitifs dans notre cerveau et notre corps.\u00a0Mais gr\u00e2ce aux <strong>progr\u00e8s</strong> en mati\u00e8re de <strong>neurosciences</strong> \u2013 l\u2019imagerie m\u00e9dicale en particulier \u2013 nous <strong>connaissons</strong> \u00e0 pr\u00e9sent <strong>les parties du cerveau actives dans nos d\u00e9cisions intuitives</strong>. Les recherches ont notamment permis de les diff\u00e9rencier nettement des zones c\u00e9r\u00e9brales utilis\u00e9es lors d\u2019une r\u00e9flexion de type logico-math\u00e9matique.</p><p>Pour illustrer son propos, Victoria Pell\u00e9 d\u00e9crit une <strong>\u00e9tude r\u00e9alis\u00e9e en 2016</strong>, au Japon, <strong>aupr\u00e8s de joueurs de shogi</strong> (jeu d\u2019\u00e9checs japonais). Elle nous dit qu\u2019en observant le cerveau de ces joueurs, cette \u00e9tude a mis en \u00e9vidence <strong>le r\u00f4le du pr\u00e9cuneus</strong>.</p><ul><li>\n<h4><strong>Le r\u00f4le du pr\u00e9cuneus lors de d\u00e9cisions intuitives</strong></h4>\n<ul><li><strong>Qu\u2019est-ce que le pr\u00e9cuneus\u00a0?</strong></li>\n</ul></li>\n</ul><p>Le pr\u00e9cuneus\u00a0:</p><ul><li>Correspond \u00e0 une petite zone situ\u00e9e un peu \u00e0 l\u2019arri\u00e8re du cerveau, entre les deux h\u00e9misph\u00e8res, dans la partie sup\u00e9rieure du lobe pari\u00e9tal.</li>\n<li>N\u2019est <strong>pas reli\u00e9e \u00e0 la logique</strong>\u00a0: c\u2019est une partie du cerveau tr\u00e8s visiblement <strong>active</strong> sur un IRM au moment de <strong>reconna\u00eetre des visages</strong> ou d\u2019<strong>analyser nos ressentis/ \u00e9motions</strong>.\n<ul><li><strong>L\u2019activation du pr\u00e9cuneus</strong></li>\n</ul></li>\n</ul><p>Victoria Pell\u00e9 Reimers d\u00e9crit tout le d\u00e9roul\u00e9 de l\u2019\u00e9tude r\u00e9alis\u00e9e aupr\u00e8s des joueurs de shogi. En r\u00e9sum\u00e9, celle-ci r\u00e9v\u00e8le qu\u2019un changement cat\u00e9gorique se produit dans leur activit\u00e9 c\u00e9r\u00e9brale selon qu\u2019on leur demande de jouer en mode intuitif ou en suivant une r\u00e9flexion. Ainsi\u00a0:</p><ul><li class=\"c8\">\n<ul><li class=\"c8\">\n<ul><li>Lorsque les joueurs ont un temps de r\u00e9flexion pour jouer, ce sont <strong>les cortex sup\u00e9rieurs et lobes frontaux qui s\u2019activent</strong>.</li>\n<li>Lorsque les participants\u00a0jouent leur pion en moins d\u2019une seconde, c\u2019est-\u00e0-dire <strong>en mode intuitif</strong>, les cortex sup\u00e9rieurs et lobes frontaux cessent de s\u2019activer. C\u2019est une partie du pr\u00e9cuneus qui s\u2019anime alors. Cette zone s\u2019appelle <strong>le noyau coud\u00e9</strong>. Elle est\u00a0associ\u00e9e \u00e0 <strong>l\u2019apprentissage,</strong> \u00e0 nos <strong>habitudes</strong> et aux <strong>comportements r\u00e9flexes</strong>.</li>\n</ul></li>\n</ul></li>\n<li>\n<h4><strong>Les trois \u00e9l\u00e9ments de l\u2019intuition\u00a0: intention + exp\u00e9rience + l\u00e2cher-prise</strong></h4>\n</li>\n</ul><p>Pour Victoria Pell\u00e9 Reimers, l\u2019\u00e9tude r\u00e9alis\u00e9e aupr\u00e8s des comp\u00e9titeurs de shogi \u00e0 qui il a \u00e9t\u00e9 demand\u00e9 de jouer \u00ab\u00a0\u00e0 l\u2019intuition\u00a0\u00bb permet de mettre en \u00e9vidence les trois \u00e9l\u00e9ments caract\u00e9ristiques de l\u2019intuition\u00a0:</p><ul><li class=\"c8\">\n<ul><li><strong>L\u2019exp\u00e9rience</strong> : on observe une acc\u00e9l\u00e9ration des liens \u00e0 la m\u00e9moire\u00a0; c\u2019est l\u2019exp\u00e9rience du joueur qui est \u00e0 l\u2019\u0153uvre \u00e0 ce moment-l\u00e0.</li>\n</ul></li>\n</ul><ul><li class=\"c8\">\n<ul><li><strong>L\u2019intention</strong> : le d\u00e9sir (celui de gagner dans ce cas) s\u2019associe \u00e0 l\u2019exp\u00e9rience\u00a0; le joueur a une intention et c\u2019est d\u2019ailleurs cela qui diff\u00e9rencie l\u2019intuition d\u2019un r\u00e9flexe ou d\u2019un automatisme (tel que la conduite d\u2019un v\u00e9hicule par exemple).</li>\n</ul></li>\n</ul><ul><li class=\"c8\">\n<ul><li><strong>Le l\u00e2cher prise</strong> : le rythme tr\u00e8s rapide oblige \u00e0 l\u00e2cher prise\u00a0: pas de mots, ni raisonnement, ni v\u00e9ritable volont\u00e9.</li>\n</ul></li>\n<li>\n<h4><strong>L\u2019intuition n\u2019est pas un automatisme ni un r\u00e9flexe</strong></h4>\n</li>\n</ul><p>Selon l\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb,</em>\u00a0le comportement intuitif n\u2019est pas un automatisme\u00a0:</p><blockquote>\n<p>\u00ab\u00a0Nos <strong>automatismes</strong> sont des <strong>apprentissages profond\u00e9ment int\u00e9gr\u00e9s</strong> et qui ne n\u00e9cessitent pas de raisonnement. [\u2026] L\u2019automatisme n\u2019est qu\u2019une production cognitive <strong>sans</strong> la moindre forme d\u2019<strong>\u00e9motion</strong>, qui ne requiert aucune forme de pr\u00e9sence \u00e0 soi et \u00e0 ce qui se passe. [\u2026] <strong>L\u2019intuition</strong> ne donne pas la m\u00eame sensation qu\u2019un automatisme. Elle <strong>s\u2019accompagne</strong> d\u2019une forme de <strong>joie</strong>, m\u00eame infime. Elle est fluide et nette, il y a quelque chose qui se passe au niveau du regard, de la respiration.\u00a0\u00bb</p>\n</blockquote><h3><strong>1.4 \u2013 Tous intuitifs: D\u2019autres sciences pour \u00e9largir notre regard sur l\u2019intuition</strong></h3><p>La <strong>ph\u00e9nom\u00e9nologie</strong> est une science qui prend en compte les d\u00e9tails du ressenti et qui permet donc, en plus de la biologie et de la physique, de <strong>comprendre l\u2019humain</strong>.</p><p>Les \u00e9tudes en la mati\u00e8re ont permis de <strong>distinguer les intuitions des automatismes</strong> qui sont \u00ab\u00a0deux exp\u00e9riences rapides, sans raisonnement\u00a0\u00bb mais pourtant bien divergentes. Cette diff\u00e9rence s\u2019observe surtout <strong>dans l\u2019\u00e9tat qui pr\u00e9c\u00e8de, que l\u2019on vit</strong>\u00a0<strong>pendant et juste apr\u00e8s l\u2019intuition</strong>.</p><p>Victoria Pell\u00e9 d\u00e9crit les observations de la chercheuse Claire Petitmengin \u00e0 ce sujet, qui se r\u00e9sument dans cet extrait\u00a0:</p><blockquote>\n<p>\u00ab\u00a0Tout d\u2019abord, juste <strong>avant une intuition</strong>, c\u2019est <strong>le l\u00e2cher-prise</strong>, une \u00ab\u00a0descente\u00a0\u00bb en soi, une absence de contr\u00f4le, une absence d\u2019activit\u00e9 mentale, <strong>puis, soudain</strong>, un sentiment de mobilisation totale, une pr\u00e9sence augment\u00e9e, les sens en \u00e9veil, voire en exergue sur des choses qui attirent l\u2019attention, un sentiment d\u2019unit\u00e9, d\u2019accord int\u00e9rieur, ainsi qu\u2019un <strong>sentiment d\u2019\u00e9vidence</strong>, c\u00f4toyant curieusement une <strong>\u00e9motion de surprise</strong>, un \u00e9tonnement, voire un \u00e9merveillement.\u00a0\u00bb</p>\n</blockquote><p>Ce <strong>ressenti</strong> n\u2019est <strong>pas pr\u00e9sent</strong> dans un geste spontan\u00e9, <strong>dans nos automatismes</strong> (lorsque nous man\u0153uvrons notre voiture par exemple).</p><p>Globalement, <strong>dans un automatisme, \u00ab\u00a0il ne se passe rien de particulier, alors que l\u2019intuition laisse une trace en nous qui nous enchante et nous \u00e9tonne</strong>\u00a0\u00bb r\u00e9sume l\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em>.</p><h3><strong>1.5 \u2013 Tous intuitifs: L\u2019intuition, un registre de la m\u00e9moire qui n\u2019est pas r\u00e9serv\u00e9 qu\u2019aux exp\u00e9riment\u00e9s</strong></h3><blockquote>\n<p>\u00ab\u00a0L\u2019intuition ne nous tombe pas dessus, ce n\u2019est pas un ph\u00e9nom\u00e8ne magique, ni un hasard. Elle est \u00e0 la fois corr\u00e9l\u00e9e \u00e0 notre d\u00e9sir, \u00e0 nos intentions et \u00e0 notre exp\u00e9rience.\u00a0\u00bb</p>\n</blockquote><p>Pour Victoria Pell\u00e9 Reimers, <strong>notre exp\u00e9rience</strong>, celle que nous avons accumul\u00e9e, <strong>nourrit grandement l\u2019intuition</strong> qui \u00ab\u00a0nous guide dans nos prises de d\u00e9cisions\u00a0\u00bb, qui \u00ab\u00a0nous avertit\u00a0\u00bb ou \u00ab\u00a0nous inspire dans nos relations\u00a0\u00bb. Selon l\u2019auteure, c\u2019est ce qui fait qu\u2019une personne tr\u00e8s exp\u00e9riment\u00e9e \u00ab\u00a0arrive \u00e0 <em>sentir</em> ou \u00e0 <em>ne pas sentir</em> un dossier ou une personne, au premier coup d\u2019\u0153il\u00a0\u00bb.</p><p><strong>Toutefois, l\u2019exp\u00e9rience ne fait pas tout</strong>. L\u2019auteure fait en effet remarquer que de nombreux enfants, jeunes, d\u00e9butants sont aussi tr\u00e8s intuitifs, bien que n\u2019ayant aucune exp\u00e9rience. Et m\u00eame s\u2019il s\u2019agit de \u00ab\u00a0g\u00e9nies\u00a0\u00bb, ils n\u2019en restent pas moins humains. L\u2019exp\u00e9rience n\u2019est donc pas l\u2019unique source de l\u2019intuition\u2026</p><h3><strong>1.6 \u2013 Tous intuitifs: Les pr\u00e9monitions et sciences</strong></h3><p>L\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> \u00e9voque, dans cette partie, une autre forme de manifestations intuitives\u00a0: <strong>les pr\u00e9monitions et autres pressentiments</strong>, appel\u00e9es scientifiquement \u00ab\u00a0<strong>pr\u00e9cognitions</strong>\u00ab\u00a0.</p><p>Une pr\u00e9cognition est d\u00e9finie par le dictionnaire comme un \u00ab\u00a0<strong>sentiment irraisonn\u00e9, non v\u00e9rifiable qu\u2019un \u00e9v\u00e9nement va se produire, que quelque chose existe</strong>\u00ab\u00a0.</p><p>Les pr\u00e9cognitions restent encore tr\u00e8s myst\u00e9rieuses pour le monde scientifique. En effet, la science n\u2019est toujours pas en mesure de comprendre comment il nous est possible de recevoir des informations d\u2019un temps qui n\u2019est pas encore arriv\u00e9 (probablement parce que notre conception de l\u2019espace-temps semble, selon les chercheurs d\u2019aujourd\u2019hui, d\u00e9pass\u00e9e).</p><p>Aussi, bien que <strong>\u00ab\u00a0rigoureusement v\u00e9rifi\u00e9es\u00a0\u00bb</strong> depuis soixante ans (les \u00e9lectro-enc\u00e9phalogrammes montrent clairement notre capacit\u00e9 \u00e0 d\u00e9tecter un danger avant qu\u2019il ne survienne), ces <strong>exp\u00e9riences tr\u00e8s troublantes ne font pas encore consensus</strong>. C\u2019est donc \u00ab\u00a0une forme d\u2019intuition que nous pr\u00e9f\u00e9rons ignorer\u00a0\u00bb signale l\u2019auteure.</p><h3><strong>Conclusion de la premi\u00e8re partie</strong></h3><p>Pour conclure cette premi\u00e8re partie de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em>, Victoria Pell\u00e9 Reimers insiste sur\u00a02 points\u00a0:</p><ul><li><strong>Il est difficile de \u00ab\u00a0faire le tour de ce que nous savons de l\u2019intuition\u00a0\u00bb</strong> : l\u2019intuition est en effet un sujet tr\u00e8s vaste et encore myst\u00e9rieux malgr\u00e9 les \u00e9tudes r\u00e9alis\u00e9es par les neuroscientifiques et la ph\u00e9nom\u00e9nologie.</li>\n</ul><ul><li>Certaines <strong>formes d\u2019intuition</strong> t\u00e9moignent clairement de nos <strong>capacit\u00e9s extraordinaires</strong> mais sont encore mises en doute\u00a0: il nous faut \u00ab\u00a0<strong>tourner la page du tout rationnel\u00a0\u00bb</strong> dans notre approche des ph\u00e9nom\u00e8nes vivants et regarder le monde \u00ab\u00a0avec des yeux nouveaux\u00a0\u00bb, lance l\u2019auteure.</li>\n</ul><h3><strong>Partie 2 \u2013 Tous intuitifs: Quatre formes d\u2019intuitions indispensables \u00e0 nos projets</strong></h3><p>Pour introduire cette deuxi\u00e8me partie, Victoria Pell\u00e9 Reimers rappelle d\u2019abord que\u00a0:</p><ul><li><strong>Nous sommes <em>tous</em> intuitifs\u00a0</strong>: ce sont nos croyances, modes de vie et notre \u00e9ducation qui contribuent \u00e0 minimiser l\u2019importance de l\u2019intuition.</li>\n<li>Il est tout \u00e0 fait <strong>possible de \u00ab\u00a0d\u00e9velopper, r\u00e9veiller, nourrir\u00a0\u00bb notre intuition</strong>.</li>\n</ul><p>L\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> explique ensuite qu\u2019il existe <strong>4 types d\u2019intuition</strong>, \u00e0 savoir l\u2019intuition\u00a0:</p><ul><li><strong>Contextuelle</strong>, particuli\u00e8rement puissante dans nos prises de d\u00e9cisions.</li>\n<li><strong>Relationnelle</strong>, c\u2019est-\u00e0-dire celle de la rencontre, notamment tr\u00e8s utile en mati\u00e8re de recrutement et de management.</li>\n<li><strong>Visionnaire</strong>, qui nous rend capable de \u00ab\u00a0sentir le vent venir\u00a0\u00bb, de \u00ab\u00a0voir se profiler une tendance, un changement, bien avant la plupart des gens\u00a0\u00bb.</li>\n<li><strong>Personnelle et spirituelle\u00a0</strong>: cette fameuse \u00ab\u00a0petite voix\u00a0\u00bb qui \u00ab\u00a0nous souffle des suggestions d\u2019ordre plus personnel, voire intime\u00a0\u00bb.</li>\n</ul><p>Cette deuxi\u00e8me partie du livre \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> d\u00e9veloppe alors <strong>en quoi ces diff\u00e9rentes intuitions peuvent v\u00e9ritablement \u00ab\u00a0booster\u00a0\u00bb nos projets et comment celles-ci se manifestent concr\u00e8tement dans notre vie</strong>.</p><h3><strong>2.1 \u2013 Tous intuitifs: L\u2019intuition contextuelle</strong></h3><ul><li>\n<h4><strong>Qu\u2019est-ce que l\u2019intuition contextuelle\u00a0?</strong></h4>\n</li>\n</ul><blockquote>\n<p>\u00ab\u00a0L\u2019intuition contextuelle, c\u2019est l\u2019intuition du marin, du chasseur, du soldat, des parents de jeunes enfants, des sportifs. [\u2026] [C\u2019est] <strong>Le bon geste au bon moment</strong>, <strong>sans r\u00e9fl\u00e9chir</strong>. C\u2019est la forme d\u2019intuition que nous avons dans la prise de d\u00e9cision, dans un contexte donn\u00e9.\u00a0\u00bb</p>\n</blockquote><p>Cette intuition est particuli\u00e8rement utile \u00e0 notre \u00e9poque qui conna\u00eet une acc\u00e9l\u00e9ration des changements et qui demande, pour s\u2019adapter, agilit\u00e9 et cr\u00e9ativit\u00e9. Dans l\u2019entrepreneuriat par exemple, l\u2019intuition contextuelle permet de sentir le potentiel commercial d\u2019un nouveau produit ou de prendre des d\u00e9cisions rapides et align\u00e9es.</p><p>L\u2019intuition contextuelle fait \u00e9cho avec notre <strong>instinct</strong>, notre sixi\u00e8me sens. Elle est <strong>br\u00e8ve</strong> et <strong>va \u00e0 l\u2019essentiel</strong>. Elle nous am\u00e8ne \u00e0 <strong>agir sans r\u00e9fl\u00e9chir</strong>, et nous guide de fa\u00e7on plut\u00f4t binaire pour communiquer, nous orienter, nous d\u00e9placer, assurer nos besoins et notre s\u00e9curit\u00e9\u00a0: \u00ab\u00a0c\u2019est oui, c\u2019est non, j\u2019arr\u00eate, j\u2019y vais, je monte, je descend, je tourne \u00e0 droite, c\u2019est ok, pas ok, etc.\u00a0\u00bb</p><p>En somme, \u00ab\u00a0l\u2019intuition contextuelle, c\u2019est <strong>cette capacit\u00e9 \u00e0 faire des choix rapides et pertinents</strong>, notamment <strong>lorsque nous manquons de temps ou d\u2019informations</strong>\u00ab\u00a0.</p><p><img class=\"aligncenter size-full wp-image-25299 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-contextuelle-faire-des-choix.jpg?is-pending-load=1\" alt=\"intuition contextuelle faire des choix\" width=\"600\" height=\"400\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-contextuelle-faire-des-choix.jpg 600w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-contextuelle-faire-des-choix-300x200.jpg 300w\" data-lazy-sizes=\"(max-width: 600px) 100vw, 600px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-25299\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-contextuelle-faire-des-choix.jpg\" alt=\"intuition contextuelle faire des choix\" width=\"600\" height=\"400\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-contextuelle-faire-des-choix.jpg 600w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-contextuelle-faire-des-choix-300x200.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><ul><li>\n<h4><strong>Les faux amis de l\u2019intuition contextuelle</strong></h4>\n</li>\n</ul><p>L\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> met ici en lumi\u00e8re ce que nous pourrions prendre pour de l\u2019intuition contextuelle mais qui ne l\u2019est pas\u00a0: tout <strong>ce qui se manifeste</strong> en nous <strong>sans raisonnement</strong> n\u2019est, en effet, <strong>pas forc\u00e9ment intuitif</strong>.</p><p>Victoria Pell\u00e9 Reimers fait notamment r\u00e9f\u00e9rence \u00e0 <strong>nos automatismes et biais cognitifs</strong>, tr\u00e8s similaires \u00e0 l\u2019intuition car eux aussi rapides et spontan\u00e9s. Ceux-ci sont pourtant bien diff\u00e9rents de l\u2019intuition. Elle explique en effet que\u00a0:</p><ul><li class=\"c8\">\n<ul><li>Nos <strong>automatismes</strong> sont en r\u00e9alit\u00e9 li\u00e9s \u00e0 des <strong>apprentissages tr\u00e8s ancr\u00e9s</strong> qui nous font agir <strong>selon \u00ab\u00a0une r\u00e8gle de probabilit\u00e9 inconsciente\u00a0\u00bb</strong>\u00a0: le cerveau, par souci d\u2019\u00e9conomiser de l\u2019\u00e9nergie, va chercher \u00e0 autonomiser le maximum de nos comportements et nous amener \u00e0 adopter celui qui semblera \u00eatre le plus appropri\u00e9 dans une situation donn\u00e9e.</li>\n</ul></li>\n</ul><ul><li class=\"c8\">\n<ul><li>Nos <strong>biais cognitifs\u00a0</strong>sont des <strong>formes d\u2019automatismes cr\u00e9\u00e9s du fait d\u2019une quelconque influence</strong> (consciente ou non) sur nos pens\u00e9es et choix (ex.\u00a0: biais de confirmation, biais r\u00e9trospectif\u2026). En fait, <strong>les biais</strong> ajoutent une <strong>interpr\u00e9tation qui nous \u00e9loigne de la r\u00e9alit\u00e9</strong>, alors que <strong>l\u2019intuition</strong>, elle, semble plut\u00f4t <strong>ajouter un degr\u00e9 d\u2019information suppl\u00e9mentaire</strong> sur l\u2019environnement, les interlocuteurs ou les tendances qui nous <strong>rapproche du r\u00e9el</strong>.</li>\n</ul></li>\n<li>\n<h4><strong>Intuition contextuelle et logique sont compl\u00e9mentaires dans nos prises de d\u00e9cision</strong></h4>\n</li>\n</ul><p>L\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> nous conseille de faire preuve d\u2019<strong>\u00e9coute, calme, concentration et d\u00e9tente</strong> lors de nos prises de d\u00e9cision <strong>pour laisser venir naturellement notre intuition</strong>.</p><p>Toutefois, elle nous invite \u00e0 <strong>rester vigilant</strong>\u00a0: <strong>l\u2019intuition n\u2019est pas \u00ab\u00a0LA v\u00e9rit\u00e9\u00a0\u00bb</strong>, pr\u00e9vient Victoria Pell\u00e9 Reimers. C\u2019est, ajoute-t-elle \u00ab\u00a0<strong>simplement un appui pour alimenter le discernement</strong>\u00ab\u00a0.</p><p>\u00c0 ce propos, l\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> poursuit en indiquant que trop souvent <strong>l\u2019intuition et la logique</strong> sont mises en opposition. Selon elle, ces deux registres d\u2019intelligence n\u2019ont <strong>pas lieu de s\u2019opposer</strong>\u00a0: elles sont, \u00e0 l\u2019inverse, compl\u00e9mentaires et donc faites pour s\u2019assembler.</p><ul><li>\n<h4><strong>En quoi l\u2019intuition aide-t-elle \u00e0 nos prises de d\u00e9cision\u00a0?</strong></h4>\n</li>\n</ul><p>Si nous sommes prudents lorsque nous avons une d\u00e9cision \u00e0 prendre, c\u2019est bien souvent parce que nous n\u2019avons pas suffisamment d\u2019informations\u00a0et que l\u2019incertitude nous stresse.</p><p>C\u2019est \u00e0 ce niveau-l\u00e0 que <strong>l\u2019intuition contextuelle</strong> pr\u00e9sente beaucoup d\u2019int\u00e9r\u00eat, souligne Victoria Pell\u00e9 Reimers\u00a0: \u00ab\u00a0l\u2019intuition contextuelle <strong>apporte</strong> justement un <strong>degr\u00e9 int\u00e9ressant d\u2019information</strong> sur notre environnement\u00a0\u00bb. Aussi, m\u00eame si ces informations, ces signaux sont difficiles \u00e0 traduire ou \u00e0 expliquer aux autres, ils sont suppos\u00e9s pouvoir augmenter notre <strong>sentiment de s\u00e9curit\u00e9</strong>, \u00ab\u00a0exactement comme le sens de l\u2019orientation nous \u00e9vite de paniquer dans un labyrinthe\u00a0\u00bb continue l\u2019auteure.</p><p>Le probl\u00e8me est que chez les Occidentaux, l\u2019intuition est mal consid\u00e9r\u00e9e et s\u2019est \u00e9tiol\u00e9e. Incapables de voir ces signaux intuitifs, nous ne sommes <strong>pas r\u00e9ceptifs \u00e0 \u00ab\u00a0cette dose d\u2019assurance int\u00e9rieure\u00a0\u00bb que l\u2019intuition peut procurer</strong> si nous lui faisons confiance. Sans cette ressource int\u00e9rieure qui nous guide, nous parvenons alors tr\u00e8s difficilement \u00e0 discerner quelle d\u00e9cision prendre.</p><ul><li>\n<h4><strong>Comment l\u2019intuition contextuelle se manifeste-t-elle\u00a0?</strong></h4>\n<ul><li><strong>L\u2019intuition contextuelle est surtout corporelle</strong>. Elle se manifeste par des signaux du corps\u00a0: souvent des <strong>sensations</strong>, parfois des <strong>actes ou mouvements</strong>.</li>\n</ul></li>\n</ul><p>Ces sensations sont aussi nombreuses que nuanc\u00e9es\u00a0: la fameuse sensation des tripes, appel\u00e9e <em>gut-feeling</em> outre-Atlantique\u00a0; mais au-del\u00e0 de la zone du ventre, nous connaissons aussi la gorge qui se serre, les fourmillements dans la nuque, cette d\u00e9charge \u00e9lectrique ressentie dans l\u2019\u00e9pine dorsale, une sensation d\u2019ouverture du front\u2026</p><ul><li class=\"c8\">\n<ul><li>Nous devons <strong>apprendre \u00e0 reconna\u00eetre nos ressentis pour nous reconnecter \u00e0 notre intuition</strong></li>\n</ul></li>\n</ul><p>Notre soci\u00e9t\u00e9 (culture, \u00e9ducation\u2026) nous a <strong>\u00ab\u00a0coup\u00e9\u00a0\u00bb de nos ressentis internes</strong>. Nous n\u2019avons <strong>jamais vraiment appris \u00e0 identifier nos signaux internes</strong> et \u00e0 agir en cons\u00e9quence. Comme nous doutons de la nature de ces ressentis, nous avons m\u00eame <strong>tendance \u00e0 les refouler</strong> pour <strong>plut\u00f4t analyser</strong> les choses <strong>rationnellement</strong> avec notre cerveau.</p><p>Victoria Pell\u00e9 Reimers nous invite alors \u00e0 nous reconnecter \u00e0 notre intuition en pratiquant une <strong>\u00e9coute consciente</strong> de ces <strong>signaux corporels</strong>. Ainsi, \u00ab\u00a0<strong>nos perceptions peuvent et vont se renforcer, s\u2019enrichir</strong>, s\u2019affiner\u00a0\u00bb affirme l\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em>. Car \u00ab\u00a0plus nous attribuons d\u2019importance et de cr\u00e9dit \u00e0 nos perceptions, plus celles-ci se d\u00e9veloppent et nous assistent au quotidien, dans nos choix, dans nos gestes et nos actions\u00a0\u00bb.</p><ul><li>\n<h4><strong>C\u2019est surtout la peur de se tromper qui nous am\u00e8ne \u00e0 ne pas \u00e9couter nos intuitions au moment de d\u00e9cider</strong></h4>\n</li>\n</ul><p>Le fait de ne pas pouvoir contr\u00f4ler si une intuition est pertinente ou non tant qu\u2019on ne l\u2019a pas suivie est une situation stressante pour la plupart d\u2019entre nous. Car nous avons peur de faire une erreur. Nous n\u2019avons <strong>aucun moyen d\u2019\u00eatre certain avec une intuition de prendre la bonne d\u00e9cision</strong>. Le <strong>raisonnement logique</strong>, quant \u00e0 lui, <strong>nous calme, nous rassure</strong>.</p><p>Pourtant, l\u2019auteure nous invite \u00e0 r\u00e9fl\u00e9chir\u00a0: la logique n\u2019est pas plus garante d\u2019une d\u00e9cision sans erreur\u00a0: <strong>nous faisons bien souvent des erreurs en raisonnant aussi</strong>. Alors pourquoi avons-nous plus peur de nous tromper avec notre intuition\u00a0?</p><p>L\u2019auteure expose sa r\u00e9flexion \u00e0 ce sujet\u00a0: elle pense qu\u2019en fait, nous faisons plut\u00f4t appel \u00e0 <strong>la logique dans nos d\u00e9cisions</strong> car notre choix est ainsi <strong>plus facile \u00e0 justifier.</strong> En effet, dans notre soci\u00e9t\u00e9, et ce depuis l\u2019\u00e9cole, une d\u00e9cision prise selon un raisonnement rationnel et donc tra\u00e7able est consid\u00e9r\u00e9e comme bien plus professionnelle et a beaucoup plus de cr\u00e9dit qu\u2019une d\u00e9cision qui suit une intuition.</p><p>Pour Victoria Pell\u00e9 Reimers, <strong>il faudrait</strong> pourtant parvenir \u00e0 <strong>\u00e9quilibrer</strong> les deux\u00a0: <strong>raisonnement et ressenti</strong>. L\u2019\u00e9coute de l\u2019intuition devrait venir en appui \u00e0 nos raisonnements.</p><ul><li>\n<h4><strong>Le rapport \u00e0 l\u2019intuition est encore plus tendu mais pourtant plus salutaire quand les enjeux d\u2019une d\u00e9cision sont importants</strong></h4>\n</li>\n</ul><p>L\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> se penche ici sur la fa\u00e7on des d\u00e9cideurs aux enjeux importants d\u2019avoir recours \u00e0 l\u2019intuition\u00a0: urgentistes, policiers du RAID, officiers responsables de troupes en temps de guerre\u2026</p><p>Elle illustre ses propos en racontant plusieurs anecdotes \u00e0 ce sujet. Elle met ainsi en \u00e9vidence <strong>le r\u00f4le de l\u2019intuition</strong> pour ces <strong>grands d\u00e9cisionnaires</strong> quand il s\u2019agit d\u2019<strong>analyser des donn\u00e9es avec grande rapidit\u00e9</strong>.</p><ul><li>\n<h4><strong>Une forme d\u2019intuition contextuelle exceptionnelle\u00a0: les \u00ab\u00a0pr\u00e9cognitions\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Dans ce cas-l\u00e0, notre intuition se manifeste\u00a0:</p><ul><li class=\"c8\">\n<ul><li><strong>En r\u00eave ou \u00e0 l\u2019\u00e9tat de veille</strong> sous forme de <strong>flash</strong>\u00a0par exemple, et s\u2019accompagne souvent d\u2019une <strong>grande charge \u00e9motionnelle</strong>.</li>\n<li>Sous forme de \u00ab\u00a0<strong>pr\u00e9monitions</strong>\u00a0\u00bb\u00a0: on <strong>\u00ab\u00a0voit\u00a0\u00bb</strong> quelque chose arriver de fa\u00e7on imminente.</li>\n<li><strong>Par le corps</strong>\u00a0: un <strong>ressenti</strong>, un <strong>malaise</strong>, un <strong>mouvement</strong> ou une <strong>action instinctive</strong> et <strong>tr\u00e8s rapide</strong>\u00a0; dans ce cas, nous \u00ab\u00a0sentons\u00a0\u00bb le danger, plus que nous ne le voyons.</li>\n</ul></li>\n</ul><p>Selon Victoria Pell\u00e9 Reimers, l\u2019existence du ph\u00e9nom\u00e8ne de pr\u00e9cognition (terme scientifique pour parler de ces avertissements intuitifs) est valid\u00e9e par des centaines d\u2019\u00e9tudes et de publications depuis 60 ans. D\u2019apr\u00e8s ces recherches, ces r\u00e9actions ne sont pas dues au hasard. Toutefois, il ne nous est actuellement <strong>toujours pas possible de comprendre</strong> comment notre conscience est capable de capter l\u2019information, de l\u2019interpr\u00e9ter, d\u2019en restituer une image et une \u00e9motion avec tant d\u2019exactitude parfois et de nous faire part des actions \u00e0 mener pour \u00e9viter le danger.</p><h3><strong>2.2 \u2013 Tous intuitifs: L\u2019intuition relationnelle</strong></h3><ul><li>\n<h4><strong>Qu\u2019est-ce que l\u2019intuition relationnelle\u00a0?</strong></h4>\n</li>\n</ul><p>Les intuitifs relationnels ont \u00ab\u00a0<strong>une perception fine et imm\u00e9diate de l\u2019autre</strong>\u00ab\u00a0, qu\u2019ils le connaissent ou non. Ils sentent ce qui se d\u00e9gage de quelqu\u2019un, son temp\u00e9rament, ses besoins, son \u00ab\u00a0authenticit\u00e9\u00a0\u00bb. Ainsi, l\u2019intuition relationnelle permet de <strong>ressentir</strong>, dans un <strong>temps tr\u00e8s bref</strong>, <strong>d\u00e8s le premier contact</strong> (une poign\u00e9e de main ou m\u00eame, de loin, dans l\u2019attitude ou la d\u00e9marche d\u2019une personne) <strong>si celle-ci aura plut\u00f4t tendance \u00e0 contribuer ou \u00e0 nuire \u00e0 quelque chose</strong> (un projet, une \u00e9quipe\u2026).</p><p>En guise d\u2019exemples connues de ce genre de fulgurances (mais c\u2019est aussi parfois une intuition permanente), l\u2019auteure cite le fameux coup de foudre amoureux ou encore \u00ab\u00a0un avertissement tr\u00e8s ferme de se tenir \u00e0 distance\u00a0\u00bb de quelqu\u2019un que l\u2019on ne conna\u00eet pas et qui se pr\u00e9sente pour la premi\u00e8re fois.</p><ul><li>\n<h4><strong>Les faux amis de l\u2019intuition relationnelle</strong></h4>\n</li>\n</ul><p>Il est <strong>facile de se m\u00e9prendre entre intuition et pr\u00e9jug\u00e9s</strong> dans nos relations.</p><p>L\u2019auteure recommande alors d\u2019\u00eatre vigilant quant \u00e0 nos premi\u00e8res impressions qui peuvent n\u2019\u00eatre qu\u2019une <strong>projection de sensations</strong> qui nous appartiennent ou qu\u2019<strong>une opinion</strong>, un jugement bas\u00e9 sur des exp\u00e9riences pass\u00e9es inconscientes.</p><p>Nous devons, insiste Victoria Pell\u00e9 Reimers, <strong>regarder au-del\u00e0 de ce que nous nous disons int\u00e9rieurement</strong> sur une personne car \u00ab\u00a0il se trouve un autre signal, <strong>une autre forme de message plus subtil</strong> qui nous permet de ressentir v\u00e9ritablement qui est devant nous, avec le potentiel ou le danger que cela peut engendrer\u00a0\u00bb.</p><p>En fait, les <strong>pr\u00e9jug\u00e9s</strong> sont <strong>mentaux et pr\u00e9visibles</strong>, l\u2019intuition non. L\u2019intuition relationnelle se caract\u00e9rise par son aspect <strong>radical</strong>, un \u00ab\u00a0<strong>sentiment d\u2019\u00e9vidence</strong>\u00ab\u00a0, \u00ab\u00a0la sensation d\u2019\u00eatre tr\u00e8s pr\u00e9sent \u00e0 soi, et \u00e0 l\u2019autre, au moment de recevoir cette intuition\u00a0\u00bb. Finalement, selon Victoria Pell\u00e9 Reimers\u00a0:</p><p class=\"c7\"><img class=\"aligncenter size-full wp-image-25300 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-manque-de-temps-ne-plus-ecouter-agir.jpg?is-pending-load=1\" alt=\"intuition manque de temps ne plus \u00e9couter agir\" width=\"600\" height=\"400\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-manque-de-temps-ne-plus-ecouter-agir.jpg 600w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-manque-de-temps-ne-plus-ecouter-agir-300x200.jpg 300w\" data-lazy-sizes=\"(max-width: 600px) 100vw, 600px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-25300\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-manque-de-temps-ne-plus-ecouter-agir.jpg\" alt=\"intuition manque de temps ne plus \u00e9couter agir\" width=\"600\" height=\"400\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-manque-de-temps-ne-plus-ecouter-agir.jpg 600w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/intuition-manque-de-temps-ne-plus-ecouter-agir-300x200.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><blockquote>\n<p>\u00ab\u00a0L\u2019intuition est aussi sobre que le pr\u00e9jug\u00e9 est bavard\u00a0! Alors que ce dernier se perd en justifications sans fin, l\u2019intuition relationnelle nous laisserait presque dans l\u2019embarras du contraire\u00a0: <strong>on \u00ab\u00a0sait\u00a0\u00bb sans pouvoir expliquer et encore moins justifier</strong>.\u00a0\u00bb</p>\n</blockquote><ul><li>\n<h4><strong>L\u2019utilit\u00e9 de l\u2019intuition relationnelle dans le cadre professionnel</strong></h4>\n</li>\n</ul><p>Pour l\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em>, l\u2019intuition dite \u00ab\u00a0relationnelle\u00a0\u00bb s\u2019av\u00e8re notamment tr\u00e8s utile en mati\u00e8re de\u00a0:</p><ul><li class=\"c8\">\n<ul><li><strong>Recrutement \u21d2</strong> cette intuition permet notamment de <strong>\u00ab\u00a0savoir\u00a0\u00bb s\u2019il s\u2019agit de la \u00ab\u00a0bonne personne\u00a0\u00bb</strong> d\u00e8s le d\u00e9but d\u2019un entretien d\u2019embauche. Parfois, elle sert \u00e0 <strong><a href=\"https://des-livres-pour-changer-de-vie.com/le-talent-code/\" target=\"_blank\" rel=\"noopener\">rep\u00e9rer le potentiel</a> d\u2019un candidat</strong> jeune ou manquant juste de confiance en lui. L\u2019auteure invite toutefois \u00e0 la <strong>prudence quant aux premi\u00e8res impressions</strong> qui peuvent, on l\u2019a vu, provenir d\u2019autre chose.</li>\n</ul></li>\n</ul><ul><li class=\"c8\">\n<ul><li><strong>Management \u21d2</strong>\u00a0en s\u2019appuyant sur des d\u00e9tails non rationnels, cette intuition <strong>aide \u00e0 constituer des bin\u00f4mes ou une \u00e9quipe performante</strong> sur un nouveau projet, \u00e0 <strong>identifier les non-dits</strong> dans les groupes, \u00e0 \u00ab\u00a0<strong>ressentir une ambiance</strong>, un changement subtil et bien d\u2019autres nuances qui font et d\u00e9font les relations humaines\u00a0\u00bb.</li>\n</ul></li>\n<li>\n<h4><strong>Intuition relationnelle, intelligence \u00e9motionnelle et empathie</strong></h4>\n</li>\n</ul><p>Pour l\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em>\u00a0:</p><ul><li class=\"c8\">\n<ul><li><strong>L\u2019intuition relationnelle fait partie de l\u2019intelligence \u00e9motionnelle</strong> qui rend particuli\u00e8rement habile pour adapter notre comportement \u00e0 ce que nous sentons de l\u2019autre.</li>\n<li><strong>Les intuitifs relationnels sont souvent empathiques</strong>, c\u2019est-\u00e0-dire qu\u2019ils sont capables de percevoir ce que ressentent les autres.</li>\n</ul></li>\n<li>\n<h4><strong>Comment l\u2019intuition relationnelle se manifeste-t-elle\u00a0?</strong></h4>\n</li>\n</ul><p><strong>L\u2019intuition relationnelle n\u2019est autre que</strong> <strong>l\u2019analyse d\u2019une \u00ab\u00a0lecture extr\u00eamement rapide et inconsciente des micro-informations\u00a0\u00bb</strong> que nous captons chez l\u2019autre. De cette d\u00e9duction, nous tirons alors une conclusion\u00a0: \u00ab\u00a0je fais confiance ou pas\u00a0\u00bb, \u00ab\u00a0je me rapproche ou je m\u2019\u00e9loigne\u00a0\u00bb, \u00ab\u00a0je m\u2019ouvre ou je me ferme\u00a0\u00bb,\u00a0\u00bb je recrute cette personne ou surtout pas\u00a0\u00bb, etc.</p><p>Ces micro-informations sont per\u00e7ues via <strong>3 modes de captation</strong> qui, ensemble, vont nous procurer une intuition sur autrui.</p><ul><li class=\"c8\">\n<ul><li><strong>La vue</strong></li>\n</ul></li>\n</ul><p>Les intuitifs relationnels sont particuli\u00e8rement <strong>dou\u00e9s pour percevoir les \u00e9motions des autres</strong> <strong>sur leurs visages</strong>. Il existe toutes sortes de signaux faibles g\u00e9n\u00e9ralement d\u00e9tect\u00e9s inconsciemment\u00a0: rythme du clignement des paupi\u00e8res, variation du teint, mouvements des l\u00e8vres et des narines\u2026</p><p>Ainsi, un intuitif relationnel saura capter la timidit\u00e9, l\u2019aisance, le m\u00e9pris, le stress, la bont\u00e9, la sinc\u00e9rit\u00e9 chez les autres. Et \u00ab\u00a0m\u00eame s\u2019il ne sait pas tr\u00e8s bien \u00e0 quoi il l\u2019attribue, son exp\u00e9rience lui montre progressivement la pertinence de ce ressenti\u00a0\u00bb ajoute l\u2019auteure.</p><ul><li class=\"c8\">\n<ul><li><strong>L\u2019odorat\u00a0</strong></li>\n</ul></li>\n</ul><p>L\u2019odorat est tr\u00e8s connect\u00e9 \u00e0 notre m\u00e9moire. De fa\u00e7on inconsciente, nous pouvons <strong>nous relier \u00e0 des souvenirs</strong> parfois tr\u00e8s anciens et par cons\u00e9quent <strong>des \u00e9motions tr\u00e8s fortes</strong>, juste avec le pouvoir \u00e9vocateur d\u2019une odeur. Ce que nous sentons nous influence alors beaucoup dans nos relations aux autres.</p><ul><li class=\"c8\">\n<ul><li><strong>La kinesth\u00e9sie</strong></li>\n</ul></li>\n</ul><p>Victoria Pell\u00e9 Reimers explique ici que chaque corps biologique est source de champs \u00e9lectromagn\u00e9tiques propres (selon les th\u00e9ories de la physique quantique) et poss\u00e8de donc une forme de \u00ab\u00a0signature vibratoire\u00a0\u00bb.</p><p>Les intuitifs relationnels sont, selon l\u2019auteure, capables de <strong>percevoir</strong> ce <strong>champ \u00e9nerg\u00e9tique</strong>, compos\u00e9 d\u2019ondes, <strong>le rayonnement des personnes</strong>. Ils peuvent, nous dit l\u2019auteure, \u00e9valuer \u00ab\u00a0le taux vibratoire\u00a0\u00bb d\u2019un individu\u00a0: on parle alors de <strong>radiesth\u00e9sie</strong>.</p><ul><li>\n<h4><strong>Une forme d\u2019intuition relationnelle exceptionnelle\u00a0: la t\u00e9l\u00e9pathie</strong></h4>\n</li>\n</ul><p>T\u00e9l\u00e9pathie veut dire \u00ab\u00a0<strong>ressenti \u00e0 distance</strong>\u00ab\u00a0. La t\u00e9l\u00e9pathie permet d\u2019<strong>\u00e9changer des informations ou des sensations entre individus \u00e0 distance</strong>. Ce ph\u00e9nom\u00e8ne n\u2019utilise pas nos sens mais <strong>fonctionnerait par intrication</strong>.\u00a0L\u2019intrication est un terme issu de la m\u00e9canique quantique \u00ab\u00a0qui nous place devant un myst\u00e8re de la physique\u00a0\u00bb, d\u00e9clare l\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em>.</p><p>En effet, ce <strong>ph\u00e9nom\u00e8ne d\u2019intrication</strong> r\u00e9v\u00e8le que si deux particules \u2013 A et B \u2013 ont \u00e9t\u00e9 intriqu\u00e9es, et qu\u2019un changement intervient sur A, alors B s\u2019en trouve chang\u00e9 de la m\u00eame fa\u00e7on de mani\u00e8re compl\u00e8tement simultan\u00e9e. Le transfert entre les deux ne montre aucune dur\u00e9e, m\u00eame pas celle de la vitesse de la lumi\u00e8re (la plus \u00e9lev\u00e9e qui soit). Ainsi, le fait que ce <strong>changement</strong> soit <strong>simultan\u00e9 entre A et B d\u00e9montre qu\u2019il existe</strong> un autre <strong>ph\u00e9nom\u00e8ne entre les deux particules</strong>, et que celui-ci n\u2019est <strong>pas spatial</strong>.</p><p>Malgr\u00e9 les nombreuses \u00e9tudes qui visent \u00e0 mieux comprendre l\u2019intrication, nous ne sommes toujours <strong>pas en mesure actuellement d\u2019expliquer la t\u00e9l\u00e9pathie</strong>. Nous savons juste que les liens affectifs et de proximit\u00e9 intime entre deux individus favorisent les ph\u00e9nom\u00e8nes de perceptions extra-sensorielles entre elles. Ce qui laisse penser qu\u2019il existe une \u00ab\u00a0<strong>communion sur un plan subtil et informationnel</strong>\u00a0\u00bb entre les personnes.</p><p>Aujourd\u2019hui, m\u00eame si le sujet des perceptions extra-sensorielles reste encore \u00ab\u00a0tabou\u00a0\u00bb, \u00ab\u00a0notre si\u00e8cle pourrait \u00eatre celui qui verra la mise au jour de leur existence et, esp\u00e9rons-le, de leurs m\u00e9canismes plus en d\u00e9tail\u00a0\u00bb confie Victoria Pell\u00e9 Reimers.</p><h3><strong>2.3 \u2013 Tous intuitifs: L\u2019intuition visionnaire</strong></h3><ul><li>\n<h4><strong>Qu\u2019est-ce que l\u2019intuition visionnaire\u00a0?</strong></h4>\n</li>\n</ul><p><strong>L\u2019intuition visionnaire</strong> est \u00ab\u00a0cette <strong>aptitude \u00e0 voir</strong> [\u2026] <strong>ce qui va advenir et qui ne para\u00eet pas perceptible \u00e0 la plupart des gens</strong>\u00a0\u00bb \u00e9nonce Victoria Pell\u00e9 Reimers.</p><p>Elle se manifeste <strong>dans des r\u00eaves ou sous formes de flashs ou d\u2019<em>insights</em></strong>\u00a0: les intuitifs visionnaires <strong>\u00ab\u00a0voient\u00a0\u00bb</strong>, <strong>\u00ab\u00a0sentent\u00a0\u00bb int\u00e9rieurement et intens\u00e9ment</strong>, <strong>ce qui pour eux est d\u00e9j\u00e0 une \u00e9vidence</strong> et se trompent rarement.</p><p>Victoria Pell\u00e9 Reimers distingue <strong>deux formes d\u2019intuition visionnaire</strong>\u00a0:</p><ul><li class=\"c8\">\n<ul><li><strong>L\u2019intuition</strong>\u00a0qui saisit les \u00e9l\u00e9ments d\u2019un <strong>futur plut\u00f4t proche</strong>\u00a0: c\u2019est cette intuition-l\u00e0 \u00ab\u00a0qui permet \u00e0 <strong>l\u2019entrepreneur d\u2019\u00eatre pionnier sur un march\u00e9</strong> <strong>qui n\u2019existe pas encore</strong>\u00ab\u00a0.</li>\n<li><strong>L\u2019intuition</strong>, plus myst\u00e9rieuse, qui semble <strong>connect\u00e9e \u00e0 \u00ab\u00a0un avenir non accessible</strong> et a priori <strong>non pr\u00e9visible</strong> dans le contexte actuel\u00a0\u00bb\u00a0: c\u2019est l\u2019intuition visionnaire des <strong>inventeurs</strong>, <strong>chercheurs</strong>, <strong>artistes</strong> <strong>et autres cr\u00e9ateurs</strong>.</li>\n</ul></li>\n<li>\n<h4><strong>L\u2019intuition visionnaire \u00e0 court et moyen termes</strong></h4>\n</li>\n</ul><p>Ces intuitifs sont capables de \u00ab\u00a0pressentir une tendance, un mouvement collectif, de sentir \u00e0 l\u2019avance le succ\u00e8s d\u2019une innovation technologique ou, au contraire, son flop\u00a0\u00bb pr\u00e9cise l\u2019auteure.</p><p>Cette capacit\u00e9 de perception est particuli\u00e8rement <strong>avantageuse chez les entrepreneurs, designers et politiques</strong>.</p><p>Lorsqu\u2019elle est <strong>associ\u00e9e \u00e0 une intuition contextuelle fine, l\u2019intuition visionnaire conduit</strong> souvent au <strong>succ\u00e8s</strong>. Ces <strong>deux talents</strong> permettent aux entrepreneurs notamment, lorsqu\u2019ils parviennent \u00e0 concr\u00e9tiser leurs id\u00e9es, \u00e0 <strong>flairer \u00ab\u00a0le bon moment\u00a0\u00bb</strong>, <strong>\u00ab\u00a0les bonnes conditions\u00a0\u00bb</strong>, et \u00e0 <strong>\u00ab\u00a0prendre des d\u00e9cisions rapides et pertinentes\u00a0\u00bb</strong>.</p><p>C\u2019est l\u2019intuition visionnaire que poss\u00e8dent de nombreux \u00ab\u00a0<a href=\"https://des-livres-pour-changer-de-vie.com/la-25e-heure/\" target=\"_blank\" rel=\"noopener\">startuppers\u00a0\u00bb \u00e0 succ\u00e8s</a>, ou d\u2019autres personnalit\u00e9s comme Coco Chanel, Richard Branson, Bill Gates, <a href=\"https://des-livres-pour-changer-de-vie.com/steve-jobs-la-biographie/\" target=\"_blank\" rel=\"noopener\">Steve Jobs</a>, <a href=\"https://des-livres-pour-changer-de-vie.com/biographie-de-mark-zuckerberg/\" target=\"_blank\" rel=\"noopener\">Mark Zuckerberg</a>, Pascal Moreno, Fr\u00e9d\u00e9ric Mazzela.</p><ul><li>\n<h4><strong>L\u2019intuition visionnaire \u00e0 long terme</strong></h4>\n</li>\n</ul><p>L\u2019intuition visionnaire \u00e0 long terme est la plus spectaculaire et la plus perturbante parmi toutes les formes d\u2019intuition.</p><p>L\u2019auteure nous la pr\u00e9sente ainsi\u00a0:</p><blockquote>\n<p>\u00ab\u00a0<strong>L\u2019intuitif visionnaire re\u00e7oit une information pr\u00e9cieuse \u00e0 propos de ce qui sera une \u00e9vidence plus tard</strong>. Il la voit venir. Cela s\u2019impose \u00e0 lui, si bien qu\u2019il cherche \u00e0 en avertir ses contemporains. Rarement compris, souvent raill\u00e9 tant que son intuition n\u2019est pas valid\u00e9e par le temps, l\u2019intuitif visionnaire ne peut rester serein qu\u2019en se moquant du regard des autres. Car l\u2019intuition visionnaire isole celui qu\u2019elle gratifie. L\u2019intuition visionnaire, c\u2019est celle qu\u2019on ne comprend qu\u2019apr\u00e8s, une fois que ce qui avait \u00e9t\u00e9 vu, pressenti, per\u00e7u de loin, et m\u00eame parfois de tr\u00e8s loin, arrive aux yeux de tous et devient une \u00e9vidence.\u00a0\u00bb</p>\n</blockquote><p>L\u2019auteure cite Arthur Schopenhauer qui a tr\u00e8s bien d\u00e9crit cette loi de la pens\u00e9e collective\u00a0: \u00ab\u00a0<strong>Toute v\u00e9rit\u00e9 franchit trois \u00e9tapes. D\u2019abord elle est ridiculis\u00e9e, puis elle subit une forte opposition, avant d\u2019\u00eatre consid\u00e9r\u00e9e comme ayant toujours \u00e9t\u00e9 une \u00e9vidence</strong>.\u00a0\u00bb Car absolument toutes les \u00e9volutions, d\u00e9couvertes, innovations, mutations dans nos modes de vie, notre consommation, la technologie, la mode, les comportements sociaux et les choix soci\u00e9taux suivent ces \u00e9tapes, soutient l\u2019auteure.</p><blockquote>\n<p>\u00ab\u00a0Ce qui \u00e9tait une fantaisie totale, une h\u00e9r\u00e9sie, devient une intuition g\u00e9niale dans l\u2019esprit de la masse impressionn\u00e9e. Et puis, tr\u00e8s vite, ce qui \u00e9tait improbable arrive vraiment, ind\u00e9niablement, puis s\u2019installe au port et nous oublions tout sur l\u2019agitation qu\u2019avait g\u00e9n\u00e9r\u00e9 son apparition, tout est devenu \u00ab\u00a0normal\u00a0\u00bb.\u00a0\u00bb</p>\n</blockquote><p>En somme, l\u2019intuition visionnaire, conclut Victoria Pell\u00e9 Reimers, c\u2019est \u00ab\u00a0<strong>cette aptitude \u00e0 percevoir le futur afin de s\u2019y adapter</strong>\u00ab\u00a0.</p><ul><li>\n<h4><strong>L\u2019intuition visionnaire \u00e0 l\u2019origine des plus grands progr\u00e8s de l\u2019humanit\u00e9</strong></h4>\n</li>\n</ul><p>Les intuitifs visionnaires sont ceux \u00e0 l\u2019origine de <strong>progr\u00e8s technologiques</strong>, des <strong>avanc\u00e9es m\u00e9dicales</strong>, des plus <strong>grandes \u0153uvres artistiques</strong>.</p><p><strong>Deux grandes tendances</strong> apparaissent chez les visionnaires. Il y a\u00a0:</p><ul><li class=\"c8\">\n<ul><li>Ceux qui <strong>voient les menaces et les dangers</strong> <strong>arriver avant les autres</strong>,</li>\n<li>Ceux qui \u00ab\u00a0<strong>r\u00eavent d\u2019un autre monde possible, de nouveaux horizons</strong>\u00ab\u00a0.</li>\n</ul></li>\n</ul><p>\u00c0 titre d\u2019exemples de visionnaires qui ont contribu\u00e9 \u00e0 changer le monde par leur vision, l\u2019auteure mentionne\u00a0: Abraham Lincoln, <a href=\"https://des-livres-pour-changer-de-vie.com/citations-de-nelson-mandela/\" target=\"_blank\" rel=\"noopener\">Nelson Mandela</a>, Martin Luther King, Simone Veil, l\u2019Abb\u00e9 Pierre, Pierre Rabhi, Mohamed Yunus. Et ce sera peut-\u00eatre le cas de la jeune Greta Thunberg, qui fait l\u2019objet de tant de pol\u00e9miques pour le moment.</p><ul><li>\n<h4><strong>Portrait de l\u2019intuitif visionnaire</strong></h4>\n</li>\n</ul><p>Selon Victoria Pell\u00e9 Reimers, <strong>l\u2019univers personnel de l\u2019intuitif visionnaire</strong> se caract\u00e9rise par un mode de vie, des r\u00e9f\u00e9rences et des go\u00fbts qui lui sont tr\u00e8s propres. Ses id\u00e9es sont souvent intemporelles, son rythme particulier (tr\u00e8s grande rapidit\u00e9, ou \u00e0 l\u2019inverse, lenteur comme si le temps \u00e9tait suspendu). Il fait preuve d\u2019une certaine r\u00e9sistance face aux remarques et moqueries. Selon l\u2019auteure, tout cela <strong>le distingue des autres</strong>.</p><ul><li>\n<h4><strong>Les faux amis de l\u2019intuition visionnaire</strong></h4>\n</li>\n</ul><p>L\u2019auteure nous fait ici observer les <strong>trois\u00a0points majeurs qui diff\u00e9rencient les faux des vrais visionnaires</strong>.</p><p><strong>Les faux visionnaires</strong>\u00a0:</p><ul><li class=\"c8\">\n<ul><li>Cherchent \u00e0 se d\u00e9marquer avant tout par <strong>besoin de reconnaissance</strong>. Poursuivant un but personnel, ils <strong>s\u2019int\u00e9ressent beaucoup \u00e0 ce que pensent les autres</strong>, alors que les v\u00e9ritables visionnaires ne s\u2019en pr\u00e9occupent pas du tout.</li>\n</ul></li>\n</ul><ul><li class=\"c8\">\n<ul><li>Donnent une <strong>impression de \u00ab\u00a0creux\u00a0\u00bb ou de superficialit\u00e9\u00a0\u00bb</strong>. Ils \u00ab\u00a0ont des obsessions d\u00e9lirantes <strong>sans v\u00e9ritable contenu ni proposition tangible et innovante</strong>\u00a0\u00bb ce qui a pour cons\u00e9quence de ne g\u00e9n\u00e9rer que \u00ab\u00a0g\u00eane ou indiff\u00e9rence\u00a0\u00bb constate l\u2019auteure. \u00c0 l\u2019inverse, <strong>les \u00ab\u00a0vrais\u00a0\u00bb visionnaires suscitent de vives \u00e9motions</strong>\u00a0: ils choquent les gens, les touchent en profondeur.</li>\n</ul></li>\n</ul><ul><li class=\"c8\">\n<ul><li>Finissent <strong>dans l\u2019oubli</strong>\u00a0; un <strong>v\u00e9ritable visionnaire</strong>, lui, <strong>laisse des traces</strong> (\u0153uvre, propos) et est <strong>toujours r\u00e9habilit\u00e9</strong>\u00a0\u00e0 plus ou moins long terme.</li>\n</ul></li>\n<li>\n<h4><strong>Comment l\u2019intuition visionnaire se manifeste-t-elle\u00a0?</strong></h4>\n</li>\n</ul><p>L\u00a0\u00bbintuition visionnaire nous parvient essentiellement <strong>sous la forme d\u2019une \u00ab\u00a0image spontan\u00e9e, claire, \u00e9vidente\u00a0\u00bb</strong> et s\u2019accompagne d\u2019une <strong>forte charge \u00e9motive</strong>. Cette vision peut nous arriver <strong>en r\u00eave en plein sommeil ou en r\u00eave \u00e9veill\u00e9</strong>.</p><blockquote>\n<p>\u00ab\u00a0L\u2019intuitif qui la re\u00e7oit <strong>\u00ab\u00a0voit\u00a0\u00bb int\u00e9rieurement</strong> un contenu qui peut \u00eatre un <strong>\u00e9v\u00e9nement</strong>, un <strong>objet encore inexistant</strong>, ou encore la mise en \u0153uvre d\u2019un <strong>concept in\u00e9dit</strong>\u2026 Tout semble s\u2019apparenter \u00e0 une sorte de \u00ab\u00a0<strong>souvenir du futur</strong>\u00ab\u00a0.\u00a0\u00bb</p>\n</blockquote><p>Les concern\u00e9s ne parviennent quasiment jamais \u00e0 comprendre dans quelles conditions leurs <strong>intuitions visionnaires surviennent</strong>. En fait, pour la plupart d\u2019entre eux, elles arrivent \u00ab\u00a0<strong>sans donner de timing</strong>\u00a0\u00bb indique l\u2019auteure.</p><p>Pour Victoria Pell\u00e9 Reimers, cette forme d\u2019intuition est, par le myst\u00e8re qui l\u2019entoure, la plus fascinante. Nous ne sommes, en effet, pas encore en mesure d\u2019en expliquer le m\u00e9canisme par la physique telle qu\u2019on nous l\u2019a enseign\u00e9e (physique qui consid\u00e8re le temps comme lin\u00e9aire et impr\u00e9visible). Pourtant, les multiples \u00e9tudes internationales men\u00e9es \u00e0 ce sujet montrent qu\u2019<strong>un tiers de la population a d\u00e9j\u00e0 connu ce genre d\u2019exp\u00e9rience intuitive</strong> et ont prouv\u00e9 que ces intuitions n\u2019\u00e9taient <strong>pas li\u00e9es au hasard</strong>.</p><ul><li>\n<h4><strong>Les intuitifs visionnaires et le futur</strong></h4>\n</li>\n</ul><p>Les hypoth\u00e8ses de plus en plus pr\u00e9cises des physiciens sur notre rapport au futur nous am\u00e8nent \u00e0 penser qu\u2019il n\u2019est pas \u00ab\u00a0si absurde\u00a0\u00bb d\u2019envisager le temps autrement que nous ne le conceptualisons aujourd\u2019hui. D\u2019autre part, ces th\u00e9ories laissent imaginer <strong>la possibilit\u00e9 de cr\u00e9er une relation \u00ab\u00a0consciente\u00a0\u00bb et \u00ab\u00a0palpable\u00a0\u00bb au futur</strong>. Les intuitifs visionnaires sont ces personnes qui savent d\u2019ores et d\u00e9j\u00e0 b\u00e2tir ces ponts vers le temps futur, sans recette magique mais sans qu\u2019on ne soit encore capable de le th\u00e9oriser.</p><ul><li>\n<h4><strong>Une forme d\u2019intuition visionnaire exceptionnelle\u00a0: la pr\u00e9cognition</strong></h4>\n</li>\n</ul><blockquote>\n<p>\u00ab\u00a0La pr\u00e9cognition est le terme scientifique pour d\u00e9signer <strong>toutes les formes d\u2019informations et de connaissances que nous pouvons percevoir du futur</strong>, et <strong>qui s\u2019av\u00e8rent exactes le moment venu</strong>. Il s\u2019agit d\u2019<strong>intuitions qui ne s\u2019appuient pas sur ce que per\u00e7oit le corps par les sens, mais par un proc\u00e9d\u00e9</strong>, d\u00e9routant mais pourtant av\u00e9r\u00e9, <strong>de perceptions extra-sensorielles</strong>.\u00a0\u00bb</p>\n</blockquote><p>La pr\u00e9cognition arrive <strong>de fa\u00e7on soudaine</strong>, en <strong>surprise</strong>, de mani\u00e8re <strong>disruptive</strong>, dans des <strong>moments o\u00f9 rien ne pr\u00e9dispose \u00e0 la recevoir</strong>, d\u2019ennui ou de calme. Elle peut se manifester sous la forme\u00a0:</p><ul><li class=\"c8\">\n<ul><li>D\u2019un <strong>flash</strong> ou d\u2019une <strong>vision fugace et radicale</strong>,</li>\n<li>D\u2019un <strong>pressentiment</strong>,</li>\n<li>D\u2019une <strong>impression auditive</strong>, \u00ab\u00a0comme une voix qui appelle, connue ou inconnue\u00a0\u00bb.</li>\n</ul></li>\n</ul><h3><strong>2.4 \u2013 Tous intuitifs: L\u2019intuition personnelle et spirituelle</strong></h3><p>Pour parler de l\u2019intuition personnelle et spirituelle, Victoria Pell\u00e9 Reimers fait r\u00e9f\u00e9rence \u00e0 ce qu\u2019on appelle commun\u00e9ment notre fameuse <strong>\u00ab\u00a0petite voix\u00a0\u00bb int\u00e9rieure</strong>. Cette petite voix nous \u00ab\u00a0souffle des suggestions d\u2019ordre plus personnel, voire intime\u00a0\u00bb.</p><p class=\"c7\"><img class=\"aligncenter size-full wp-image-25301 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/ecouter-sa-petite-voix-interieure-tous-intuitifs-e1638941067496.jpg?is-pending-load=1\" alt=\"\u00e9couter sa petite voix int\u00e9rieure tous intuitifs\" width=\"376\" height=\"565\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/ecouter-sa-petite-voix-interieure-tous-intuitifs-e1638941067496.jpg 376w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/ecouter-sa-petite-voix-interieure-tous-intuitifs-e1638941067496-200x300.jpg 200w\" data-lazy-sizes=\"(max-width: 376px) 100vw, 376px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-25301\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/ecouter-sa-petite-voix-interieure-tous-intuitifs-e1638941067496.jpg\" alt=\"\u00e9couter sa petite voix int\u00e9rieure tous intuitifs\" width=\"376\" height=\"565\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/ecouter-sa-petite-voix-interieure-tous-intuitifs-e1638941067496.jpg 376w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/ecouter-sa-petite-voix-interieure-tous-intuitifs-e1638941067496-200x300.jpg 200w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><ul><li>\n<h4><strong>\u00c0 quels moments l\u2019intuition personnelle s\u2019exprime-t-elle et comment se manifeste-elle\u00a0?</strong></h4>\n</li>\n</ul><p>L\u2019intuition personnelle nous saisit\u00a0:</p><ul><li class=\"c8\">\n<ul><li><strong>Dans les moments cl\u00e9s de notre vie</strong>\u00a0: choix, orientation, rencontres, \u00e9v\u00e9nements marquants. \u00ab\u00a0Que nous l\u2019\u00e9coutions ou que nous en soyons m\u00e9fiants, il est rare de ne jamais l\u2019avoir per\u00e7ue\u00a0\u00bb confie l\u2019auteure.</li>\n</ul></li>\n</ul><ul><li class=\"c8\">\n<ul><li><strong>De diff\u00e9rentes fa\u00e7ons</strong>\u00a0: sous la forme d\u2019<strong>une voix</strong> <strong>qui se d\u00e9tache de nos pens\u00e9es</strong>, d\u2019une <strong>exp\u00e9rience visuelle</strong>, dans un r\u00eave par exemple ou lors d\u2019exp\u00e9rience de conscience modifi\u00e9e (transes, r\u00eaves \u00e9veill\u00e9s sous hypnose, sophrologie).</li>\n</ul></li>\n<li>\n<h4><strong>En quoi cette intuition est-elle spirituelle\u00a0?</strong></h4>\n</li>\n</ul><p>L\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> a choisi de nommer cette intuition, \u00ab\u00a0intuition spirituelle\u00a0\u00bb \u00e0 cause de <strong>l\u2019impression de myst\u00e8re</strong> qui s\u2019en d\u00e9gage. Aussi, cette forme d\u2019intuition constitue celle qui <strong>nous guide sur notre chemin personnel</strong>.</p><p>En fait, <strong>beaucoup d\u2019expressions</strong> existent <strong>pour d\u00e9crire cette exp\u00e9rience int\u00e9rieure</strong>. Parce que rien ne lui permet de l\u2019exprimer autrement, l\u2019auteure utilise le terme de \u00ab\u00a0petite voix\u00a0\u00bb pour \u00e9voquer ce qui semble \u00ab\u00a0parvenir d\u2019un degr\u00e9 profond de notre \u00eatre\u00a0\u00bb et nous relier au \u00ab\u00a0Tout\u00a0\u00bb ainsi qu\u2019\u00e0 <a href=\"https://des-livres-pour-changer-de-vie.com/trois-amis-en-quete-de-sagesse/\" target=\"_blank\" rel=\"noopener\">une forme de sagesse universelle</a>. Mais <strong>la fa\u00e7on de nommer cette rencontre avec une partie de soi</strong> est en r\u00e9alit\u00e9 \u00ab\u00a0<strong>\u00e9minemment personnelle</strong>\u00ab\u00a0, raconte l\u2019auteure. Cette exp\u00e9rience a d\u2019ailleurs \u00e9t\u00e9 d\u00e9crite \u00e0 travers toutes les \u00e9poques et toutes les cultures. Victoria Pell\u00e9 Reimers d\u00e9peint ces <strong>nombreuses autres fa\u00e7ons d\u2019y faire r\u00e9f\u00e9rence</strong>\u00a0:</p><ul><li class=\"c8\">\n<ul><li>La \u00ab\u00a0parole divine\u00a0\u00bb chez les chr\u00e9tiens,</li>\n<li>Le \u00ab\u00a0t\u00e9moin\u00a0\u00bb chez les yogis,</li>\n<li>L'\u00a0\u00bbange gardien\u00a0\u00bb dans diverses religions et traditions spirituelles,</li>\n<li>Les \u00ab\u00a0djinns\u00a0\u00bb bienveillants dans le Coran,</li>\n<li>La \u00ab\u00a0Prajna\u00a0\u00bb dans l\u2019hindouisme,</li>\n<li>Le \u00ab\u00a0Kami\u00a0\u00bb dans le Japon ancien,</li>\n<li>Le \u00ab\u00a0Daerna\u00a0\u00bb chez les Perses,</li>\n<li>Les \u00ab\u00a0neuf muses\u00a0\u00bb du monde antique occidental,</li>\n<li>Le \u00ab\u00a0dieu\u00a0\u00bb ou \u00ab\u00a0la d\u00e9esse\u00a0\u00bb de la pythie ou des a\u00e8des.</li>\n</ul></li>\n<li>\n<h4><strong>Les hypoth\u00e8ses pour expliquer cette guidance int\u00e9rieure</strong></h4>\n</li>\n</ul><p>De nombreuses interpr\u00e9tations examinent le ph\u00e9nom\u00e8ne de l\u2019intuition personnelle et spirituelle sous plusieurs angles. L\u2019auteure en mentionne quelques exemples\u00a0:</p><ul><li class=\"c8\">\n<ul><li><strong>L\u2019interpr\u00e9tation jungienne</strong>\u00a0: dans son travail, le psychiatre Carl Gustav Jung, pionnier dans cette recherche, fait notamment r\u00e9f\u00e9rence \u00e0 un personnage imaginaire appel\u00e9 \u00ab\u00a0Phil\u00e9mon\u00a0\u00bb, un genre d'\u00a0\u00bbenseignant int\u00e9rieur\u00a0\u00bb.</li>\n</ul></li>\n</ul><ul><li class=\"c8\">\n<ul><li><strong>L\u2019interpr\u00e9tation religieuse</strong>\u00a0: la notion de guidance int\u00e9rieure, l\u2019exp\u00e9rience de \u00ab\u00a0l\u2019appel\u00a0\u00bb de Dieu, l\u2019\u00e9coute int\u00e9rieure de la parole divine dans l\u2019oraison, les messages de l\u2019ange gardien ou autre arch\u00e9type semblable, l\u2019\u00e9vocation du Samadhi et du Prajna, etc. inscrivent ce ph\u00e9nom\u00e8ne d\u2019intuition dans les fois chr\u00e9tienne, musulmane, bouddhiste\u2026</li>\n</ul></li>\n</ul><ul><li class=\"c8\">\n<ul><li><strong>L\u2019interpr\u00e9tation m\u00e9dicale via la psychiatrie</strong>\u00a0: du point de vue de la psychiatrie actuelle, percevoir un contenu \u00ab\u00a0distinct de soi\u00a0\u00bb dans sa propre pens\u00e9e est consid\u00e9r\u00e9 comme une exp\u00e9rience suspecte. Toutefois, les progr\u00e8s en mati\u00e8re de neurosciences pourraient apporter un plus grand \u00e9clairage dans l\u2019analyse m\u00e9dicale de nos perceptions dans les ann\u00e9es \u00e0 venir et changer la donne (pour distinguer notamment l\u2019intuition spirituelle de certaines pathologies comme la schizophr\u00e9nie ou les troubles d\u00e9lirants par exemple).</li>\n</ul></li>\n</ul><h3><strong>Partie 3 \u2013 Tous intuitifs: Passer \u00e0 l\u2019action avec son intuition\u00a0</strong></h3><p>Dans la troisi\u00e8me partie de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em>, Victoria Pell\u00e9 Reimers nous propose de <strong>passer \u00e0 l\u2019action</strong>. Pour cela, elle nous invite d\u2019abord \u00e0 <strong>d\u00e9couvrir notre profil intuitif</strong>. Puis, elle nous explique comment <strong>r\u00e9veiller et nourrir notre intuition</strong> en adoptant la <strong>posture ad\u00e9quate</strong> et en pratiquant <strong>quelques exercices</strong>.</p><h3><strong>3.1 \u2013 Et si l\u2019intuition attendait votre appel\u00a0?</strong></h3><p>Pour introduire cette troisi\u00e8me partie, Victoria Pell\u00e9 Reimers rappelle que plus nous sollicitons notre intuition et plus nous nous int\u00e9ressons \u00e0 elle, plus celle-ci aura des chances de s\u2019exprimer dans les situations o\u00f9 la logique ne suffit pas.\u00a0Cela signifie qu\u2019<strong>il est possible</strong>, en quelque sorte, <strong>d\u2019appeler notre intuition \u00e0 se manifester quand nous avons besoin</strong>. Et qu\u2019il suffit pour cela, de trouver <strong>la posture</strong> et <strong>les conditions optimales</strong> <strong>qui favorisent l\u2019expression de notre intuition</strong>.</p><p>Cette posture et ces conditions se r\u00e9sument en <strong>un \u00e9l\u00e9ment essentiel</strong>\u00a0: <strong>la disponibilit\u00e9</strong>. Pour nous r\u00e9pondre, notre intuition a effectivement besoin que nous lui laissions <strong>un \u00ab\u00a0espace libre dans notre corps, dans notre esprit, dans notre c\u0153ur\u00a0\u00bb</strong>.</p><p>Car pour Victoria Pell\u00e9 Reimers\u00a0:</p><blockquote>\n<p>\u00ab\u00a0L\u2019intuition, qui est la messag\u00e8re de l\u2019inconscient, peut alors profiter pleinement de notre disponibilit\u00e9, pour laisser la finesse, la profondeur, l\u2019intelligence de notre \u00eatre profond se manifester en nous. Inviter votre intuition revient \u00e0 multiplier vos chances d\u2019\u00eatre inform\u00e9s des d\u00e9tails qui \u00e9chappent \u00e0 la plupart des gens, de saisir la port\u00e9e de vos actes \u00e0 venir, de vos choix, dans des dimensions qu\u2019il est impossible d\u2019avoir \u00e0 l\u2019esprit dans le quotidien ordinaire.\u00a0\u00bb</p>\n</blockquote><h3><strong>3.2 \u2013 Tous intuitifs: Quel intuitif \u00eates-vous\u00a0?</strong></h3><p>Victoria Pell\u00e9 Reimers continue\u00a0en proposant au lecteur de <strong>tester son intuition \u00e0 travers un questionnaire</strong>.</p><p>En effet, il est utile, \u00e9crit-elle, de conna\u00eetre notre tendance personnelle, voire celle de notre entourage, en mati\u00e8re d\u2019intuition pour <strong>savoir quel type d\u2019intuition il est opportun de d\u00e9velopper \u2013 le plus pr\u00e9sent \u2013 ou de r\u00e9veiller \u2013 le moins pr\u00e9sent</strong>.</p><p>Une fois ce que l\u2019auteure appelle son <em>Profil Intuitif Approfondi\u00ae</em> d\u00e9termin\u00e9, Victoria Pell\u00e9 Reimers \u00e9met, selon les r\u00e9sultats obtenus, des <strong>suggestions adapt\u00e9es</strong> dans l\u2019objectif de <strong>s\u2019ouvrir \u00e0 son potentiel intuitif</strong>.</p><p>L\u2019auteure souligne que cette \u00e9tape est particuli\u00e8rement int\u00e9ressante dans un cadre professionnel. <strong>La connaissance du profil intuitif de ses collaborateurs</strong> est, en effet, un <strong>outil strat\u00e9gique et manag\u00e9rial puissant</strong> dans le contexte incertain actuel\u00a0: elle permet, par exemple, d\u2019attribuer des missions en fonction des profils de chacun des membres d\u2019une \u00e9quipe (compl\u00e9mentarit\u00e9 des intuitions).</p><h3><strong>3.3 \u2013 Comment d\u00e9velopper et nourrir votre intuition</strong></h3><p>Victoria propose ses <strong>recommandations</strong>, un <strong>\u00e9tat d\u2019esprit</strong> et des <strong>pratiques</strong> \u00e0 s\u2019approprier pour accro\u00eetre notre intuition et lui donner plus de chances de nous guider.</p><ul><li>\n<h4><strong>Ajuster sa posture</strong></h4>\n</li>\n</ul><p>Il est d\u2019abord primordial de <strong>d\u00e9finir clairement son intention</strong>\u00a0: \u00eatre pleinement conscient de ce que nous voulons et l\u2019assumer procure \u00ab\u00a0un rayonnement particulier aux actes que nous posons\u00a0\u00bb. Autrement dit, \u00ab\u00a0l\u2019intention est le degr\u00e9 de pr\u00e9sence que nous donnons \u00e0 nos actes et \u00e0 nos paroles\u00a0\u00bb. En effet, selon l\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em>\u00a0:</p><blockquote>\n<p>\u00ab\u00a0<strong>Lorsque nous sommes parfaitement coh\u00e9rents avec nos aspirations les plus profondes, nos intentions g\u00e9n\u00e8rent</strong>, dans tous les domaines, <strong>de nombreuses intuitions</strong> qui nous font progresser vers la r\u00e9alisation de nos d\u00e9sirs profonds.\u00a0\u00bb</p>\n</blockquote><p>En plus de formuler son intuition clairement dans son c\u0153ur, il est essentiel de\u00a0:</p><ul><li class=\"c8\">\n<ul><li><strong>Rester honn\u00eate et ouvert</strong> tout en <strong>conservant son discernement</strong> (afin d\u2019\u00eatre s\u00fbr qu\u2019il s\u2019agit bien d\u2019intuition et non pas de fantasme).</li>\n<li><strong>L\u00e2cher-prise et de ne pas \u00ab\u00a0guetter\u00a0\u00bb l\u2019arriv\u00e9e de notre intuition</strong>\u00a0: il nous faut simplement retourner \u00e0 nos occupations, confiant.</li>\n<li><a href=\"https://habitudes-zen.net/les-bienfaits-du-journal-de-la-gratitude-ou-journal-des-5-minutes/\" target=\"_blank\" rel=\"noopener\" class=\"external\"><strong>Faire preuve de gratitude</strong></a>\u00a0: pour gagner en confiance et cr\u00e9er ainsi un cercle vertueux.</li>\n</ul></li>\n<li>\n<h4><strong>Tester des pratiques concr\u00e8tes favorisant l\u2019intuition</strong></h4>\n</li>\n</ul><p class=\"c7\"><img class=\"aligncenter size-full wp-image-25302 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/ecoute-sincere-de-son-corps-mindfullness-meditation-pleine-conscience.jpg?is-pending-load=1\" alt=\"\u00e9coute sinc\u00e8re de son corps mindfullness m\u00e9ditation pleine conscience\" width=\"600\" height=\"400\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/ecoute-sincere-de-son-corps-mindfullness-meditation-pleine-conscience.jpg 600w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/ecoute-sincere-de-son-corps-mindfullness-meditation-pleine-conscience-300x200.jpg 300w\" data-lazy-sizes=\"(max-width: 600px) 100vw, 600px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-25302\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/ecoute-sincere-de-son-corps-mindfullness-meditation-pleine-conscience.jpg\" alt=\"\u00e9coute sinc\u00e8re de son corps mindfullness m\u00e9ditation pleine conscience\" width=\"600\" height=\"400\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/ecoute-sincere-de-son-corps-mindfullness-meditation-pleine-conscience.jpg 600w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/ecoute-sincere-de-son-corps-mindfullness-meditation-pleine-conscience-300x200.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p>L\u2019auteure recommande ici de <strong>pratiquer quotidiennement \u00ab\u00a0une \u00e9coute sinc\u00e8re\u00a0\u00bb de son corps</strong>, m\u00eame br\u00e8ve afin de gagner en s\u00e9r\u00e9nit\u00e9 et de se sentir plus align\u00e9e.</p><p>Lors de ces moments, elle conseille de\u00a0:</p><ul><li class=\"c8\">\n<ul><li><strong>Rep\u00e9rer les variations d\u2019\u00e9nergie\u00a0et ce qui les g\u00e9n\u00e8re</strong></li>\n</ul></li>\n</ul><p>Il s\u2019agit d\u2019identifier les moments, personnes, lieux, activit\u00e9s, \u00e9l\u00e9ments ext\u00e9rieurs, aliments, boissons \u00e0 l\u2019origine des augmentations ou inversement \u00ab\u00a0pompages\u00a0\u00bb d\u2019\u00e9nergie.</p><ul><li class=\"c8\">\n<ul><li><strong>Rechercher le calme, \u00ab\u00a0m\u00eame dans la temp\u00eate\u00a0\u00bb\u00a0</strong></li>\n</ul></li>\n</ul><p>Nous devons apprendre progressivement \u00e0 g\u00e9rer les perturbations \u00e9motionnelles.</p><ul><li class=\"c8\">\n<ul><li><strong>M\u00e9diter en pleine conscience</strong></li>\n</ul></li>\n</ul><p>Le but de la m\u00e9ditation en pleine conscience (appel\u00e9 <em>mindfulness</em> en anglais) est de \u00ab\u00a0<strong>porter son attention d\u00e9lib\u00e9r\u00e9ment sur l\u2019exp\u00e9rience qui se d\u00e9roule au moment pr\u00e9sent</strong>, <strong>sans jugement de valeur, sans se laisser entra\u00eener dans un flux de pens\u00e9es conceptuelles</strong>\u00ab\u00a0. On cherchera, en somme, \u00e0 se rapprocher de \u00ab\u00a0l\u2019\u00e9tat tr\u00e8s agr\u00e9able que nous vivons lorsque nous sommes captiv\u00e9s par le spectacle d\u2019un feu de bois, ou bien absorb\u00e9s par l\u2019horizon d\u2019un oc\u00e9an paisible, ou encore l\u2019immensit\u00e9 d\u2019un ciel \u00e9toil\u00e9\u00a0\u00bb.\u00a0L\u2019auteure pr\u00e9cise que la m\u00e9ditation de pleine conscience est \u00ab\u00a0<strong>un moment de d\u00e9tente totale\u00a0\u00bb de pr\u00e9sence \u00e0 soi-m\u00eame</strong> qui nous am\u00e8ne \u00e0 nous promener dans notre corps pour <strong>observer notre respiration, nos sensations</strong>. Cette m\u00e9ditation <strong>favorise ainsi la prise de conscience des signaux faibles de notre corps</strong>.</p><ul><li class=\"c8\">\n<ul><li><strong>Cr\u00e9er et pr\u00e9server des espaces de libert\u00e9</strong></li>\n</ul></li>\n</ul><blockquote>\n<p>\u00ab\u00a0<strong>L\u2019intuition a besoin des flottements du hasard et de la distraction pour vous parvenir</strong>. [\u2026] Toute fulgurance, quelle que soit la personne qui la re\u00e7oit, n\u00e9cessite un <strong>espace de libert\u00e9</strong>, m\u00eame restreint. Les Britanniques r\u00e9sument cette loi par <strong>la r\u00e8gle des trois B\u00a0: \u00ab\u00a0Bed, Bathroom and Bus\u00a0\u00bb</strong>. C\u2019est l\u2019observation que les id\u00e9es et l\u2019inspiration arrivent surtout dans ces circonstances\u00a0: la nuit ou bien au r\u00e9veil, sous la douche, ou dans le temps de r\u00eaveries pendant vos trajets.\u00a0\u00bb</p>\n</blockquote><h3><strong>3.4 \u2013 G\u00e9rer ses r\u00e9sistances \u00e0 l\u2019intuition</strong></h3><p>Quand nous sentons des r\u00e9sistances dans la qu\u00eate de notre intuition, que la m\u00e9fiance et la prudence prennent le dessus, l\u2019auteure nous encourage, <strong>pour d\u00e9passer les freins</strong>, \u00e0\u00a0:</p><ul><li><strong>Nous poser</strong> les <strong>deux questions</strong> suivantes\u00a0: \u00ab\u00a0<strong>qu\u2019est-ce que je risque si je m\u2019ouvre \u00e0 mon intuition</strong>\u00a0?\u00a0\u00bb et \u00ab\u00a0<strong>qu\u2019est-ce que je risque si je la laisse de c\u00f4t\u00e9</strong>\u00a0?\u00a0\u00bb</li>\n<li><strong>Tester</strong> au moins, afin de <strong>voir par nous-m\u00eame ce qui se passe</strong> et ce que cela nous apporte.</li>\n</ul><h3><strong>3.5 \u2013 Exercices pour aller plus loin</strong></h3><p>Cette partie du livre \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> propose des <strong>fiches d\u2019exercices</strong> et des <strong>pratiques</strong> \u00e0 tester et mettre en place quotidiennement pour <a href=\"https://des-livres-pour-changer-de-vie.com/%f0%9f%93%94-sortie-dagir-reussir-mon-journal-de-productivite-plein-de-%f0%9f%8e%81/\" target=\"_blank\" rel=\"noopener\"><strong>passer \u00e0 l\u2019action</strong></a>.</p><ul><li>\n<h4><strong>Favoriser le l\u00e2cher-prise</strong></h4>\n</li>\n</ul><p>La premi\u00e8re \u00e9tape vers le d\u00e9ploiement de l\u2019intuition en soi est <strong>le l\u00e2cher-prise</strong>.</p><p>L\u2019auteure de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> propose ici trois<strong>\u00a0exercices \u00e0 r\u00e9aliser</strong> qui visent \u00e0 <strong>retrouver</strong>, <strong>sans chercher \u00e0 contr\u00f4ler</strong> quoique ce soit, un <strong>\u00e9tat de d\u00e9tente, d\u2019accueil et de r\u00e9ceptivit\u00e9 totale</strong>, un <strong>juste \u00e9quilibre</strong> entre la tension et le rel\u00e2chement, entre l\u2019attention et le retrait, ou encore \u00ab\u00a0un \u00e9quilibre \u00e0 la fois <strong>dans le corps, le c\u0153ur et l\u2019esprit</strong>\u00ab\u00a0.</p><ul><li>\n<h4><strong>\u00c9couter les signaux du corps</strong></h4>\n</li>\n</ul><p>Victoria Pell\u00e9 Reimers conseille trois autres exercices dans le but de nous aider \u00e0 <strong>cr\u00e9er un \u00ab\u00a0langage commun\u00a0\u00bb entre notre inconscient et notre conscient</strong>.</p><p>L\u2019id\u00e9e est d\u2019effectuer ces exercices en conscience, avec <strong>l\u2019intention de recevoir une sensation porteuse de sens</strong> \u2013 une sensation de chaleur, de pincement ou un mouvement involontaire par exemple \u2013 <strong>qui nous indiquerait si une situation est favorable ou pas</strong>. Nous obtenons alors une r\u00e9ponse de notre inconscient <strong>au travers de notre corps</strong>, indique l\u2019auteure.</p><p>Un autre exercice consiste \u00e0 <strong>solliciter sa \u00ab\u00a0petite voix\u00a0\u00bb</strong>, \u00e0 l\u2019inviter \u00e0 s\u2019exprimer en prenant soin de lui laisser un \u00ab\u00a0espace libre, neutre d\u2019\u00e9coute int\u00e9rieure\u00a0\u00bb. Nous pourrons ensuite <strong>retranscrire \u00e0 l\u2019\u00e9crit tout ce qui nous vient</strong>, sans trier, sans jugement ni questionnement. La relecture de ces textes quelques jours plus tard <strong>apporte une certaine clart\u00e9 et un nouveau degr\u00e9 de discernement</strong>.</p><h3><strong>Partie 4 \u2013 L\u2019entreprise post-2020 sera-t-elle intuitive\u00a0?</strong></h3><p>Dans cette quatri\u00e8me et derni\u00e8re partie de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em>, Victoria Pell\u00e9 Reimers nous explique en quoi l\u2019intuition est plus que jamais un <strong>facteur cl\u00e9 de succ\u00e8s pour l\u2019entreprise d\u2019aujourd\u2019hui</strong>.</p><p class=\"c7\"><img class=\"aligncenter size-full wp-image-25303 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/facteurs-du-succes-comment-devenir-intuitif.jpg?is-pending-load=1\" alt=\"facteurs du succ\u00e8s comment devenir intuitif\" width=\"640\" height=\"359\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/facteurs-du-succes-comment-devenir-intuitif.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/facteurs-du-succes-comment-devenir-intuitif-300x168.jpg 300w\" data-lazy-sizes=\"(max-width: 640px) 100vw, 640px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-25303\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/facteurs-du-succes-comment-devenir-intuitif.jpg\" alt=\"facteurs du succ\u00e8s comment devenir intuitif\" width=\"640\" height=\"359\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/facteurs-du-succes-comment-devenir-intuitif.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/facteurs-du-succes-comment-devenir-intuitif-300x168.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>4.1 \u2013 Tous intuitifs: L\u2019intuition r\u00e9habilit\u00e9e</strong></h3><p>La crise mondiale de l\u2019ann\u00e9e 2020 (COVID-19) et la p\u00e9riode de chaos qu\u2019elle a engendr\u00e9e nous ont forc\u00e9 \u00e0 <strong>nous r\u00e9inventer</strong> en un temps record (organisations, mod\u00e8les de consommation, d\u2019approvisionnement, habitudes relationnelles). Ce <strong>contexte de crise</strong>, qui nous a oblig\u00e9 \u00e0 <strong>agir de fa\u00e7on plus audacieuse</strong> et moins dans le contr\u00f4le, a finalement contribu\u00e9 \u00e0 <strong>r\u00e9habiliter l\u2019intuition</strong>.</p><p>Aussi, \u00ab\u00a0de l\u2019id\u00e9e innovante \u00e0 la prise de d\u00e9cision, en passant par la capacit\u00e9 \u00e0 s\u2019entourer des bonnes personnes et \u00e0 savoir les manager au-del\u00e0 de la th\u00e9orie\u00a0\u00bb, <strong>l\u2019intuition est aujourd\u2019hui de plus en plus reconnue comme une ressource professionnelle, une \u00ab\u00a0<a href=\"https://des-livres-pour-changer-de-vie.com/soft-skills/\" target=\"_blank\" rel=\"noopener\">soft skill</a>\u00a0\u00bb \u00e0 part enti\u00e8re dans l\u2019entreprise</strong>.</p><p>Victoria Pell\u00e9 Reimers passe alors en revue les <strong>trois intuitions</strong> qu\u2019elle consid\u00e8re comme <strong>indispensables aux m\u00e9tiers entrepreneuriaux post-2020</strong>. Elle nous \u00e9claire sur <strong>leur r\u00f4le dans la performance et la prise de d\u00e9cision en entreprise</strong>. Elle dresse \u00e9galement une <strong>liste des m\u00e9tiers</strong> particuli\u00e8rement <strong>conseill\u00e9s pour chacune de ces trois intuitions</strong>.</p><h3><strong>4.2 \u2013 Les trois intuitions indispensables aux m\u00e9tiers de l\u2019entreprise d\u2019aujourd\u2019hui</strong></h3><ul><li>\n<h4><strong>\u00ab\u00a0L\u2019intuition contextuelle, celle qui nous guide dans nos d\u00e9cisions\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Chez un manager, l\u2019intuition contextuelle est un immense atout. Celle-ci lui permet en effet de\u00a0:</p><ul><li><strong>Prendre des d\u00e9cisions rapides</strong>, bien plus que celui qui recherche une exactitude.</li>\n<li><strong>Agir avec plus d\u2019engagement et plus de joie</strong>\u00a0: la mise en action de la d\u00e9cision est <strong>\u00ab\u00a0soutenue par un \u00e9lan\u00a0\u00bb plut\u00f4t que \u00ab\u00a0retenue par des tensions\u00a0\u00bb</strong> observe l\u2019auteure.</li>\n</ul><p>Par ailleurs, <strong>quand le contexte d\u00e9cisionnel</strong> est <strong>n\u00e9buleux ou compliqu\u00e9</strong>, l\u2019intuition, par sa <strong>finesse de perception</strong>, est <strong>plus \u00e0 m\u00eame de montrer la voie</strong>.</p><p>Par contre, Victoria Pell\u00e9 Reimers insiste sur le fait que l\u2019intuition contextuelle n\u00e9cessite de la confiance\u00a0: cela para\u00eet \u00e9vident chez les officiers ou m\u00e9decins urgentistes, moins en entreprise. Pourtant, cette <strong>confiance</strong> en l\u2019intuition est <strong>capitale pour en tirer des b\u00e9n\u00e9fices</strong>. Pour d\u00e9passer cette \u00e9tape, le travail \u00e0 effectuer devra \u00eatre <strong>collectif</strong> et se situer <strong>au niveau des croyances</strong>, surtout <strong>celles li\u00e9es \u00e0 l\u2019erreur et \u00e0 la prise de risque</strong>.</p><ul><li>\n<h4><strong>\u00ab\u00a0L\u2019intuition relationnelle, celle qui nous relie et nous associe aux projets\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Le d\u00e9veloppement de l\u2019\u00e9conomie collaborative et des r\u00e9seaux sociaux ont cr\u00e9\u00e9 de <strong>nouvelles fa\u00e7ons de \u00ab\u00a0croiser du monde\u00a0\u00bb</strong>. Ces derniers ont rendu les <strong>rencontres multiples et fugaces</strong> au sein de l\u2019entreprise. Dans ce nouveau contexte, il nous faut percevoir rapidement qui sont les bonnes personnes en mati\u00e8re de recrutement, de partenariat, de transactions, et ce, \u00ab\u00a0sans avoir le temps d\u2019instaurer un dialogue approfondi, une confiance nourrie par le temps\u00a0\u00bb.</p><p>Selon Victoria Pell\u00e9 Reimers, une forte intuition relationnelle va grandement nous y aider. En effet, elle va permettre de\u00a0:</p><ul><li class=\"c8\">\n<ul><li><strong>Nous entourer intuitivement</strong> <strong>des collaborateurs ad\u00e9quats</strong>\u00a0: l\u2019auteure rappelle que la posture la plus juste lors des recrutements est la r\u00e9ceptivit\u00e9 et l\u2019\u00e9quilibre entre intuition et r\u00e9flexion (ni \u00ab\u00a0tout rationnel\u00a0\u00bb ni \u00ab\u00a0trop dans l\u2019affectif\u00a0\u00bb).</li>\n<li><strong>Donner aux gens des responsabilit\u00e9s sur-mesure</strong>.</li>\n<li><strong>Ressentir les non-dits dans une \u00e9quipe et les incompatibilit\u00e9s</strong> entre certaines personnes dans la mise en place de projets.</li>\n<li><strong>Manager plus efficacement</strong> des \u00e9quipes dans les \u00e9preuves.</li>\n<li><strong>Gagner en communication</strong> et mieux <a href=\"https://des-livres-pour-changer-de-vie.com/parler-en-public-ted/\" target=\"_blank\" rel=\"noopener\">impacter le public lors de ses prises de parole</a>.</li>\n</ul></li>\n<li>\n<h4><strong>\u00ab\u00a0L\u2019intuition visionnaire, celle qui nous ouvre les portes de demain\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Les intuitifs visionnaires peuvent\u00a0:</p><ul><li class=\"c8\">\n<ul><li><strong>Sentir les tendances</strong> d\u2019un secteur, d\u2019un march\u00e9, les nouvelles fa\u00e7ons de vivre et de travailler.</li>\n<li><strong>Pressentir l\u2019incongru, anticiper les changements</strong> les plus impr\u00e9vus et impactants mais invisibles pour la plupart des gens.</li>\n<li><strong>Percevoir les opportunit\u00e9s, mais aussi des menaces</strong> et ainsi devenir des lanceurs d\u2019alerte.</li>\n</ul></li>\n</ul><p>Tout cela souvent avec beaucoup d\u2019\u00e9motion et une <strong>notion d\u2019urgence rarement prise au s\u00e9rieux</strong> par les autres.</p><p>En guise d\u2019exemples, l\u2019auteure mentionne ceux qu\u2019on a longtemps per\u00e7us comme les \u00ab\u00a0gentils po\u00e8tes\u00a0\u00bb de la fili\u00e8re bio, les \u00ab\u00a0Bisounours\u00a0\u00bb de l\u2019\u00e9conomie collaborative ou encore ceux qui nous alertent de l\u2019acc\u00e9l\u00e9ration du changement climatique et d\u00e9mographique.</p><p>Cette facult\u00e9 qu\u2019ont les intuitifs visionnaires de voir les \u00e9v\u00e8nements <strong>avant tout le monde</strong> est bluffante mais aussi <strong>d\u00e9rangeante</strong>.\u00a0Souvent <strong>hors-normes</strong> et <strong>remettant en question les r\u00e8gles</strong>, ces intuitifs sont <strong>difficiles \u00e0 comprendre</strong> par leurs coll\u00e8gues et managers. Ils sont m\u00eame parfois qualifi\u00e9s d'\u00a0\u00bbing\u00e9rables\u00a0\u00bb. Et <strong>pourtant aujourd\u2019hui</strong>, dans notre monde en mutation, les intuitifs visionnaires apparaissent <strong>indispensables</strong> et sont <strong>de plus en plus recherch\u00e9s</strong> sur le terrain comme \u00e0 la t\u00eate des organisations.</p><p>Attention, par contre, \u00e0 bien faire la <strong>diff\u00e9rence entre les \u00ab\u00a0vrais\u00a0\u00bb intuitifs et les \u00ab\u00a0simples r\u00eaveurs\u00a0\u00bb</strong>, avertit Victoria Pell\u00e9 Reimers. Pour les distinguer, on remarquera, entre autres, que les <strong>v\u00e9ritables intuitifs</strong> ne sont pas d\u2019une nature forc\u00e9ment n\u00e9gative. Ils \u00e9mettent simplement des <strong>avertissements</strong>, et ce, plut\u00f4t <strong>ponctuellement</strong>, alors que les autres ressemblent \u00e0 d\u2019\u00e9ternels pessimistes.</p><h3><strong>4.3 \u2013 Comment d\u00e9velopper et faciliter l\u2019intuition en entreprise\u00a0?</strong></h3><p>Notre culture et notre \u00e9ducation ne favorisent pas la reconnaissance de notre potentiel intuitif. C\u2019est pourquoi, pour optimiser l\u2019intuition de chacun en entreprise, il est indispensable, assure l\u2019auteure, de <strong>former</strong>\u00a0:</p><ul><li><strong>Les managers</strong> : leur apprendre \u00e0 discerner les diff\u00e9rentes formes d\u2019intuition au sein de leurs \u00e9quipes ainsi que leurs faux amis, les inviter \u00e0 encourager leurs collaborateurs \u00e0 \u00e9couter leurs intuitions et \u00e0 oser passer \u00e0 l\u2019action avec davantage d\u2019audace et d\u2019assurance.</li>\n</ul><ul><li><strong>Les leaders des Ressources Humaines</strong> : leur montrer comment d\u00e9celer et valoriser les intuitifs visionnaires et utiliser l\u2019intuition comme une ressource de travail.</li>\n</ul><ul><li><strong>Les dirigeants</strong> : les former aux fa\u00e7ons de nourrir leur vision et de s\u2019appuyer sur les intuitions pour g\u00e9rer les incertitudes et \u00ab\u00a0emmener leur entreprise vers demain, en confiance et discernement\u00a0\u00bb.</li>\n</ul><p>Avant de conclure, Victoria Pell\u00e9 Reimers pr\u00e9sente, \u00e0 la fin de cette derni\u00e8re partie, <strong>un tableau r\u00e9capitulatif</strong>\u00a0tr\u00e8s int\u00e9ressant qui synth\u00e9tise les diff\u00e9rentes formes d\u2019intuition et leurs caract\u00e9ristiques.</p><h3><strong>Conclusion de \u00ab\u00a0<em>Tous intuitifs</em>\u00a0\u00bb par l\u2019auteure, Victoria Pell\u00e9 Reimers</strong></h3><p>En conclusion de son ouvrage \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em>, Victoria Pell\u00e9 Reimers nous rappelle \u00e0 quel point il est essentiel, face \u00e0 l\u2019acc\u00e9l\u00e9ration des changements de plus en plus complexes de notre monde en mutation, de \u00ab\u00a0<strong>revenir \u00e0 ce qui nous a toujours aid\u00e9s \u00e0 survivre</strong>\u00a0\u00bb et \u00e0 traverser les p\u00e9riodes les plus chaotiques de l\u2019histoire humaine. Il s\u2019agit de <strong>ce \u00ab\u00a0don sacr\u00e9\u00a0\u00bb qu\u2019est l\u2019intuition</strong>\u00a0: ce don naturel capable de nous guider et d\u2019aider les g\u00e9n\u00e9rations futures \u00e0 <strong>sentir comment s\u2019adapter et r\u00e9inventer notre monde</strong>.</p><p>Victoria Pell\u00e9 Reimers termine \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> en <strong>nous encourageant dans cette d\u00e9marche</strong>. D\u00e9marche qui, affirme l\u2019auteure, ne d\u00e9pend que de nous. Et qui consiste \u00e0 <strong>reprendre conscience de nos ressentis corporels, de notre int\u00e9riorit\u00e9 et de \u00ab\u00a0notre mani\u00e8re de recevoir l\u2019inspiration\u00a0\u00bb</strong> comme l\u2019auteure l\u2019\u00e9crit ici\u00a0:</p><blockquote>\n<p>\u00ab\u00a0Il y a un cap que nous devons tous franchir, \u00e0 tous les niveaux, et dans les entreprises en particulier\u2026 Ce cap, c\u2019est laisser revenir en nous le don sacr\u00e9 de nos intuitions, dans notre esprit, dans notre corps, dans notre c\u0153ur, et d\u2019\u00eatre parfaitement honn\u00eates avec ce que nous percevons, car la justesse est inimitable et les \u00e9vidences trop rares.\u00a0\u00bb</p>\n</blockquote><p>Enfin, une citation du c\u00e9l\u00e8bre po\u00e8te et romancier Victor Hugo conclut l\u2019ouvrage\u00a0:</p><blockquote>\n<p>\u00ab\u00a0C\u2019est parce que l\u2019intuition est surhumaine qu\u2019il faut la croire, c\u2019est parce qu\u2019elle est myst\u00e9rieuse qu\u2019il faut l\u2019\u00e9couter, c\u2019est parce qu\u2019elle semble obscure qu\u2019elle est lumineuse.\u00a0\u00bb</p>\n</blockquote><p>Plusieurs documents dans <strong>une section \u00ab\u00a0annexes\u00a0\u00bb</strong> et une <strong>bibliographie d\u00e9taill\u00e9e par th\u00e9matique</strong> compl\u00e8te l\u2019ouvrage.</p><h2><strong>Conclusion de \u00ab\u00a0<em>Tous intuitifs \u2013 L\u2019intuition, l\u2019\u00e2me de la performance</em>\u00a0\u00bb de Victoria Pell\u00e9 Reimers</strong></h2><h3><strong>Les id\u00e9es cl\u00e9s \u00e0 retenir de l\u2019ouvrage \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em></strong></h3><ul><li>\n<h4><strong>Nous sommes tous intuitifs</strong></h4>\n</li>\n</ul><p>L\u2019intuition n\u2019est pas mise en valeur dans notre soci\u00e9t\u00e9 actuelle, mais existe pourtant bel et bien en chacun de nous. Comme le titre de l\u2019ouvrage l\u2019indique, nous sommes tous intuitifs. C\u2019est notre soci\u00e9t\u00e9 qui nous a amen\u00e9 \u00e0 \u00e9carter cette ressource de nos d\u00e9cisions et de nos activit\u00e9s.</p><ul><li>\n<h4><strong>L\u2019intuition est particuli\u00e8rement utile dans le contexte actuel</strong></h4>\n</li>\n</ul><p>Les mutations profondes et rapides r\u00e9cemment survenues sont en train de cr\u00e9er un monde de plus en plus incertain, complexe et volatile. Recourir davantage \u00e0 notre intuition peut s\u2019av\u00e9rer d\u2019une grande utilit\u00e9 dans ce contexte.</p><ul><li>\n<h4><strong>Les recherches sur l\u2019intuition continuent de progresser</strong></h4>\n</li>\n</ul><p>Bien que la science ait beaucoup \u00e9volu\u00e9 ces derni\u00e8res ann\u00e9es, la neurobiologie n\u2019en est qu\u2019\u00e0 ses balbutiements pour expliquer certains ph\u00e9nom\u00e8nes intuitifs. Les th\u00e9ories autour des pr\u00e9cognitions par exemple avancent en m\u00eame temps que les remises en question concernant notre conception \u00ab\u00a0espace-temps\u00a0\u00bb, consid\u00e9r\u00e9e comme d\u00e9pass\u00e9e par une majorit\u00e9 de chercheurs.</p><ul><li>\n<h4><strong>Intuition + logique = performance et alignement</strong></h4>\n</li>\n</ul><p>Savoir \u00e9quilibrer \u00ab\u00a0raisonnement logique\u00a0\u00bb et \u00ab\u00a0intuition\u00a0\u00bb est la meilleure fa\u00e7on de prendre des d\u00e9cisions avec discernement et justesse, d\u2019\u00eatre performant dans nos projets et de ressentir un \u00e9tat \u00ab\u00a0d\u2019alignement\u00a0\u00bb.</p><ul><li>\n<h4><strong>Le l\u00e2cher-prise est indispensable pour ressentir les signes intuitifs\u00a0</strong></h4>\n</li>\n</ul><p>L\u2019intuition se compose d\u2019intention, d\u2019exp\u00e9rience et de l\u00e2cher-prise. Elle se nourrit de notre pratique r\u00e9guli\u00e8re \u00e0 \u00e9couter les signaux internes de notre corps.</p><ul><li>\n<h4><strong>Notre profil intuitif se compose de quatre grandes variantes</strong></h4>\n</li>\n</ul><p>Il existe l\u2019intuition\u00a0:</p><ul><li class=\"c8\">\n<ul><li>Contextuelle, source de discernement dans nos d\u00e9cisions.</li>\n<li>Relationnelle, qui apporte une compr\u00e9hension et un ressenti de l\u2019autre, nous reliant par l\u00e0-m\u00eame aux personnes et aux projets.</li>\n<li>Visionnaire, qui \u00e9largit notre domaine des possibles.</li>\n<li>Personnelle/ spirituelle qui invite \u00e0 se faire confiance.</li>\n</ul></li>\n</ul><p>Ces quatre types d\u2019intuition sont des cl\u00e9s indispensables pour survivre et devenir performants au sein de nos organisations et entreprises.</p><h3><strong>Ce que peut vous apporter la lecture du livre</strong> <strong>\u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em></strong></h3><p>Ce livre est int\u00e9ressant pour ceux qui\u00a0:</p><ul><li>Sont curieux de mieux cerner l\u2019intuition et d\u00e9sireux de l\u2019utiliser dans leur vie personnelle et professionnelle.</li>\n<li>Pensent que la logique rationnelle ne suffit pas et recherchent un outil d\u00e9cisionnel compl\u00e9mentaire dans leur vie entrepreneuriale.</li>\n</ul><p>Plus pr\u00e9cis\u00e9ment, la lecture de \u00ab\u00a0<em>Tous intuitifs\u00a0\u00bb</em> permet de\u00a0:</p><ul><li><strong>D\u00e9couvrir ce qu\u2019est l\u2019intuition</strong>, ses <strong>variantes</strong>, ses <strong>manifestations</strong>, ses <strong>atouts</strong> et son <strong>utilit\u00e9</strong> dans nos vies personnelle et professionnelle. L\u2019auteure expose sa <strong>vision pragmatique</strong> de l\u2019intuition tout en soulignant que nous ne pouvons pas encore tout expliquer scientifiquement. Il nous faut alors faire preuve d\u2019<strong>ouverture</strong> pour \u00e9largir notre compr\u00e9hension.</li>\n</ul><ul><li>Bien <strong>diff\u00e9rencier ce qui rel\u00e8ve de l\u2019intuition et ce qui n\u2019en rel\u00e8ve pas</strong> (biais cognitifs, pr\u00e9jug\u00e9s, projections, exp\u00e9riences pass\u00e9es, automatismes et r\u00e9flexes\u2026).</li>\n</ul><ul><li><strong>Identifier notre profil intuitif</strong>, celui de nos proches, de nos collaborateurs. Par la connaissance de soi et des autres, cette \u00e9tape sera <strong>source d\u2019alignement</strong>\u00a0dans nos activit\u00e9s de travail et de vie.</li>\n</ul><ul><li>Cerner la <strong>posture \u00e0 adopter</strong> pour <strong>r\u00e9veiller et nourrir notre intuition</strong>.</li>\n</ul><ul><li>Apprendre \u00e0 <strong>d\u00e9ployer notre intuition</strong> via des <strong>exercices</strong> \u00e0 pratiquer pour qu\u2019elle devienne une ressource fiable et imm\u00e9diate.</li>\n</ul><ul><li>Comprendre <strong>comment utiliser l\u2019intuition</strong> dans le monde de <strong>l\u2019entreprise</strong> actuel et en faire un outil de performance.</li>\n</ul><p><em>Points <strong>forts</strong>\u00a0:</em></p><ul><li>L\u2019auteure s\u2019appuie sur des \u00e9l\u00e9ments scientifiques tout en explorant la dimension moins rationnelle du sujet.</li>\n<li>La compl\u00e9mentarit\u00e9 entre th\u00e9orie et mise en pratique.</li>\n<li>Les donn\u00e9es r\u00e9centes sur le sujet.</li>\n</ul><p><em>\u00a0Point <strong>faible</strong>\u00a0:</em></p><ul><li>La partie descriptive reste beaucoup plus importante que la partie \u00ab\u00a0mise en pratique\u00a0\u00bb consacr\u00e9e au d\u00e9veloppement de notre intuition.</li>\n<li>Des r\u00e9p\u00e9titions tout au long des chapitres.</li>\n</ul><p>Ma note\u00a0:</p><h3>\n<img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Tous intuitifs - Victoria Pell\u00e9 Reimers - intuition\" width=\"25\" height=\"24\" referrerpolicy=\"no-referrer\" />\n\u00a0 \u00a0 \u00a0\n<img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Tous intuitifs - Victoria Pell\u00e9 Reimers - intuition\" width=\"25\" height=\"24\" referrerpolicy=\"no-referrer\" />\n\u00a0 \u00a0 \u00a0\n<img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Tous intuitifs - Victoria Pell\u00e9 Reimers - intuition\" width=\"25\" height=\"24\" referrerpolicy=\"no-referrer\" />\n\u00a0 \u00a0 \u00a0\n<img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Tous intuitifs - Victoria Pell\u00e9 Reimers - intuition\" width=\"25\" height=\"24\" referrerpolicy=\"no-referrer\" />\n\u00a0 \u00a0 <strong>\u00a0 \n<img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image6.png\" alt=\"\" width=\"24\" height=\"22\" referrerpolicy=\"no-referrer\" />\n\u00a0 \u00a0 \u00a0 \u00a0\u00a0</strong></h3><p class=\"c7\"><strong>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0</strong>Avez-vous lu \u00ab\u00a0<em>Tous intuitifs \u2013 L\u2019intuition, l\u2019\u00e2me de la performance</em>\u00a0\u00bb de Victoria Pell\u00e9 Reimers\u00a0? Combien le notez-vous\u00a0?</p><p class=\"c7\"><img width=\"16\" height=\"16\" id=\"rating_24404_1\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif?is-pending-load=1\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" srcset=\"\" class=\"jetpack-lazy-image c11\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"16\" height=\"16\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p><img width=\"16\" height=\"16\" id=\"rating_24404_2\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Passable - Un ou deux passages int\u00e9ressants\" title=\"Passable - Un ou deux passages int\u00e9ressants\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24404_3\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Moyen - Quelques bonnes id\u00e9es\" title=\"Moyen - Quelques bonnes id\u00e9es\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24404_4\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" title=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24404_5\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" title=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n(<strong>1</strong>votes, moyenne:<strong>5,00</strong>out of 5)<br />\n<p><img src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\nLoading...<p class=\"c7\"><a href=\"https://amzn.to/3y6piSJ\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin de lire plus de commentaires sur le livre</a> de Victoria Pell\u00e9 Reimers <em>\u00ab\u00a0Tous intuitifs \u2013 L\u2019intuition, l\u2019\u00e2me de la performance\u00a0\u00bb</em></p><p class=\"c7\"><a href=\"https://amzn.to/3DBDAvE\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin d\u2019acheter le livre</a> de Victoria Pell\u00e9 Reimers <em>\u00ab\u00a0Tous intuitifs \u2013 L\u2019intuition, l\u2019\u00e2me de la performance\u00a0\u00bb</em></p><noscript>\n</noscript>",
    "created_at": "2022-05-02T07:55:49+00:00",
    "updated_at": "2022-05-02T07:55:54+00:00",
    "published_at": "2022-02-17T16:00:18+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 50,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/09/tous-intuitifs-victoria-pelle-reimers-e1638943806975.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["livre", "resume", "finances"],
    "is_public": false,
    "id": 23,
    "title": "Conseiller financier : comment le choisir et en tirer le meilleur parti R\u00e9sum\u00e9 et avis - Paul A. Merriman",
    "url": "https://des-livres-pour-changer-de-vie.com/conseiller-financier-comment-le-choisir-et-en-tirer-le-meilleur-parti/",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><p><a href=\"https://amzn.to/3qFa7wL\" target=\"_blank\" rel=\"noopener\" class=\"external\">\n<p><img class=\"aligncenter c7\" title=\"comment choisir votre conseiller financier\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/Comment-choisir-votre-conseiller-financier.png\" alt=\"comment choisir votre conseiller financier\" width=\"283\" height=\"350\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</a></p><blockquote>\n<p><strong>R\u00e9sum\u00e9 de \u00ab Conseiller financier\u00a0: comment le choisir et en tirer le meilleur parti \u00bb</strong>\u00a0: Ce livre vous donne un aper\u00e7u des diff\u00e9rents types de conseillers financiers, des services qu\u2019ils proposent, et vous explique comment choisir un conseiller financier comp\u00e9tent et \u00e9thique, en \u00e9vitant de vous faire avoir par ceux qui commercialisent de mauvais produits.</p>\n</blockquote><p>Titre original\u00a0: <em>Get Smart or Get Screwed \u2013 How To Select The Best and Get The Most From Your Financial Advisor</em></p><p>Par Paul A. Merriman, avec Richard Buck, 102 pages, 2012</p><p><em>Note\u00a0: Cette chronique est une chronique invit\u00e9e \u00e9crite par Antonin du site</em> <a href=\"https://alti-patrimoine.fr/\" target=\"_blank\" rel=\"noopener\" class=\"external\">Alti Patrimoine</a>.</p><h2>Chronique et r\u00e9sum\u00e9 de \u201cConseiller financier\u00a0: comment le choisir et en tirer le meilleur parti\u201d\u00a0:</h2><h3>Introduction</h3><p>L\u2019objectif de ce livre est de vous aider \u00e0 trouver un conseiller financier de premier ordre qui travaille vraiment pour vous, et qui maximisera la probabilit\u00e9 que vous atteigniez vos objectifs \u00e0 court et \u00e0 long terme.</p><p>Ce livre est pour vous si\u00a0:</p><ul><li><strong>Vous cherchez un conseiller financier</strong> qui puisse vous guider vers le succ\u00e8s financier durant votre vie et au-del\u00e0.</li>\n<li><strong>Vous avez d\u00e9j\u00e0 un conseiller financier</strong>, mais vous souhaitez en obtenir le meilleur et vous assurer d\u2019\u00eatre sur les bons rails.</li>\n</ul><p>Les personnes qui cherchent \u00e0 perdre du poids sont les t\u00e9moins d\u2019une lutte entre leurs \u00e9motions et les lois de la biologie. Pour les personnes qui cherchent \u00e0 investir, la lutte confronte leurs \u00e9motions (espoir, peur, avidit\u00e9) avec les lois des math\u00e9matiques et des probabilit\u00e9s.</p><p>Pour perdre du poids, il est plus facile de se faire aider par un coach/di\u00e9t\u00e9ticien qu\u2019en lisant des magazines ou en parcourant le rayon r\u00e9gimes des supermarch\u00e9s, qui t\u00e9moignent que l\u2019industrie alimentaire cherche \u00e0 exploiter le combat contre la perte de poids.</p><p>Les investisseurs font aussi face \u00e0 une \u00e9norme industrie (Wall Street), faite de compagnies dont le but est de d\u00e9livrer des conseils qui s\u2019av\u00e8rent plus lucratifs pour elles que pour leurs clients.</p><blockquote>\n<p>La bonne nouvelle, c\u2019est qu\u2019il existe de nombreux conseillers hautement qualifi\u00e9s qui peuvent r\u00e9pondre \u00e0 nos besoins \u00e0 un co\u00fbt raisonnable et sans conflit d\u2019int\u00e9r\u00eats. La mauvaise nouvelle est qu\u2019il y a aussi beaucoup de conseillers qui op\u00e8rent avec une mauvaise \u00e9thique et des conflits d\u2019int\u00e9r\u00eats.</p>\n</blockquote><p>Une \u00e9tude de la soci\u00e9t\u00e9 Cerulli Associates a montr\u00e9 que 44% des m\u00e9nages fortun\u00e9s (ceux ayant plus de 10 millions de dollars d\u2019actifs investissables) ont licenci\u00e9 leur principal conseiller financier suite \u00e0 la crise de 2008, et que 2/3 d\u2019entre eux avaient au moins 4 conseillers financiers diff\u00e9rents\u00a0!</p><p>Alors si les plus fortun\u00e9s ont du mal \u00e0 trouver un conseiller financier digne de confiance, comment le pourriez-vous\u00a0?</p><p>Ce livre est la r\u00e9ponse. <strong>L\u2019\u00e9tape la plus importante pour un investisseur est souvent de trouver un conseiller comp\u00e9tent et digne de confiance</strong>, qui soit capable de\u00a0:</p><ul><li>S\u2019assurer que vous avez d\u00e9fini <strong>des objectifs r\u00e9alistes</strong>.</li>\n<li>Vous aider \u00e0 construire <strong>un portefeuille diversifi\u00e9 et peu couteux</strong>, afin d\u2019atteindre ces objectifs en contr\u00f4lant les risques.</li>\n<li><strong>Vous aider \u00e0 faire des choix judicieux</strong> en mati\u00e8re de pr\u00eats, d\u2019assurances, de retraite, de couverture sociale et de transmission patrimoniale.</li>\n</ul><p>La premi\u00e8re partie de ce livre est un guide pratique pour trouver et travailler avec le bon conseiller pour vous. La seconde partie vous montre comment les investisseurs se font avoir.</p><blockquote>\n<p>J\u2019esp\u00e8re que vous choisirez un conseiller qui est \u00e9thique et comp\u00e9tent. (\u2026) J\u2019esp\u00e8re que vous investirez dans des produits \u00e0 faible co\u00fbt et fiscalement avantageux qui ont la meilleure combinaison de rendements attendus et de risques. Si vous faites ces choses, je pense que vous saurez vous montrer malin et que vous ne vous ferez pas avoir.</p>\n</blockquote><h3>Partie 1\u00a0: Soyez malin</h3><p style=\"text-align: center;\"><img class=\"aligncenter jetpack-lazy-image c7\" title=\"soyez malin\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/1-soyez-malin.jpg?is-pending-load=1\" alt=\"soyez malin\" width=\"600\" height=\"400\" border=\"0\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter c7\" title=\"soyez malin\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/1-soyez-malin.jpg\" alt=\"soyez malin\" width=\"600\" height=\"400\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3>Chapitre 1\u00a0: Quel type de conseiller avez-vous\u00a0?</h3><p>En investissement, beaucoup trop de gens cherchent des conseils avec d\u00e9sinvolture. En m\u00e9decine, chaque probl\u00e8me requiert l\u2019aide d\u2019un sp\u00e9cialiste bien particulier\u00a0: personne n\u2019irait voir un sp\u00e9cialiste du c\u0153ur pour un probl\u00e8me aux yeux.</p><p><strong>Pourtant, trop d\u2019investisseurs choisissent leur conseiller financier sans r\u00e9fl\u00e9chir</strong>, par sympathie, sur les conseils de leurs amis ou sur le seul crit\u00e8re de la sympathie.</p><p>Sauf que l\u2019amiti\u00e9 n\u2019a rien \u00e0 voir avec la comp\u00e9tence, et lorsqu\u2019il est question de votre avenir financier, le meilleur chemin n\u2019est pas forc\u00e9ment le plus facile. Vous montrer malin n\u00e9cessite de prendre le temps de r\u00e9fl\u00e9chir soigneusement.</p><p>Auparavant, un conseiller financier familial \u00e9tait tout simplement le courtier en bourse, le vendeur de contrat d\u2019assurance vie, ou le banquier.</p><p><strong>Aujourd\u2019hui, les professionnels qui veulent nous aider dans notre vie financi\u00e8re ont de nombreux titres</strong>\u00a0: planificateurs financiers, repr\u00e9sentants enregistr\u00e9s, experts-comptables, conseillers financiers, conseillers en gestion de patrimoine, consultants financiers\u2026</p><p>Parmi les d\u00e9nominations existantes, certaines ne requi\u00e8rent gu\u00e8re plus qu\u2019un enregistrement via un formulaire, alors que d\u2019autres n\u00e9cessitent une formation rigoureuse. Ainsi, d\u2019apr\u00e8s une \u00e9tude, seulement un professionnel sur cinq est agr\u00e9\u00e9.</p><p>Pour \u00e9viter de perdre inutilement du temps \u00e0 comprendre ce qui se cache derri\u00e8re ces diff\u00e9rents titres, il n\u2019y a que <strong>deux crit\u00e8res essentiels</strong> pour rep\u00e9rer les conseillers que vous pouvez consid\u00e9rer\u00a0:</p><ul><li><strong>La responsabilit\u00e9 l\u00e9gale</strong>\u00a0: votre conseiller doit d\u00e9montrer une responsabilit\u00e9 l\u00e9gale stricte envers vous.</li>\n<li><strong>Le mode de r\u00e9mun\u00e9ration</strong>\u00a0: votre conseiller doit \u00eatre pay\u00e9 par vous, uniquement.</li>\n</ul><blockquote>\n<p>La comp\u00e9tence est une combinaison favorable de connaissances, d\u2019exp\u00e9rience et de jugement. C\u2019est ce que vous recherchez chez un conseiller.</p>\n</blockquote><p><strong>Un Planificateur Financier Agr\u00e9\u00e9 (PFA)</strong>, pour les Canadiens (en anglais\u00a0: Certified Financial Planner \u2013 CFP), ou <strong>un Conseiller en Investissement Financier (CIF)</strong>, pour les Fran\u00e7ais, vous garantissent la connaissance et l\u2019exp\u00e9rience.</p><p>En ce qui concerne le bon jugement, il ne peut pas \u00eatre garanti par un titre, mais vous apprendrez \u00e0 reconna\u00eetre si votre conseiller en dispose.</p><p>Toutefois, <strong>en engageant un PFA ou un CIF, vous \u00eates assur\u00e9 d\u2019avoir affaire \u00e0 quelqu\u2019un qui s\u2019est engag\u00e9 \u00e0 respecter un code d\u2019\u00e9thique strict</strong>. Or, l\u2019\u00e9thique est un point essentiel dans votre recherche d\u2019un conseiller qui vous conviendra.</p><h3>Chapitre 2\u00a0: Responsabilit\u00e9 l\u00e9gale</h3><blockquote>\n<p>La responsabilit\u00e9 l\u00e9gale est la principale ligne de d\u00e9marcation (\u2026) entre les conseillers que vous devriez engager et ceux que vous ne devriez pas engager.</p>\n</blockquote><p>Contrairement aux courtiers, <strong>les conseillers en investissement agr\u00e9\u00e9s doivent respecter une norme stricte\u00a0: ils sont tenus d\u2019agir au mieux des int\u00e9r\u00eats de leur client</strong>, qu\u2019ils doivent faire passer avant les leur, et doivent exprimer publiquement toute situation potentielle (souvent li\u00e9 \u00e0 leur r\u00e9mun\u00e9ration) pouvant mener \u00e0 un conflit d\u2019int\u00e9r\u00eat.</p><p>Les personnes soumises \u00e0 cette responsabilit\u00e9 l\u00e9gale sont appel\u00e9s <a href=\"https://alti-patrimoine.fr/obligation-fiduciaire-cif/\" target=\"_blank\" rel=\"noopener\" class=\"external\">des fiduciaires</a> (<em>appellation courante aux \u00c9tats-Unis\u00a0; en France, les conseillers en investissement financier sont soumis \u00e0 une responsabilit\u00e9 l\u00e9gale similaire</em>).</p><p>Vous vous demandez probablement <strong>comment trouver un conseiller qui ait une responsabilit\u00e9 l\u00e9gale</strong>. Si un conseiller est capable d\u2019affirmer, par \u00e9crit et en son nom, qu\u2019il a l\u2019obligation l\u00e9gale d\u2019agir dans le meilleur int\u00e9r\u00eat de ses clients, d\u2019\u00e9viter les conflits d\u2019int\u00e9r\u00eat et d\u2019exprimer publiquement ceux qu\u2019il ne peut \u00e9viter, alors vous avez affaire \u00e0 quelqu\u2019un que vous pouvez engager.</p><h3>Chapitre 3\u00a0: Suivez l\u2019argent</h3><blockquote>\n<p>La fa\u00e7on dont votre conseiller est r\u00e9mun\u00e9r\u00e9 d\u00e9termine souvent la fa\u00e7on dont votre argent est investi.</p>\n</blockquote><p>Lorsque vous payez pour des conseils financiers, il n\u2019y a que deux choix possibles\u00a0:</p><ul><li><strong>Choix N\u00b01</strong>\u00a0: Vous payez le conseiller, et celui-ci travaille pour vous.</li>\n<li><strong>Choix N\u00b02</strong>\u00a0: Quelqu\u2019un d\u2019autre paye le conseiller, qui travaille donc pour quelqu\u2019un d\u2019autre.</li>\n</ul><p><strong>Autrement dit, si ce n\u2019est pas vous qui payez votre conseiller, ce dernier travaillera avant tout dans les int\u00e9r\u00eats de celui qui signe son ch\u00e8que</strong>.</p><p>Les conseillers qui re\u00e7oivent des commissions sur les produits qu\u2019ils vous vendent sont dans un conflit d\u2019int\u00e9r\u00eat, m\u00eame s\u2019ils tentent de vous convaincre du contraire.</p><p>Il existe trois modes de r\u00e9mun\u00e9ration pour les conseillers\u00a0:</p><ol><li><strong>Les commissions</strong>\u00a0: le courtier/conseiller touche une commission sur les produits qu\u2019il vous recommande. Son int\u00e9r\u00eat est donc de vous orienter vers des produits qui lui permette de toucher une commission int\u00e9ressante. Leurs services apparaissent souvent comme \u00e9tant gratuits, mais ce n\u2019est pas le cas. Car d\u2019une mani\u00e8re ou d\u2019une autre, le payeur est toujours le client.</li>\n<li><strong>Les honoraires</strong>\u00a0: Les conseillers qui \u00e9vitent les conflits d\u2019int\u00e9r\u00eat facturent leurs services \u00e0 l\u2019heure, et n\u2019acceptent aucune commission. Ils vous dirigeront vers des fonds sans frais d\u2019acquisition, et avec les frais de gestion les plus faibles. Il en r\u00e9sultera ainsi une meilleure performance pour votre portefeuille. Un conseiller qui facture des honoraires n\u2019est pas incit\u00e9 \u00e0 vous recommander un investissement plut\u00f4t qu\u2019un autre, et son choix se fait sur la base de ce qui est le mieux pour vous.</li>\n<li><strong>Les frais sur actifs</strong>\u00a0: Les conseillers vous facturent des frais bas\u00e9s sur le montant des actifs qu\u2019ils g\u00e8rent pour vous. Par exemple, 1% du montant de votre portefeuille chaque ann\u00e9e. Cela semble \u00eatre la meilleure solution, car votre conseiller n\u2019est pas motiv\u00e9 par les commissions, mais par le fait de faire fructifier votre argent. G\u00e9n\u00e9ralement, ses services ne sont pas limit\u00e9s dans le temps, et il pourra vous offrir de nombreux services.</li>\n</ol><h3>Chapitre 4\u00a0: Si votre conseiller est r\u00e9mun\u00e9r\u00e9 par des commissions</h3><p><strong>Les conseillers pay\u00e9s \u00e0 la commission sont comme des courtiers</strong>. Le r\u00f4le premier des courtiers est de faciliter les transactions en servant d\u2019interm\u00e9diaire entre les acheteurs et les vendeurs. Lorsque vous voulez acheter des titres financiers, vous passerez obligatoirement par un courtier.</p><p>Cependant, les courtiers, comme les conseillers pay\u00e9s \u00e0 la commission partagent un int\u00e9r\u00eat commun\u00a0: <strong>vous inciter \u00e0 multiplier les transactions</strong>. En effet, les premiers facturent des frais sur chaque transaction, et les seconds re\u00e7oivent une commission sur chaque achat de produit financier.</p><p>Chez la plupart des courtiers, vous pouvez agir seul. Mais parfois, un courtier personnel peut vous \u00eatre assign\u00e9, et pourrait vous contacter par t\u00e9l\u00e9phone pour vous \u00ab conseiller \u00bb.</p><p>Ces courtiers pourront se pr\u00e9senter par exemple en tant que \u00ab consultant financier \u00bb (ils n\u2019ont pas le titre de conseiller en investissement), mais votre int\u00e9r\u00eat personnel ne sera pas leur premi\u00e8re pr\u00e9occupation, d\u2019o\u00f9 l\u2019int\u00e9r\u00eat de <strong>passer par une soci\u00e9t\u00e9 de courtage \u00e0 bas co\u00fbt, qui vous laissera investir tranquillement</strong>.</p><p>Voici trois fa\u00e7ons dont les courtiers profitent de leurs clients\u00a0:</p><ul><li><strong>Le barattage financier</strong>\u00a0: Votre courtier vous incite \u00e0 vendre et \u00e0 acheter dans le but de g\u00e9n\u00e9rer des commissions ou frais de transaction. Cependant, dans la plupart des cas, les investisseurs ont int\u00e9r\u00eat \u00e0 bien choisir leurs investissements, puis \u00e0 les conserver sur le long terme. Il s\u2019agit donc l\u00e0 d\u2019un conflit d\u2019int\u00e9r\u00eat manifeste entre le client et la soci\u00e9t\u00e9 de courtage.</li>\n<li><strong>Le charme \u00e9motionnel</strong>\u00a0: Les courtiers savent faire appel \u00e0 vos \u00e9motions, en vous narrant la confiance que d\u2019autres investisseurs (voir leur propre famille, ou des gens connus\u00a0!) ont plac\u00e9 dans les produits qu\u2019ils veulent vous vendre. Dans tous les cas, m\u00eame si c\u2019est vrai, cela ne constitue en rien un argument pertinent.</li>\n<li><strong>La confiance</strong>\u00a0: Ne pensez pas qu\u2019un courtier qui vous traite comme un ami et en lequel vous avez confiance vous d\u00e9couragera de faire quelque chose qui va contre votre int\u00e9r\u00eat, si cela peut lui rapporter des commissions. Dans la plupart des cas, il se contentera d\u2019affirmer que c\u2019\u00e9tait votre id\u00e9e, si les choses tournent mal.</li>\n</ul><blockquote>\n<p>Heureusement, il y a de bonnes nouvelles. Vous avez le choix, et vous pouvez faire affaire avec des conseillers qui n\u2019ont pas de telles incitations \u00e0 la vente.</p>\n</blockquote><h3>Chapitre 5\u00a0: Si votre conseiller facture \u00e0 l\u2019heure</h3><p>Par rapport \u00e0 un courtier ou \u00e0 un conseiller commissionn\u00e9, qui sont incit\u00e9s \u00e0 vous vendre des produits, <strong>un conseiller qui facture des honoraires peut faire bien plus pour vous</strong>.</p><p>Il peut vous aider \u00e0 fixer des objectifs \u00e0 court et \u00e0 long terme, \u00e0 d\u00e9terminer les risques que vous devriez prendre, \u00e0 planifier votre retraite et \u00e0 pr\u00e9voir comment votre famille sera prise en charge dans le cas o\u00f9 vous mourriez pr\u00e9matur\u00e9ment.</p><p>Il pourra \u00e9galement vous fournir un plan financier complet par \u00e9crit, et de l\u2019aide pour les questions fiscales, votre pr\u00eat et autres dettes, le financement des \u00e9tudes de vos enfants, les avantages sociaux et l\u2019\u00e9pargne salariale\u2026</p><p><strong>Un conseiller qui pourra vous proposer une aide \u00e0 l\u2019heure sur ces sujets a le statut de Planificateur Financier Agr\u00e9\u00e9 (PFA), ou de Conseiller en Investissement Financier (CIF)</strong>.</p><p>Ce sont souvent des <a href=\"https://alti-patrimoine.fr/conseil-financier-independant/\" target=\"_blank\" rel=\"noopener\" class=\"external\">conseillers financiers ind\u00e9pendants</a>, qui n\u2019acceptent aucune commission et qui se sont engag\u00e9s \u00e0 respecter un code de d\u00e9ontologie. <strong>Ils utilisent des fonds \u00e0 faible co\u00fbt</strong>, comme ceux de Vanguard (<em>Vanguard est surtout pr\u00e9sent en Am\u00e9rique du Nord, les \u00e9quivalents fran\u00e7ais sont Lyxor et Amundi</em>).</p><p><strong>Ces professionnels qui facturent \u00e0 l\u2019heure peuvent \u00eatre une tr\u00e8s bonne source de conseils objectifs</strong>, en vous permettant de tirer le meilleur parti parmi les possibilit\u00e9s d\u2019investissements existantes, et en revoyant p\u00e9riodiquement votre portefeuille afin qu\u2019il reste \u00e9quilibr\u00e9.</p><blockquote>\n<p>Payer des conseils financiers \u00e0 l\u2019heure vous co\u00fbtera probablement moins cher que de payer des commissions sur les produits, ou que de payer sur la base des actifs que vous poss\u00e9dez.</p>\n</blockquote><h3>Chapitre 6\u00a0: Si vous avez un conseiller qui facture sur la base d\u2019actifs</h3><p>Les conseillers qui basent leurs tarifs sur le montant des actifs sont <strong>peut-\u00eatre le meilleur moyen d\u2019obtenir une aide financi\u00e8re</strong>.</p><p>La plupart du temps, ces conseillers facturent entre 1 et 2% par an du montant total des actifs \u00e0 g\u00e9rer. Cependant, <strong>leurs services sont souvent r\u00e9serv\u00e9s aux portefeuilles de plusieurs centaines de milliers d\u2019euros (ou de dollars)</strong>.</p><p>Contrairement aux types de conseillers pr\u00e9c\u00e9dents, un conseiller qui se base sur les actifs est susceptible de passer bien plus de temps avec vous. Et mieux il vous conna\u00eet, meilleure sera l\u2019aide qu\u2019il pourra vous apporter.</p><p>La principale diff\u00e9rence est que <strong>votre argent sera directement g\u00e9r\u00e9 par votre conseiller, en votre nom</strong>. \u00c0 ce titre, il vous enverra des rapports r\u00e9guliers sur l\u2019\u00e9tat de votre portefeuille d\u2019investissement.</p><p>Veillez simplement \u00e0 ce que votre conseiller engage votre argent dans des <a href=\"https://alti-patrimoine.fr/benefices-fonds-indiciels/\" target=\"_blank\" rel=\"noopener\" class=\"external\">fonds \u00e0 faible co\u00fbt</a> et sans frais d\u2019entr\u00e9e, plut\u00f4t que dans des actions et obligations individuelles.</p><h3>Chapitre 7\u00a0: Ce qu\u2019il faut demander avant d\u2019engager un conseiller</h3><blockquote>\n<p>La plupart des gens passent plus de temps \u00e0 planifier leurs vacances annuelles qu\u2019\u00e0 s\u2019occuper de leur avenir financier.</p>\n</blockquote><p>Les investisseurs qui choisissent soigneusement leur conseiller obtiendront presque toujours de meilleurs r\u00e9sultats que ceux qui font leur choix au hasard, sans faire appel \u00e0 leur esprit critique.</p><p><strong>La plupart des conseillers proposent des s\u00e9ances de pr\u00e9sentation gratuites</strong>, afin de voir s\u2019il y a une bonne ad\u00e9quation mutuelle. Le conseiller est amen\u00e9 \u00e0 vous poser plusieurs questions sur vos objectifs, besoins et exp\u00e9riences en mati\u00e8re d\u2019investissement.</p><p><strong>Vous devriez en profiter pour lui poser \u00e9galement des questions, parmi celles propos\u00e9es dans la liste suivante</strong>. Ces questions vous aideront \u00e0 s\u00e9lectionner le bon conseiller pour vous, en bonne intelligence.</p><ul><li>\u00cates-vous un Planificateur Financier Agr\u00e9\u00e9, ou un Conseiller en Investissement Financier\u00a0?</li>\n<li>Pouvez-vous me donner les coordonn\u00e9es de quelques clients qui connaissent bien votre entreprise\u00a0?</li>\n<li>Quelle est votre philosophie d\u2019investissement\u00a0?</li>\n<li>Quels types de produits recommandez-vous \u00e0 vos clients, et pourquoi\u00a0?</li>\n<li>Si je devenais client, comment feriez-vous pour d\u00e9terminer ma tol\u00e9rance au risque\u00a0? Comment la traduiriez-vous en une allocation d\u2019actifs appropri\u00e9e pour moi\u00a0?</li>\n<li>Comment allez-vous d\u00e9terminer la strat\u00e9gie d\u2019investissement qui me convient\u00a0?</li>\n<li>Quels sont les domaines dans lesquels vous pouvez aider vos clients\u00a0?</li>\n<li>Si je devenais un client, \u00e0 quelle fr\u00e9quence serions-nous susceptibles de nous rencontrer\u00a0? De quelle mani\u00e8re communiquez-vous avec vos clients\u00a0?</li>\n<li>Offrez-vous une aide aux autres membres de la famille de vos clients sans frais suppl\u00e9mentaires\u00a0?</li>\n</ul><h3>Chapitre 8\u00a0: Trouver le conseiller financier id\u00e9al</h3><blockquote>\n<p>Je crois que vous pouvez et devez faire mieux que simplement trouver un bon conseiller. Je crois que vous pouvez en trouver un qui pourrait \u00eatre d\u00e9crit comme \u00ab le meilleur \u00bb conseiller.</p>\n</blockquote><p>Dans un premier temps, vous pouvez <strong>v\u00e9rifier si le conseiller est inscrit au registre national</strong> de\u00a0: l\u2019Association des conseillers financiers personnels (pour les \u00c9tats-Unis), l\u2019ORIAS (pour la France) ou l\u2019AMF (pour le Qu\u00e9bec).</p><p>Au-del\u00e0 de ces premi\u00e8res consid\u00e9rations, voici ce \u00e0 quoi peut ressembler un conseiller financier id\u00e9al\u00a0:</p><ul><li>Il croit en la construction de <strong>portefeuilles d\u2019investissement correctement diversifi\u00e9s, bas\u00e9s sur les recherches acad\u00e9miques</strong>, et non sur des pitchs de vente ou sur les hypes du moment.</li>\n<li>Il a le <strong>statut de Conseiller en Investissement Financier ou de Planificateur Financier Agr\u00e9\u00e9</strong>.</li>\n<li><strong>Le conseiller financier id\u00e9al n\u2019accepte aucune commission</strong> et tire tous ses revenus des honoraires des clients.</li>\n<li>Il a une <strong>responsabilit\u00e9 l\u00e9gale</strong> envers vous.</li>\n<li>Il a acc\u00e8s \u00e0 <strong>un r\u00e9seau d\u2019autres professionnels</strong> pour vous aider en mati\u00e8re de fiscalit\u00e9, de planification successorale, d\u2019assurance, de questions juridiques, etc.</li>\n<li>Le conseiller id\u00e9al est <strong>disponible dans les plus brefs d\u00e9lais</strong>, si n\u00e9cessaire.</li>\n<li><strong>Il prend le temps d\u2019apprendre \u00e0 vous conna\u00eetre</strong> aussi soigneusement que possible.</li>\n<li><strong>Il traite votre temps et votre argent avec respect</strong>, comme si vous \u00e9tiez son client le plus important.</li>\n<li>Le conseiller financier id\u00e9al est <strong>quelqu\u2019un avec qui vous appr\u00e9ciez de parler</strong>.</li>\n</ul><blockquote>\n<p>En fin de compte, vous \u00eates le patron et le conseiller est votre employ\u00e9.</p>\n</blockquote><h3>Chapitre 9\u00a0: Ce que vous pouvez et devez obtenir d\u2019un conseiller</h3><blockquote>\n<p>Si vous choisissez votre conseiller tr\u00e8s soigneusement et l\u2019utilisez bien, vous avez toutes les chances d\u2019en obtenir bien plus que pour votre argent.</p>\n</blockquote><p>Vous devriez envisager de travailler au moins un an avec votre conseiller, afin de voir s\u2019il vous convient. Ainsi, le temps que vous passerez \u00e0 le chercher en vaudra la peine.</p><p>De mani\u00e8re g\u00e9n\u00e9rale, <strong>votre conseiller devrait vous permettre de vivre votre vie sans avoir \u00e0 vous inqui\u00e9ter de vos investissements</strong>.</p><p>Il doit faire preuve de sinc\u00e9rit\u00e9 et de d\u2019honn\u00eatet\u00e9 \u00e0 votre \u00e9gard, et se rendre facilement disponible pour vous \u00e9clairer sur toute question d\u2019ordre financi\u00e8re.</p><p>Au-del\u00e0 des qualit\u00e9s relationnelles, voici les diff\u00e9rents services qu\u2019il peut vous procurer\u00a0:</p><ul><li><strong>Vous aider \u00e0 r\u00e9partir vos investissements</strong> entre les actions, les obligations et les liquidit\u00e9s, puis de trouver le bon mix \u00e0 l\u2019int\u00e9rieur de chaque cat\u00e9gorie d\u2019actifs.</li>\n<li><strong>D\u00e9terminer votre tol\u00e9rance au risque</strong>, et vous expliquer en quoi cela va influer sur votre allocation d\u2019actifs.</li>\n<li><strong>Vous aider \u00e0 minimiser vos frais</strong>.</li>\n<li>Rassembler toutes vos donn\u00e9es financi\u00e8res pour <strong>vous aider \u00e0 avoir une vue d\u2019ensemble</strong>.</li>\n<li><strong>Vous aider \u00e0 entamer des discussions sur des sujets d\u00e9licats</strong> avec vos enfants ou parents, concernant notamment les successions.</li>\n<li><strong>Vous donner acc\u00e8s \u00e0 d\u2019excellents fonds</strong> qui ne sont pas disponible publiquement pour les investisseurs individuels.</li>\n<li><strong>Penser aux implications fiscales de votre portefeuille</strong> et \u00e0 la mani\u00e8re d\u2019\u00eatre le plus efficace possible fiscalement.</li>\n<li><strong>Vous aider \u00e0 d\u00e9terminer le type de compte et l\u2019enveloppe fiscale appropri\u00e9e pour vous</strong>.</li>\n<li><strong>Aider vos parents</strong> ou d\u2019autres membres de votre famille \u00e0 g\u00e9rer/pr\u00e9server leurs actifs.</li>\n<li><strong>Vous aider \u00e0 d\u00e9terminer si votre taux d\u2019\u00e9pargne est susceptible d\u2019\u00eatre suffisant pour votre retraite</strong>.</li>\n<li><strong>D\u00e9terminer le montant que vous pouvez retirer de votre \u00e9pargne en toute s\u00e9curit\u00e9</strong> pour ne pas risquer de manquer d\u2019argent pour votre retraite.</li>\n<li><strong>Effectuer des \u00ab tests de r\u00e9sistance \u00bb</strong> sur un portefeuille de retraite, afin de d\u00e9terminer dans quelle mesure il sera capable de tenir toute votre vie, selon des rendements variables et des retraits p\u00e9riodiques.</li>\n<li><strong>Vous orienter vers des professionnels comp\u00e9tents au co\u00fbt raisonnable</strong>, sur les questions d\u00e9passant son champ d\u2019actions (droit, planification successorale, assurance, banque\u2026).</li>\n<li><strong>Vous aider \u00e0 pr\u00e9parer et \u00e0 traverser les in\u00e9vitables p\u00e9riodes difficiles des march\u00e9s</strong>.</li>\n<li>Choisir les meilleures options pour <strong>mettre de l\u2019argent de c\u00f4t\u00e9 pour les \u00e9tudes de vos enfants</strong>.</li>\n<li>Si votre conseiller n\u2019est pas un avocat, il peut <strong>vous aider \u00e0 d\u00e9terminer ce qui peut \u00eatre appropri\u00e9 pour vous</strong>.</li>\n</ul><h3>Chapitre 10\u00a0: Tirer le meilleur parti de votre conseiller financier<br /></h3><h4>Si votre conseiller financier est un courtier</h4><p><strong>L\u2019id\u00e9al pour vous est d\u2019investir via des ETF</strong>. Ils vous permettront d\u2019investir dans toutes les classes d\u2019actifs, \u00e0 faible co\u00fbt, avec des frais minimaux d\u2019achat/vente.</p><p><strong>Les ETF vous \u00e9viteront de tomber dans un conflit d\u2019int\u00e9r\u00eat avec votre courtier</strong> (qui peut \u00eatre susceptible de profiter de vous\u00a0: un courtier reste un commercial).</p><p>En particulier, peu importe ce que vous dit votre courtier, <strong>n\u2019achetez aucune action de soci\u00e9t\u00e9 qui s\u2019introduit en bourse</strong>. De nombreuses \u00e9tudes ont d\u00e9montr\u00e9 qu\u2019elles avaient tendance \u00e0 sous-performer le march\u00e9 la premi\u00e8re ann\u00e9e.</p><blockquote>\n<p>Si votre courtier semble essayer de stimuler votre avidit\u00e9 ou votre peur, consid\u00e9rez cela comme un drapeau rouge.</p>\n</blockquote><p>D\u2019ailleurs, si n\u00e9cessaire, une fois par an, engagez un CIF ou un PFA pour vous donner un avis objectif sur les conseils que vous recevez de votre courtier.</p><h4>Si votre conseiller financier facture \u00e0 l\u2019heure</h4><p>Comme il s\u2019agit d\u2019un service \u00ab \u00e0 la carte \u00bb, <strong>d\u00e9terminez \u00e0 l\u2019avance les domaines dans lequel vous cherchez un conseil, puis prenez les choses une par une</strong>, afin de pouvoir \u00e9valuer la qualit\u00e9 du service que vous recevez.</p><p>Si vous avez un doute sur la qualit\u00e9 du service re\u00e7u, <strong>engagez un professionnel financier objectif (un CIF ou un PFA)</strong>, qui pourra en juger. Le co\u00fbt suppl\u00e9mentaire en vaut la peine s\u2019il vous permet d\u2019avoir l\u2019esprit tranquille.</p><h4>Si votre conseiller facture sur la base des actifs qu\u2019il g\u00e8re pour vous</h4><p>Sans aucune pression \u00e0 la vente ni de facturation \u00e0 l\u2019heure, <strong>vous avez la possibilit\u00e9 faire appel \u00e0 votre conseiller autant que n\u00e9cessaire</strong>. Une fois votre portefeuille en place, si quelque chose vous inqui\u00e8te, faites-le-lui savoir.</p><p>Dans tous les cas, pour obtenir le meilleur de votre relation avec votre conseiller, partagez toutes vos informations financi\u00e8res, et assurez-vous qu\u2019il comprend quelles sont vos pr\u00e9occupations.</p><h4>\u00catre le client id\u00e9al</h4><blockquote>\n<p>Commencez par vous assurer que vos attentes sont r\u00e9alistes.</p>\n</blockquote><p><strong>Votre conseiller ne peut ni contr\u00f4ler le march\u00e9, ni conna\u00eetre l\u2019avenir, ni \u00e9liminer les risques impr\u00e9vus</strong>. Il ne peut pas non plus transformer une perte en gain, ni \u00e9liminer toute fiscalit\u00e9.</p><p>La confiance que vous placez en votre conseiller est essentielle. N\u2019h\u00e9sitez pas \u00e0 consacrer du temps \u00e0 trouver un conseiller en qui vous sentez que vous pouvez avoir confiance.</p><p>Ensuite, \u00e0 partir du moment o\u00f9 vous investissez votre argent, <strong>vous devez avoir un certain degr\u00e9 de foi dans l\u2019\u00e9conomie de march\u00e9 et en l\u2019avenir</strong>.</p><p>Par phase, le march\u00e9 pourra vous d\u00e9cevoir. Votre conseiller ne sera alors pas \u00e0 bl\u00e2mer, et il pourra vous aider \u00e0 traverser ces p\u00e9riodes. <strong>L\u2019investissement demande de la patience, et les r\u00e9sultats \u00e0 court terme ne devraient pas influencer vos actions</strong>.</p><p>Car si les objectifs fix\u00e9s avec votre conseiller sont r\u00e9alistes, vous devriez obtenir ce que vous recherchez.</p><h3>Partie 2\u00a0: Comment se faire avoir</h3><p>L\u2019objectif de cette partie est de <strong>vous \u00e9viter de vous faire avoir par l\u2019industrie tr\u00e8s organis\u00e9e et sophistiqu\u00e9e des courtiers</strong>, par les soci\u00e9t\u00e9s de courtage et par les produits qu\u2019ils vendent, qui g\u00e9n\u00e8rent des profits \u00e9normes sur le dos de leurs clients.</p><p>La meilleure mani\u00e8re d\u2019\u00e9viter de tomber dans le pi\u00e8ge est de <strong>vous \u00e9duquer \u00e0 reconna\u00eetre les comportements et produits qui ne vont pas dans votre int\u00e9r\u00eat</strong>.</p><p><em>Note\u00a0: Le terme \u00ab courtier \u00bb, souvent employ\u00e9 dans la seconde partie, fait r\u00e9f\u00e9rence \u00e0 la fois aux courtiers, interm\u00e9diaires lors des transactions, et aux conseillers financiers pay\u00e9s \u00e0 la commission.</em></p><p style=\"text-align: center;\"><img class=\"aligncenter jetpack-lazy-image c7\" title=\"conseiller financier ne pas se faire avoir\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/conseiller-financier-ne-pas-se-faire-avoir.jpg?is-pending-load=1\" alt=\"conseiller financier ne pas se faire avoir\" width=\"600\" height=\"400\" border=\"0\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter c7\" title=\"conseiller financier ne pas se faire avoir\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/conseiller-financier-ne-pas-se-faire-avoir.jpg\" alt=\"conseiller financier ne pas se faire avoir\" width=\"600\" height=\"400\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3>Chapitre 11\u00a0: Se faire avoir par la pression commerciale</h3><p>La pression commerciale provient des commissions sur vente, qui \u00ab drivent \u00bb l\u2019industrie du courtage.</p><blockquote>\n<p>Plus des deux tiers des titres sont vendus par des courtiers travaillant \u00e0 la commission. Ces courtiers sont form\u00e9s \u00e0 des tactiques agressives bas\u00e9es sur des principes psychologiques solides qui fonctionnent contre les investisseurs na\u00effs et vuln\u00e9rables. \u2013 Paul Farrell</p>\n</blockquote><p>Imaginez si les docteurs \u00e9taient pay\u00e9s via des commissions sur les m\u00e9dicaments prescrits\u00a0! Il se trouve que la vente sur commission n\u2019est pas une meilleure id\u00e9e en finance qu\u2019en m\u00e9decine.</p><p>Ainsi, <strong>certains pays comme l\u2019Australie et le Royaume-Uni ont rendu ill\u00e9gaux la vente de conseils financiers sur commissions</strong>. Mais aux \u00c9tats-Unis (<em>comme en France et dans la plupart des pays</em>), cette pratique reste l\u00e9gale.</p><p>Voici plusieurs fa\u00e7ons dont les investisseurs se font avoir par la culture de la pression commerciale\u00a0:</p><ul><li><strong>Fraude, ruse ou tromperie d\u00e9lib\u00e9r\u00e9e</strong> dans le but d\u2019obtenir un avantage (ce qui n\u2019existerait pas si tous les courtiers avaient une responsabilit\u00e9 l\u00e9gale envers leurs clients).</li>\n<li><strong>Appels t\u00e9l\u00e9phoniques non sollicit\u00e9s</strong>.</li>\n<li><strong>Incitation \u00e0 multiplier les transactions</strong>. Pourtant, plusieurs \u00e9tudes acad\u00e9miques ont montr\u00e9 que vous avez plus de chance de gagner de l\u2019argent en conservant ce que vous avez qu\u2019en le vendant pour acheter autre chose.</li>\n<li>Lors des introductions en bourse, les soci\u00e9t\u00e9s de courtage s\u2019engagent \u00e0 vendre une certaine quantit\u00e9 d\u2019actions, et mettent <strong>la pression sur leurs courtiers pour qu\u2019ils refilent un maximum d\u2019actions \u00e0 leurs clients</strong>.</li>\n<li>Les courtiers qui n\u2019ont pas atteint leur montant de commission mensuelle peuvent <strong>vous contacter en fin de mois avec de \u00ab nouvelles id\u00e9es \u00bb pour votre argent</strong> (Une \u00e9tude a conclu que de nombreux courtiers produisaient deux \u00e0 cinq fois plus de commissions quotidiennes au cours de la derni\u00e8re semaine d\u2019un mois qu\u2019au d\u00e9but du mois).</li>\n<li>Les firmes de courtages forment leur vendeur \u00e0 <strong>utiliser un script de vente, qui est fait pour surmonter toutes vos objections</strong>.</li>\n<li>La psychologie a mis en \u00e9vidence que les personnes optimistes se faisaient plus d\u2019amis, et gagnaient plus d\u2019argent. Ainsi, <strong>les courtiers trop optimistes peuvent influencer et encourager les investisseurs \u00e0 prendre top de risque</strong>. Or, on sait que les exc\u00e8s de confiance forment des bulles sp\u00e9culatives (comme en 2000 avec la bulle Internet).</li>\n<li>Les courtiers peuvent avoir tendance \u00e0 <strong>minimiser, voir \u00e0 cacher, les risques d\u2019un investissement</strong>. Car reconna\u00eetre le risque \u00e0 sa juste mesure est parfois un frein \u00e0 la vente.</li>\n<li><strong>Vous d\u00e9courager \u00e0 \u00ab prendre le temps d\u2019y r\u00e9fl\u00e9chir \u00bb</strong> (ce qui nuit \u00e0 la vente), et vous encourager \u00e0 vous d\u00e9cider imm\u00e9diatement.</li>\n<li><strong>Vous d\u00e9courager de lire le Document d\u2019Information Cl\u00e9 pour l\u2019Investisseur (DICI)</strong>, pourtant obligatoire, qui d\u00e9crit les co\u00fbts et les risques.</li>\n<li><strong>Payer pour appara\u00eetre dans le classement des \u00ab meilleurs courtiers/conseillers de l\u2019ann\u00e9e \u00bb</strong> dans des articles ou magazines, afin d\u2019en faire un argument de vente.</li>\n<li><strong>Se pr\u00e9senter avec des titres impressionnants qui n\u2019ont aucune signification</strong>, tels que \u00ab Sp\u00e9cialiste en Gestion de Patrimoine \u00bb.</li>\n<li><strong>Tirer parti des \u00e9motions des investisseurs, en les incitants \u00e0 acheter lorsque l\u2019avidit\u00e9 est \u00e0 son maximum</strong>, quand le march\u00e9 est au plus haut.</li>\n</ul><blockquote>\n<p>Il y a une grande diff\u00e9rence entre un courtier (vendeur) et un conseiller en investissement l\u00e9gitime. Un bon vendeur est celui qui g\u00e9n\u00e8re beaucoup de commissions. Un bon conseiller en investissement, en revanche, est celui qui sait comment maximiser votre r\u00e9ussite financi\u00e8re \u00e0 long terme.</p>\n</blockquote><h3>Chapitre 12\u00a0: Se faire avoir par les conflits d\u2019int\u00e9r\u00eat</h3><blockquote>\n<p>Un courtier qui accepte des commissions pour vous vendre des produits a un conflit d\u2019int\u00e9r\u00eat intrins\u00e8que.</p>\n</blockquote><p>Les conflits d\u2019int\u00e9r\u00eat entre les conseillers commissionn\u00e9s et leurs clients peuvent survenir de plusieurs mani\u00e8res\u00a0:</p><ul><li><strong>La concurrence entre courtiers</strong>, qui peuvent se dire que s\u2019ils n\u2019essayent pas de refourguer des produits qui leur payent de grosses commissions, d\u2019autres le feront \u00e0 leur place.</li>\n<li><strong>Les plus fortes commissions vont avec les produits les plus difficiles \u00e0 vendre</strong>, car ce sont les plus complexes et les plus risqu\u00e9s.</li>\n<li><strong>Lorsque vous n\u2019avez pas d\u2019argent \u00e0 investir, votre courtier se d\u00e9sint\u00e9ressera de vous</strong>, faute de pouvoir r\u00e9cup\u00e9rer des commissions, et cherchera son prochain client.</li>\n<li>Les personnes \u00e2g\u00e9es/retrait\u00e9es sont des cibles faciles pour les vendeurs malins\u00a0: <strong>elles ont plus d\u2019argent \u00e0 investir, ce qui signifie plus de commissions</strong>. Sur la base d\u2019incidents signal\u00e9s aux \u00c9tats-Unis, le nombre de personnes \u00e2g\u00e9es victimes de fraude \u00e0 l\u2019investissement est estim\u00e9 \u00e0 7,3 millions.</li>\n<li><strong>S\u2019attribuer des titres ou comp\u00e9tences exag\u00e9r\u00e9es dans le but de gagner la confiance des clients</strong>. Selon une \u00e9tude, un planificateur sur cinq seulement serait un Planificateur Financier Agr\u00e9\u00e9, m\u00eame si beaucoup se pr\u00e9sentent en tant que tel, bien qu\u2019ils n\u2019aient pas rempli toutes les conditions d\u2019acc\u00e8s au titre. Or, les titres de PFA ou de CIF exigent une formation rigoureuse.</li>\n<li><strong>Les commissions sont parfois tellement \u00e9lev\u00e9es qu\u2019il faut plusieurs ann\u00e9es aux clients pour uniquement r\u00e9cup\u00e9rer leur co\u00fbt</strong>.</li>\n<li>Certains produits sont pr\u00e9sent\u00e9s comme \u00e9tant \u00ab sans commissions \u00bb. En fait, <strong>la commission a simplement \u00e9t\u00e9 int\u00e9gr\u00e9e dans le prix du produit</strong>.</li>\n</ul><h3>Chapitre 13\u00a0: Se faire avoir par des pratiques non \u00e9thiques</h3><p>Dans le secteur du courtage, l\u2019absence d\u2019\u00e9thique, ou une \u00e9thique douteuse, est malheureusement tr\u00e8s commun. Voici quelques exemples\u00a0:</p><ul><li><strong><a href=\"https://des-livres-pour-changer-de-vie.com/vendre-loup-de-wall-street/\" target=\"_blank\" rel=\"noopener\">Vendre des produits</a> con\u00e7us pour produire un rendement m\u00e9diocre et des commissions \u00e9lev\u00e9es</strong>.</li>\n<li>Les courtiers doivent leur all\u00e9geance \u00e0 la compagnie dans laquelle ils travaillent, et non \u00e0 vous. En ce sens, <strong>dans le but de garder leur travail, ils feront toujours passer les int\u00e9r\u00eats de leur compagnie en premier.</strong></li>\n<li>Suivre la foule <strong>en prodiguant des conseils \u00ab faciles \u00e0 vendre \u00bb et dans \u00ab l\u2019\u00e8re du temps \u00bb</strong>, parfois par simple paresse (au lieu de prendre le temps de proposer des strat\u00e9gies r\u00e9fl\u00e9chies, et d\u2019\u00e9duquer leurs clients).</li>\n<li>Les managers <strong>ferment les yeux sur les pratiques peu \u00e9thiques de certains courtiers</strong>, lorsqu\u2019il s\u2019agit de bons vendeurs.</li>\n<li>Certaines soci\u00e9t\u00e9s ont un <strong>long historique de clients insatisfaits et d\u2019amendes li\u00e9es \u00e0 des d\u00e9cisions judiciaires</strong> (une simple recherche Google avec le nom d\u2019une soci\u00e9t\u00e9 de courtage accompagn\u00e9 des termes \u00ab plainte \u00bb ou \u00ab fraude \u00bb devrait vous renseigner).</li>\n<li><strong>De nombreux arguments de vente reposent sur des mensonges \u00e9hont\u00e9s</strong>. Un article du Wall Street Journal a rapport\u00e9 que les enfants commencent \u00e0 mentir \u00e0 l\u2019\u00e2ge de 2 ans. Entre 9 et 11 ans, ils arrivent \u00e0 tromper leurs parents trois fois sur quatre. Si de jeunes menteurs amateurs peuvent avoir une telle r\u00e9ussite, comment les parents font-ils face aux mensonges rod\u00e9s de leurs courtiers\u00a0?</li>\n</ul><h3>Chapitre 14\u00a0: Se faire avoir par de mauvaises informations</h3><p>Il est assez facile de se faire avoir par de mauvaises informations, qui peuvent aller du mensonge aux fausses d\u00e9clarations, en passant par des v\u00e9rit\u00e9s partielles qui vont contre vos int\u00e9r\u00eats.</p><p>Voici quelques exemples\u00a0:</p><ul><li><strong>Omettre de vous pr\u00e9ciser que les frais suppl\u00e9mentaires induits par certains produits auront \u00e0 long terme un \u00e9norme impact sur votre portefeuille</strong>. Payer 1% de frais en plus par an peut diminuer votre capital de dizaines ou centaines de milliers de dollars (ou d\u2019euros), au cours de votre vie d\u2019investisseur.</li>\n<li><strong>Vous dire ce que vous voulez entendre, plut\u00f4t que ce que vous avez besoin d\u2019entendre</strong> (par exemple, que les obligations \u00ab high yield \u00bb rapportent un gros rendement, sans pr\u00e9ciser que de telles obligations sont tr\u00e8s risqu\u00e9es).</li>\n<li>Vous orienter vers des fonds tr\u00e8s charg\u00e9s en frais, <strong>en omettant d\u00e9lib\u00e9r\u00e9ment de mentionner qu\u2019il existe aussi des fonds ayant des frais extr\u00eamement faibles</strong>.</li>\n<li><strong>Pr\u00e9senter un discours marketing rempli de statistiques trompeuses et vides de sens</strong>. Par exemple, la mise en avant des fonds not\u00e9s 5 \u00e9toiles sur Morningstar. Cette notation est bas\u00e9e sur l\u2019historique des rendements, qui n\u2019est en rien indicateur des rendements futurs. Ainsi, une \u00e9tude de Vanguard parue en 2009, portant sur des centaines de fonds durant 20 ans, a conclu qu\u2019un fonds not\u00e9 1 \u00e9toile avait m\u00eame plus de chance de surperformer son benchmark qu\u2019un fonds not\u00e9 5 \u00e9toiles.</li>\n<li><strong>Pr\u00e9senter des comparaisons hasardeuses, entre diff\u00e9rentes classes d\u2019actifs</strong> qui n\u2019ont rien de comparables, pour s\u2019attribuer de faux m\u00e9rites.</li>\n<li><strong>Insister sur des performances \u00e0 tr\u00e8s court terme r\u00e9alis\u00e9es lors des p\u00e9riodes favorables</strong>, qui sont en r\u00e9alit\u00e9 tr\u00e8s peu significatives, au lieu de se focaliser sur la performance \u00e0 long terme (celle que vont obtenir les clients). Aucune \u00e9tude n\u2019a jamais \u00e9tabli de lien entre la performance r\u00e9cente \u00e0 court terme et la performance \u00e0 long terme.</li>\n<li><strong>Une mauvaise information a des r\u00e9percussions tr\u00e8s fortes\u00a0: 75% des investisseurs ont un portefeuille qui ne leur convient pas</strong>, compte tenu de leur situation et de leurs objectifs, selon une \u00e9tude de la firme Schwab.</li>\n<li>Pr\u00e9senter un titre impressionnant et digne de confiance, qui cache une tout autre r\u00e9alit\u00e9. Une \u00e9tude de CEG Worldwide a conclu que plus de <strong>94% des professionnels qui se pr\u00e9sentent comme des \u00ab gestionnaires de patrimoine \u00bb (<em>Wealth managers</em>) se concentraient davantage sur la vente de produits que sur la gestion des questions financi\u00e8res de leurs clients</strong>.</li>\n<li><strong>N\u2019importe quel courtier peut d\u00e9nicher un fonds avec <em>track record</em> impressionnant sur 10 ans, afin d\u2019impressionner ses clients</strong>. Mais il ne peut s\u2019attribuer ce <em>track record</em> que dans le cas o\u00f9 il a recommand\u00e9 le fonds en question 10 ans auparavant, ce qui est souvent inv\u00e9rifiable (et donc probablement faux).</li>\n<li>De nombreux vendeurs de produits financiers ont <strong>tr\u00e8s peu de formation ou d\u2019exp\u00e9rience en mati\u00e8re d\u2019investissement</strong>. Ce qui compte le plus, c\u2019est qu\u2019ils soient avant tout de bons vendeurs.</li>\n<li><strong>Beaucoup de courtiers se pr\u00e9sentent comme des analystes capables de s\u00e9lectionner les bonnes actions pour vous</strong>, arguant qu\u2019un portefeuille contenant 10 titres est suffisamment diversifi\u00e9. Ils ne vous parleront jamais des \u00e9tudes qui montrent qu\u2019un portefeuille de 10 \u00e0 20 titres est bien plus risqu\u00e9 qu\u2019un portefeuille de 200 titres, alors que les deux ont une esp\u00e9rance de gain similaire.</li>\n</ul><h3>Chapitre 15\u00a0: Se faire avoir par de mauvais produits</h3><blockquote>\n<p>La majorit\u00e9 des produits financiers sont con\u00e7us principalement pour rapporter de l\u2019argent aux personnes qui les g\u00e8rent et les vendent.</p>\n</blockquote><p><strong>Beaucoup de produits peuvent \u00eatre qualifi\u00e9s de contraires \u00e0 l\u2019\u00e9thique, en raison de leurs frais et des commissions qui vont avec, mais aussi parce qu\u2019ils sont souvent vendus de mani\u00e8re trompeuse.</strong></p><p>Voici quelques exemples de mauvais produits\u00a0:</p><ul><li><strong>Les produits exclusifs</strong>\u00a0: les conseillers bancaires ne conseillent qu\u2019une seule famille de produits, celle de leur banque. M\u00eame chose pour les courtiers en assurance, qui ne proposent que les produits de leur compagnie d\u2019assurance. Cependant, il est toujours possible d\u2019obtenir des produits similaires ailleurs, et pour bien moins cher.</li>\n<li><strong>Les produits vendus par les banquiers et assureurs</strong>, dont l\u2019investissement n\u2019est pas le c\u0153ur de m\u00e9tier. Ces professionnels n\u2019ont <strong>qu\u2019une connaissance tr\u00e8s partielle de l\u2019investissement, et sont incapables de reconna\u00eetre un bon produit pour le client</strong> (dans le cas o\u00f9 ils placeraient l\u2019int\u00e9r\u00eat du client en premier), comme les fonds indiciels. Certains courtiers en assurance ne vendent d\u2019ailleurs des produits d\u2019investissement que dans le but d\u2019attirer des clients pour leur vendre par la suite des polices d\u2019assurance exorbitantes.</li>\n<li><strong>Les rentes index\u00e9es</strong>, vendues comme un placement garanti. Elles payent des commissions tr\u00e8s \u00e9lev\u00e9es, sont tr\u00e8s complexes \u00e0 comprendre et il est difficile d\u2019en sortir.</li>\n<li><strong>Les produits illiquides</strong>, que vous ne pouvez pas revendre \u00e0 un prix d\u00e9cent, ou sans avoir \u00e0 payer d\u2019\u00e9normes p\u00e9nalit\u00e9s. Le Document d\u2019Information Cl\u00e9 pour l\u2019Investisseur (DICI) indique clairement si le risque de liquidit\u00e9 est pr\u00e9sent pour un produit.</li>\n<li><strong>Les produits \u00e0 la mode</strong>\u00a0: lors de la bulle technologique de 1999-2000, plusieurs fonds \u00ab Internet \u00bb ont \u00e9t\u00e9 lanc\u00e9 et ont rapidement collect\u00e9 plusieurs milliards de dollars. Deux ans plus tard, ils avaient perdu 80% de leur valeur. N\u2019investissez jamais dans un fonds qui n\u2019a pas un historique de performance suffisamment long.</li>\n<li><strong>Les FPI (Fonds de Placement Immobilier) / REIT (Real Estate Investment Trust) non cot\u00e9s</strong>. Le site InvestmentNews.com a rapport\u00e9 que sur une p\u00e9riode de 7 ans, les 8 plus grands FPI non cot\u00e9s ont tout juste r\u00e9ussi \u00e0 \u00e9viter de perdre de l\u2019argent, en r\u00e9investissant leurs dividendes. Des commissions tr\u00e8s \u00e9lev\u00e9es (7 \u00e0 15%) et de lourds frais de gestion annuels (1,9%) sont \u00e0 l\u2019origine des performances catastrophiques des FPI non cot\u00e9s. Dans le m\u00eame temps, le FPI cot\u00e9 de Vanguard (tr\u00e8s peu charg\u00e9 en frais) s\u2019est appr\u00e9ci\u00e9 de +50%.</li>\n<li><strong>Les rentes variables</strong>. Si elles garantissent un capital minimum en cas de d\u00e9c\u00e8s et une imposition diff\u00e9r\u00e9e, elles comportent aussi des frais et commissions \u00e9lev\u00e9es, une assurance obligatoire, peu d\u2019options d\u2019investissement et une charge fiscale potentiellement lourde. Il existe de biens meilleures fa\u00e7ons de pr\u00e9parer ou transmettre un capital, comme avec l\u2019assurance vie, qui offre \u00e9galement une imposition diff\u00e9r\u00e9e, sans les inconv\u00e9nients des rentes variables.</li>\n</ul><h3>Chapitre 16\u00a0: Se faire avoir par les \u00e9motions</h3><blockquote>\n<p>Les vendeurs de valeurs mobili\u00e8res ont mis au point de nombreux moyens, dont certains sont assez sournois et sordides, pour manipuler les investisseurs et les amener \u00e0 faire des choses qui rapporteront de l\u2019argent, mais pas n\u00e9cessairement \u00e0 l\u2019investisseur.</p>\n</blockquote><p><strong>Les d\u00e9cisions d\u2019achat sont bien plus souvent prises sur une base \u00e9motionnelle que rationnelle</strong>. Les vendeurs en sont parfaitement conscients, et cherchent \u00e0 vous enthousiasmer, afin que vos \u00e9motions prennent le pas sur votre raison.</p><p>Voici quelques exemples\u00a0:</p><ul><li><strong>Votre courtier pourra mettre en place de nombreuses strat\u00e9gies pour que vous le consid\u00e9riez comme un ami</strong>\u00a0: sourires de fa\u00e7ades, appels bienveillants sans discours commercial dans le seul but de nouer des liens, etc. Il sait qu\u2019il aura plus de facilit\u00e9 \u00e0 vous vendre ses produits si vous le consid\u00e9rez comme un ami.</li>\n<li><strong>Beaucoup de courtiers nouent des relations faussement amicales et se consid\u00e8rent comme sup\u00e9rieurs \u00e0 leurs clients</strong>. Cela se retrouve dans les termes qu\u2019ils utilisent pour parler entre eux de leurs clients. Jason Zweig, chroniqueur au Wall Street Journal, en a relev\u00e9 plusieurs\u00a0: \u00ab cr\u00e9tins, nuls, cibles, b\u00e9b\u00e9s phoques, pigeons, moutons, agneaux \u00e0 tondre\u2026 \u00bb.</li>\n<li><strong>Vous vendre des produits et actions avec une belle histoire</strong>\u00a0: \u00ab C\u2019est le prochain Apple ou Google \u00bb. La r\u00e9alit\u00e9 est que si une entreprise est vraiment prometteuse, les investisseurs avis\u00e9s y sont d\u00e9j\u00e0, et le potentiel de hausse de l\u2019action est d\u00e9j\u00e0 largement entam\u00e9. En 2012, Facebook a r\u00e9alis\u00e9 une gigantesque lev\u00e9e de fonds pour son introduction en bourse. Or, quelques mois plus tard, l\u2019action avait chut\u00e9 de pr\u00e8s de 50%.</li>\n<li><strong>Stimuler votre avidit\u00e9</strong>\u00a0: \u00ab Je vous recommande ceci, car je sens que le prix va monter \u00bb. Malheureusement, les prix refl\u00e8tent ce que pensent des millions d\u2019investisseurs, dont certains pourraient avoir un avis diff\u00e9rent de celui de votre courtier. Il est donc impossible de pr\u00e9dire l\u2019\u00e9volution des prix.</li>\n<li><strong>Vous inciter \u00e0 agir rapidement, avec un sentiment d\u2019urgence</strong> (aussi appel\u00e9 \u00ab scarcity \u00bb)\u00a0: \u00ab Ce produit est en quantit\u00e9 limit\u00e9e, d\u00e9cidez-vous maintenant\u00a0! \u00bb. Malheureusement, cela ne donne aucune certitude quant \u00e0 leur performance future.</li>\n<li><strong>Faire appel \u00e0 votre vanit\u00e9, en vous proposant des produits \u00ab con\u00e7us pour battre le march\u00e9 \u00bb, parce que vous \u00eates sp\u00e9cial, et que vous m\u00e9ritez mieux qu\u2019un rendement moyen</strong>. Ce discours est souvent employ\u00e9 pour vous vendre des fonds communs de placement g\u00e9r\u00e9s activement. C\u2019est sans compter les dizaines d\u2019\u00e9tudes qui ont d\u00e9montr\u00e9 que tr\u00e8s peu de fonds actifs battent r\u00e9ellement le march\u00e9, et qu\u2019ils ont des frais bien au-dessus de la moyenne (contrairement aux fonds indiciels, g\u00e9r\u00e9s passivement).</li>\n<li><strong>Faire appel \u00e0 votre impatience, afin de vous proposer sans cesse de nouvelles opportunit\u00e9s d\u2019investissement, toujours plus excitantes</strong>. C\u2019est la mentalit\u00e9 du chasseur\u00a0: foncer dans l\u2019inconnu avec excitation, en prenant des risques. Malheureusement, la voie du succ\u00e8s en investissement est bien plus ennuyeuse\u00a0: trouver une bonne strat\u00e9gie, puis l\u2019appliquer sur une longue p\u00e9riode\u00a0: c\u2019est la mentalit\u00e9 du fermier\u00a0: planter une graine, puis laisser faire la nature. Un courtier aura sans doute la mentalit\u00e9 du chasseur \u00e0 votre \u00e9gard, tandis qu\u2019un conseiller en investissement agr\u00e9\u00e9 aura davantage celle d\u2019un fermier.</li>\n<li><strong>Faire appel \u00e0 votre sentiment d\u2019importance</strong>, en vous proposant des \u00ab penny stocks \u00bb (des actions cot\u00e9es \u00e0 moins de 1 Dollar, ou 1 Euro). Vous pourriez ainsi vous sentir flatt\u00e9 poss\u00e9der des milliers d\u2019actions d\u2019une m\u00eame entreprise. Mais poss\u00e9der 10 actions valant 200 euros ou 10 000 actions valant 20 centimes revient au m\u00eame. De plus, le faible prix des \u00ab penny stocks \u00bb permettra \u00e0 votre courtier d\u2019appliquer de plus fortes commissions sur vente.</li>\n<li><strong>Vous donner un faux sentiment de s\u00e9curit\u00e9</strong>\u00a0: \u00ab Ne vous inqui\u00e9tez pas, votre portefeuille vaut bien plus que les prix actuels, soyez patient \u00bb. L\u2019objectif est simplement de vous conserver comme client aussi longtemps que possible, afin de pouvoir continuer \u00e0 vous vendre des produits.</li>\n</ul><blockquote>\n<p>Si vous investissez dans un fonds indiciel, vous \u00eates pratiquement assur\u00e9 d\u2019obtenir un rendement sup\u00e9rieur \u00e0 la moyenne. Si vous achetez un fonds g\u00e9r\u00e9 activement, il est tr\u00e8s probable que votre rendement soit inf\u00e9rieur \u00e0 la moyenne.</p>\n</blockquote><h2>Conclusion sur \u201cConseiller financier\u00a0: comment le choisir et en tirer le meilleur parti\u201d</h2><p>J\u2019ai choisi de r\u00e9sumer ce livre \u00ab\u00a0Conseiller financier\u00a0: comment le choisir et en tirer le meilleur parti\u00a0\u00bb, car il peut \u00eatre difficile de choisir un conseiller financier, pour ceux qui le souhaitent.</p><p>Parmi les personnes ayant d\u00e9j\u00e0 fait appel \u00e0 un CGP (Conseiller en Gestion de Patrimoine) ou \u00e0 un CIF (Conseiller en Investissements Financiers), beaucoup sont peu satisfaites par la qualit\u00e9 du service re\u00e7u. Si l\u2019on se met \u00e0 la place d\u2019une personne recherchant un conseiller financier digne de confiance, on s\u2019aper\u00e7oit qu\u2019il existe vraiment peu de ressources disponibles en fran\u00e7ais (en ligne, ou sous la forme d\u2019un livre), qui expliquent comment choisir un conseiller financier (CIF ou CGP).</p><p>Par contre, il se trouve qu\u2019il existe d\u2019excellentes ressources en anglais. Ce livre est l\u2019une d\u2019entre elles\u00a0: il a \u00e9t\u00e9 \u00e9crit par un ancien conseiller et gestionnaire de fonds, aujourd\u2019hui \u00e0 la retraite, qui dirige d\u00e9sormais une fondation pour l\u2019\u00e9ducation financi\u00e8re aux \u00c9tats-Unis.</p><p>Bien qu\u2019il y ait des diff\u00e9rences dans la culture de l\u2019investissement entre la France et\u00a0 les \u00c9tats-Unis, les principaux types de conseillers financiers restent les m\u00eames\u00a0: les non ind\u00e9pendants qui touchent des commissions, et les ind\u00e9pendants qui facturent des honoraires.</p><p>En France, il est difficile de saisir les tenants et aboutissants en choisissant un type de conseiller en particulier. Il y a peu de lisibilit\u00e9. Or, ce livre a le m\u00e9rite d\u2019expliquer le fonctionnement des diff\u00e9rents types de conseillers, ainsi que leurs avantages et inconv\u00e9nients\u00a0: des choses qui sont souvent mal expliqu\u00e9es (voir pas expliqu\u00e9es du tout) en France.</p><p>Par exemple, un conseiller pay\u00e9 par des commissions a l\u2019avantage de ne pas facturer d\u2019honoraires. En revanche, ses conseils se limiteront \u00e0 la gamme de produits de ses partenaires, et ses conseils n\u2019incluront sans doute aucun produit comportant peu de frais, comme les ETF.\u00a0 De plus, l\u2019existence de commissions introduit un risque de conflit d\u2019int\u00e9r\u00eats entre le conseiller et le client.</p><p>A contrario, un conseiller pay\u00e9 par ses clients (via des honoraires) est libre de conseiller les produits les plus efficients \u00e0 ses clients, et est plus susceptible de d\u00e9livrer un conseil objectif, sans potentiel conflit d\u2019int\u00e9r\u00eat. Cependant, ce type de conseiller facture des honoraires.</p><p>Dans plusieurs pays (Australie, Pays-Bas, Royaume-Uni, et certains pays nordiques), il n\u2019existe qu\u2019un seul type de conseiller\u00a0: celui qui facture des honoraires. Dans ces pays, il est interdit pour un conseiller de toucher des commissions sur les produits conseill\u00e9s. Mais en France comme aux \u00c9tats-Unis, cela reste l\u00e9gal.</p><p>Ce livre nous donne \u00e9galement un mode d\u2019emploi pr\u00e9cis pour trouver un bon conseiller financier\u00a0: o\u00f9 le trouver, quelles questions lui poser, ce qu\u2019il faut v\u00e9rifier avant de l\u2019engager et comment travailler efficacement avec lui.</p><p>Si la premi\u00e8re partie\u00a0 du livre est un guide pratique qui explique comment trouver un conseiller, la seconde partie nous donne un aper\u00e7u des pi\u00e8ges qui guettent les investisseurs qui choisiraient leur conseiller au hasard.</p><p>En effet, les nombreux exemples d\u00e9crits dans le livre nous montrent que tous les courtiers et CGP n\u2019ont pas forc\u00e9ment une grande consid\u00e9ration pour leurs clients, et que certains ont des pratiques parfois peu \u00e9thiques (voir contraires \u00e0 l\u2019\u00e9thique). En mettant ces pi\u00e8ges en lumi\u00e8re, le livre nous d\u00e9livre une mise en garde, et nous permet d\u2019identifier facilement les comportements et produits qui ne vont pas dans notre int\u00e9r\u00eat.</p><p>Il s\u2019agit donc pour moi d\u2019un livre essentiel \u00e0 lire, pour qui souhaite trouver un bon conseiller financier.</p><p style=\"text-align: right;\"><em>Antonin du site</em> <a href=\"https://alti-patrimoine.fr/\" class=\"external\" target=\"_blank\">Alti Patrimoine</a></p><p><em>Points <strong>forts\u00a0:</strong></em></p><ul><li>Un guide pratique qui explique point par point comment trouver et reconna\u00eetre un bon conseiller financier.</li>\n<li>Ce qu\u2019il faut savoir pour travailler le plus efficacement possible avec son conseiller.</li>\n<li>La seconde partie qui d\u00e9crit un grand nombre de pi\u00e8ges, dans le but de pouvoir les reconna\u00eetre et les \u00e9viter.</li>\n</ul><p><em>Points <strong>faibles\u00a0:</strong></em></p><ul><li>Les chapitres de la deuxi\u00e8me partie, sous la forme de listes d\u00e9taill\u00e9es, sont parfois un peu longs.</li>\n<li>Il est n\u00e9cessaire de transposer les statuts et les situations d\u00e9crits du syst\u00e8me Am\u00e9ricain vers la France.</li>\n</ul><p>Ma note\u00a0:</p><p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png?is-pending-load=1\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image6.png\" alt=\"image\" width=\"24\" height=\"22\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n<p style=\"text-align: center;\">Avez-vous lu le livre <em>\u201cConseiller financier\u00a0: comment le choisir et en tirer le meilleur parti\u201d</em> de Paul A. Merriman\u00a0? Combien le notez-vous\u00a0?</p><p style=\"text-align: center;\"><img width=\"16\" height=\"16\" id=\"rating_25875_1\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif?is-pending-load=1\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" srcset=\"\" class=\"jetpack-lazy-image c10\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"16\" height=\"16\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<p><img width=\"16\" height=\"16\" id=\"rating_25875_2\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Passable - Un ou deux passages int\u00e9ressants\" title=\"Passable - Un ou deux passages int\u00e9ressants\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_25875_3\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Moyen - Quelques bonnes id\u00e9es\" title=\"Moyen - Quelques bonnes id\u00e9es\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_25875_4\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" title=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_25875_5\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" title=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n(<strong>2</strong>votes, moyenne:<strong>5,00</strong>out of 5)<br />\n<p><img src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\nLoading...<p style=\"text-align: center;\"><a href=\"https://amzn.to/3Jhul7U\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin de lire plus de commentaires sur le livre</a> de Paul A. Merriman <em>\u201cConseiller financier\u00a0: comment le choisir et en tirer le meilleur parti\u201d</em></p><p style=\"text-align: center;\"><a href=\"https://amzn.to/3qFa7wL\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin d\u2019acheter le livre</a> de Paul A. Merriman <em>\u201cConseiller financier\u00a0: comment le choisir et en tirer le meilleur parti\u201d</em></p><noscript>\n</noscript>Recherches utilis\u00e9es pour trouver cet article\u00a0:<p>des-livres-pour-changer-de-vie com/category/finances-personnelles/</p>",
    "created_at": "2022-05-02T07:55:35+00:00",
    "updated_at": "2022-05-02T07:55:42+00:00",
    "published_at": "2022-02-24T16:00:37+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 37,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/Comment-choisir-votre-conseiller-financier.png",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["livre", "resume", "bien-etre"],
    "is_public": false,
    "id": 22,
    "title": "GUIDE DU BURN-OUT R\u00e9sum\u00e9 et avis - Anne Everard",
    "url": "https://des-livres-pour-changer-de-vie.com/guide-du-burn-out/",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><p style=\"text-align: center;\"><strong><a href=\"https://amzn.to/3qq3oaK\" target=\"_blank\" rel=\"noopener\" class=\"external\">\n<p><img class=\"c7\" title=\"guide du burn-out anne everard\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/guide-du-burn-out-anne-everard.jpg\" alt=\"guide du burn-out anne everard\" width=\"226\" height=\"350\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</a></strong></p><blockquote>\n<p><strong>R\u00e9sum\u00e9 du \u201c<em>Guide du Burn-Out \u2013 Comment l\u2019\u00e9viter\u00a0? Comment s\u2019en sortir\u00a0?\u201d</em></strong> d\u2019Anne Everard\u00a0: C\u2019est <strong>LE livre \u00e0 mettre entre les mains de toute personne en plein burn-out</strong>, afin de l\u2019aider \u00e0 <strong>comprendre</strong> ce qui lui arrive et \u00e0 <strong>gu\u00e9rir.</strong></p>\n</blockquote><p>Par Anne Everard, 2017, 224 pages</p><p><em>Note\u00a0: Cet article invit\u00e9 a \u00e9t\u00e9 \u00e9crit par Audrey Oc\u00e9ana du blog</em> <a href=\"https://lesondubonheur.com/\" target=\"_blank\" rel=\"noopener\" class=\"external\"><em>Le Son du Bonheur</em></a><em>.</em></p><h2>Chronique et R\u00e9sum\u00e9 du \u201cGuide du Burn-out\u201d d\u2019Anne Everard</h2><p>Anne Everard a con\u00e7u son livre comme un guide pratique, dans lequel nous pouvons aller chercher les informations qui nous int\u00e9ressent sans \u00eatre oblig\u00e9s de suivre la chronologie du livre.</p><p>Elle surnomme affectueusement les <strong><em>\u00ab burnies \u00bb,</em> les personnes atteintes de burn-out.</strong></p><p><em>Les chapitres ont ici \u00e9t\u00e9 num\u00e9rot\u00e9s pour faciliter la lecture du r\u00e9sum\u00e9.</em></p><h3><strong>Chapitre 1\u00a0: Quand le burn-out est l\u00e0</strong></h3><blockquote>\n<p>\u00ab Ce qui ne me tue pas, me rend plus fort \u00bb Friedrich Nietzsche</p>\n</blockquote><p>Dans ce premier chapitre du Guide du burn-out, Anne Everard nous explique ce qu\u2019est un burn-out.</p><p>Chaque personne atteinte de burn-out, \u00ab les burnies \u00bb, <strong>a sa propre histoire,</strong> ses propres sympt\u00f4mes.</p><p>N\u00e9anmoins, nous pouvons <strong>retrouver des points communs \u00e0 tous</strong>\u00a0:</p><ul><li>Contrairement \u00e0 un surmenage, <strong>se reposer quelques jours ou semaines ne suffiront pas</strong> \u00e0 gu\u00e9rir.</li>\n<li>La personne se sent litt\u00e9ralement <strong>vid\u00e9e de son \u00e9nergie</strong>, m\u00eame si de l\u2019ext\u00e9rieur, elle n\u2019a rien laiss\u00e9 para\u00eetre.</li>\n<li><strong>Le corps du burnie s\u2019arr\u00eate brutalement de fonctionner, quoiqu\u2019en dise sa t\u00eate</strong>. Il est comme br\u00fbl\u00e9 de l\u2019int\u00e9rieur.</li>\n<li><strong>Il y a un \u00e9puisement physique, \u00e9motionnel et mental</strong>, m\u00eame si la proportion entre les 3 peut-\u00eatre variable selon les burnies</li>\n</ul><blockquote>\n<p>\u00ab Fondamentalement, le burn-out se manifeste lorsque notre t\u00eate prend le contr\u00f4le de notre vie et que notre corps estime que l\u2019on est trop \u00e9loign\u00e9 de ce qui est juste pour nous. Il fait alors sauter les plombs \u00bb, Anne Everard</p>\n</blockquote><p>De nombreux t\u00e9moignages viennent compl\u00e9ter cette partie\u00a0:</p><blockquote>\n<p><em>\u00ab Un vendredi soir, j\u2019ai travaill\u00e9 jusqu\u2019\u00e0 23h pour boucler mes dossiers. <strong>Je suis rentr\u00e9 chez moi et me suis effondr\u00e9.</strong> Un effondrement total \u00bb Jacques \u2013 informaticien \u2013 52 ans</em></p>\n<p><em>\u00ab Un matin, j\u2019\u00e9tais au volant de la voiture pour rejoindre le bureau \u2026 <strong>les larmes ont coul\u00e9, impossible d\u2019avancer,</strong> je vivais \u00e0 100 \u00e0 l\u2019heure, j\u2019\u00e9tais pr\u00eate \u00e0 exploser comme une cocotte minutes \u00bb, V\u00e9ronique \u2013 ing\u00e9nieur \u2013 49 ans</em></p>\n<p><em>\u00ab Le matin, je ne me suis plus lev\u00e9e, quelqu\u2019un avait d\u00e9branch\u00e9 la prise [\u2026] j\u2019ai dormi pendant trois mois \u00bb, Anne \u2013 juriste \u2013 47 ans</em></p>\n</blockquote><p><img title=\"burn out agir rapidement\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/burn-out-agir-rapidement.jpg?is-pending-load=1\" alt=\"burn out agir rapidement\" width=\"600\" height=\"450\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"burn out agir rapidement\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/burn-out-agir-rapidement.jpg\" alt=\"burn out agir rapidement\" width=\"600\" height=\"450\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p>L\u2019auteure conseille <strong>d\u2019aller consulter son g\u00e9n\u00e9raliste</strong> d\u00e8s la suspicion de la maladie, afin de prendre les mesures n\u00e9cessaires le plus vite possible. Votre g\u00e9n\u00e9raliste doit \u00eatre votre alli\u00e9 tout au long de votre parcours.</p><p>D\u00e8s le diagnostic pos\u00e9 par un m\u00e9decin, Anne Everard soulignedans son guide, <strong>qu\u2019il est indispensable de s\u2019arr\u00eater compl\u00e9tement. Le burnie doit</strong> <strong>reprendre des forces</strong>. Ne poussez pas d\u2019avantage votre corps, au <strong>risque de chuter encore plus bas</strong> et de retarder votre gu\u00e9rison. Malheureusement, de nombreux burnies tombent dans cet \u00e9cueil.</p><h3><strong>Chapitre 2</strong><strong>\u00a0: Les causes du burn-out</strong></h3><p>Dans son guide, Anne Everard nous explique qu\u2019un burn-out est bien <strong>d\u2019ordre psychologique</strong> puisqu\u2019aucun microbe n\u2019est venu frapper le burnie.</p><p>Aussi, il est primordial d\u2019en <strong>comprendre l\u2019origine afin d\u2019\u00e9viter de reproduire les m\u00eames erreurs, qui aboutiraient aux m\u00eames cons\u00e9quences.</strong></p><p><strong>A noter que le burn-out est une maladie qui touche tous les types de population.</strong> Les travailleurs sont ceux dont on entend le plus parler, mais il touche aussi les m\u00e8res au foyer et les adolescents.</p><p>Anne Everard, se penche dans son guide sur les causes du burn-out. Elle pr\u00e9cise qu\u2019elles sont <strong>souvent multifactorielles</strong>\u00a0:</p><ul><li>\n<h4><strong>Cause # 1 du burn-out \u2013 La vie professionnelle</strong>\u00a0:</h4>\n</li>\n</ul><p>Le monde du travail a fortement \u00e9volu\u00e9 ces derni\u00e8res ann\u00e9es.</p><p><strong>Avec l\u2019arriv\u00e9e d\u2019internet, tout s\u2019est acc\u00e9l\u00e9r\u00e9\u00a0: les demandes, les \u00e9ch\u00e9ances, les projets, \u2026. Tout devient <a href=\"https://des-livres-pour-changer-de-vie.com/priorite-aux-priorites/\" target=\"_blank\" rel=\"noopener\">urgent et prioritaire</a>.</strong></p><p>L<strong>a pression et le stress sont de plus en plus forts</strong> au sein des entreprises.</p><blockquote>\n<p><em>\u00ab Mes clients <strong>envoient un mail et appellent cinq minutes pour savoir ce que je leur propose</strong>. [\u2026] Les rendements doivent \u00eatre plus \u00e9lev\u00e9s, [\u2026] <strong>plus d\u2019agressivit\u00e9, de pression, je n\u2019en peux plus</strong> \u00bb. Val\u00e9rie \u2013 employ\u00e9e de bureau \u2013 55 ans.</em></p>\n<p><em>\u00ab Le management passait son temps \u00e0 <strong>intercaler des projets additionnels</strong> aux objectifs, [\u2026] <strong>toujours plus de travail et une \u00e9norme pression</strong> \u00bb. Jacques</em></p>\n</blockquote><p>La modification des espaces de travail et la multiplication des <strong>open-space ont \u00e9galement rendu plus difficiles les temps de r\u00e9cup\u00e9ration</strong> et de retour au calme.</p><p>De plus, avec l\u2019introduction des t\u00e9l\u00e9phones et ordinateurs portables, la <strong>fronti\u00e8re entre vie priv\u00e9e et vie professionnelle</strong> <strong>est, d\u00e8s fois, devenue tr\u00e8s floue</strong>. Au sein m\u00eame de leur vie priv\u00e9e, les personnes sont hyperconnect\u00e9es, rarement au repos ou seule avec elles-m\u00eames.</p><p><strong>Tous ces \u00e9l\u00e9ments accentuent les risques de burn-out.</strong></p><ul><li>\n<h4><strong>Cause # 2 du burn-out \u2013 La vie priv\u00e9e\u00a0:</strong></h4>\n</li>\n</ul><p>Dans son guide, l\u2019auteure nous explique qu\u2019un burn-out peut \u00e9galement prendre <strong>sa source dans le domaine personnel.</strong> La <strong>naissance des enfants</strong> est une des \u00e9tapes qui peut cr\u00e9er une <strong>d\u00e9sorganisation ou une surcharge</strong> limitant les temps de repos n\u00e9cessaires \u00e0 un bon \u00e9quilibre.</p><blockquote>\n<p><em>\u00ab Mes enfants m\u2019occupaient 20 heures par jour, 7 jours sur 7. Je commen\u00e7ais \u00e0 p\u00e9ricliter. Pascale \u2013 m\u00e8re de famille \u2013 33 ans.</em></p>\n<p><em>\u00ab Mon emploi du temps \u00e9tait d\u00e9j\u00e0 bien rempli avant l\u2019arriv\u00e9e des enfants. J\u2019ai continu\u00e9 \u00e0 travailler autant. Les mauvaises nuits en plus. Mon travail n\u2019avan\u00e7ait pas comme je le voulais, je devais m\u2019y mettre les soirs et les weekends \u00bb. Anne</em></p>\n</blockquote><p>Diff\u00e9rents accidents de vie comme une <strong>s\u00e9paration, un divorce, une maladie ou un d\u00e9c\u00e8s</strong> peuvent \u00e9galement <strong>fragiliser notre \u00e9quilibre</strong> personnel et mener au burn-out.</p><blockquote>\n<p><em>\u00ab J\u2019ai d\u00fb porter la famille \u00e0 bout de bras. <strong>J\u2019aidais tout le monde et moi j\u2019\u00e9tais an\u00e9antie</strong> \u00bb. Sophie \u2013 Fleuriste \u2013 37 ans</em></p>\n</blockquote><ul><li>\n<h4><strong>Cause # 3 du burn-out\u00a0: Les causes individuelles</strong></h4>\n</li>\n</ul><p>Le burn-out trouve \u00e9galement sa source dans la personnalit\u00e9 m\u00eame du burnie.</p><p>Ce sont souvent des personnes <strong>enthousiastes, dynamiques, voire hyperactives</strong> et de <strong>tr\u00e8s bons professionnels</strong> qui sont victimes de burn-out<strong>.</strong></p><blockquote>\n<p><strong>\u00ab Souvent on retrouve des caract\u00e9ristiques communes dans la personnalit\u00e9 des burnies\u00a0: le perfectionniste, l\u2019envie de bien faire, le sens de l\u2019effort, un certain id\u00e9alisme \u00bb.</strong></p>\n</blockquote><p>Le burnie est souvent une personne qui <strong>s\u2019en demande beaucoup trop avec des id\u00e9aux difficiles</strong> \u00e0 atteindre\u00a0: <strong>il veut tout assumer, sur tous les fronts, en m\u00eame temps</strong> : travail, enfants, famille, couple, maison, amis\u2026 et objectifs personnels.</p><p>Sa vie est <strong>jalonn\u00e9e de multiples \u00ab il faut\u2026 \u00bb et \u00ab je dois\u2026 \u00bb</strong>, qu\u2019il confond avec des valeurs fondamentales.</p><p>Beaucoup de ces injonctions prennent leur <strong>source dans l\u2019environnement \u00e9ducatif ou soci\u00e9tal</strong> du burnie. Quoiqu\u2019il en soit, dans son guide, Anne Everard insiste sur le fait qu\u2019il ne s\u2019agit l\u00e0 que de <strong>croyances qu\u2019il faut r\u00e9ussir \u00e0 identifier pour pouvoir mieux les expulser de son esprit.</strong></p><blockquote>\n<p><em>\u00ab Il faut essayer de <strong>ne pas toujours \u00eatre parfait</strong>. Vous savez, c\u2019est \u00e9puisant d\u2019\u00eatre parfait \u00bb, Philippe</em></p>\n<p><em>\u00ab Aujourd\u2019hui encore, <strong>j\u2019ai tendance \u00e0 m\u2019investir corps et \u00e2me</strong>. Je dois \u00eatre vigilant \u00bb, \u00c9ric.</em></p>\n</blockquote><p>Le burnie va devoir <a href=\"https://des-livres-pour-changer-de-vie.com/lacher-prise/\" target=\"_blank\" rel=\"noopener\">apprendre \u00e0 l\u00e2cher</a>.</p><ul><li>\n<h4><strong>Cause # 4 du burn-out\u00a0: Les causes soci\u00e9tales</strong></h4>\n</li>\n</ul><p>Le burn-out est souvent un m\u00e9lange de diff\u00e9rentes causes, propres au burnie mais \u00e9galement plus larges avec l\u2019\u00e9volution de notre soci\u00e9t\u00e9.</p><p>Dans cette partie de son guide, Anne Everard s\u2019appuie sur plusieurs livres et parutions* pour dire que le <strong>nombre de burn-out est en constante augmentation</strong>.</p><p>L\u2019\u00e9volution de notre monde moderne peut expliquer cette tendance. En cause\u00a0: une <strong>perte de sens g\u00e9n\u00e9ralis\u00e9e en notre monde du travail</strong>, et un \u00e9lan de la <strong>soci\u00e9t\u00e9 qui en demande toujours plus. Ces ph\u00e9nom\u00e8nes se traduisent par un d\u00e9s\u00e9quilibre global, propice \u00e0 engendrer des burn-out.</strong></p><blockquote>\n<p><em>*Pascal Chabot, Global Burn-out PUF 2013</em></p>\n<p><em>* Christina Maslach et Michael Leiter, Burn-out, le syndrome d\u2019\u00e9puisement professionnel, Les Ar\u00e8nes, 2011</em></p>\n</blockquote><h4><strong>Burn-out\u00a0: La maladie du \u00ab trop \u00ab\u00a0 et du \u00ab pas juste \u00bb</strong></h4><p>Dans son livre, Anne Everard revient plusieurs fois sur le fait que leburn-out est la maladie du \u00ab trop \u00bb et du \u00ab pas juste \u00bb. <strong>Le burnie en fait souvent trop. C\u2019est d\u00fb \u00e0 sa personnalit\u00e9.</strong> Nous l\u2019avons vu plus haut. Mais aussi du \u00ab pas juste \u00bb\u00a0: <strong>Le burn-out survient souvent lorsqu\u2019il y a un trop fort d\u00e9calage entre ses valeurs et son environnement.</strong></p><p><strong>Dans les deux ans avant leur burn-out, les burnies ont souvent vu un changement important dans leur vie qui ne correspondait plus \u00e0 leurs valeurs.</strong></p><blockquote>\n<p><em>\u00ab <strong>Mon burn-out est le r\u00e9sultat d\u2019un conflit [interne]</strong>\u00a0: \u00ab une partie disant, je ne veux pas et l\u2019autre \u00e7a m\u2019est \u00e9gal, on continue et <strong>surcompense</strong> \u00bb. Jean \u2013 Editeur \u2013 50 ans</em></p>\n</blockquote><h3><strong>Chapitre 3\u00a0: Qui est sujet au burn-out\u00a0?</strong></h3><p><strong>Les premiers burnies</strong> \u00e9taient essentiellement des <strong>personnes issues du monde m\u00e9dical ou de l\u2019enseignement.</strong> <strong>Ce n\u2019est plus vrai de nos jours. Toutes les cat\u00e9gories socio-professionnelles et tous les \u00e2ges sont touch\u00e9s.</strong></p><h4><strong>Y-a-t-il de plus en plus de burn-out\u00a0?</strong></h4><p>Il est encore <strong>difficile de r\u00e9pondre pr\u00e9cis\u00e9ment \u00e0 cette question.</strong> En effet, Anne Everard nous explique dans son guide, que l\u2019obtention de chiffres s\u2019av\u00e8re compliqu\u00e9e<strong>. D\u00e9j\u00e0 parce que le burn-out n\u2019est pas encore reconnu dans la classification internationale des maladies*. Ensuite,</strong> le burn-out est une <strong>maladie encore mal identifi\u00e9e,</strong> qui est souvent confondue avec d\u2019autres, comme la d\u00e9pression ou \u00ab le trouble de l\u2019adaptation \u00bb. Enfin, <strong>aucun outil de diagnostic permettant des mesures chiffr\u00e9es n\u2019existe aujourd\u2019hui.</strong></p><p><em>*Les principales classifications aujourd\u2019hui sont le DSM65 et CIM-11</em></p><h4><strong>Y-a-t-il plus de burn-out chez les femmes\u00a0?</strong></h4><p><strong>On pressent que les femmes sont plus touch\u00e9es du fait de la multiplication de leur r\u00f4le</strong> au sein de la famille et dans le monde professionnel. Mais l\u00e0 encore les donn\u00e9es chiffr\u00e9es manquent. En revanche, les femmes <strong>mettent plus de temps que les hommes \u00e0 gu\u00e9rir</strong>.</p><p>Les femmes doivent arriver \u00e0 <strong>trouver une juste mesure dans la mani\u00e8re dont elles investissent</strong> les diff\u00e9rents r\u00f4les de leur vie.</p><h4><strong>Pourquoi moi et pas mon coll\u00e8gue\u00a0?</strong></h4><p><strong>Nous avons vu que les burnies \u00e9taient des personnes surinvesties qui \u00ab oublient \u00bb de se reposer.</strong></p><p>Le probl\u00e8me n\u2019est pas tant la pression (m\u00eame si bien s\u00fbr cela y joue), mais plut\u00f4t le <strong>temps de r\u00e9cup\u00e9ration entre deux phases de pression</strong>. Si celles-ci sont <strong>trop courtes ou inexistantes</strong> et ce \u00e0 r\u00e9p\u00e9tition, vous entrez dans des zones de dangers. Si vous rajoutez \u00e0 cela des zones d\u2019insatisfaction, u<strong>n jour le corps l\u00e2che</strong> et c\u2019est le burn-out.</p><p><strong>Le burnie a pouss\u00e9 son corps au-del\u00e0 de ses limites trop longtemps.</strong></p><blockquote>\n<p><em>\u00ab <strong>La superwoman c\u2019est fini</strong>. Et c\u2019est tr\u00e8s bien ainsi \u00bb, Anne</em></p>\n</blockquote><p>Dans son guide sur le burn-out Anne Everard insiste sur <strong>l\u2019importance de la pr\u00e9vention au sein des entreprises et au niveau des politiques de sant\u00e9 publique</strong>. En effet, il est toujours beaucoup plus facile d\u2019op\u00e9rer quelques changements en amont, que lorsque le burn-out est av\u00e9r\u00e9.</p><h3><strong>Chapitre 4\u00a0: Quand le corps l\u00e2che</strong></h3><h4><strong>Les signes annonciateurs</strong></h4><p><strong>Avant que le corps ne l\u00e2che, il y a toujours de nombreux signaux pr\u00e9curseurs que le burnie n\u2019a pas entendus \u2013 ou voulu entendre.</strong></p><p>Parmi eux, nous retrouvons toutes les <strong>douleurs physiques</strong> telles que le mal de dos, nuque, \u00e9paules, t\u00eate, bras,\u2026</p><p>Les <strong>fonctions de notre corps peuvent aussi \u00eatre perturb\u00e9es</strong> comme avec l\u2019arriv\u00e9e de probl\u00e8mes digestifs, cardiaques, nerveux (probl\u00e8me de concentration, de m\u00e9moire..), hormonaux, immunitaires, d\u2019insomnies\u2026 La liste est longue.</p><p>Il peut aussi y avoir un <strong>dysfonctionnement \u00e9motionnel</strong>\u00a0: mal-\u00eatre, irritabilit\u00e9\u2026</p><p>Ses maux peuvent appara\u00eetre bien longtemps avant le burn-out et mettront du temps \u00e0 disparaitre.</p><blockquote>\n<p><em>\u00ab J\u2019avais <strong>mal sans interruption dans le bras et l\u2019\u00e9paule</strong> droit. L\u2019ost\u00e9o m\u2019a dit que j\u2019en faisais trop. [\u2026] <strong>Je n\u2019ai \u00e9cout\u00e9 ni mon corps ni mon ost\u00e9o</strong>. Si j\u2019avais su\u2026 \u00bb, Anne</em></p>\n<p><em>\u00ab J\u2019accumulais pas mal de signes annonciateurs\u00a0: de multiples <strong>inflammations des tendons</strong>, [\u2026] <strong>mal dans les os des poignets, jambes, bras, des insomnies</strong>, [\u2026]je grin\u00e7ais des dents, j\u2019\u00e9tais irritable \u00bb Marie \u2013 Employ\u00e9e \u2013 49 ans</em></p>\n<p><em>\u00ab <strong>L\u2019ironie et la col\u00e8re</strong> s\u2019installaient en moi, [\u2026] <strong>maux de t\u00eate et accouph\u00e8nes</strong> \u00bb, \u00c9ric \u2013 Chef de Projet \u2013 55 ans</em></p>\n</blockquote><p><img title=\"burn-out mental\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/burn-out-mental.jpg?is-pending-load=1\" alt=\"burn-out mental\" width=\"600\" height=\"202\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"burn-out mental\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/burn-out-mental.jpg\" alt=\"burn-out mental\" width=\"600\" height=\"202\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4><strong>Les bobos connexes</strong></h4><p>Au moment de l\u2019apparition du burn-out, de <strong>nouveaux sympt\u00f4mes</strong> peuvent appara\u00eetre\u00a0: nouvelles douleurs et <strong>fatigue physique,</strong> mais aussi fatigue <strong>morale</strong> (on pleure ou s\u2019\u00e9nerve pour un rien\u2026), <strong>fatigue mentale</strong> (on est <strong>incapable de se concentrer, notre m\u00e9moire peut faire d\u00e9faut</strong>\u2026).</p><p>Anne Everard pr\u00e9vient dans son guide qu\u2019il <strong>faut \u00eatre patient</strong> et que tout rentrera dans l\u2019ordre avec la fin du burn-out.</p><h4><strong>Le burn-out n\u2019est pas une d\u00e9pression, mais\u2026</strong></h4><p>Le burn-out n\u2019est pas une d\u00e9pression. Dans cette partie de son guide, l\u2019auteure nous explique la <strong>diff\u00e9rence entre</strong> ces deux maladies.</p><p><strong>La principale diff\u00e9rence r\u00e9side dans le fait que le burnie souffre essentiellement d\u2019une fatigue harassante, alors qu\u2019une personne d\u00e9pressive souffre de tristesse.</strong></p><p>Le burnie peut \u00eatre triste mais de mani\u00e8re moins importante. Il <strong>continue d\u2019avoir des projets, des envies, du plaisir</strong> (exception faite pour ce qui a provoqu\u00e9 le burn-out). Il peut avoir des <strong>phases o\u00f9 il se sent bien notamment apr\u00e8s la sieste</strong> ou pendant des vacances. Le risque de suicide est faible et les insomnies variables.</p><p>Une <strong>personne d\u00e9pressive</strong> en revanche, ressent une fatigue moins forte que le burnies. Elle a des <strong>difficult\u00e9s \u00e0 se projeter</strong>, \u00e0 prendre du plaisir et <strong>ne conna\u00eet pas de moment de r\u00e9cup\u00e9ration</strong> m\u00eame apr\u00e8s des moments agr\u00e9ables. Le <strong>risque de suicide est plus grand</strong> et les <strong>insomnies plus fr\u00e9quentes.</strong></p><blockquote>\n<p><em>\u00ab <strong>J\u2019avais encore des projets, des souhaits,</strong> [\u2026] m\u00eame si j\u2019\u00e9tais <strong>incapable de les r\u00e9aliser</strong> \u00bb, Olivia \u2013 44 ans \u2013 Gestionnaire d\u2019investissements publics</em></p>\n</blockquote><h4><strong>Comprendre l\u2019\u00e9puisement physique</strong></h4><p>L\u2019\u00e9puisement est tel qu\u2019il peut \u00eatre difficile \u00e0 comprendre vu de l\u2019ext\u00e9rieur. <strong>Le corps a beau dormir, la fatigue reste.</strong> Anne Everard souligne dans son guide, que cela peut \u00eatre une <strong>grande source de frustration pour la personne en burn-out et sa famille</strong>.</p><p><strong>En moyenne un burnie met entre 6 et 18 mois \u00e0 gu\u00e9rir. Il faut s\u2019armer de patience. L\u2019important est de remonter la pente \u00e0 son rythme.</strong></p><p>L\u2019auteure insiste sur le fait que de par son comportement fort et volontaire, le <strong>burnie croit toujours qu\u2019il va s\u2019en sortir plus vite que les autres</strong>. Mais <strong>c\u2019est faux.</strong> Plus vite cette r\u00e9alit\u00e9 sera int\u00e9gr\u00e9e, plus vite il pourra amorcer sa gu\u00e9rison.</p><p><strong>Le burnie doit l\u00e2cher-prise sur le temps\u00a0: pour la premi\u00e8re fois de sa vie, ce n\u2019est pas sa t\u00eate qui d\u00e9cide mais son corps.</strong></p><h3><strong>Chapitre 5\u00a0: Priorit\u00e9 n\u00b01\u00a0: R\u00e9tablir votre \u00e9nergie</strong></h3><h4><strong>La th\u00e9orie du f\u00fbt d\u2019\u00e9nergie et les vertus de la sieste</strong></h4><p><strong>Le probl\u00e8me du burnie</strong> \u2013 pour rappel c\u2019est une personne \u00e0 la base tr\u00e8s dynamique \u2013 est <strong>qu\u2019\u00e0 peine il retrouve un peu d\u2019\u00e9nergie</strong>, <strong>il la d\u00e9pense imm\u00e9diatement</strong>, <strong>et se retrouve de nouveau \u00e0 plat</strong>. Et c\u2019est la rechute. S\u2019en suit d\u00e9couragement et frustration.</p><p>Dans son guide, Anne Everard nous explique que <strong>chacun d\u2019entre nous a un f\u00fbt d\u2019\u00e9nergie qui se remplit et se vide r\u00e9guli\u00e8rement</strong>. Le <strong>f\u00fbt du burnie est totalement vide</strong>. Aussi, pour gu\u00e9rir, il doit <strong>arr\u00eater toute activit\u00e9</strong> et de se mettre en <strong>mode \u00ab \u00e9conomie d\u2019\u00e9nergie</strong> <strong>\u00bb afin de le remplir \u00e0 nouveau.</strong></p><p>S\u2019il br\u00fble les \u00e9tapes, le burnie ne gu\u00e9rira pas.</p><p><strong>C\u2019est ce que l\u2019auteure appelle se mettre \u00ab en mode survie \u00bb, c\u2019est-\u00e0-dire faire le strict minimum, voire rien si possible.</strong></p><blockquote>\n<p><em>\u00abPendant une ann\u00e9e, <strong>je me levais au radar, j\u2019emmenais les enfants \u00e0 l\u2019\u00e9cole en pyjama</strong>. Puis je me recouchais. \u00bb, Eve \u2013 44 ans \u2013 Manager dans la banque</em></p>\n</blockquote><p>C\u2019est une \u00e9tape primordiale, dont la <strong>dur\u00e9e est propre \u00e0 chacun. L</strong>e <strong>burnie doit apprendre \u00e0 \u00eatre patient.</strong></p><p>Bien \u00e9videmment, c\u2019est une p\u00e9riode durant laquelle, le burnie doit <strong>faire la sieste quotidiennement,</strong> <strong>pour r\u00e9cup\u00e9rer des gouttes d\u2019\u00e9nergie</strong> pour son f\u00fbt\u2026 et surtout <strong>sans culpabiliser\u00a0!</strong></p><h4><strong>Choisir de l\u00e2cher certaines choses</strong></h4><p><strong>Pour gu\u00e9rir le burnie va devoir l\u00e2cher des \u00e9l\u00e9ments de sa personnalit\u00e9</strong>.</p><p><strong>Le burnie doit se remettre en cause et abandonner certaines valeurs auxquelles il tenait tr\u00e8s fort.</strong></p><p>Anne Everard dans son guide, <strong>compare le burnie \u00e0 un alpiniste au fond d\u2019un ravin</strong>\u00a0: pour pouvoir remonter, il va falloir l\u00e2cher du poids. Ici c\u2019est pareil.</p><p>Des conseils pratiques seront donn\u00e9s dans les chapitres \u00e0 venir.</p><blockquote>\n<p><em>\u00ab J\u2019ai toujours <strong>plac\u00e9 la barre tr\u00e8s haut</strong>, voulu faire les choses \u00e0 fond sans rien laisser au hasard. [Il faut] <strong>revenir \u00e0 un certain \u00e9quilibre en acceptant ses limites</strong> \u00bb, Jacques.</em></p>\n<p><em>\u00ab J\u2019ai d\u00fb <strong>l\u00e2cher ma carri\u00e8re</strong> \u00e0 cause de mon burn-out. Je travaille de nouveau mais <strong>pas dans le m\u00eame \u00e9tat d\u2019esprit</strong>, <strong>je suis plus en accord avec mes valeurs</strong> \u00bb Eve.</em></p>\n</blockquote><h3><strong>Chapitre 6\u00a0: Fluctuations d\u2019\u00e9nergie</strong></h3><p><strong>La th\u00e9orie des petites cuill\u00e8res.</strong> Cette th\u00e9orie a \u00e9t\u00e9 invent\u00e9e par Christine Miserandino, auteure am\u00e9ricaine ayant \u00e9crit un livre sur la fatigue chronique. Pour faire comprendre le principe de sa maladie \u00e0 son entourage, elle avait utilis\u00e9 le principe des \u00ab petites cuill\u00e8res \u00bb. Anne Everard l\u2019a adapt\u00e9 au Burn-out.</p><p>Dans son guide sur le burn-out, Anne Everard nous explique que <strong>chaque individu se r\u00e9veille le matin avec un stock de cinquante petites cuill\u00e8res. A chaque activit\u00e9, il utilise un nombre de petites cuill\u00e8res.</strong> Par exemple, deux cuill\u00e8res pour une r\u00e9union, trois pour une dispute, quatre pour une soir\u00e9e arros\u00e9e\u2026 A la fin de la journ\u00e9e, quasiment toutes les cuill\u00e8res ont \u00e9t\u00e9 utilis\u00e9es. Cependant, <strong>apr\u00e8s une nuit de sommeil, la totalit\u00e9 des petites cuill\u00e8res reviennent.</strong></p><p><strong>L\u2019ennui du burnie,</strong> <strong>est qu\u2019il ne sait jamais avec combien de petites cuill\u00e8res il va se r\u00e9veiller le matin.</strong> Au d\u00e9but, il est possible qu\u2019il ne se l\u00e8ve qu\u2019avec trois petites cuill\u00e8res pour toute une journ\u00e9e. Ce qui aura obligatoirement un impact sur le nombre d\u2019activit\u00e9s qu\u2019il pourra se permettre. <strong>Il devra apprendre \u00e0 composer avec.</strong></p><p><strong>Cette th\u00e9orie est une des clefs pour comprendre sa maladie et surtout pour la faire comprendre \u00e0 ses proches, enfants compris.</strong></p><blockquote>\n<p><em>\u00ab J\u2019ai expliqu\u00e9 la th\u00e9orie \u00e0 mes enfants. <strong>C\u2019\u00e9tait beaucoup plus concret</strong> \u00bb, Catherine, Directrice financi\u00e8re, 40 ans.</em></p>\n</blockquote><p>Le <strong>nombre de petites cuill\u00e8res</strong> peut d\u00e9pendre de ses <strong>activit\u00e9s de la veille, de la p\u00e9riode de l\u2019ann\u00e9e</strong> (vacances, saisons) etc. <strong>Qu\u2019importe</strong>. Le <strong>burnie doit \u00eatre dans l\u2019acceptation</strong> du nombre de cuill\u00e8res dont il dispose <strong>pour remonter la pente et ne surtout pas forcer</strong>. Son nombre de petites cuill\u00e8res <strong>augmentera avec le temps.</strong></p><h3><strong>Chapitre 7\u00a0: Priorit\u00e9 n\u00b02\u00a0: vous faire aider</strong></h3><p><strong>Dans cette partie, l\u2019auteure insiste sur l\u2019importance de se faire aider et de ne pas rester isol\u00e9 dans son burn-out.</strong></p><p><strong>Diff\u00e9rentes solutions</strong> s\u2019offrent au burnie\u00a0:</p><ul><li>Dans son guide, Anne Everard nous invite tout d\u2019abord <strong>\u00e0 effectuer un test (sous forme de questionnaire et d\u2019\u00e9changes avec un docteur) pour mesurer son niveau de burn-out.</strong></li>\n</ul><p><strong>La reconnaissance et l\u2019acceptation de son \u00e9tat sont des \u00e9tapes clefs dans la gu\u00e9rison.</strong></p><p>Cela permettra \u00e9galement d\u2019<strong>apporter une preuve objective</strong> aupr\u00e8s de ses <strong>proches</strong> et <strong>en cas de contr\u00f4le</strong> de la s\u00e9curit\u00e9 sociale.</p><blockquote>\n<p><em>\u00ab [Mon m\u00e9decin] m\u2019a fait remplir un <strong>questionnaire</strong> qui m\u2019a permis <strong>d\u2019objectiver mon syndrome</strong> d\u2019\u00e9puisement. [\u2026]. <strong>J\u2019\u00e9tais malade. Point barre\u00a0!</strong> \u00bb, Marie</em></p>\n</blockquote><ul><li><strong>Le m\u00e9decin g\u00e9n\u00e9raliste</strong> qui constituera le <strong>fil conducteur</strong> vers la gu\u00e9rison.</li>\n<li><strong>Les th\u00e9rapeutes</strong> peuvent aider le burnie \u00e0 <strong>avancer dans les multiples questionnements</strong> qu\u2019il se pose. Il est important de choisir un th\u00e9rapeute avec qui on se <strong>sent en confiance</strong> car lors des s\u00e9ances, le burnie va devoir parler d\u2019\u00e9l\u00e9ments tr\u00e8s intimes de sa vie.</li>\n</ul><blockquote>\n<p><em>\u00ab <strong>Je me sentais honteuse, frustr\u00e9e, coupable, je me suis isol\u00e9e</strong> \u00bb, Anne.</em></p>\n<p><em>\u00ab La psychoth\u00e9rapeute m\u2019a fait <strong>prendre conscience</strong> que ce ne sont pas les fain\u00e9ants qui craquent mais au contraire les gens qui placent la barre tr\u00e8s haut \u00bb, Jacques.</em></p>\n<p><em>\u00ab Le burn-out est une remise en question majeure. <strong>Il est important</strong> de se reposer mais aussi <strong>d\u2019analyser les raisons qui nous ont men\u00e9 \u00e0 l\u2019effondrement</strong> \u00bb, Agn\u00e8s, Agent Administratif, 50 ans.</em></p>\n</blockquote><ul><li>Anne Everard <strong>met en garde contre un \u00ab coach de travail \u00bb \u00e0 ce stade</strong> de la maladie. Il est encore trop t\u00f4t pour penser \u00e0 une reprise.</li>\n<li>L\u2019auteure conseille \u00e9galement de <strong>faire partie de groupes de paroles entre burnies</strong> afin de se sentir moins seule. <strong>L\u2019effet miroir</strong> peut fortement aider vers la gu\u00e9rison.</li>\n</ul><blockquote>\n<p><em>\u00ab \u00c7a a \u00e9t\u00e9 tr\u00e8s <strong>rassurant</strong> d\u00e8s la premi\u00e8re r\u00e9union de <strong>rencontrer des personnes qui vivaient les m\u00eames choses que moi</strong> \u00bb, Jacques.</em></p>\n</blockquote><ul><li>Cr\u00e9er une <strong>relation plus proche avec un autre burnie</strong>. Cela permet d\u2019aller plus loin dans le partage de nos exp\u00e9riences.</li>\n</ul><h3><strong>Chapitre 8\u00a0: Le burn-out se soigne-t-il avec des m\u00e9dicaments\u00a0?</strong></h3><p>Anne Everard pr\u00e9cise dans son guide que pour gu\u00e9rir, il faut <strong>en premier lieu se reposer, l\u00e2cher prise</strong> sur le sentiment de toute puissance du burnie, et accepter son \u00e9tat. Il est \u00e9galement primordial de <strong>se remettre en question et de revoir certains de ses principes de vie.</strong></p><p><strong>Aujourd\u2019hui, tr\u00e8s peu d\u2019\u00e9tudes et recherches se sont pench\u00e9es sur le burn-out. A ce stade, il n\u2019existe aucun m\u00e9dicament pour soigner directement cette maladie.</strong></p><p>N\u00e9anmoins, <strong>diff\u00e9rents traitements peuvent aider</strong> \u00e0 calmer un \u00e9tat \u00e9motionnel fortement perturb\u00e9, \u00e0 retrouver le sommeil\u2026 Il existe plusieurs alternatives\u00a0:</p><ul><li>Les m\u00e9decines dites \u00ab douces \u00bb\u00a0: <strong>compl\u00e9ments alimentaires, hom\u00e9opathie</strong>\u2026</li>\n</ul><blockquote>\n<p><em>\u00ab [Mon m\u00e9decin] m\u2019a prescrit des <strong>capsules de safran, un antid\u00e9presseur naturel</strong> au Moyen-Orient, <strong>magn\u00e9sium, om\u00e9ga3, vitamines D, des plantes</strong>\u2026\u00bb, Anne</em></p>\n</blockquote><ul><li>Ou des m\u00e9dicaments plus \u00ab forts \u00bb tels que les <strong>anxiolytiques, antid\u00e9presseurs et somnif\u00e8res.</strong></li>\n</ul><blockquote>\n<p><em>\u00ab Apr\u00e8s quatre mois, j\u2019ai accept\u00e9 de <strong>prendre des antid\u00e9presseurs</strong> \u00bb, Eve.</em></p>\n</blockquote><p>Chaque cas est unique. Il convient \u00e0 <strong>chaque burnie d\u2019\u00e9tablir, avec son m\u00e9decin, les meilleurs choix</strong> \u00e0 prendre pour lui.</p><p><img title=\"burn-out fatigue intense\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/burn-out-fatigue-intense.jpg?is-pending-load=1\" alt=\"burn-out fatigue intense\" width=\"600\" height=\"400\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"burn-out fatigue intense\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/burn-out-fatigue-intense.jpg\" alt=\"burn-out fatigue intense\" width=\"600\" height=\"400\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Chapitre 9\u00a0: Les questions et les \u00e9motions qui s\u2019invitent</strong></h3><p>Lors de son burn-out, le burnie passe par toutes les couleurs \u00e9motionnelles. <strong>Il est tr\u00e8s difficile pour lui de passer d\u2019un sentiment de toute puissance \u00e0 son \u00e9tat actuel.</strong> Il ne maitrise plus rien et voit sa <strong>vie s\u2019\u00e9mietter</strong>. Anne Everard, nous rappelle dans son guide, <strong>les diff\u00e9rentes \u00e9motions</strong> qui peuvent le traverser\u00a0:</p><ul><li>\n<h4><strong>La honte</strong></h4>\n</li>\n</ul><p>Le burnie conna\u00eet souvent un <strong>fort sentiment de honte de s\u2019\u00eatre effondr\u00e9</strong> \u2013 lui qui \u00e9tait fort et dynamique, se retrouve d\u00e9sempar\u00e9.</p><p><strong>Pour gu\u00e9rir, il est primordial pour le burnie d\u2019accepter sa maladie, sa vuln\u00e9rabilit\u00e9 et d\u2019en parler \u00e0 son entourage.</strong></p><blockquote>\n<p><em>\u00ab J\u2019avais un <strong>immense sentiment d\u2019\u00e9chec</strong> et de honte de ne <strong>pas avoir r\u00e9ussi \u00e0 tout assumer</strong> \u00bb, V\u00e9ronique</em></p>\n</blockquote><ul><li>\n<h4><strong>La culpabilit\u00e9</strong></h4>\n</li>\n</ul><p>Un sentiment de culpabilit\u00e9 envahit \u00e9galement le burnie\u00a0: <strong>sa mauvaise conscience se rappelle \u00e0 lui</strong>. Lui qui a toujours \u00e9t\u00e9 tr\u00e8s actif doit accepter de se reposer et de se faire plaisir.</p><p><strong>N\u2019oubliez pas de faire preuve de bienveillance envers vous-m\u00eame.</strong></p><blockquote>\n<p><em>\u00ab Lors des contacts avec ma chef, <strong>je passais mon temps \u00e0 m\u2019excuser</strong> parce que [de par mon absence] j\u2019avais affaibli l\u2019\u00e9quipe [\u2026] <strong>j\u2019ai fini par accepter la situation</strong> [\u2026] <strong>Moi aussi j\u2019ai le droit de vivre</strong>, burn-out ou pas \u00bb, Jacques</em></p>\n</blockquote><ul><li>\n<h4><strong>La col\u00e8re</strong></h4>\n</li>\n</ul><p>Le burnie peut aussi ressentir une tr\u00e8s forte <strong>col\u00e8re envers lui-m\u00eame, la soci\u00e9t\u00e9, le monde, les autres,\u2026</strong> L\u00e0 encore il convient d\u2019assimiler le plus vite possible ses \u00e9motions pour pouvoir avancer.</p><ul><li>\n<h4><strong>La frustration et le d\u00e9couragement</strong></h4>\n</li>\n</ul><p>Le burnie connait g\u00e9n\u00e9ralement de nombreuses <strong>phases de frustration voire de tristesse</strong>. Il aimerait gu\u00e9rir vite.</p><p><strong>Son mental est pr\u00eat \u00e0 repartir mais son corps se rappelle \u00e0 lui.</strong></p><p>L\u00e0 aussi, il doit apprendre \u00e0 <strong>\u00eatre patient.</strong></p><blockquote>\n<p><em>\u00ab Comme j\u2019\u00e9tais hyperactif, j\u2019ai ressenti \u00e9norm\u00e9ment de frustration. <strong>Cette \u00e9nergie qui ne revenait pas, ce cerveau qui tournait au ralenti\u2026</strong> \u00bb, Jacques</em></p>\n</blockquote><p>L\u2019auteure insiste sur le fait qu\u2019il est n\u00e9cessaire <strong>d\u2019<a href=\"https://des-livres-pour-changer-de-vie.com/111-pensees-et-citations-sur-le-theme-des-emotions/\" target=\"_blank\" rel=\"noopener\">accepter l\u2019ensemble de ces \u00e9motions</a></strong> pour permettre au burnie de <strong>se lib\u00e9rer et d\u2019avancer dans son processus de gu\u00e9rison. Le temps joue en sa faveur.</strong></p><h3><strong>Chapitre 10\u00a0: Le r\u00f4le de l\u2019entourage</strong></h3><p>Dans son guide, l\u2019auteure nous explique que <strong>le burnie vit dans un \u00e9cosyst\u00e8me qu\u2019il faut inclure</strong> le plus vite possible dans ce qu\u2019il traverse.</p><blockquote>\n<p><strong>\u00ab [Votre entourage] a besoin de comprendre ce qui vous arrive pour mieux interagir avec vous \u00bb, Anne Everard</strong></p>\n</blockquote><p>Dans son guide, Anne Everard nous fait part de <strong>lettres \u00e9crites tr\u00e8s touchantes \u00e0 chaque personne dans l\u2019entourage du burnie</strong> pour l\u2019aider \u00e0 mieux comprendre sa situation et comment l\u2019aider. Les principaux \u00e9l\u00e9ments ont \u00e9t\u00e9 repris dans cette partie.</p><h4><strong>Le partenaire</strong></h4><p>Votre burn-out impactera n\u00e9cessairement votre partenaire\u00a0: <strong>il s\u2019inqui\u00e8te pour vous, pour la famille, pour votre avenir. Son quotidien s\u2019en trouvera aussi boulevers\u00e9.</strong></p><p><strong>Si possible, votre partenaire devra \u00eatre bienveillant, patient, et devra vous d\u00e9charger un maximum.</strong></p><blockquote>\n<p><em>\u00ab <strong>Mon mari m\u2019a soutenu</strong> pendant toute la dur\u00e9e de mon burn-out. <strong>Ma reconnaissance est immense</strong> \u00bb, Anne</em></p>\n<p><em>\u00ab [Mon mari] n\u2019a <strong>pas vraiment compris</strong> ce qui m\u2019arrivait. [\u2026] <strong>Il en a fait plus \u00e0 la maison</strong> \u00bb, Olivia</em></p>\n<p><em>\u00ab Pour ma femme, <strong>la situation \u00e9tait tr\u00e8s difficile</strong>. Elle avait <strong>peur pour moi et portait toute la famille</strong> \u00bb, Jean</em></p>\n</blockquote><p>Anne Everard conseille au partenaire <strong>de se pr\u00e9server et de s\u2019am\u00e9nager du temps agr\u00e9able personnel pour souffler</strong> et r\u00e9cup\u00e9rer afin d\u2019avoir la force de soutenir le burnie jusqu\u2019au bout de sa gu\u00e9rison. Elle pr\u00e9vient aussi que le <strong>contre coup peut \u00eatre violent et peut durer plusieurs mois</strong>.</p><h4><strong>Les enfants</strong></h4><p>Il est important <strong>d\u2019informer les enfants de la situation et de son \u00e9volution tout au long du processus</strong> (avec des mots simples selon leur \u00e2ge).</p><blockquote>\n<p><em>\u00ab <strong>On attrape le burn-out quand on travaille trop.</strong> Il n\u2019y a pas de m\u00e9dicaments. <strong>Il faut faire moins</strong> de choses et dormir \u00bb, <strong>Th\u00e9o, 7ans, le fils d\u2019Anne.</strong></em></p>\n<p><em>\u00ab <strong>J\u2019ai eu peur</strong> que maman tombe encore plus malade. Mes parents m\u2019ont rassur\u00e9e \u00bb, <strong>Morgane, 7ans, fille de Catherine</strong></em></p>\n</blockquote><p><strong>Les enfants peuvent aider un peu plus \u00e0 la maison</strong> pour aider leur famille dans cette \u00e9preuve.</p><h4><strong>La famille</strong></h4><p>Pour Anne Everard, il est <strong>indispensable que le burnie explique son burn-out \u00e0 sa famille</strong>. Dans son guide, elle nous pr\u00e9cise que l\u2019\u00e9change avec les parents \u2013 qui ont g\u00e9n\u00e9ralement transmis leurs valeurs aux burnies \u2013 est souvent une \u00e9tape importante. Elle <strong>conseille \u00e0 la famille d\u2019\u00eatre pr\u00e9sente</strong>, soutenante, au moins moralement et <strong>de ne pas pr\u00e9sumer de la fin de la maladie</strong> m\u00eame si cela peut para\u00eetre long de l\u2019ext\u00e9rieur.</p><blockquote>\n<p><em>\u00ab <strong>Mon p\u00e8re n\u2019a pas accept\u00e9 mon burn-out</strong>. Il voulait que je me bouge, que je me ressaisisse \u00bb, Olivia</em></p>\n<p><em>\u00abDans ma famille, on ne parle pas de sentiments et d\u2019\u00e9motions mais <strong>ils ont \u00e9t\u00e9 bienveillants</strong> \u00bb, V\u00e9ronique</em></p>\n<p><em>\u00ab</em> <strong>Ma maman a \u00e9t\u00e9 formidable</strong> <em>\u00bb, Anne</em></p>\n</blockquote><p><strong>A chacun sa famille, son histoire, et leur degr\u00e9 d\u2019acceptation.</strong></p><h4><strong>Les amis</strong></h4><p><strong>Il en va de m\u00eame avec les amis qu\u2019avec la famille.</strong> Certains seront bienveillants avec vous, d\u2019autres un peu, et enfin, certains pas du tout. <strong>Il s\u2019agit l\u00e0 encore de l\u2019accepter et de ne pas le prendre pour soi.</strong></p><blockquote>\n<p><strong><em>\u00ab J\u2019ai \u00e9t\u00e9 tr\u00e8s isol\u00e9e pendant mon burn-out</em></strong><em>. Je n\u2019en avais pas la force \u00bb, Olivia</em></p>\n<p><em>\u00ab Parmi mes amis, <strong>certains n\u2019ont plus voulu me voir</strong>, peut-\u00eatre parce qu\u2019ils ne <strong>savaient pas quoi me dire</strong> \u00bb, Jean</em></p>\n<p><em>\u00ab R\u00e9cemment j\u2019ai envoy\u00e9 un mail \u00e0 tous mes amis leur <strong>demandant de ne plus me contacter</strong> [\u2026] m\u00eame r\u00e9pondre au t\u00e9l\u00e9phone est <strong>fatiguant et me stresse</strong> \u00bb, Val\u00e9rie</em></p>\n</blockquote><p>Anne Everard conseille aux amis qui le souhaitent de <strong>continuer \u00e0 prendre des nouvelles</strong>, m\u00eame s\u2019il <strong>est vrai que la relation sera unilat\u00e9rale dans un premier temps</strong> car le burnie est trop fatigu\u00e9 pour \u00e9changer. N\u00e9anmoins, cette <strong>marque d\u2019affection lui fera plaisir.</strong></p><h4><strong>L\u2019employeur</strong></h4><p>Dans son guide, Anne Everard revient sur <strong>l\u2019importance de la pr\u00e9vention du burn-out</strong> au sein des entreprises. <strong>Certaines initiatives voient le jour</strong> et c\u2019est tant mieux\u00a0! Cela est <strong>profitable pour les salari\u00e9s comme pour les patrons.</strong></p><p><strong>En revanche, il n\u2019est pas toujours \u00e9vident pour les burnies de dire la v\u00e9rit\u00e9 \u00e0 leur employeur, par peur (r\u00e9elle ou fictive) d\u2019\u00eatre licenci\u00e9 ou de voir leur carri\u00e8re s\u2019arr\u00eater.</strong></p><blockquote>\n<p><em>\u00ab Tous les soirs, <strong>je me connecte aux messages du bureau</strong>. C\u2019est <strong>plus fort que moi</strong> \u00bb, Anouck</em></p>\n<p><em>\u00ab <strong>Je culpabilise moins depuis que je ne sais plus ce qui se passe au bureau</strong>. Je peux maintenant m\u2019occuper de moi \u00bb, Catherine</em></p>\n<p><em>\u00ab Ils ne le disent pas, mais ils <strong>d\u00e9testent les gens en burn-out. C\u2019est mauvais pour leur image</strong>. [\u2026] Ils <strong>m\u2019ont finalement licenci\u00e9</strong> \u00bb, \u00c9ric</em></p>\n</blockquote><p>Dans son guide, Anne Everard insiste aupr\u00e8s des entreprises pour qu\u2019elles prennent leur part dans le burn-out de leurs salari\u00e9s, surtout si ce n\u2019est pas un cas isol\u00e9. <strong>Pr\u00e9ventions, aides et facilit\u00e9 dans les d\u00e9marches administratives pour aider le burnie durant son arr\u00eat\u2026</strong> sont autant de mesures pouvant faire la diff\u00e9rence. L\u2019auteure pr\u00e9conise de <strong>limiter les contacts entre le burnie et l\u2019entreprise</strong> pour lui permettre de se consacrer pleinement \u00e0 son r\u00e9tablissement, et d\u2019\u00e9viter toute culpabilit\u00e9.</p><h4><strong>Les coll\u00e8gues</strong></h4><blockquote>\n<p><em>\u00ab <strong>Je culpabilisais</strong>. J\u2019ai <strong>pr\u00e9f\u00e9r\u00e9 arr\u00eater de les voir</strong> jusqu\u2019\u00e0 ce que je reprenne le travail \u00bb, Olivia</em></p>\n<p><em>\u00ab <strong>Je n\u2019ose toujours pas aller dans le quartier de mon employeur</strong> \u00bb, Isabelle</em></p>\n<p><em>\u00ab Mes coll\u00e8gues ont \u00e9t\u00e9 tr\u00e8s sympas. <strong>Mais j\u2019ai appris \u00e0 mettre une certaine distance</strong> avec eux \u00bb, Jean</em></p>\n</blockquote><p>L\u2019auteure propose aux coll\u00e8gues de <strong>donner des nouvelles mais sans entrer dans les d\u00e9tails</strong> de ce qui se passe au travail. De plus, Anne Everard souligne <strong>l\u2019importance pour les coll\u00e8gues du burnie de se prot\u00e9ger</strong> en n\u2019absorbant pas une charge de travail trop importante pour compenser. Il faut en parler \u00e0 la hi\u00e9rarchie si besoin.</p><p><strong>Anne Everard conseille de ne pas h\u00e9siter \u00e0 faire lire ce guide sur le burn-out \u00e0 l\u2019entourage du burnie.</strong></p><h3><strong>Chapitre 11\u00a0: Les petites phrases assassines</strong></h3><p><strong>Durant sa convalescence, tout burnie risque d\u2019entendre des propos malveillants tels que <em>\u00ables gens en burn-out profitent du syst\u00e8me \u00bb</em>, ou bien <em>\u00ab tu n\u2019as pas l\u2019air en burn-out \u00bb.</em></strong></p><p>Dans son guide, Anne Everard, nous invite \u00e0 <strong>nous prot\u00e9ger de ces r\u00e9flexions</strong>. Oui le burn-out est une maladie diagnostiqu\u00e9e par un m\u00e9decin, oui vous avez besoin de repos et vous ne faites pas expr\u00e8s d\u2019\u00eatre dans cet \u00e9tat.</p><p>Dans cette partie, l\u2019auteure nous indique que le <strong>burn-out est une maladie assez m\u00e9connue</strong> <strong>mais grave</strong> qui peut mener \u00e0 la d\u00e9pression, voire au suicide. <strong>Aussi, ne perdez pas votre \u00e9nergie avec ces personnes malveillantes.</strong></p><h3><strong>Chapitre 12\u00a0: Combien de temps dure un burn-out\u00a0?</strong></h3><p><strong>Anne Everard nous pr\u00e9cise bien dans son guide que chaque burnie et chaque cas sont diff\u00e9rents.</strong></p><p>Aussi, il est difficile d\u2019avancer une date de gu\u00e9rison pour un burn-out.</p><p>Cependant, diff\u00e9rents \u00e9l\u00e9ments peuvent jouer tels que la <strong>dur\u00e9e qui a pr\u00e9c\u00e9d\u00e9 le burn-out,</strong> la capacit\u00e9 du burnie \u00e0 accepter son \u00e9tat et \u00e0 <strong>l\u00e2cher-prise, \u00e0 d\u00e9culpabiliser et \u00e0 se r\u00e9inventer</strong>. <strong>L\u2019auto-bienveillance</strong> et la capacit\u00e9 \u00e0 s\u2019<strong>autoriser des plaisirs</strong> ont aussi une incidence sur la rapidit\u00e9 de gu\u00e9rison.</p><blockquote>\n<p><em>\u00ab A partir du <strong>moment o\u00f9 j\u2019ai accept\u00e9</strong> le fait que c\u2019\u00e9tait comme \u00e7a pour le moment [\u2026] <strong>j\u2019ai repris des forces</strong> \u00bb, Anne.</em></p>\n</blockquote><p><strong>A noter que la majorit\u00e9 des burnies pensent que leur gu\u00e9rison sera plus rapide que la moyenne.</strong></p><p>Rappelons-le, le burnie est \u00e0 la base <strong>une personne tr\u00e8s dynamique</strong>.</p><blockquote>\n<p><em>\u00ab Il faut prendre le temps de gu\u00e9rir. <strong>Il faut s\u2019autoriser ce temps</strong> \u00bb, Olivia</em></p>\n</blockquote><h3><strong>Chapitre 13\u00a0: Priorit\u00e9 n\u00b03\u00a0: Introduire les changements</strong></h3><blockquote>\n<p>\u00ab Tout voyage commence par un premier pas \u00bb Confucius</p>\n</blockquote><p>Dans cette partie de son guide, Anne Everard nous liste les diff\u00e9rents changements \u00e0 accueillir dans sa vie afin de gu\u00e9rir de son burn-out et d\u2019\u00e9viter toute rechute.</p><p>D\u00e8s que vous vous en sentez la force, vous devez <strong>lister tous les \u00e9l\u00e9ments que vous pensez \u00eatre \u00e0 l\u2019origine de votre burn-out</strong> afin de pouvoir travailler dessus. R\u00e9fl\u00e9chissez \u00e0 ce qui vous a g\u00e9n\u00e9r\u00e9 beaucoup <strong>trop de stress et d\u2019\u00e9nergie sans contrepartie.</strong></p><p><img title=\"burn-out introduire les changements plaisir\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/burn-out-introduire-les-changements-plaisir.jpg?is-pending-load=1\" alt=\"burn-out introduire les changements plaisir\" width=\"600\" height=\"400\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"burn-out introduire les changements plaisir\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/burn-out-introduire-les-changements-plaisir.jpg\" alt=\"burn-out introduire les changements plaisir\" width=\"600\" height=\"400\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4><strong>1 \u2013 Votre corps est votre meilleur ami</strong></h4><p>Lorsqu\u2019il fait un burn-out, <strong>le burnie a le sentiment d\u2019avoir \u00e9t\u00e9 abandonn\u00e9 par son corps.</strong> Lui qui avait un sentiment de toute puissance, s\u2019est trouv\u00e9 d\u00e9sarm\u00e9. Or c\u2019est le contraire.</p><blockquote>\n<p>\u00ab En faisant sauter les plombs, [votre corps] vous a probablement sauv\u00e9 la vie \u00bb. Anne Everard</p>\n</blockquote><p><strong>Pour gu\u00e9rir de votre burn-out,</strong> vous devez <strong>apprendre \u00e0 ralentir le rythme et \u00e0 chouchouter votre corps.</strong></p><p>Pour cela il existe diff\u00e9rents moyens simples mais efficaces \u00e0 votre disposition\u00a0:</p><h4><strong>En solo\u00a0:</strong></h4><ul><li><strong>Respirez</strong>. A chaque fois, que vous sentez angoiss\u00e9, ou que des id\u00e9es n\u00e9gatives envahissent votre esprit, <strong>inspirez et expirez profond\u00e9ment.</strong></li>\n<li><strong>Oxyg\u00e9nez-vous.</strong> Sortez de chez vous, m\u00eame 5 minutes <strong>et observez la nature</strong>. Si vous \u00eates encore trop fatigu\u00e9 pour sortir, Anne Everard conseille dans son guide de juste se poser <strong>devant une fen\u00eatre ouverte, ou de s\u2019asseoir dans son jardin.</strong></li>\n<li><strong>Prenez un bain ou des bains de pieds, massez-vous</strong>.</li>\n<li><strong>Faites des body-scan</strong>. Cela consiste \u00e0 respirer calmement et \u00e0 porter son attention sur une partie de son corps, puis une autre\u2026 <strong>Cela apaise corps et esprit.</strong></li>\n<li><strong>Et surtout\u00a0: REPOSEZ-VOUS. Encore et encore, entre chaque micro activit\u00e9.</strong></li>\n</ul><h4><strong>En cours collectif\u00a0:</strong></h4><p>Profitez de ce moment pour faire une activit\u00e9 qui vous remet en contact avec votre corps.\u00a0 De multiples possibilit\u00e9s existent\u00a0: l<strong>e yoga, la sophrologie, le tai-chi, le qi gong, la m\u00e9ditation, la marche consciente\u2026</strong> ou une activit\u00e9 artistique. Les burnies sont souvent trop dans le mental. Le but est de r\u00e9\u00e9quilibrer le tout.</p><h4><strong>En cours individuel\u00a0:</strong></h4><p>Diff\u00e9rentes pratiques peuvent vous aider. A vous de voir celles qui vous correspondent le mieux\u00a0 parmi <strong>le reiki, le shiatsu, l\u2019ayurv\u00e9da, l\u2019acuponcture, l\u2019hypnose ou l\u2019autohypnose, l\u2019EMDR ou l\u2019EFT</strong> (technique de reprogrammation par mouvement de l\u2019\u0153il ou par tapotement du visage).</p><blockquote>\n<p><em>\u00ab Le stage de pleine conscience m\u2019a permis d\u2019\u00eatre <strong>davantage ici et maintenant</strong> \u00bb, Olivia</em></p>\n</blockquote><p>Anne Everard conseille au d\u00e9but de ne faire <strong>qu\u2019une seule activit\u00e9 par semaine</strong>. Le <strong>rdv chez le psychologue \u00e9tant consid\u00e9r\u00e9 comme une activit\u00e9.</strong> Cette semaine-l\u00e0, ne faites rien d\u2019autre. La priorit\u00e9 reste de se reposer.</p><h4><strong>Et le sport\u00a0?</strong></h4><p><strong>Pour la majorit\u00e9 des burnies, le sport co\u00fbtera plus d\u2019\u00e9nergie que ce qu\u2019il va vous en apporter.</strong> Aussi, sauf cas particulier, <strong>oubliez</strong> cette id\u00e9e pour l\u2019instant.</p><blockquote>\n<p><em>\u00ab J\u2019ai essay\u00e9 un peu de marche nordique mais c\u2019\u00e9tait <strong>vraiment trop difficile</strong> \u00bb, Catherine</em></p>\n<p><em>\u00ab Faire du sport est devenu pour moi <strong>mission impossible</strong> \u00bb, Jacques</em></p>\n</blockquote><h4><strong>Votre corps est votre nouveau barom\u00e8tre</strong></h4><p>Votre corps va devenir votre nouvel alli\u00e9.</p><p>Pendant longtemps, le burnie a privil\u00e9gi\u00e9 son mental. Il doit \u00e0 pr\u00e9sent <strong>r\u00e9habiliter son corps</strong> et <strong>savoir l\u2019\u00e9couter</strong> pour pouvoir gu\u00e9rir et pr\u00e9venir toute rechute.</p><h4><strong>2 \u2013 Alimentation et hygi\u00e8ne de vie</strong></h4><p>Dans son guide, Anne Everard insiste sur l\u2019importance d\u2019avoir <strong>une bonne hygi\u00e8ne de vie</strong> pour soigner au mieux son burn-out. De nombreux livres sur la nutrition traitent du sujet.</p><p><strong>Une alimentation saine et \u00e9quilibr\u00e9e</strong> constitue une formidable <strong>source d\u2019\u00e9nergie,</strong> dont le corps du burnie a plus que besoin.<a href=\"https://lesondubonheur.com/aliments-anti-fatigue-les-5-pieges-a-eviter/\" target=\"_blank\" rel=\"noopener\" class=\"external\">Il est primordial que le burnie pr\u00eate une attention particuli\u00e8re \u00e0 son r\u00e9gime alimentaire pour l\u2019aider \u00e0 retrouver la forme</a><strong>.</strong></p><p>Elle revient sur les <strong>principes de base</strong> mais n\u00e9anmoins n\u00e9cessaires, \u00e0 savoir\u00a0:</p><p><strong>Boire suffisamment\u00a0:</strong></p><ul><li><strong>Boire 1,5 litre</strong> d\u2019eau par jour</li>\n<li><strong>Limiter la consommation</strong> d\u2019excitants comme le <strong>caf\u00e9 et le th\u00e9</strong></li>\n<li><strong>Freiner sa consommation d\u2019alcool</strong> \u2013 Son absorption fatigue le foie.</li>\n</ul><p><strong>Se nourrir correctement\u00a0:</strong></p><ul><li><strong>Privil\u00e9gier les fruits et les l\u00e9gumes, les c\u00e9r\u00e9ales compl\u00e8tes, les bonnes huiles</strong></li>\n<li><strong>R\u00e9duire</strong> sa consommation de <strong>prot\u00e9ines animales et de sucre raffin\u00e9</strong></li>\n</ul><p>Cependant, l\u2019auteure pr\u00e9cise qu\u2019il est important de <strong>conserver la notion de plaisir et que les \u00e9carts sont toujours possibles.</strong></p><p><img title=\"alimentation saine \u00e9carts burnie\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/alimentation-saine-ecarts-burnie.jpg?is-pending-load=1\" alt=\"alimentation saine \u00e9carts burnie\" width=\"600\" height=\"400\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"alimentation saine \u00e9carts burnie\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/alimentation-saine-ecarts-burnie.jpg\" alt=\"alimentation saine \u00e9carts burnie\" width=\"600\" height=\"400\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4><strong>3 \u2013 Se remettre au centre de sa vie</strong></h4><p>Pour gu\u00e9rir le burnie a besoin de <strong>repenser sa fa\u00e7on de fonctionner</strong> et se <strong>mettre en priorit\u00e9 de sa propre vie.</strong></p><p><a href=\"https://lesondubonheur.com/apprendre-a-etre-egoiste-pour-etre-heureux/\" class=\"external\" target=\"_blank\"><strong>Il doit apprendre \u00e0 \u00eatre d\u2019avantage \u00e9go\u00efste pour gu\u00e9rir</strong></a><strong>.</strong></p><p>Anne Everard pr\u00e9cise dans son guide qu\u2019il ne s\u2019agit pas l\u00e0 de devenir \u00e9gocentrique, juste <strong>d\u2019apprendre \u00e0 prendre soin de soi</strong>.</p><blockquote>\n<p><em>\u00ab <strong>J\u2019ai enfin compris que je m\u2019\u00e9tais oubli\u00e9e</strong> au fil du temps entre mon job, mon mari, les enfants, \u2026 \u00bb, Anne</em></p>\n</blockquote><h4><strong>4 \u2013 Apprendre \u00e0 dire non</strong></h4><p>Cela passe \u00e9videmment par savoir dire Non. Tout d\u2019abord \u00e0 soi\u00a0: <strong>il faut arr\u00eater avec les injonctions du type \u00ab il faut \u00bb, \u00ab je dois \u00bb.</strong></p><p><strong>Il est \u00e9galement n\u00e9cessaire d\u2019apprendre \u00e0 dire \u00ab non \u00bb aux autres.</strong></p><p>Avant d\u2019entreprendre quelque chose l\u2019auteure conseille au burnie de se demander s\u2019il faut vraiment le faire, mais aussi si c\u2019est vraiment \u00e0 lui de le faire\u2026 A bon entendeur.</p><p><strong>Sortir de ses habitudes est un des plus gros challenges du burnie.</strong></p><h4><strong>5 \u2013 Ramener du plaisir dans sa vie</strong></h4><p>Le burnie a souvent privil\u00e9gi\u00e9 les autres (travail, famille, ami\u2026) \u00e0 lui-m\u00eame.</p><p>Il est temps pour lui de savoir ce qu\u2019il aime, lui procure du plaisir et d\u2019am\u00e9nager sa vie par rapport \u00e0 cela.</p><blockquote>\n<p><em>\u00ab J\u2019ai lu des BD, fait de la musique, de la peinture \u00e0 l\u2019huile. <strong>J\u2019avais l\u2019impression de me nourrir et de revivre.</strong> De faire des choses pour moi \u00bb, Anne</em></p>\n</blockquote><p>Le burnie doit apprendre \u00e0 vivre pour lui.</p><h3><strong>Chapitre 14\u00a0: Pr\u00e9parer la reprise du travail</strong></h3><h4><strong>\u00cates-vous pr\u00eat\u00a0?</strong></h4><p>Dans son guide, l\u2019auteure nous <strong>propose un test permettant de mesurer son aptitude \u00e0 retourner dans le monde du travail.</strong> Ces questions portent sur\u00a0:</p><ul><li>son <strong>niveau d\u2019\u00e9nergie,</strong></li>\n<li>les <strong>changements \u00ab pratiques \u00bb</strong> <strong>sugg\u00e9r\u00e9s pr\u00e9c\u00e9demment</strong> (alimentation, oxyg\u00e9nation, sommeil, plaisir\u2026) <strong>mais aussi \u00ab mentaux \u00bb</strong> (se placer au centre de sa vie, apprendre \u00e0 dire non, arr\u00eater de jouer au bon petit soldat, \u00e9couter son corps\u2026)</li>\n<li>notre <strong>motivation \u00e0 reprendre le travail</strong> (volont\u00e9 personnelle ou pression sociale, financi\u00e8re\u2026)</li>\n<li>\u2026</li>\n</ul><p>Selon le score obtenu, elle conseille ou non de reprendre</p><p>Attention\u00a0: La reprise du travail est toujours une <strong>phase d\u00e9licate apr\u00e8s un burn-out.</strong> Anne Everard insiste dans son guide sur le fait que <strong>cette d\u00e9cision doit \u00eatre prise en accord avec son docteur.</strong></p><h4><strong>Travailler oui, mais autrement</strong></h4><p>Pour une reprise r\u00e9ussie, le burnie doit transf\u00e9rer tout ce qu\u2019il a appris durant sa convalescence \u00e0 sa vie professionnelle. Essayer. Et rectifier si besoin.</p><blockquote>\n<p><strong><em>\u00ab J\u2019ai plus de recul</em></strong> <em>[\u2026] je fais bien mon boulot et le reste ne m\u2019appartient pas \u00bb, Olivia</em></p>\n<p><em>\u00ab J\u2019avais plus de mal \u00e0 me concentrer [au travail\u2026]. <strong>Cela m\u2019a oblig\u00e9 \u00e0 poser des limites</strong> \u00bb, Jean</em></p>\n</blockquote><p>Si vous en avez les moyens, il peut \u00eatre <strong>utile de se faire aider d\u2019un coach.</strong></p><p>Certains burnies <strong>retourneront dans leur ancienne entreprise</strong> en apprenant \u00e0 faire <strong>diff\u00e9remment</strong> pour \u00e9viter toute rechute. <strong>Une reprise \u00e0 mi-temps peut aussi \u00eatre une solution</strong>.</p><p><strong>D\u2019autres burnies, changeront compl\u00e9tement de voie</strong>. A chacun de voir ce qui lui convient le mieux.</p><blockquote>\n<p><em>\u00ab Pendant vingt ans, j\u2019ai travaill\u00e9 dans la pub [\u2026]. <strong>J\u2019\u00e9tais compl\u00e9tement vid\u00e9. Je ne pouvais plus fonctionner.</strong> J\u2019ai senti que je voulais faire <strong>autre chose de ma vie</strong>. Aujourd\u2019hui je suis coach \u00bb, Vincent, 48 ans</em></p>\n</blockquote><p>Dans son guide, Anne Everard recommande de <strong>consacrer toute son \u00e9nergie \u00e0 sa reprise d\u2019activit\u00e9.</strong> Aussi, ne faites <strong>rien d\u2019autre \u00e0 c\u00f4t\u00e9</strong> afin de <strong>pr\u00e9venir tout risque de rechute</strong> dans le burn-out.</p><p><img title=\"burn-out faire attention rechute\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/burn-out-faire-attention-rechute.jpg?is-pending-load=1\" alt=\"burn-out faire attention \u00e0 la rechute\" width=\"600\" height=\"450\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"burn-out faire attention rechute\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/burn-out-faire-attention-rechute.jpg\" alt=\"burn-out faire attention \u00e0 la rechute\" width=\"600\" height=\"450\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Chapitre 15\u00a0: Gare \u00e0 la rechute\u00a0!</strong></h3><p>Pour pr\u00e9venir toute rechute, le burnie doit \u00e9couter son corps, et non plus uniquement son mental.</p><p>Anne Everard insiste, dans son guide sur le burn-out, sur le fait que <strong>tous les changements pr\u00e9c\u00e9demment op\u00e9r\u00e9s doivent perdurer dans le temps.</strong> Dans le cas contraire, les <strong>anciens m\u00e9canismes</strong> vont de <strong>reprendre le dessus</strong> et le <strong>risque de rechute est grand.</strong></p><blockquote>\n<p><em>\u00ab Au fil des mois, mes travers ont repris le dessus, [\u2026] je me suis laiss\u00e9e bouff\u00e9e par mon job [\u2026] Ca a \u00e9t\u00e9 la rechute. Et cette fois, j\u2019ai \u00e9t\u00e9 arr\u00eat\u00e9e trois ans \u00bb, Eve</em></p>\n<p><em>\u00ab J\u2019ai des antennes, je suis vigilante, plus prudente [\u2026]. Je suis recentr\u00e9e sur moi-m\u00eame \u00bb, Agn\u00e8s</em></p>\n</blockquote><p>Dans son guide, Anne Everard <strong>nous propose un barom\u00e8tre post burn-out</strong>. Il s\u2019agit <strong>d\u2019un bilan \u2013 sorte de garde-fou</strong>, \u00e0 effectuer tous les quinze jours\u00a0:</p><ol><li><strong>Comment je me sens</strong> \u2013 de 0 \u00e0 10</li>\n<li>Comment est rempli <strong>mon f\u00fbt</strong> \u2013 de 0 \u00e0 10</li>\n<li><strong>Evolution</strong> de mon f\u00fbt par rapport au dernier bilan</li>\n<li>Quels <strong>\u00e9v\u00e9nements m\u2019ont co\u00fbt\u00e9 de l\u2019\u00e9nergie</strong>. Comment y rem\u00e9dier</li>\n<li>Suis-je bien <strong>au centre de ma vie</strong></li>\n<li>Ai-je fait des choses dont je n\u2019avais <strong>pas envie</strong></li>\n<li>Quelles sont <strong>mes sources de stress</strong></li>\n<li>Mon <strong>alimentatio</strong>n</li>\n<li><strong>Oxyg\u00e9nation</strong></li>\n<li><strong>Sommeil</strong></li>\n<li>Ai-je des <strong>douleurs</strong></li>\n<li>Ai-je eu des <strong>plaisirs</strong></li>\n</ol><p>En <strong>fonction des r\u00e9ponses</strong>, il appartient \u00e0 <strong>chacun d\u2019op\u00e9rer les changements n\u00e9cessaires</strong>.</p><h3><strong>Chapitre 16\u00a0: Ce que nous aurions envie de vous recommander</strong></h3><p>Dans cette partie de son guide, Anne Everard <strong>laisse la parole \u00e0 tous les burnies</strong> qu\u2019elle a interview\u00e9s. Ils vous <strong>livrent leurs conseils</strong> pour soigner au mieux votre burn-out. En voici des extraits\u00a0:</p><blockquote>\n<p><strong><em>\u00ab Acceptez que cela prenne plus de temps que pr\u00e9vu \u00bb</em></strong><em>, Anne</em></p>\n<p><strong><em>\u00ab Ne perdez pas trop de temps dans le d\u00e9ni, le processus de gu\u00e9rison ne commence qu\u2019apr\u00e8s l\u2019acceptation \u00bb, Olivia</em></strong></p>\n<p><strong><em>\u00ab Ne soyez pas dur avec vous-m\u00eame</em></strong><em>. Vous \u00eates une <strong>belle personne \u00bb</strong>, Catherine</em></p>\n<p><strong><em>\u00ab Prenez le temps de bien vous soigner</em></strong> <em>pour ne pas rechuter \u00bb, Eve</em></p>\n<p><strong><em>\u00ab On a le droit de s\u2019arr\u00eater, de se reposer \u00bb, Marie</em></strong></p>\n<p><em>\u00ab Rapprochez-vous des autres dans un <strong>groupe de parole</strong> sur le burn-out \u00bb, \u00c9ric</em></p>\n<p><strong><em>\u00ab Entreprenez une th\u00e9rapie \u00bb</em></strong><em>, Jean</em></p>\n<p><em>\u00ab Ne surtout <strong>pas culpabiliser, l\u00e2cher prise \u00bb</strong>, Jacques</em></p>\n</blockquote><h3><strong>Chapitre 17\u00a0: Redeviendrai-je un jour comme avant\u00a0?</strong></h3><p>C\u2019est l\u2019\u00e9ternelle question que se pose chaque burnie. L\u2019auteure nous livre une citation du docteur Mesters en r\u00e9ponse\u00a0:</p><blockquote>\n<p><strong>\u00ab Sur cette terre br\u00fbl\u00e9e, la v\u00e9g\u00e9tation repousse, mais le nouveau paysage ne sera jamais identique au pr\u00e9c\u00e9dent \u00bb</strong></p>\n</blockquote><p><strong>La r\u00e9ponse est donc NON.</strong> Au sinon, les m\u00eames causes produisant les m\u00eames effets, vous reprendriez tous vos anciens m\u00e9canismes et <strong>risqueriez un nouveau burn-out.</strong></p><p>En revanche, une fois gu\u00e9ri, vous aurez une <strong>vie qui vous ressemble, plus align\u00e9e avec vous-m\u00eame, et plus heureuse.</strong></p><blockquote>\n<p><strong>\u00ab Notre burn-out nous a chang\u00e9s\u00a0? Oui et c\u2019est tant mieux\u00a0! \u00bb Anne Everard</strong></p>\n</blockquote><p><img title=\"burn-out apprendre \u00e0 rena\u00eetre se reconstruire\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/burn-out-apprendre-a-renaitre-se-reconstruire.jpg?is-pending-load=1\" alt=\"burn-out apprendre \u00e0 rena\u00eetre se reconstruire\" width=\"600\" height=\"355\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image c7\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"c7\" title=\"burn-out apprendre \u00e0 rena\u00eetre se reconstruire\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/burn-out-apprendre-a-renaitre-se-reconstruire.jpg\" alt=\"burn-out apprendre \u00e0 rena\u00eetre se reconstruire\" width=\"600\" height=\"355\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h2><strong>Conclusion sur Guide du burn-out d\u2019Anne Everard\u00a0:</strong></h2><p>Ce livre \u00ab\u00a0Guide du burn-out\u00a0\u00bb a \u00e9t\u00e9 l\u2019une des <strong>\u00e9tapes fondamentales vers ma gu\u00e9rison.</strong></p><p><strong>Car oui, moi aussi j\u2019ai fait un violent burn-out il y a 2,5 ans <em>\u2013</em> <a href=\"https://lesondubonheur.com/soigner-burn-out/\" target=\"_blank\" rel=\"noopener\" class=\"external\"><em>vous pouvez retrouver mon histoire ici</em></a>. Au d\u00e9but vous niez. Moi\u00a0? Malade\u00a0? Jamais\u00a0!</strong></p><p>Puis, il faut vous rendre \u00e0 l\u2019\u00e9vidence. Oui, vous \u00eates malade. Lourdement et il faut avancer. Mais comment\u00a0? Ce livre a \u00e9t\u00e9 une v\u00e9ritable lib\u00e9ration pour moi.</p><p><strong>L\u00e0 o\u00f9 mon entourage me regardait comme un ovni, ne comprenait pas ce qui m\u2019arrivait (moi non plus d\u2019ailleurs\u00a0;-). J\u2019avais une personne \u2013 Anne \u2013 qui m\u2019expliquait ce que j\u2019avais.</strong></p><p><strong>Elle d\u00e9crivait ma personnalit\u00e9 sans pour autant me conna\u00eetre</strong>, me disait en quoi mon fonctionnement a fait que mon corps a l\u00e2ch\u00e9, ma t\u00eate aussi d\u2019ailleurs^^. Comment je suis pass\u00e9e d\u2019hyperactive \u00e0 couper de mon \u00e9nergie, plus capable de rien faire.</p><p><strong>Et puis, il y a de nombreuses solutions \u00e0 suivre\u00a0; \u00eatre patient bien s\u00fbr, mais pas que.</strong></p><p>Les nombreux t\u00e9moignages dans le livre \u00ab\u00a0Guide du burn-out\u00a0\u00bb sont tr\u00e8s pr\u00e9cieux aussi. Car vous d\u00e9couvrez qu\u2019il y a plein de burnies comme vous. Et \u00e7a fait un bien fou ^^</p><p><strong>Aujourd\u2019hui encore, je m\u2019att\u00e8le \u00e0 faire le bilan toute les semaines</strong> \u2013 Oui, j\u2019ai tellement peur de rechuter que je le fais plus souvent que la recommandation d\u2019Anne\u00a0;-). <strong>C\u2019est mon garde-fou</strong>. Il me permet de v\u00e9rifier si je vais toujours dans le bon sens. Si un bilan pr\u00e9sente le moindre signe d\u2019alerte, je corrige ma fa\u00e7on de faire imm\u00e9diatement.</p><p>Je ne suis pas encore compl\u00e8tement gu\u00e9rie. Je sais que le chemin est long. Et que je dois encore apprendre \u00e0 arr\u00eater de vouloir griller les \u00e9tapes. On ne se refait pas\u00a0\ud83d\ude09</p><p><strong>Mais je sais aujourd\u2019hui que je peux retrouver mon plein potentiel\u00a0! Et \u00e7a, c\u2019est gr\u00e2ce \u00e0 Anne. UN ENORME MERCI A ELLE.</strong></p><p>Guide du Burn-out est un livre \u00e0 mettre entre les mains de toute <strong>personne ayant fait ou risquant de faire un burn-out.</strong> Et <strong>surtout \u00e0 partager avec leur entourage</strong>. Car elles aussi sont impact\u00e9es par ce tsunami.</p><p style=\"text-align: right;\"><strong><a href=\"https://lesondubonheur.com/\" target=\"_blank\" rel=\"noopener\" class=\"external\">Audrey Oc\u00e9ana du blog Le Son du Bonheur</a></strong></p><p><em>Points <strong>forts\u00a0:</strong></em></p><ul><li>Tout\u00a0! Il m\u2019a v\u00e9ritablement aid\u00e9 \u00e0 <strong>passer une des \u00e9tapes de mon burn-out</strong>\u00a0: il m\u2019a \u00ab relev\u00e9e \u00bb\u00a0; l\u00e0 o\u00f9 je ne savais plus vers qui me tourner.</li>\n<li><strong>C\u2019est un des rares livres pratiques qu\u2019il existe sur le sujet\u00a0: il rec\u00e8le de nombreux conseils efficaces, faciles \u00e0 mettre en \u0153uvre, couvrant tous les aspects du burn-out</strong></li>\n<li>Ce livre <strong>ne peut que \u00ab parler \u00bb</strong> aux personnes ayant fait un burn-out et les faire avancer dans leur gu\u00e9rison\u00a0: \u00ab une vraie prise de <strong>conscience \u00bb</strong></li>\n<li>Le fait que <strong>l\u2019auteure elle-m\u00eame a fait un burn-out et cela se sent dans sa fa\u00e7on d\u2019aborder le sujet</strong>. Sa <strong>bienveillance</strong> <strong>est omnipr\u00e9sente</strong>, sans pour autant tomber dans le pathos.</li>\n<li><strong>Les nombreux t\u00e9moignages permettent de nous identifier et de nous sentir moins seuls et isol\u00e9s dans notre maladie</strong></li>\n<li>Les <strong>r\u00e9sum\u00e9s et exergues</strong> pr\u00e9sents dans chaque chapitre offrent la possibilit\u00e9 d\u2019aller \u00e0 l\u2019essentiel si besoin</li>\n</ul><p><em>Point <strong>faible\u00a0:</strong></em></p><ul><li>Parce qu\u2019il fallait vraiment trouver quelque chose, je dirai que <strong>certains passages peuvent para\u00eetre un peu redondants.</strong> En effet, le burnie ne pouvant se concentrer longtemps sur sa lecture, Anne Everard a volontairement repris quelques <strong>principes fondamentaux</strong> tout au long du livre. Perso, je trouve cela plut\u00f4t bienveillant de sa part. Quand je vous dis que ce livre est super ^^</li>\n</ul><p>Ma note\u00a0:</p><p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png?is-pending-load=1\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n<p style=\"text-align: center;\">Avez-vous lu le livre d\u2019Anne Everard <em>\u201cLe guide du burn-out\u201d</em> ? Combien le notez-vous\u00a0?</p><p style=\"text-align: center;\"><img width=\"16\" height=\"16\" id=\"rating_26563_1\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif?is-pending-load=1\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" srcset=\"\" class=\"jetpack-lazy-image c10\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"16\" height=\"16\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<p><img width=\"16\" height=\"16\" id=\"rating_26563_2\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Passable - Un ou deux passages int\u00e9ressants\" title=\"Passable - Un ou deux passages int\u00e9ressants\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_26563_3\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Moyen - Quelques bonnes id\u00e9es\" title=\"Moyen - Quelques bonnes id\u00e9es\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_26563_4\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" title=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_26563_5\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" title=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n(Pas encore de Note)<br />\n<p><img src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\nLoading...<p style=\"text-align: center;\"><a href=\"https://amzn.to/33DXfz6\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin de lire plus de commentaires sur le livre</a> d\u2019Anne Everard <em>\u201cLe guide du burn-out\u201d</em></p><p style=\"text-align: center;\"><a href=\"https://amzn.to/3qq3oaK\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin d\u2019acheter le livre</a> d\u2019Anne Everard <em>\u201cLe guide du burn-out\u201d</em></p><noscript>\n</noscript><p style=\"text-align: center;\">Format Poche\u00a0:</p><noscript>\n</noscript>",
    "created_at": "2022-05-02T07:55:22+00:00",
    "updated_at": "2022-05-02T07:55:29+00:00",
    "published_at": "2022-03-03T16:00:29+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 38,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/guide-du-burn-out-anne-everard.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["livre", "resume", "bonheur"],
    "is_public": false,
    "id": 21,
    "title": "Faire la tortue : je l'ai d\u00e9cid\u00e9 un jour R\u00e9sum\u00e9 et avis Nathalie Desanti",
    "url": "https://des-livres-pour-changer-de-vie.com/et-un-jour-jai-decide-de-faire-la-tortue/",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><p><a href=\"https://amzn.to/3rgBcqe\" target=\"_blank\" rel=\"noopener\" class=\"external\">\n<p><img class=\"alignnone c7\" title=\"et un jour j'ai d\u00e9cid\u00e9 de faire la tortue nathalie desanti\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/et-un-jour-j-ai-decide-de-faire-tortue-nathalie-desanti.jpg\" alt=\"et un jour j'ai d\u00e9cid\u00e9 de faire la tortue nathalie desanti\" width=\"238\" height=\"350\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</a></p><blockquote>\n<p><strong>R\u00e9</strong><strong>sum\u00e9 de \u00ab Et un jour\u2026 j</strong><strong>\u2019</strong><strong>ai d\u00e9</strong><strong>cid\u00e9 de faire la tortue</strong> <strong>\u00bb</strong>\u00a0: Ce livre romanc\u00e9 nous invite \u00e0 suivre le cheminement personnel de Pauline, journaliste trentenaire et m\u00e8re de deux enfants, vers une vie moins stressante et plus \u00e9panouissante pour elle et pour ses enfants\u00a0: une vie <em>slow.</em></p>\n</blockquote><p>Par Nathalie Desanti, 2019, 159 pages.</p><p><em>Note\u00a0: Cette chronique est une chronique invit\u00e9e, \u00e9crite par Chlo\u00e9 Teil, du blog</em> <a href=\"https://ralentir-en-famille.com/\" target=\"_blank\" rel=\"noopener\" class=\"external\">Ralentir en Famille</a><em>.</em></p><h2>Chronique du livre \u00ab Et un jour\u2026 j\u2019ai d\u00e9cid\u00e9 de faire la tortue \u00bb de Nathalie Desanti</h2><h3>Chapitre 1\u00a0: Tu danses le slow\u00a0?</h3><p>En introduction, Nathalie Desanti nous ram\u00e8ne dans les ann\u00e9es 1990. Pauline est une jeune coll\u00e9gienne. A cette \u00e9poque, le <strong><em>slow</em></strong>, c\u2019est la danse qu\u2019elle et ses copines attendent avec impatience lors des boums. Des ann\u00e9es plus tard, elle se rem\u00e9more ces instants de s\u00e9duction o\u00f9 le temps se suspendait. Comment ont-ils pu se volatiliser lorsqu\u2019elle est devenue adulte\u00a0?</p><h4>Plus tard, plus vite</h4><p>Pauline est aujourd\u2019hui une <strong>trentenaire parisienne tr</strong><strong>\u00e8s active</strong>, <strong>maman de deux jeunes gar\u00e7ons</strong>. Journaliste <em>freelance</em>, elle \u00e9crit des articles sur le bien-\u00eatre, la sant\u00e9 et l\u2019\u00e9ducation des enfants pour des <strong>magazines f\u00e9minins</strong>, un m\u00e9tier qu\u2019elle adore. Ses journ\u00e9es ressemblent \u00e0 un marathon sur talons hauts, elle vit \u00e0 cent \u00e0 l\u2019heure.</p><p>Un jour, alors qu\u2019<strong>elle est en retard pour r\u00e9</strong><strong>cup\u00e9rer ses enfants</strong> \u00e0 la garderie apr\u00e8s l\u2019\u00e9cole, une phrase prononc\u00e9e par l\u2019un d\u2019eux provoque un <strong>\u00e9lectrochoc</strong>\u00a0: \u00ab <em>Tu nous as oubli\u00e9s\u00a0? Dis, un jour tu nous oublieras pour toujours et on mourra ici\u00a0?</em> \u00bb.</p><p>Cette <strong>prise de conscience</strong> marque le d\u00e9but d\u2019une nouvelle vie pour Pauline, qui d\u00e9cide de <strong>mettre un coup de frein</strong> s\u00e9rieux \u00e0 ce rythme fou qu\u2019elle impose \u00e0 sa prog\u00e9niture et \u00e0 elle-m\u00eame. Le lendemain, elle annule tous ses rendez-vous et passe une journ\u00e9e cocooning \u00e0 la maison avec ses fils, \u00e0 profiter de petits bonheurs simples de la vie\u00a0: pique-nique sur une couverture au milieu du salon, promenade, dessins anim\u00e9s sous la couette et chocolat chaud.</p><h4>Le slow quoi\u00a0?</h4><p>Il y a plusieurs ann\u00e9es d\u00e9j\u00e0, Pauline avait lu un article sur le \u00ab <em>slow</em> \u00bb. Rien \u00e0 voir avec sa danse de coll\u00e9gienne. Il s\u2019agissait d\u2019un ph\u00e9nom\u00e8ne nouveau n\u00e9 en Italie\u00a0: la <strong><em>slow food</em></strong>. Manger de bons produits, sains et locaux, en opposition au <em>fast food</em>. Une tendance qui s\u2019est ensuite d\u00e9clin\u00e9e en <em>slow travel</em>, <em>slow money</em>, <em>slow fashion</em>, et tout simplement <strong><em>slow life</em></strong>. Un peu plus tard, Pauline entend \u00e9galement parler de <strong><em>slow parenting</em></strong>, gr\u00e2ce \u00e0 une interview de Catherine Gueguen sur l\u2019\u00e9ducation bienveillante, \u00e0 la radio.</p><p><strong>Le</strong> <strong><em>slow</em>, c</strong><strong>\u2019est simplement \u00eatre dans l</strong><strong>\u2019instant pr\u00e9sent</strong>. <strong>Ralentir et faire la tortue pour prendre soin de soi et des autres</strong>.</p><p>Pour en savoir plus, vous voudrez peut-\u00eatre lire mon article\u00a0: <a href=\"https://ralentir-en-famille.com/quest-ce-que-le-mouvement-slow/\" target=\"_blank\" rel=\"noopener\" class=\"external\">Qu\u2019est-ce que le mouvement \u201cslow\u201d\u00a0?</a></p><h4>Plus vite, petite faire la tortue\u00a0!</h4><p>Pour l\u2019aider \u00e0 ralentir, Pauline prend contact avec un <strong>th\u00e9rapeute</strong>. Il commence par lui expliquer le langage des oiseaux\u00a0: dans notre soci\u00e9t\u00e9, quelqu\u2019un qui ne fait rien est un fain\u00e9ant (<em>fait-n\u00e9ant</em>).</p><p>Pauline se souvient alors que d\u00e8s l\u2019\u00e9cole primaire, <strong>la lenteur \u00e9tait vue comme un d\u00e9faut</strong>. On lui reprochait d\u2019\u00eatre lente, un traumatisme qui est rest\u00e9 grav\u00e9 en elle, elle qui avait \u00e9t\u00e9 \u00e9lev\u00e9e jusque-l\u00e0 dans un cocon familial doux et bienveillant.</p><h3>Chapitre 2\u00a0: Moins vite, tu peux toi\u00a0?</h3><p>Accompagn\u00e9e par son th\u00e9rapeute, Pauline poursuit son chemin. Les premi\u00e8res semaines, elle d\u00e9vore articles, livres, conf\u00e9rences, podcasts et formations sur les th\u00e8mes du <strong>mode de vie</strong> <strong><em>slow</em></strong> et de la <strong>parentalit\u00e9 bienveillante</strong>. Mais elle r\u00e9alise qu\u2019elle retombe dans ses travers dans cette fr\u00e9n\u00e9sie d\u2019informations. En fait, <strong>elle \u00e9prouve une vraie difficult\u00e9 \u00e0 ralentir et faire la tortue</strong>.</p><p>Pour sortir de ce sch\u00e9ma, son th\u00e9rapeute l\u2019invite \u00e0 <strong>chercher quels b\u00e9n\u00e9fices elle en retire</strong>. Apr\u00e8s r\u00e9flexion, il s\u2019agirait de se faire plaindre et de recevoir de l\u2019aide sans m\u00eame la demander. Ses parents, par exemple, lui proposent de garder ses enfants ou de lui pr\u00e9parer de bons petits plats pour la soulager. Elle aime qu\u2019on dise d\u2019elle qu\u2019elle est toujours pr\u00eate \u00e0 se plier en quatre pour \u00eatre sur tous les fronts.</p><h4>On casse le sch\u00e9ma, vite\u00a0!</h4><p>Mais pour changer, il faut accepter de <strong>faire le deuil de ce personnage</strong> qu\u2019on a cr\u00e9\u00e9, et de la reconnaissance sociale qui y est attach\u00e9e. De m\u00eame, <strong>la</strong> <strong>loyaut\u00e9</strong> envers nos parents et grands-parents nous pousse \u00e0 suivre une voie que nous n\u2019avons pas forc\u00e9ment choisie consciemment, \u00e0 <strong>reproduire des sch\u00e9</strong><strong>mas</strong> pour ne pas d\u00e9cevoir.</p><p>Gr\u00e2ce \u00e0 la <strong>psychog\u00e9n\u00e9alogie</strong>, par exemple, il est possible de revisiter l\u2019histoire familiale et de d\u00e9nouer des blocages qui ne nous appartiennent pas, afin d\u2019\u00e9viter certains troubles et syst\u00e8mes de fonctionnement r\u00e9p\u00e9titifs (\u00e9checs, maladies, etc\u2026).</p><p>Pauline prend ainsi conscience que plusieurs g\u00e9n\u00e9rations de ses anc\u00eatres ont travaill\u00e9 tr\u00e8s durement toute leur vie, ont connu la guerre, les mines\u2026 <strong>Prendre le temps de se reposer \u00e9tait consid\u00e9r\u00e9 comme une faiblesse</strong>. Par loyaut\u00e9 pour ses a\u00efeux, elle ne s\u2019autorise pas \u00e0 ralentir.</p><p>Au-del\u00e0 de la prise de conscience, il est n\u00e9cessaire de passer par une <strong>phase d</strong><strong>\u2019acceptation</strong>\u00a0: notre vie est plus agr\u00e9able que la leur, et tant mieux\u00a0! Ils en seraient fiers et heureux pour nous. A nous donc d\u2019en profiter pour nous, et pour eux. Il est temps pour Pauline de rendre \u00e0 ses a\u00efeux ce qui leur appartient et de les remercier pour ce qu\u2019ils ont accompli.</p><h4>Mais qui peut ralentir\u00a0?</h4><p>Chacun a son propre rythme, <strong>l</strong><strong>\u2019important est de s\u2019\u00e9couter.</strong> Ce qui ne signifie pas seulement \u00e9couter notre <strong>cerveau</strong>, mais aussi et surtout notre <strong>coeur</strong> et\u2026 notre <strong>intestin</strong>. Ce dernier, pourvu de plusieurs centaines de millions de neurones, nous envoie des signaux qu\u2019il nous appartient d\u2019\u00e9couter. Est-ce que l\u2019\u00e9vocation de notre journ\u00e9e du lendemain cr\u00e9e une envol\u00e9e de papillons dans notre ventre, ou bien est-ce qu\u2019au contraire il se serre\u00a0?</p><p>Pauline tombe sur une opportunit\u00e9 tr\u00e8s all\u00e9chante d\u2019un organisateur de conf\u00e9rences en d\u00e9veloppement personnel. Enthousiaste, elle r\u00e9serve vingt-trois \u00e9v\u00e8nements sur les quatre mois suivants. Le lendemain, elle se sent lourde, le ventre serr\u00e9. Pour la premi\u00e8re fois, elle pr\u00eate attention au message que son corps lui envoie et annule une bonne partie de ses r\u00e9servations.</p><h3>Chapitre 3\u00a0: Ces mots qui empoisonnent</h3><p><strong>Cesse de faire la tortue \u201cD\u00e9p\u00eache-toi\u00a0!\u201d</strong> est une phrase bien trop souvent employ\u00e9e par les parents d\u2019aujourd\u2019hui pour tenter de faire suivre \u00e0 leurs enfants le m\u00eame rythme que celui qu\u2019ils s\u2019imposent \u00e0 eux-m\u00eames. Des injonctions souvent accompagn\u00e9es de menaces, chantage, voire mensonges, qui sont un <strong>poison</strong> pour l\u2019enfant.</p><h4>Demande \u00e0 tes cellules</h4><p>Pauline d\u00e9couvre la notion de <strong>m\u00e9moire cellulaire</strong>, sur laquelle sont bas\u00e9s la kin\u00e9siologie et le reiki. Il s\u2019agit de la capacit\u00e9 de nos cellules \u00e0 garder des <strong>informations issues de notre histoire familiale ou de l</strong><strong>\u2019histoire collective</strong>.</p><p>Sur les conseils d\u2019une amie, elle consulte une <strong>th\u00e9</strong><strong>rapeuthe en ARC</strong> (Analyse et R\u00e9information Cellulaire), pour qui son besoin d\u2019aller vite en permanence peut effectivement provenir d\u2019une <strong>transmission interg\u00e9n\u00e9rationnelle</strong>. La th\u00e9rapie \u201cclassique\u201d lui a permis de comprendre intellectuellement ce qui se joue, tandis que l\u2019ARC devrait lui permettre de transmettre cette information \u00e0 son corps.</p><p>Elle aborde \u00e9galement avec Pauline la notion de <strong>double contrainte</strong>, une r\u00e9v\u00e9lation pour elle. Par exemple\u00a0: partir pour quelques jours de d\u00e9connexion dans la nature et poster des photos r\u00e9guli\u00e8rement sur Instagram, en suivant le nombre de \u201c<em>likes</em>\u201d. On ne peut pas tout faire, faire la tortue et choisir, c\u2019est renoncer. Dans les jours qui suivent, Pauline ressent une am\u00e9lioration\u00a0: due \u00e0 la s\u00e9ance ou effet placebo\u00a0? Difficile \u00e0 dire\u2026</p><p><img class=\"alignnone jetpack-lazy-image c7\" title=\"reconnexion nature double contrainte\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/reconnexion-nature-double-contrainte.jpg?is-pending-load=1\" alt=\"Faire la tortue, reconnexion nature double contrainte\" width=\"600\" height=\"338\" border=\"0\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"alignnone c7\" title=\"reconnexion nature double contrainte\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/reconnexion-nature-double-contrainte.jpg\" alt=\"Faire la tortue, reconnexion nature double contrainte\" width=\"600\" height=\"338\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4>Je renonce, donc je suis\u00a0!</h4><p>A l\u2019\u00e9poque de l\u2019<strong>hyperconnexion</strong>, nous sommes sursollicit\u00e9s\u00a0: loisirs, divertissements, achats\u2026 tout est \u00e0 port\u00e9e de clic. Pour contrer cette fr\u00e9n\u00e9sie, les offres de s\u00e9jours de d\u00e9connexion, retraites de yoga, je\u00fbne, \u2026 se multiplient. Quitte \u00e0 tomber dans cette fameuse double contrainte.</p><p>Pour sortir du cercle vicieux, <strong>il est n\u00e9cessaire de nous reconnecter avec ce qui est le plus important pour nous</strong>. Quand plusieurs propositions se t\u00e9lescopent, laissons nos choix \u00eatre guid\u00e9s par nos besoins profonds, plut\u00f4t que de vouloir tout faire, de peur de d\u00e9cevoir. A vouloir trop en faire la tortue, nous faisons tout \u00e0 moiti\u00e9, sans \u00eatre pleinement pr\u00e9sents.</p><h4>Je ferai \u00e7a plus tard</h4><p>Pauline aborde avec son th\u00e9rapeute la question de la <strong>procrastination</strong>\u00a0: si le manque de temps est un probl\u00e8me, trop en avoir nous joue \u00e9galement des tours. Paradoxalement, les personnes qui viennent consulter pour des probl\u00e8mes de stress, voire de burn-out sont souvent les m\u00eames que celles qui procrastinent. Quand on a tendance \u00e0 faire la tortue et trop remettre au lendemain, on se retrouve \u00e0 devoir tout faire dans l\u2019urgence, ce qui donne l\u2019impression d\u2019\u00eatre d\u00e9bord\u00e9 et cr\u00e9e un stress important.</p><p>Le th\u00e9rapeute explique \u00e0 Pauline que la procrastination peut \u00eatre une <strong>strat\u00e9gie d\u2019\u00e9vitement</strong>, quand on a peur de ne pas arriver \u00e0 accomplir une t\u00e2che, par exemple. Certaines personnes se fixent m\u00eame syst\u00e9matiquement des objectifs inatteignables pour ne m\u00eame pas essayer de les atteindre et ainsi se conforter dans l\u2019id\u00e9e qu\u2019ils sont nuls.</p><p>De son c\u00f4t\u00e9, Pauline r\u00e9alise aussi qu\u2019elle a <strong>tendance \u00e0 \u00eatre trop optimiste</strong> sur le temps qu\u2019il lui faut pour r\u00e9aliser certaines t\u00e2ches, comme par exemple aller \u00e0 son cours de yoga. Elle sait qu\u2019en marchant tranquillement, il lui faut une vingtaine de minutes. Mais elle trouve toujours quelque chose \u00e0 faire \u00e0 la derni\u00e8re minute et part moins de quinze minutes avant l\u2019heure. R\u00e9sultat, elle se retrouve \u00e0 courir pour ne pas arriver en retard.</p><p>De plus, le th\u00e9rapeute sensibilise Pauline au fait que nous sommes sans arr\u00eat interrompus par des <strong>distracteurs</strong> qui nous emp\u00eachent d\u2019\u00eatre efficaces. Ceux-ci peuvent \u00eatre <strong>externes</strong>, comme les notifications d\u2019emails, de messageries instantan\u00e9es, ou simplement un environnement trop bruyant. Ils peuvent aussi \u00eatre <strong>internes</strong>, comme la faim ou l\u2019anxi\u00e9t\u00e9. Et en occupant la r\u00e9gion du cerveau li\u00e9e \u00e0 la m\u00e9moire imm\u00e9diate, l\u2019anxi\u00e9t\u00e9 nous emp\u00eache de nous concentrer.</p><p>Le th\u00e9rapeute demande \u00e0 Pauline de venir la fois suivante avec sa <strong>\u201c</strong><strong>to-do list\u201d</strong>, prioris\u00e9e en fonction de l\u2019urgence des t\u00e2ches et avec un nombre de croix correspondant \u00e0 l\u2019effort \u00e0 fournir pour les r\u00e9aliser. Il lui apprend \u00e0 d\u00e9couper les t\u00e2ches les plus longues et/ou difficiles en sous-t\u00e2ches, puis de se fixer un temps de dix-quinze minutes pendant lequel elle doit rester concentr\u00e9e sur cette mission. Une fois la t\u00e2che accomplie, il lui recommande de s\u2019offrir une r\u00e9compense pour f\u00eater \u00e7a.</p><h3>Chapitre 4\u00a0: Une fabuleuse histoire de chimie et de cerveau</h3><p>Pauline participe \u00e0 un <strong>stage de parentalit\u00e9</strong> sur le th\u00e8me du <strong>fonctionnement du cerveau de l</strong><strong>\u2019enfant</strong>. Elle apprend d\u2019abord que <strong>le cerveau de l</strong><strong>\u2019enfant est immature</strong>. Il n\u2019est pas capable de g\u00e9rer les \u00e9motions, d\u2019o\u00f9 des r\u00e9actions sans filtre, parfois tr\u00e8s fortes et incompr\u00e9hensibles autant pour les adultes que pour l\u2019enfant lui-m\u00eame.</p><p>Ensuite, elle apprend que le cerveau est tr\u00e8s sch\u00e9matiquement divis\u00e9 en trois parties\u00a0:</p><ul><li>Le <strong>cerveau reptilien</strong> ou <strong>archa</strong><strong>\u00ef</strong><strong>que</strong>, qui g\u00e8re les fonctions physiologiques et les <strong>r\u00e9flexes</strong> n\u00e9cessaires \u00e0 notre survie, comme l\u2019augmentation du rythme cardiaque en cas de danger pour permettre la fuite ou la d\u00e9fense.</li>\n<li>Le <strong>cerveau limbique</strong> g\u00e8re les <strong>\u00e9motions</strong>. Il a un r\u00f4le important dans la m\u00e9moire et les apprentissages. C\u2019est pourquoi, pour bien apprendre, il est indispensable qu\u2019il y ait de la confiance et du plaisir.</li>\n<li>Le <strong>n\u00e9</strong><strong>ocortex</strong> est quant-\u00e0 lui d\u00e9di\u00e9 \u00e0 la r\u00e9flexion, au langage, \u00e0 la conscience, \u00e0 l\u2019imagination, \u00e0 l\u2019empathie\u2026</li>\n</ul><p>A la base, <strong>le stress est indispensable \u00e0 notre survie</strong>\u00a0: il nous permet de nous adapter \u00e0 l\u2019environnement et de nous prot\u00e9ger en cas de danger en entra\u00eenant la s\u00e9cr\u00e9tion de cortisol, d\u2019adr\u00e9naline et de noradr\u00e9naline. Cependant, quand il est trop important ou trop r\u00e9p\u00e9t\u00e9, le stress devient un poison\u00a0: le <strong>cortisol</strong> alt\u00e8re le d\u00e9veloppement du cerveau, l\u2019<strong>adr\u00e9naline</strong> et la <strong>noradr\u00e9naline</strong> g\u00e9n\u00e8rent angoisses, peur et col\u00e8re.</p><h4>M\u00eame \u201cpas\u201d peur\u00a0?</h4><p>Pauline prend conscience lors de ce stage qu\u2019elle s\u2019\u00e9tait <strong>accoutum\u00e9e au stress</strong>, comme s\u2019il \u00e9tait devenu indispensable et indissociable de son mode de vie \u201cmoderne\u201d, de son job \u201cintellectuel\u201d. Le stress comme <strong>symbole de r\u00e9ussite</strong>. Une question lui vient\u00a0: <strong>peur</strong> et <strong>stress</strong>, est-ce la m\u00eame chose\u00a0?</p><p>Le stress s\u2019attaque \u00e0 l\u2019<strong>hippocampe</strong>, si\u00e8ge de la m\u00e9moire, de l\u2019apprentissage, mais aussi de la vie relationnelle et de l\u2019humeur. C\u2019est pourquoi apprendre dans le stress, sous la menace ou la peur est quasiment impossible.</p><p>La peur et les autres \u00e9motions primitives si\u00e8gent, elles, dans l\u2019<strong>amygdale</strong>. Contrairement \u00e0 l\u2019hippocampe, l\u2019amygdale est mature d\u00e8s la naissance. C\u2019est elle qui nous fait r\u00e9agir imm\u00e9diatement en cas de menace. Elle permet aussi de reconna\u00eetre les \u00e9motions.</p><p>Pour la formatrice, <strong>l</strong><strong>\u2019antidote au stress chez l</strong><strong>\u2019enfant r\u00e9side dans un mode de parentalit\u00e9</strong> <strong><em>slow</em></strong> (<em>slow parenting,</em> en anglais), fond\u00e9 sur la <strong>bientraitance</strong> et la <strong>pleine conscience</strong>. Attention, il ne s\u2019agit pas de devenir passif et de se d\u00e9sinvestir de son r\u00f4le de parent ou d\u2019\u00e9ducateur.</p><h4>Prenez-moi vite cet antidote\u00a0!</h4><p>Pauline culpabilise d\u2019avoir inflig\u00e9 tant de stress \u00e0 ses enfants, maintenant qu\u2019elle a pris conscience des effets d\u00e9l\u00e9t\u00e8res sur leur cerveau. Elle est bien d\u00e9cid\u00e9e \u00e0 tout faire pour rectifier le tir.</p><p>La formatrice aborde l\u2019importance de l\u2019<strong>ocytocine</strong>, hormone de l\u2019<strong>amour</strong> et de l\u2019<strong>attachement</strong>. Les mammif\u00e8res, y compris les humains, naissent incapables de se d\u00e9brouiller tout seuls. En l\u2019absence de soins de leur m\u00e8re, ils ne peuvent survivre. C\u2019est gr\u00e2ce \u00e0 l\u2019ocytocine, s\u00e9cr\u00e9t\u00e9e en grande quantit\u00e9 pendant la <strong>grossesse</strong>, l\u2019<strong>accouchement</strong> et les semaines qui suivent la naissance, que la m\u00e8re va prendre soin de son petit et assurer sa survie. Elle agit notamment sur les contractions ut\u00e9rines, la lactation et l\u2019attachement, c\u2019est-\u00e0-dire le <strong>lien</strong> qui se cr\u00e9e entre un parent et son enfant.</p><p>Pour en savoir plus sur les semaines qui suivent la naissance et comment cr\u00e9er un lien d\u2019attachement r\u00e9cure avec votre enfant, je vous invite \u00e0 lire \u00ab <a href=\"https://ralentir-en-famille.com/mois-dor-post-partum-slow/\" target=\"_blank\" rel=\"noopener\" class=\"external\">Le mois d\u2019or, un postpartum slow</a> \u00bb.</p><p>Un <strong>moment joyeux</strong> de partage avec son enfant, en pleine pr\u00e9sence et en toute bienveillance d\u00e9clenche la s\u00e9cr\u00e9tion d\u2019<strong>ocytocine</strong>, tout comme un <strong>c\u00e2lin</strong>. A contrario, le stress, les cris, les menaces, entra\u00eenent une s\u00e9cr\u00e9tion de <strong>cortisol</strong> (hormone du stress), qui emp\u00eache la production d\u2019ocytocine, et des autres hormones du bonheur\u00a0: dopamine, s\u00e9rotonine, endorphines. Ainsi, partager des moment <em>slow</em> et zen avec ses enfants permet d\u2019am\u00e9liorer le bien-\u00eatre de toute la famille.</p><h4>Le <em>slow</em>, pour mieux se lier</h4><p>La formatrice insiste sur le fait que l\u2019<strong>attachement</strong> <strong>est un besoin physiologique primaire universel</strong>. Le lien qui unit le parent \u00e0 son enfant est unique, durable et non interchangeable\u00a0: il peut \u00eatre compens\u00e9, mais pas remplac\u00e9.</p><p><img class=\"alignnone jetpack-lazy-image c7\" title=\"lien attachement ocytocine\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/lien-attachement-ocytocine.jpg?is-pending-load=1\" alt=\"Faire la tortue, lien attachement ocytocine\" width=\"600\" height=\"400\" border=\"0\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"alignnone c7\" title=\"lien attachement ocytocine\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/lien-attachement-ocytocine.jpg\" alt=\"Faire la tortue, lien attachement ocytocine\" width=\"600\" height=\"400\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p>Un enfant qui a construit un lien d\u2019attachement \u201cs\u00e9cure\u201d se sent <strong>en s\u00e9curit\u00e9</strong> pour aller vers les autres et se s\u00e9parer de son parent le moment venu. A l\u2019inverse, un enfant dont le lien d\u2019attachement est \u201cins\u00e9cure\u201d, mettra toute son \u00e9nergie dans sa vigilance et sa s\u00e9curit\u00e9 et n\u2019en que tr\u00e8s peu pour la curiosit\u00e9 et la d\u00e9couverte.</p><p>Or, cet attachement solide se cr\u00e9e lorsque le parent r\u00e9pond de fa\u00e7on adapt\u00e9e aux <strong>besoins</strong> de l\u2019enfant. Pauline r\u00e9alise que pour compenser son mode de vie \u00e0 cent \u00e0 l\u2019heure, elle a tendance \u00e0 tout donner \u00e0 ses enfants avant m\u00eame qu\u2019il n\u2019aient exprim\u00e9 un besoin, ce qui a pour effet de \u00ab\u00a0doper\u00a0\u00bb leurs besoins. Elle se sent coupable et se demande si elle peut encore rattraper le coup.</p><h3>Chapitre 5\u00a0: Ensemble, c\u2019est tout\u00a0!</h3><p>Le stage sur la parentalit\u00e9 se poursuit. Et si le <em>slow parenting</em>, c\u2019\u00e9tait avant tout <strong>passer du temps de qualit\u00e9 ensemble, sans chercher \u00e0 tout prix la performance, le r\u00e9</strong><strong>sultat</strong>\u00a0? Avec juste l\u2019intention de partager, de cr\u00e9er du lien.</p><p>Si vous cherchez des id\u00e9es pour passer de bons moments en famille, vous voudrez peut-\u00eatre lire mon article\u00a0: <a href=\"https://ralentir-en-famille.com/18-activites-nature-en-famille-simples-gratuites/\" target=\"_blank\" rel=\"noopener\" class=\"external\">18 activit\u00e9s nature en famille, simples et (presque) gratuites</a></p><p>La formatrice laisse place \u00e0 un intervenant, <strong>praticien en EMDR</strong> (<em>Eye Movement Desensitization Reprocessing</em>), une th\u00e9rapie d\u2019int\u00e9gration neuro-\u00e9motionnelle bas\u00e9e sur des mouvements oculaires. Il aborde le th\u00e8me du \u00ab\u00a0<em>caregiving</em>\u00ab\u00a0, qui passe d\u2019abord par une vraie <strong>\u00e9coute de l\u2019enfant</strong>, <strong>de ses besoins et de ses ressentis</strong>. Il conseille par exemple d\u2019\u00e9viter de dire \u00ab\u00a0<em>Ce n\u2019est rien, ne pleure pas</em>\u00a0\u00bb quand l\u2019enfant s\u2019est fait mal, ou \u00ab\u00a0<em>N\u2019aies pas peur</em>\u00a0\u00bb s\u2019il est face \u00e0 une situation qui l\u2019effraie. <strong>Accueillir et mettre des mots sur les \u00e9motions</strong>, plut\u00f4t que de les nier, les \u00e9touffer.</p><p><strong>Il n\u2019est jamais trop tard pour changer</strong> sa fa\u00e7on de faire et prendre soin de son enfant. Si on n\u2019\u00e9tait pas tr\u00e8s tactile jusque l\u00e0, on peut recr\u00e9er un contact physique petit \u00e0 petit, en tenant compte de l\u2019\u00e2ge de l\u2019enfant. Par exemple, on peut dire qu\u2019on a entendu \u00e0 la radio que le massage de la t\u00eate avait de nombreux bienfaits et proposer d\u2019essayer\u00a0! Rire devant un <em>one man show</em> ou en faisant une bataille de polochons, discuter de nos passions et des leurs, aller au cin\u00e9ma et au th\u00e9\u00e2tre, parler de la pi\u00e8ce ou du film en sortant, inviter des amis \u00e0 la maison\u2026 Tous ces <strong>petits bonheurs du quotidien</strong> remontent les r\u00e9serves de dopamine, d\u2019ocytocine et de s\u00e9rotonine, pr\u00e9servent la <strong>joie de vivre</strong> et donnent envie de grandir\u00a0!</p><p>Le th\u00e9rapeute invite les stagiaires \u00e0 <strong>\u00eatre pleinement pr\u00e9</strong><strong>sents</strong> lors des moments partag\u00e9s avec les enfants. Un adulte qui regarde son smartphone en jouant avec son enfant lui envoie le message qu\u2019il est moins important que le t\u00e9l\u00e9phone\u2026</p><p>Il est <strong>urgent de ralentir</strong>, mais <strong>sans culpabiliser</strong>. Le <em>slow parenting</em>, c\u2019est prendre le temps mais aussi accepter d\u2019\u00eatre un parent imparfait.</p><h4>Je m\u2019ennuie\u00a0! Tant mieux\u2026</h4><p>Les prises de conscience sont nombreuses pour Pauline lors de ce stage. Il est difficile pour elle de ne pas culpabiliser. La th\u00e9matique suivante, sur <strong>l\u2019ennui</strong>, lui apporte un peu de r\u00e9confort. Comme tous les parents, elle laisse parfois ses enfants s\u2019ennuyer. Elle \u00e9tait loin de se douter que cela \u00e9tait \u00e0 ce point <strong>b\u00e9n\u00e9fique</strong> pour eux. L\u00e0 encore, il s\u2019agit de <strong>trouver le bon \u00e9quilibre</strong> entre les activit\u00e9s et les moments de jeu libre (ou d\u2019ennui).</p><p>Il y a longtemps, peu apr\u00e8s la naissance de son premier enfant, la p\u00e9diatre l\u2019avait pourtant d\u00e9j\u00e0 rassur\u00e9e\u00a0: pas besoin de mille activit\u00e9s d\u2019\u00e9veil pour les tout petits, il vaut mieux privil\u00e9gier ce qui nous fait plaisir et le faire en \u00e9tant vraiment pr\u00e9sent pour l\u2019enfant. Et surtout, <strong>se faire confiance</strong> plut\u00f4t que de se comparer avec les copines\u00a0!</p><p>Plus tard, une tr\u00e8s bonne amie de Pauline avait m\u00eame carr\u00e9ment \u00e9crit un livre entier sur l\u2019ennui. S\u2019il para\u00eet parfois inconfortable, voire d\u00e9sagr\u00e9able, <strong>il d\u00e9veloppe la cr\u00e9</strong><strong>ativit\u00e9, l\u2019imagination, nous aide \u00e0</strong> <strong>cerner nos d\u00e9</strong><strong>sirs</strong>\u2026 Pauline se souvient qu\u2019enfant, elle se plaignait parfois de s\u2019ennuyer aupr\u00e8s de sa m\u00e8re. Celle-ci lui avait alors mis entre les mains son ancienne machine \u00e0 \u00e9crire. Quelle source de fiert\u00e9\u00a0! Pauline r\u00e9alise que si elle aime autant \u00e9crire aujourd\u2019hui, c\u2019est en grande partie gr\u00e2ce \u00e0 ces moments d\u2019ennui, o\u00f9 sa m\u00e8re tapait \u00e0 la machine et o\u00f9 elle s\u2019est mise \u00e0 faire de m\u00eame. C\u2019\u00e9tait pour elle un jeu. Cela lui fait penser \u00e0 un livre d\u2019Andr\u00e9 Stern<sup>(1)</sup> dans lequel il invite \u00e0 <strong>prendre au s\u00e9rieux le jeu des enfants</strong> afin de pr\u00e9server leur enthousiasme, leurs facilit\u00e9s d\u2019apprentissage, leur altruisme, leur cr\u00e9ativit\u00e9 et leur ouverture.</p><h4>Une s\u00e9rie sinon rien\u00a0?</h4><p>Qui n\u2019a jamais senti un certain mal-\u00eatre apr\u00e8s plusieurs heures pass\u00e9es devant la t\u00e9l\u00e9 \u00e0 zapper d\u2019une \u00e9mission \u00e0 l\u2019autre sans \u00eatre vraiment int\u00e9ress\u00e9 par aucun programme\u00a0? <strong>La t\u00e9l\u00e9 nous prive de ces moments de vide qui sont source d\u2019inspiration</strong>. Elle nous charge en <strong>ions positifs</strong> g\u00e9n\u00e9rateurs de <strong>stress</strong> (comme tous les \u00e9crans d\u2019ailleurs), c\u2019est pourquoi il est n\u00e9cessaire de <strong>compenser avec des activit\u00e9s apaisantes</strong>, qui rechargent en ions n\u00e9gatifs, comme marcher en for\u00eat ou pr\u00e8s d\u2019une rivi\u00e8re.</p><p>Ceci dit, regarder un bon film ou une s\u00e9rie en famille est aussi une <strong>fa\u00e7on de passer du temps ensemble</strong>. Tout est une question de dose\u00a0! Pauline garde un souvenir tr\u00e8s doux de ces dimanches apr\u00e8s-midi pluvieux o\u00f9 elle regardait l\u2019<em>\u00c9cole des fans</em> avec son fr\u00e8re et ses parents, ou encore des \u00e9pisodes de <em>Ma sorci\u00e8re bien-aim\u00e9e</em>, qu\u2019elle attendait avec impatience. C\u2019\u00e9tait un vrai <strong>rituel familial</strong>\u00a0: tout le monde s\u2019installait confortablement avec un chocolat chaud autour d\u2019un plateau de gourmandises pour passer un moment <em>cocooning</em> en famille devant l\u2019\u00e9pisode de la semaine.</p><p><img class=\"alignnone jetpack-lazy-image c7\" title=\"chocolat chaud s\u00e9rie tv famille\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/chocolat-chaud-serie-tv-famille.jpg?is-pending-load=1\" alt=\"Faire la tortue, chocolat chaud s\u00e9rie tv famille\" width=\"600\" height=\"400\" border=\"0\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"alignnone c7\" title=\"chocolat chaud s\u00e9rie tv famille\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/chocolat-chaud-serie-tv-famille.jpg\" alt=\"Faire la tortue, chocolat chaud s\u00e9rie tv famille\" width=\"600\" height=\"400\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p>Avec ses enfants, Pauline avait jusque l\u00e0 un <strong>sentiment contradictoire</strong> par rapport \u00e0 la t\u00e9l\u00e9. D\u2019un c\u00f4t\u00e9, elle souhaitait \u00e9viter au maximum qu\u2019ils ne la regardent, et en m\u00eame temps, elle souhaitait retrouver la magie de certaines s\u00e9ries qu\u2019elle suivait dans son enfance. Apr\u00e8s son stage, elle d\u00e9cide de renouer avec le grand plateau dominical garni de chocolat chaud, brioches ou cr\u00eapes, pour un moment suspendu avant de commencer une nouvelle semaine.</p><p>Cette tradition se rapproche du <a href=\"https://des-livres-pour-changer-de-vie.com/les-cles-du-bonheur-qui-vient-du-nord/\" target=\"_blank\" rel=\"noopener\">Hygge</a>, l\u2019art de vivre \u00e0 la danoise.</p><p>Le pi\u00e8ge r\u00e9side dans les plateformes de <em>streaming</em> qui offrent un contenu in\u00e9puisable, de s\u00e9ries \u00e0 la cha\u00eene. Plus d\u2019attente, ni de rituels\u2026 et un v\u00e9ritable <strong>d\u00e9fi</strong> pour les parents d\u2019ados\u00a0!</p><h4>Tendresse en cuisine</h4><p>Enfant, Pauline a pass\u00e9 beaucoup de temps \u00e0 cuisiner avec sa maman. Notamment les fameuses gourmandises du plateau-t\u00e9l\u00e9 du dimanche, pioch\u00e9es dans leur livre de recettes favorites. Lorsque Pauline a eu ses enfants, sa maman lui a offert ce livre, tach\u00e9 sur les pages de leurs recettes pr\u00e9f\u00e9r\u00e9es et impr\u00e9gn\u00e9 de ses souvenirs d\u2019enfance. Pauline a ainsi pu, \u00e0 son tour, initier ses enfants \u00e0 la pr\u00e9paration de recettes gourmandes, pour son plus grand bonheur. Ces derniers garderont \u00e9galement des souvenirs tendres des petites vacances chez leurs grands-parents, o\u00f9, un saladier entre les jambes, ils m\u00e9langeaient la pr\u00e9paration qui allait devenir leur go\u00fbter. <strong>Cuisiner ensemble, pour le plaisir et sans pression, est une excellente fa\u00e7on d\u2019apprendre \u00e0 ralentir</strong>.</p><p>D\u2019ailleurs, cela rappelle \u00e0 Pauline que son m\u00e9tier de journaliste l\u2019avait amen\u00e9e une fois \u00e0 r\u00e9aliser un reportage sur un atelier de p\u00e2tisserie destin\u00e9 aux enfants dans un grand palace parisien. Fils ou filles de ministres, d\u2019ambassadeurs ou de grands patrons, chaque enfant devait pr\u00e9parer un fraisier \u00e0 ramener chez lui. Et pour une fois, Pauline avait amen\u00e9 avec elle ses deux enfants pour qu\u2019ils participent \u00e0 l\u2019atelier. Mais ces derniers ont \u00e9t\u00e9 tr\u00e8s d\u00e9\u00e7us\u00a0: ce chef cuisinier n\u2019\u00e9tait vraiment pas dr\u00f4le, c\u2019\u00e9tait beaucoup trop s\u00e9rieux\u00a0! Rien \u00e0 voir avec les bons moments pass\u00e9s \u00e0 cuisiner avec Mamie ou Maman\u00a0!</p><h3>Chapitre 6\u00a0: Tous en rythme\u00a0?</h3><p>Ce fameux \u201c<strong>rythme</strong>\u201d, quelle en est la d\u00e9finition \u00e0 la base\u00a0? En r\u00e9alit\u00e9, elles sont multiples\u00a0: \u201cRetour, \u00e0 intervalles r\u00e9guliers dans le temps, d\u2019un fait, d\u2019un ph\u00e9nom\u00e8ne\u201d ou bien, en version moins rigide\u00a0: \u201cSuccession de temps forts et de temps faibles, mouvements dans une \u0153uvre litt\u00e9raire, un film, etc\u2026\u201d. Nous utilisons aujourd\u2019hui beaucoup ce terme pour d\u00e9crire <strong>la fa\u00e7on dont s\u2019encha\u00eenent les temps marquants de nos journ\u00e9es</strong>\u00a0: repas, travail, transports, activit\u00e9s, \u00e9cole, t\u00e2ches m\u00e9nag\u00e8res, vie sociale, sommeil\u2026 Nous avons cependant tendance \u00e0 oublier que <strong>chacun a un rythme qui lui est propre</strong>, et qu\u2019a fortiori, <strong>adultes et enfants n</strong><strong>\u2019ont pas les m\u00eames</strong>.</p><p>Pour approfondir ce sujet, Pauline lit un livre de Marc Schwob <sup>(2)</sup>, psychiatre et chronobiologiste. Ce dernier explique la <strong>coexistence de deux horloges</strong> bien distinctes\u00a0:</p><ul><li>Notre <strong>horloge biologique</strong>, qui est li\u00e9e \u00e0 l\u2019alternance jour-nuit et aux saisons. Elle est r\u00e9gul\u00e9e par des hormones qui influent sur notre m\u00e9tabolisme.</li>\n<li>L\u2019<strong>horloge</strong> <strong>\u201csociale\u201d</strong>\u00a0: l\u2019heure \u00e0 laquelle on doit se lever pour aller travailler ou aller \u00e0 l\u2019\u00e9cole, l\u2019heure de la pause pour le repas, les vacances aux dates impos\u00e9es\u2026</li>\n</ul><p><strong>Nous sommes contraints d</strong><strong>\u2019essayer de caler nos rythmes biologiques sur les rythmes sociaux, au m\u00e9pris de notre bien-\u00eatre</strong>. Par exemple, historiquement, les vacances d\u2019\u00e9t\u00e9 ont \u00e9t\u00e9 cr\u00e9\u00e9es pour que les enfants de paysans puissent aider leurs parents aux champs pendant la belle saison. Cet h\u00e9ritage fait qu\u2019aujourd\u2019hui, l\u2019\u00e9t\u00e9 est une p\u00e9riode de repos et de farniente, tandis que l\u2019hiver est d\u00e9di\u00e9 au travail. Pourtant, c\u2019est en \u00e9t\u00e9, avec les jours longs et l\u2019ensoleillement, que notre organisme est le plus en forme. En hiver, nous avons plus besoin de repos et de <em>cocooning</em>. Tout est invers\u00e9\u00a0!</p><h4>Chrono en miettes</h4><p>Avec son th\u00e9rapeute, Pauline \u00e9voque la n\u00e9cessit\u00e9 de ne pas se laisser happer par le <strong>flot d</strong><strong>\u2019informations en continu</strong> auquel nous sommes soumis aujourd\u2019hui, notamment avec Internet et les <em>smartphones</em>. Il est possible de <strong>reprendre le pouvoir</strong> en choisissant ce qu\u2019on veut voir. Par exemple, ne regarder qu\u2019un seul \u00e9pisode d\u2019une s\u00e9rie par semaine au lieu d\u2019en ingurgiter quatre de suite, et en faire un petit rituel familial. Au niveau professionnel (et aussi personnel), on peut couper les notifications sur son t\u00e9l\u00e9phone et ne regarder ses emails que deux fois par jour. Ainsi, nous d\u00e9cidons quand nous souhaitons avoir une information, plut\u00f4t qu\u2019elle vienne \u00e0 nous sans que nous n\u2019ayons rien demand\u00e9. Et cela change tout.</p><p>Rien que d\u2019<strong>avoir son t\u00e9l\u00e9phone dans son champ de vision est une source de distraction</strong>. Une <a href=\"https://journals.sagepub.com/doi/abs/10.1177/0013916514539755\" target=\"_blank\" rel=\"nofollow noopener\" class=\"external\">\u00e9tude</a> de l\u2019Universit\u00e9 de Virginie a d\u2019ailleurs montr\u00e9 que le simple fait d\u2019avoir un smartphone \u00e0 proximit\u00e9 diminue la qualit\u00e9 des \u00e9changes entre deux personnes\u00a0! D\u2019o\u00f9 l\u2019importance de mettre nos t\u00e9l\u00e9phones hors de port\u00e9e lorsque nous sommes avec nos enfants, pour \u00eatre pleinement pr\u00e9sents \u00e0 ce qui se passe. Ainsi, il devient aussi plus facile d\u2019identifier leurs besoins.</p><p>La th\u00e9rapeute propose \u00e0 Pauline d\u2019essayer, lors des prochaines vacances, d\u2019\u00eatre plus \u00e0 l\u2019\u00e9coute du rythme de son corps et de celui de ses enfants.</p><h4>Chacun son tempo\u00a0!</h4><p>Pauline r\u00e9capitule\u00a0:</p><ul><li><strong>Le rythme des enfants est diff\u00e9rent de celui des adultes</strong>. En particulier, les enfants n\u2019ont pas du tout la m\u00eame notion du temps que nous.</li>\n<li><strong>Les enfants ont besoin de s</strong><strong>\u2019ennuyer</strong>. L\u2019ennui est propice \u00e0 l\u2019imagination et \u00e0 la cr\u00e9ativit\u00e9. Inutile de leur remplir des agendas de ministres.</li>\n<li><strong>Les enfants ont des petites jambes</strong>. A nous de caler nos pas sur les leurs. Accepter que les arr\u00eats multiples pour observer des petites b\u00eates font partie int\u00e9grante de la promenade.</li>\n<li><strong>Eviter d</strong><strong>\u2019utiliser le</strong> <strong>\u201con\u201d impersonnel</strong>, qui n\u2019implique pas les enfants</li>\n<li><strong>Pr\u00e9voir de la marge dans le timing</strong>. Si c\u2019est la course pour nous, \u00e7a l\u2019est pour eux aussi, ce qui engendre du stress.</li>\n<li><strong>Leur laisser du temps pour finir leur activit\u00e9</strong>. Par exemple, au lieu de dire \u201cA table\u00a0!\u201d, on peut dire \u201cOn mange dans un quart d\u2019heure\u201d.</li>\n<li><strong>Le</strong> <strong><em>slow parenting</em> est un changement de rythme</strong>, en aucun cas une suppression du \u201ccadre\u201d</li>\n</ul><h4>Jamais sans mon cadre</h4><p>Un matin, Pauline \u00e9coute une chronique de Claude Halmos, une psychanalyste. Son ventre se noue de culpabilit\u00e9 lorsque celle-ci \u00e9voque la notion de cadre. En effet, depuis son divorce, Pauline a tendance \u00e0 c\u00e9der sur beaucoup de choses pour faire plaisir \u00e0 ses enfants, pour les r\u00e9conforter, les aider \u00e0 passer le cap.</p><p>Selon Claude Halmos, les <strong>addictions</strong> chez les jeunes proviennent du fait qu\u2019<strong>ils ne savent pas o</strong><strong>\u00f9 poser leurs propres limites</strong>. Or, pour elle, cette capacit\u00e9 provient de l\u2019\u00e9ducation. A la base, un enfant ne suit que son plaisir\u00a0: il serait capable de manger une tablette de chocolat en entier, voire m\u00eame deux. Gr\u00e2ce aux <strong>limites pos\u00e9es par les parents</strong>, l\u2019enfant va int\u00e9grer petit \u00e0 petit que le r\u00f4le de celles-ci est de le prot\u00e9ger. Il va aussi apprendre \u00e0 trouver du <strong>plaisir sans aller dans l\u2019exc</strong><strong>\u00e8s</strong>. Sans limites impos\u00e9es, il n\u2019apprend pas \u00e0 ma\u00eetriser ses pulsions, et reste un \u00e9ternel insatisfait, \u00e0 la recherche du \u00ab\u00a0toujours plus\u00a0\u00bb. Ce qui d\u00e9grade son estime de lui-m\u00eame et peut poser des probl\u00e8mes pour sa vie sociale.</p><p>La psy s\u2019inqui\u00e8te d\u2019un <strong>paradoxe</strong>\u00a0: d\u2019un c\u00f4t\u00e9, on se plaint des probl\u00e8mes des jeunes\u00a0: incivilit\u00e9s, addictions\u2026 Et d\u2019un autre c\u00f4t\u00e9, on valide les th\u00e9ories \u00e9ducatives selon lesquelles l\u2019autorit\u00e9 est une violence.</p><p>Pauline se reconna\u00eet (trop) dans le portrait dress\u00e9 par la psychanalyste\u00a0: ses \u00ab\u00a0non\u00a0\u00bb, font toujours l\u2019objet de n\u00e9gociations avec ses enfants, qui se terminent par \u00ab\u00a0bon, d\u2019accord, mais juste un peu\u00a0\u00bb.</p><p>Elle avait d\u00e9j\u00e0 abord\u00e9 la <strong>question du cadre</strong> avec sa th\u00e9rapeute, d\u2019ailleurs. Elle lui avait conseill\u00e9 de poser les limites qui lui paraissaient justes, correspondant \u00e0 son mode de vie, sans c\u00e9der \u00e0 la mode de l\u2019ultra-bienveillance qui laisse la place \u00e0 une ren\u00e9gociation permanente. C\u2019est ce cadre qui permettrait \u00e0 ses enfants de grandir avec un <strong>sentiment de s\u00e9curit\u00e9</strong> et de <strong>bien vivre avec les autres</strong>.</p><h3>Chapitre 7\u00a0: Et l\u2019\u00e9cole dans tout \u00e7a\u00a0?</h3><p>Un jour, alors qu\u2019elle \u00e9tait en classe de CE1, <strong>Pauline a re\u00e7u une gifle de son institutrice</strong> pour avoir pos\u00e9 une question lors d\u2019une le\u00e7on de math\u00e9matiques. Cette derni\u00e8re consid\u00e9rait que, puisque Pauline \u00e9tait une petite fille intelligente, si elle n\u2019avait pas compris, c\u2019est qu\u2019elle n\u2019avait pas bien \u00e9cout\u00e9. Malgr\u00e9 l\u2019intervention de sa m\u00e8re aupr\u00e8s de l\u2019enseignante, \u00e0 partir de ce jour-l\u00e0, Pauline a commenc\u00e9 \u00e0 avoir <strong>des difficult\u00e9</strong><strong>s en maths</strong>. Ses parents ont eu beau d\u00e9penser des fortunes en cours de soutien, impossible pour elle de se remettre \u00e0 flot.</p><h4>Je sais\u2026 enfin, je crois\u00a0!</h4><p>Le stage de parentalit\u00e9 permet \u00e0 Pauline de comprendre ce qu\u2019il s\u2019\u00e9tait pass\u00e9. Pour se prot\u00e9ger d\u2019une possible deuxi\u00e8me gifle, elle s\u2019\u00e9tait <strong>auto-sabot\u00e9e</strong> en maths, de fa\u00e7on \u00e0 \u00eatre elle-m\u00eame convaincue d\u2019\u00eatre nulle. Personne ne pourrait alors lui reprocher de n\u2019avoir pas assez \u00e9cout\u00e9 si elle faisait une erreur. Elle s\u2019est enferm\u00e9e dans cette <strong>croyance limitante</strong> malgr\u00e9 tous ses efforts et ceux de ses parents pour la faire progresser dans cette mati\u00e8re.</p><p>Pauline se souvient d\u2019un autre exemple de croyance limitante tr\u00e8s marquant. Lorsqu\u2019elle avait organis\u00e9 l\u2019anniversaire de son fils dans un parc aquatique, l\u2019un des petits invit\u00e9s n\u2019osait pas faire du toboggan avec les autres\u00a0: sa maman, qui avait tr\u00e8s peur qu\u2019il se fasse mal, lui avait dit qu\u2019il avait une malformation cardiaque et qu\u2019il ne fallait pas qu\u2019il fasse trop d\u2019efforts dans l\u2019eau. Le petit gar\u00e7on, apr\u00e8s avoir fait seulement quelques brasses, \u00e9tait venu voir Pauline en disant que son c\u0153ur lui faisait mal et qu\u2019il n\u2019arrivait plus \u00e0 respirer\u2026</p><p>Claire, la coach en psycho-parentalit\u00e9, leur avait donn\u00e9 des exemples de phrases typiques montrant l\u2019existence de croyances limitantes\u00a0: \u00ab\u00a0Je suis trop\u2026\u00a0\u00bb, \u00ab\u00a0On m\u2019a toujours dit que\u2026\u00a0\u00bb, etc\u2026 A force de penser et dire ces choses l\u00e0, elles finissent par se r\u00e9aliser. Pour les contrer, elle parle de la puissance de la <strong>pens\u00e9e positive</strong>, d\u00e9couverte par le pharmacien fran\u00e7ais Emile Cou\u00e9 dans les ann\u00e9es 1910-1920. C\u2019est le m\u00eame principe que l\u2019effet placebo.</p><p>Pauline imagine ce que serait sa vie aujourd\u2019hui si elle n\u2019avait pas eu ce blocage avec les maths. Peut-\u00eatre qu\u2019elle exercerait un m\u00e9tier compl\u00e8tement diff\u00e9rent\u00a0? Sa psy l\u2019invite \u00e0 ne pas se laisser envahir par les regrets, mais \u00e0 y voir plut\u00f4t de <strong>nouvelles opportunit\u00e9s</strong> pour l\u2019avenir. Elle lui propose de s\u2019imaginer dans des situations o\u00f9 elle est \u00e0 l\u2019aise avec les chiffres, d\u2019oser, d\u2019exp\u00e9rimenter et de voir ses erreurs comme des sources d\u2019apprentissage, sans avoir peur de d\u00e9cevoir les autres, car il s\u2019agit de leur ressenti \u00e0 eux. C\u2019est en ayant cette philosophie elle-m\u00eame qu\u2019elle la transmettra \u00e0 ses enfants.</p><h4>Prends ta loupe et regarde l\u2019\u00e9cole</h4><p>Depuis plusieurs ann\u00e9es, Pauline est \u00ab\u00a0parent d\u00e9l\u00e9gu\u00e9\u00a0\u00bb dans l\u2019\u00e9cole de ses enfants. Elle souhaite comprendre et aider comme elle le peut, tout en gardant sa place de parent. Elle entend parfois des phrases \u00e9tiquettes qui lui font froid dans le dos comme \u00ab\u00a0<em>Son fr</em><em>\u00e8re \u00e9tait tellement plus dou\u00e9 qu\u2019elle\u00a0!</em>\u00ab\u00a0, ou \u00ab\u00a0<em>Il m\u00e9rite des claques\u00a0!</em>\u00ab\u00a0.</p><p>Un soir, Pauline assiste \u00e0 une conf\u00e9rence du psycho-p\u00e9dagogue belge Bruno Humbeeck, auteur du livre \u00ab\u00a0<em>Aider son enfant \u00e0 bien vivre l\u2019\u00e9</em><em>cole</em>\u00ab\u00a0, qui lui para\u00eet tr\u00e8s pertinente.</p><p>Selon lui, <strong>le bien-\u00eatre \u00e0 l\u2019\u00e9cole est impossible</strong> pour plusieurs raisons. Les parents d\u2019aujourd\u2019hui sont dans le contr\u00f4le et l\u2019<strong>hyper-parentalit\u00e9</strong>. Ils ont du mal \u00e0 accepter de ne pas avoir la main sur ce qui se passe \u00e0 l\u2019\u00e9cole. D\u2019un autre c\u00f4t\u00e9, l\u2019\u00e9cole n\u2019a toujours pas r\u00e9ussi aujourd\u2019hui \u00e0 mettre en place des outils efficaces pour g\u00e9rer les <strong>conflits</strong> et lutter contre le <strong>harc</strong><strong>\u00e8lement</strong>. Au milieu, les enfants, n\u2019osent pas toujours parler de leurs difficult\u00e9s \u00e0 leurs parents. Il se cr\u00e9e alors un <strong>environnement de peur et de stress</strong>, <strong>peu propice aux apprentissages</strong>. Les parents essayent de compenser en faisant travailler l\u2019enfant \u00e0 la maison, mais rarement dans des conditions \u00e9motionnelles favorables. C\u2019est le d\u00e9but d\u2019un <strong>cercle vicieux vers l\u2019\u00e9chec scolaire</strong>.</p><p>Bruno Humbeeck aime dire qu\u2019<strong>on doit apprendre par et avec plaisir</strong>. <strong>Le jeu est la meilleure des sources d\u2019apprentissages</strong>. Sans notes, sans enjeux, les apprentissages se font naturellement et de mani\u00e8re p\u00e9renne.</p><p><img class=\"alignnone jetpack-lazy-image c7\" title=\"ecole autrement\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/ecole-autrement.jpg?is-pending-load=1\" alt=\"Faire la tortue, ecole autrement\" width=\"600\" height=\"400\" border=\"0\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"alignnone c7\" title=\"ecole autrement\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/ecole-autrement.jpg\" alt=\"Faire la tortue, ecole autrement\" width=\"600\" height=\"400\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p>Int\u00e9ress\u00e9e depuis quelque temps par les neurosciences, la psychop\u00e9dagogie et l\u2019\u00e9ducation positive, Pauline s\u2019\u00e9tait aussi rapproch\u00e9e de l\u2019association la Fabrique Spinoza, qui a pour but d\u2019accro\u00eetre le niveau de bonheur citoyen\u00a0: dans l\u2019\u00e9ducation, le travail\u2026</p><h4>L\u2019\u00e9cole de nos r\u00eaves</h4><p>Pauline assiste au spectacle de fin d\u2019ann\u00e9e de l\u2019\u00e9cole de th\u00e9\u00e2tre de sa petite ni\u00e8ce de sept ans. Elle est \u00e9merveill\u00e9e par la fa\u00e7on dont la prof de th\u00e9\u00e2tre a su mettre en pratique toutes les valeurs \u00ab\u00a0<em>slow</em>\u00a0\u00bb qui lui tiennent \u00e0 c\u0153ur. Sur le programme distribu\u00e9 \u00e0 l\u2019entr\u00e9e, elle a tr\u00e8s bien su choisir les mots pour montrer le cheminement parcouru avec sa petite troupe tout au long de l\u2019ann\u00e9e, dans le <strong>respect</strong>, la <strong>bienveillance</strong> et l\u2019<strong>encouragement</strong> de chaque enfant, afin qu\u2019il s\u2019\u00e9panouisse dans l\u2019activit\u00e9\u2026 et dans sa vie future. La pi\u00e8ce s\u2019appelle \u00ab\u00a0<em>L\u2019\u00e9</em><em>cole de nos r\u00eaves</em>\u00a0\u00bb et a \u00e9t\u00e9 enti\u00e8rement imagin\u00e9e par les enfants.</p><p>Cathy, une amie d\u2019enfance de Pauline avait mont\u00e9 une petite \u00e9cole de peinture \u00e0 San Francisco. Elle avait compris que <strong>c</strong><strong>\u2019est en \u00e9tant compl</strong><strong>\u00e8tement \u00e0 l</strong><strong>\u2019aise dans leur environnement que les enfants donnaient le meilleur d</strong><strong>\u2019eux-m\u00eames</strong>. Ainsi, d\u00e8s le premier cours, elle leur disait qu\u2019ils n\u2019\u00e9taient pas des \u00e9l\u00e8ves, mais des artistes. Et en tant qu\u2019artistes, ils pouvaient demander l\u2019avis des autres artistes. Par contre, il n\u2019\u00e9tait pas permis de se moquer du travail d\u2019un autre.</p><p>Cathy avait racont\u00e9 \u00e0 Pauline l\u2019histoire d\u2019une de ses petites artistes, que son p\u00e8re avait inscrite au cours car \u201c<em>ses dessins, c</em><em>\u2019est vraiment n</em><em>\u2019importe quoi\u00a0!</em>\u201d La pauvre, convaincue d\u2019\u00eatre nulle, ne laissait m\u00eame pas Cathy regarder ses cr\u00e9ations. Petit \u00e0 petit, en la laissant \u00e9voluer \u00e0 son rythme tout au long de l\u2019ann\u00e9e, et en l\u2019entourant de toute sa bienveillance, Cathy avait r\u00e9ussi \u00e0 redonner confiance en ses capacit\u00e9s \u00e0 cette petite fille.</p><p>Si seulement l\u2019\u00e9cole pouvait fonctionner de la m\u00eame mani\u00e8re, <strong>en respectant le rythme et les envies de chaque enfant</strong>, sous un <strong>regard positif et encourageant</strong>, se dit Pauline\u2026</p><h4>Motiv\u00e9, motiv\u00e9, motiv\u00e9</h4><p>Pauline s\u2019int\u00e9resse maintenant au sujet de la motivation, gr\u00e2ce aux livres de Mich\u00e8le Mazeau et Alain Pouet <sup>(3)</sup>, tous deux m\u00e9decins de r\u00e9\u00e9ducation. Selon ces auteurs, <strong>il existe plusieurs types de motivation</strong>.</p><p>La <strong>motivation intrins</strong><strong>\u00e8</strong><strong>que</strong> est celle que l\u2019enfant poss\u00e8de en lui-m\u00eame, sans intervention ext\u00e9rieure. Le but de l\u2019adulte est de <strong>soutenir cette motivation</strong> en aidant l\u2019enfant \u00e0 trouver du sens dans les \u00e9tapes qui m\u00e8nent \u00e0 son but. On r\u00e9ussit mieux quand on est convaincu d\u2019\u00eatre capable d\u2019y arriver\u00a0! D\u2019o\u00f9 l\u2019importance d\u2019\u00e9viter les phrases comme \u201c<em>Tu vas tomber\u00a0!</em>\u201d ou \u201c<em>C</em><em>\u2019est trop dur pour toi</em>\u201d, qui vont couper l\u2019envie d\u2019essayer, de peur d\u2019\u00e9chouer. Il faut f\u00e9liciter chaque petit pas accompli, mettre l\u2019accent sur les r\u00e9ussites plut\u00f4t que sur les \u00e9checs.</p><p>La <strong>motivation extrins</strong><strong>\u00e8</strong><strong>que</strong> est celle apport\u00e9e aux enfants par leur entourage. Elle intervient par le biais de r\u00e9compenses, qui doivent \u00eatre utilis\u00e9es avec parcimonie. En effet, les r\u00e9compenses auront tendance \u00e0 couper la motivation intrins\u00e8que, en sous-entendant que la t\u00e2che est une contrainte. Si elle est utilis\u00e9e, la r\u00e9compense doit respecter certains crit\u00e8res\u00a0:</p><ul><li>\u201cElle doit \u00eatre mod\u00e9r\u00e9e et en lien avec l\u2019effort demand\u00e9, qui doit \u00eatre atteignable\u201d</li>\n<li>\u201cLes d\u00e9lais pour juger des efforts doivent \u00eatre assez courts (une semaine maximum)\u201d</li>\n<li>\u201cLes promesses doivent \u00eatre rigoureusement tenues et non diff\u00e9r\u00e9es.\u00a0\u00bb Mais si les objectifs n\u2019ont pas \u00e9t\u00e9 atteints, la r\u00e9compense ne doit pas \u00eatre accord\u00e9e.</li>\n</ul><p><strong>La punition est \u00e0 proscrire compl</strong><strong>\u00e8tement</strong>\u00a0: l\u2019enfant ne produira rien de bon sous la contrainte et restera marqu\u00e9 par cette pratique.</p><p><strong>L</strong><strong>\u2019erreur devrait \u00ea</strong><strong>tre valoris\u00e9e</strong> comme une <strong>opportunit\u00e9 d</strong><strong>\u2019apprentissage</strong>, et non pas comme une faute, qui induit de la culpabilit\u00e9. Selon Mich\u00e8le Mazeau et Alain Pouet, \u201clorsque l\u2019erreur est trait\u00e9e de fa\u00e7on positive, elle permet que la r\u00e9flexion qui l\u2019accompagne fixe durablement la notion correcte en m\u00e9moire\u201d.</p><p>Et si tout cela \u00e9tait l\u2019av\u00e8nement d\u2019une <strong>relation plus horizontale dans l\u2019\u00e9ducation</strong>\u00a0? Une relation o\u00f9 chacun se respecte, s\u2019\u00e9coute et peut avancer \u00e0 son rythme dans la bienveillance\u00a0? Comme le dit si bien le dictionnaire, \u00e9duquer, \u201c<em>c</em><em>\u2019est donner \u00e0 quelqu</em><em>\u2019un, sp\u00e9cialement \u00e0 un enfant ou \u00e0 un adolescent, tous les soins n\u00e9cessaires \u00e0 la formation et \u00e0 l\u2019\u00e9panouissement de sa personnalit\u00e9</em>\u201d. C\u2019est \u00eatre \u00e0 la fois le tuteur, le soleil et l\u2019eau qui permettront \u00e0 nos enfants, comme des plantes, de <strong>s\u2019\u00e9lever vers le haut</strong>.</p><h3>\u00c9pilogue</h3><p>Seize ans plus tard, les enfants de Pauline sont de jeunes adultes. Elle a succomb\u00e9 un peu malgr\u00e9 elle \u00e0 une proposition pour un poste de r\u00e9dactrice en chef, dans lequel elle s\u2019\u00e9clate\u2026 mais qui lui fait vivre un rythme infernal. Elle se rend compte qu\u2019elle a repris l\u2019autoroute qu\u2019elle avait quitt\u00e9e plusieurs ann\u00e9es auparavant. En parall\u00e8le, elle suit tout de m\u00eame une formation de coach\u00a0: une vraie soupape pour elle. Elle r\u00e9alise \u00e0 quel point c\u2019est l\u2019humain qui l\u2019anime. Avant de sombrer compl\u00e8tement, elle quitte son job, renoue avec son statut de <em>freelance</em> et lance son activit\u00e9 de coach et autrice\u2026 et prend \u00e0 nouveau le temps pour une s\u00e9ance de yoga ou de Qi Gong entre deux rendez-vous\u00a0!</p><h2>Conclusion sur \u201cEt un jour\u2026 j\u2019ai d\u00e9cid\u00e9 de faire la tortue\u201d de Nathalie Desanti</h2><p>Ce livre romanc\u00e9 \u201cEt un jour\u2026 j\u2019ai d\u00e9cid\u00e9 de faire la tortue\u201d se lit tr\u00e8s facilement et permet d\u2019aborder de nombreuses notions de d\u00e9veloppement personnel et de parentalit\u00e9, en les rendant tr\u00e8s accessibles. La contrepartie de ce contenu riche, c\u2019est qu\u2019on a parfois l\u2019impression de sauter du coq \u00e0 l\u2019\u00e2ne, malgr\u00e9 le fil conducteur.</p><p>Cependant, les sujets abord\u00e9s sont tr\u00e8s concrets, illustr\u00e9s par de nombreux exemples. Les diff\u00e9rents encarts de \u201c<em>Mamie Zen</em>\u201d et \u201c<em>Papi Sage</em>\u201d, ainsi que \u201c<em>Les petits carnets de Pauline</em>\u201d apportent des id\u00e9es et astuces compl\u00e9mentaires pour mettre en pratique la <em>slow life</em> au quotidien dans sa famille.</p><p>Je me suis beaucoup retrouv\u00e9e dans la vie de Pauline et son cheminement. Ce livre m\u2019a amen\u00e9e \u00e0 me poser des questions sur ma vie de maman que je ne m\u2019\u00e9tais jamais pos\u00e9es auparavant, et \u00e0 mettre en place de nouvelles habitudes pour revenir \u00e0 l\u2019essentiel et ralentir en famille.</p><p>A noter que j\u2019ai \u00e9t\u00e9 un peu surprise du choix de l\u2019autrice de pr\u00e9senter les th\u00e9ories \u00e9ducatives \u201c\u00e0 l\u2019ancienne\u201d de la psychanalyste Claude Halmos, qui me semblent assez oppos\u00e9es aux id\u00e9es des autres sources cit\u00e9es, comme Andr\u00e9 Stern ou Catherine Gueguen.</p><p>Je recommande cependant tr\u00e8s vivement \u201c<em>Et un jour\u2026 j</em><em>\u2019</em><em>ai d\u00e9</em><em>cid\u00e9 de faire la tortue</em>\u201d, \u00e0 toutes les mamans qui veulent arr\u00eater de vivre une course contre la montre perp\u00e9tuelle et remettre du sens dans leur quotidien.</p><p style=\"text-align: right;\">Chlo\u00e9 Teil, du blog <a href=\"https://ralentir-en-famille.com/\" target=\"_blank\" rel=\"noopener\" class=\"external\">Ralentir en Famille</a></p><p><em>Points <strong>forts\u00a0:</strong></em></p><ul><li><strong>Un contenu riche</strong>, qui explore beaucoup d\u2019aspects li\u00e9s au mode de vie et \u00e0 la parentalit\u00e9 <em>slow</em>, qui nous am\u00e8ne \u00e0 des questionnements et des prises de conscience sur notre propre vie</li>\n<li><strong>Une forme romanc\u00e9e tr</strong><strong>\u00e8</strong><strong>s accessible</strong></li>\n<li><strong>Des id\u00e9es concr</strong><strong>\u00e8tes</strong> avec \u201cLes conseils de Mamie Zen\u201d et \u201cLes petits carnets de Pauline\u201d</li>\n<li><strong>De nombreuses sources cit\u00e9es</strong>, auxquelles le lecteur pourra se r\u00e9f\u00e9rer pour approfondir le sujet s\u2019il le souhaite</li>\n</ul><p><em>Points <strong>faibles\u00a0:</strong></em></p><ul><li>Le r\u00e9cit est parfois un peu d\u00e9cousu</li>\n<li>Certaines th\u00e9ories abord\u00e9es ne sont pas vraiment compatibles entre elles</li>\n</ul><p>Ma note\u00a0:</p><p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png?is-pending-load=1\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image6.png\" alt=\"image\" width=\"24\" height=\"22\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n<p style=\"text-align: center;\">Avez-vous lu <em>\u201cEt un jour\u2026 j\u2019ai d\u00e9cid\u00e9 de faire la tortue\u201d</em> de Nathalie Desanti\u00a0? Combien le notez-vous\u00a0?</p><p style=\"text-align: center;\"><img width=\"16\" height=\"16\" id=\"rating_26572_1\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif?is-pending-load=1\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" srcset=\"\" class=\"jetpack-lazy-image c10\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"16\" height=\"16\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<p><img width=\"16\" height=\"16\" id=\"rating_26572_2\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Passable - Un ou deux passages int\u00e9ressants\" title=\"Passable - Un ou deux passages int\u00e9ressants\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_26572_3\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Moyen - Quelques bonnes id\u00e9es\" title=\"Moyen - Quelques bonnes id\u00e9es\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_26572_4\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" title=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_26572_5\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" title=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n(Pas encore de Note)<br />\n<p><img src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\nLoading...<p style=\"text-align: center;\"><a href=\"https://amzn.to/3rfZmRC\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin de lire plus de commentaires sur le livre</a> de Nathalie Desanti <em>\u201cEt un jour\u2026 j\u2019ai d\u00e9cid\u00e9 de faire la tortue\u201d</em></p><p style=\"text-align: center;\"><a href=\"https://amzn.to/3rgBcqe\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin d\u2019acheter le livre</a> de Nathalie Desanti <em>\u201cEt un jour\u2026 j\u2019ai d\u00e9cid\u00e9 de faire la tortue\u201d</em></p><noscript>\n</noscript><h4><em>R\u00e9f\u00e9rences bibliographiques</em></h4><ul><li>(1) Andr\u00e9 Stern. <a href=\"https://amzn.to/3GuPCJx\" target=\"_blank\" rel=\"noopener\" class=\"external\">Jouer, Faisons confiance \u00e0 nos enfants</a>, Actes Sud Editions, 2017.</li>\n<li>(2) Marc Schwob. <em><a href=\"https://amzn.to/31VCjmq\" target=\"_blank\" rel=\"noopener\" class=\"external\">Les rythmes du corps</a></em>, Odile Jacob, 2007.</li>\n<li>(3) Mich\u00e8le Mazeau et Alain Pouet. <a href=\"https://amzn.to/3fkXtO0\" target=\"_blank\" rel=\"noopener\" class=\"external\">Bien apprendre \u00e0 l\u2019\u00e9cole</a>, Horay, 2018.</li>\n</ul>",
    "created_at": "2022-05-02T07:55:05+00:00",
    "updated_at": "2022-05-02T07:55:12+00:00",
    "published_at": "2022-03-10T16:00:28+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 35,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2022/01/et-un-jour-j-ai-decide-de-faire-tortue-nathalie-desanti.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["sagesse", "roman", "resume"],
    "is_public": false,
    "id": 20,
    "title": "Le Why Caf\u00e9 R\u00e9sum\u00e9 et avis - John P. Strelecky",
    "url": "https://des-livres-pour-changer-de-vie.com/le-why-cafe/",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><p class=\"c7\"><a href=\"https://amzn.to/3k59vem\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external\">\n<p><img class=\"aligncenter wp-image-21798\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/le-why-cafe-john-p-strelecky.jpg\" alt=\"le why caf\u00e9 john p. strelecky\" width=\"246\" height=\"350\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/le-why-cafe-john-p-strelecky.jpg 351w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/le-why-cafe-john-p-strelecky-211x300.jpg 211w\" referrerpolicy=\"no-referrer\" /></p>\n</a></p><blockquote>\n<p><strong>R\u00e9sum\u00e9 de \u00ab\u00a0<em>Le Why Caf\u00e9\u00a0\u00bb</em> de John Strelecky</strong>\u00a0: Un soir, un homme, se retrouve dans un <strong>caf\u00e9 \u00e9trange</strong>, <strong>perdu</strong> au milieu de nulle part\u00a0; sur le menu qu\u2019on lui tend, trois questions sont inscrites\u00a0: <strong>Pourquoi \u00eates-vous ici</strong>\u00a0? <strong>Craignez-vous la mort</strong>\u00a0? <strong>\u00cates-vous pleinement \u00e9panoui</strong>\u00a0? En l\u2019interrogeant sur <strong>sa raison d\u2019\u00eatre</strong>, ces questions vont <strong>changer sa vie</strong>.</p>\n</blockquote><p>Par <strong>John Strelecky</strong>, 2009, 154 pages.</p><p>Titre original\u00a0: \u00ab\u00a0<em>The Why Caf\u00e9</em>\u00ab\u00a0.</p><h2><strong>Chronique et r\u00e9sum\u00e9 de \u00ab\u00a0<em>Le Why Caf\u00e9\u00a0\u00bb</em> de John Strelecky</strong></h2><h3><strong>Avant-Propos de l\u2019auteur John Strelecky</strong></h3><p>Avant de d\u00e9marrer son r\u00e9cit, l\u2019auteur John Strelecky, nous explique que\u00a0:</p><ul><li>L\u2019histoire du Why Caf\u00e9 est aujourd\u2019hui un <strong>best-seller</strong> publi\u00e9 en 27 langues sur toute la plan\u00e8te.</li>\n<li>Le succ\u00e8s de ce livre lui a fait r\u00e9aliser \u00e0 quel point <strong>les humains sont fondamentalement tous les m\u00eames</strong>\u00a0: quelque soient leur culture ou leur pays, ils s\u2019\u00e9merveillent des m\u00eames pens\u00e9es, s\u2019interrogent et recherchent des r\u00e9ponses aux m\u00eames questions.</li>\n<li>Ce r\u00e9cit a \u00e9t\u00e9 \u00e9crit dans un contexte et un \u00e9tat de conscience tr\u00e8s particulier\u00a0: l\u2019auteur raconte s\u2019\u00eatre senti <strong>transport\u00e9</strong>, comme guid\u00e9 \u00ab\u00a0par un \u00e9lan int\u00e9rieur\u00a0\u00bb dont il ignore l\u2019origine, et avec comme seul <strong>objectif de retranscrire une exp\u00e9rience qui avait chang\u00e9 sa vie</strong>. \u00ab\u00a0<em>Le Why Caf\u00e9</em>\u00a0\u00bb a \u00e9t\u00e9 con\u00e7u \u00ab\u00a0presque de but en blanc\u00a0\u00bb et finalis\u00e9 en 21 jours.</li>\n</ul><h3><strong>Prologue</strong></h3><p>Alors qu\u2019il se questionne sur sa vie, John Strelecky\u00a0d\u00e9cide, un jour, de d\u00e9connecter compl\u00e8tement de son travail et de prendre, pour cela, quelques jours de vacances.</p><p>En effet, bien qu\u2019il ne d\u00e9teste pas son emploi, il s\u2019interroge, \u00e0 ce moment-l\u00e0, sur l\u2019int\u00e9r\u00eat de passer toutes ses journ\u00e9es au travail, \u00e0 chercher \u00e0 gravir des \u00e9chelons qui le conduiraient finalement \u00e0 travailler encore davantage. Il prend conscience qu\u2019il n\u2019est finalement qu\u2019en train de r\u00e9p\u00e9ter le sch\u00e9ma qui lui a \u00e9t\u00e9 inculqu\u00e9 \u00e0 l\u2019\u00e9cole par des gens qui ne faisaient, eux-m\u00eames, que r\u00e9p\u00e9ter ce qu\u2019on leur avait aussi inculqu\u00e9.</p><p>Il se trouve alors que sur la route de ces vacances, l\u2019auteur vit une exp\u00e9rience \u00e9trange\u00a0: perdu et l\u2019esprit brouill\u00e9, il atterrit sans trop savoir comment, au bout d\u2019un long chemin sombre et isol\u00e9. De la m\u00eame fa\u00e7on qu\u2019il se sentait \u00e9gar\u00e9 dans sa vie c\u2019est-\u00e0-dire \u00ab\u00a0incertain de savoir exactement o\u00f9 il se dirigeait ni pourquoi il allait dans cette direction\u00a0\u00bb.</p><p>John Strelecky termine son prologue en mettant en doute la v\u00e9racit\u00e9 de ce r\u00e9cit. Mais conclut\u00a0qu\u2019apr\u00e8s tout, peu importe que cette histoire ait bien \u00e9t\u00e9 r\u00e9elle ou non\u00a0: cette soir\u00e9e a d\u00e9finitivement chang\u00e9 sa vie.</p><h3><strong>Chapitre 1</strong></h3><p>Dans ce premier chapitre, nous retrouvons John Strelecky, dans son v\u00e9hicule, sur l\u2019autoroute, immobilis\u00e9 dans les embouteillages parmi des conducteurs m\u00e9contents. Apr\u00e8s plus d\u2019une heure d\u2019attente, il apprend que la route est compl\u00e8tement ferm\u00e9e car un camion-citerne, rempli de produit toxique, s\u2019est renvers\u00e9. Les seules options propos\u00e9es par la police sont de patienter jusqu\u2019\u00e0 ce que la route ait \u00e9t\u00e9 nettoy\u00e9e et r\u00e9ouvre, ou de faire demi-tour pour prendre une route secondaire. John choisit la seconde option.</p><h3><strong>Chapitre 2</strong></h3><p class=\"c7\"><img class=\"aligncenter size-full wp-image-21852 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/le-chemin-qui-mene-au-why-cafe.jpg?is-pending-load=1\" alt=\"le chemin qui m\u00e8ne au why caf\u00e9\" width=\"640\" height=\"423\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/le-chemin-qui-mene-au-why-cafe.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/le-chemin-qui-mene-au-why-cafe-300x198.jpg 300w\" data-lazy-sizes=\"(max-width: 640px) 100vw, 640px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-21852\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/le-chemin-qui-mene-au-why-cafe.jpg\" alt=\"le chemin qui m\u00e8ne au why caf\u00e9\" width=\"640\" height=\"423\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/le-chemin-qui-mene-au-why-cafe.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/le-chemin-qui-mene-au-why-cafe-300x198.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p>Avant son d\u00e9part, John a imprim\u00e9 l\u2019itin\u00e9raire principal de sa destination trouv\u00e9 sur internet, et n\u2019a emport\u00e9 que cet itin\u00e9raire avec lui. Sans atlas routier, il peine alors \u00e0 s\u2019orienter. Tr\u00e8s vite, John se retrouve compl\u00e8tement perdu. Une s\u00e9rie d\u2019intersections et une signalisation inutile, du type \u00ab\u00a0vieille route 65\u00a0\u00bb, ne font que semer plus de confusion chez le conducteur qui n\u2019a pas crois\u00e9 de v\u00e9hicules depuis une cinquantaine de kilom\u00e8tres au moins. L\u2019endroit est totalement d\u00e9sert. Les habitations se font rares. \u00c0 travers champs et for\u00eats, John tente de se fier \u00e0 son sens de l\u2019orientation pour d\u00e9cider de la direction \u00e0 prendre. Les yeux riv\u00e9s sur sa jauge d\u2019essence qui diminue et l\u2019inqui\u00e8te, il continue de rouler en comprenant qu\u2019il lui est d\u00e9sormais impossible de tenter de rejoindre son point de d\u00e9part.</p><p>Il peste\u00a0: ce voyage devait \u00eatre l\u2019occasion de se relaxer et de ressourcer, pense-t-il. Or, il n\u2019est, pour l\u2019instant, que frustrations et \u00e9nervement. Au cr\u00e9puscule, John, craignant la panne s\u00e8che, songe \u00e0 dormir au bord de la route. Le lendemain matin serait plus propice \u00e0 une solution, se r\u00e9signe-t-il.</p><h3><strong>Chapitre 3</strong></h3><p>Soudain, contre toute attente, John aper\u00e7oit de la lumi\u00e8re au bout d\u2019un chemin. Tandis que son niveau de carburant a largement atteint la zone rouge, il s\u2019avance, surpris de voir le signe d\u2019une pr\u00e9sence dans un lieu aussi incongru.</p><p>Cette lumi\u00e8re, c\u2019est un lampadaire qui \u00e9claire l\u2019entr\u00e9e d\u2019une petite b\u00e2tisse blanche. Sur celle-ci, une enseigne au n\u00e9on bleu indique\u00a0: \u00ab\u00a0Le Why Caf\u00e9\u00a0\u00bb. John se gare sur le petit parking, pr\u00e8s de trois autres voitures.</p><p>Fatigu\u00e9, il entre dans le caf\u00e9. En poussant la porte d\u2019entr\u00e9e, des clochettes retentissent, tandis que des odeurs app\u00e9tissantes viennent r\u00e9veiller sa faim.</p><h3><strong>Chapitre 4</strong></h3><p>La d\u00e9coration neuve et r\u00e9tro du Why Caf\u00e9 est tr\u00e8s cosy. Le comptoir, les tables et banquettes rouges apportent un c\u00f4t\u00e9 accueillant \u00e0 cet endroit improbable, au milieu de nulle part.</p><p>John s\u2019assoit sur l\u2019une des confortables banquettes. La serveuse se pr\u00e9sente. Elle se nomme Casey. John la salue \u00e0 son tour, avant de lui raconter bri\u00e8vement ses m\u00e9saventures.</p><p>Casey lui tend le menu. Sur la couverture du menu, il est \u00e9crit \u00ab\u00a0<em>Bienvenue au Why Caf\u00e9\u00a0\u00bb</em>. Mais John remarque imm\u00e9diatement un texte inscrit, juste au\u2013dessous, en petit caract\u00e8re\u00a0: \u00ab\u00a0<em>Avant de commander, s\u2019il vous pla\u00eet, informez-vous aupr\u00e8s de notre personnel sur le sens que pourrait avoir votre passage ici.\u00a0\u00bb</em></p><p>\u00c0 l\u2019int\u00e9rieur du menu, sont bien list\u00e9s les mets habituels\u00a0\u2013 petits d\u00e9jeuners, sandwichs, entr\u00e9es et salades, plats \u2013 mais au verso, \u00e0 nouveau un texte quelque peu \u00e9trange\u00a0:</p><p><em>\u00ab\u00a0Points \u00e0 m\u00e9diter pendant que vous attendez\u00a0:</em></p><ul><li><em>Pourquoi \u00eates-vous ici\u00a0?</em></li>\n<li><em>Avez-vous peur de la mort\u00a0?</em></li>\n<li><em>\u00cates-vous pleinement \u00e9panoui</em> ?\u00a0\u00bb</li>\n</ul><p>John comprend qu\u2019il vient alors d\u2019atterrir dans un endroit vraiment peu habituel\u2026</p><h3><strong>Chapitre 5</strong></h3><p>Malgr\u00e9 quelques doutes sur cet endroit \u00e9trange, John d\u00e9cide de rester. Il n\u2019a, de toutes fa\u00e7ons, pas vraiment le choix, pense-t-il.</p><p>Mais il ne peut s\u2019emp\u00eacher de s\u2019interroger concernant les trois questions au dos du menu. Avant de passer sa commande, il demande alors \u00e0 Casey\u00a0de quoi, au juste, il devait \u00eatre inform\u00e9, comme le stipule la phrase mentionn\u00e9e sur la couverture du menu.</p><p>Mais la r\u00e9ponse de la serveuse ne fait qu\u2019accentuer la confusion de John\u00a0: les clients qui passent au Why Caf\u00e9 sont g\u00e9n\u00e9ralement diff\u00e9rents lorsqu\u2019ils en repartent, lui annonce Casey. C\u2019est pourquoi, d\u00e9sormais, les propri\u00e9taires pensent qu\u2019il est pr\u00e9f\u00e9rable de les informer de \u00ab\u00a0ce \u00e0 quoi ils peuvent s\u2019attendre, au cas o\u00f9 il ne seraient pas tout \u00e0 fait pr\u00eats \u00e0 vivre l\u2019exp\u00e9rience\u00a0\u00bb.</p><h3><strong>Chapitre 6</strong></h3><p>En regardant Casey entrer dans la cuisine, John aper\u00e7oit, dans l\u2019ouverture du mur qui y m\u00e8ne, l\u2019homme en charge de la pr\u00e9paration des plats. John et lui s\u2019\u00e9changent un sourire et un signe de la main de loin.</p><p>Puis John relit la premi\u00e8re question au dos du menu\u00a0: \u00ab\u00a0<em>Pourquoi \u00eates-vous ici</em>\u00a0?\u00a0\u00bb. Mais Casey revient et interrompt sa r\u00e9flexion. Elle lui explique que l\u2019homme qui vient de lui faire signe derri\u00e8re les fourneaux se nomme Mike, que c\u2019est le propri\u00e9taire du Why Caf\u00e9 et qu\u2019il fait toute la cuisine lui-m\u00eame.</p><p>Puis elle prend un ton plus s\u00e9rieux. Casey sugg\u00e8re \u00e0 Mike de modifier la question sur laquelle il est vraisemblablement en train de s\u2019interroger. Elle lui propose de la lire de fa\u00e7on \u00e0 ce qu\u2019elle ne soit plus pos\u00e9e \u00e0 quelqu\u2019un d\u2019autre, mais \u00e0 lui. Car selon elle, cela change tout.</p><p>Sans se l\u2019expliquer, John affirme alors, qu\u2019\u00e0 ce moment tr\u00e8s pr\u00e9cis\u00e9ment, la phrase inscrite sur le menu se met \u00e0 changer\u00a0: au lieu de lire\u00a0: \u00ab\u00a0Pourquoi <em>\u00eates-vous</em> ici\u00a0?\u00a0\u00bb, il peut voir \u00e9crit, l\u2019espace d\u2019un instant, \u00ab\u00a0Pourquoi <em>suis-je</em> ici\u00a0?\u00a0\u00bb.</p><p>John s\u2019inqui\u00e8te. Comment cela a-t-il pu se produire\u00a0? Et lorsqu\u2019il interroge Casey \u00e0 ce propos, celle-ci poursuit sans r\u00e9pondre\u00a0:\u00a0\u00ab\u00a0Ce n\u2019est pas une question \u00e0 prendre \u00e0 la l\u00e9g\u00e8re. [\u2026] Lorsque vous vous y attardez [\u2026] et qu\u2019en plus vous vous la posez \u00e0 vous-m\u00eame, alors <a href=\"https://des-livres-pour-changer-de-vie.com/un-rien-peut-tout-changer/\" target=\"_blank\" rel=\"noopener noreferrer\">votre monde change</a>.\u00a0\u00bb</p><h3><strong>Chapitre 7</strong></h3><p class=\"c7\"><img class=\"aligncenter size-full wp-image-21853 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/trouver-un-sens-a-sa-vie.png?is-pending-load=1\" alt=\"trouver un sens \u00e0 sa vie\" width=\"385\" height=\"640\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/trouver-un-sens-a-sa-vie.png 385w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/trouver-un-sens-a-sa-vie-180x300.png 180w\" data-lazy-sizes=\"(max-width: 385px) 100vw, 385px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-21853\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/trouver-un-sens-a-sa-vie.png\" alt=\"trouver un sens \u00e0 sa vie\" width=\"385\" height=\"640\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/trouver-un-sens-a-sa-vie.png 385w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/trouver-un-sens-a-sa-vie-180x300.png 180w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><ul><li>\n<h4><strong>Trouver un sens \u00e0 sa vie</strong></h4>\n</li>\n</ul><p>John commence \u00e0 comprendre que la question sur le menu signifie bien plus que ce qu\u2019il croit. Il ne s\u2019agit pas juste de savoir pourquoi les gens viennent dans ce caf\u00e9. Elle va bien au-del\u00e0 de \u00e7a.</p><p>Casey confirme\u00a0: \u00ab\u00a0c\u2019est exact. [\u2026] La question ne concerne pas du tout le caf\u00e9. Elle demande aux gens pourquoi ils existent, tout simplement.\u00a0\u00bb</p><p>En r\u00e9fl\u00e9chissant, John se dit qu\u2019il s\u2019est d\u00e9j\u00e0 pos\u00e9 cette question. Depuis un certain nombre d\u2019ann\u00e9es, il s\u2019interroge sur le sens plus \u00e9lev\u00e9 de son existence. Certes, il n\u2019a jamais connu de grosses difficult\u00e9s, malgr\u00e9 des moments de frustration. Il poss\u00e8de des amis, un emploi correct donc finalement plut\u00f4t une bonne vie. Cela dit, il y a toujours eu, quelque part en\u00a0 lui, un \u00ab\u00a0sentiment inexplicable\u00a0\u00bb.</p><ul><li>\n<h4><strong>Accomplir sa raison d\u2019\u00eatre</strong></h4>\n</li>\n</ul><p>En continuant de discuter, Casey affirme que se poser la question du sens \u00e0 sa vie ouvre \u00ab\u00a0une sorte de porte, de passage\u00a0\u00bb. Certaines personnes vont se poser, puis l\u2019oublier. Mais ceux qui d\u00e9sirent vraiment conna\u00eetre la r\u00e9ponse \u00e0 \u00ab\u00a0<em>Pourquoi suis-je ici</em>\u00a0\u00bb ne pourront plus ignorer la r\u00e9ponse.</p><p>Selon Casey\u00a0:</p><blockquote>\n<p>\u00ab\u00a0Poser la question cr\u00e9e l\u2019\u00e9lan pour trouver la r\u00e9ponse. Lorsque quelqu\u2019un trouve la r\u00e9ponse, une force aussi puissante \u00e9merge. Voyez-vous, d\u00e8s qu\u2019une personne sait pourquoi elle est ici, pourquoi elle vit, quelle est sa raison d\u2019exister, elle voudra accomplir cette raison d\u2019\u00eatre. C\u2019est comme savoir o\u00f9 se trouve le X indiquant un tr\u00e9sor sur une carte. Une fois que vous avez vu le X, il est difficile de l\u2019ignorer. Il est encore plus difficile de ne pas aller chercher ce tr\u00e9sor. Une fois que quelqu\u2019un sait pourquoi il est ici, ce sera \u00e9motivement et physiquement plus difficile de ne pas r\u00e9aliser sa raison d\u2019\u00eatre.\u00a0\u00bb</p>\n</blockquote><p>Finalement, John pense qu\u2019il est parfois mieux de ne jamais se poser la question, afin de continuer sa vie simplement, comme avant.</p><p>En tout cas, pour John et Casey, ce qui est clair, c\u2019est que chacun est libre de d\u00e9cider par lui-m\u00eame d\u2019oublier la question ou de s\u2019en pr\u00e9occuper.</p><h3><strong>Chapitre 8</strong></h3><p>Alors que John trouve sa situation loufoque et se rappelle qu\u2019il n\u2019est venu l\u00e0 finalement que pour manger, faire le plein d\u2019essence et se reposer dans un endroit un moment, Mike vient se pr\u00e9senter \u00e0 lui.</p><p>John lui fait part de ses r\u00e9flexions concernant la question pos\u00e9e sur le menu.</p><p>Mike propose de lui expliquer quelques techniques utilis\u00e9es par les gens pour trouver leur r\u00e9ponse. Avant cela, il veut lui apporter sa commande. Mais une fois servi, Mike quitte la table pour \u00e9changer avec le couple assis sur la banquette voisine.</p><h3><strong>Chapitre 9</strong></h3><p>John, affam\u00e9, savoure ses plats, et se sent, \u00e0 pr\u00e9sent, beaucoup mieux. Il accepte avec plaisir la compagnie de Casey qui lui sugg\u00e8re de poursuivre sa r\u00e9flexion avec elle. Durant leur discussion, John prend alors conscience de quelque chose d\u2019extr\u00eamement simple mais de tr\u00e8s excitant\u00a0: \u00ab\u00a0une fois que les gens ont compris leur raison d\u2019\u00eatre, ils font tout simplement ce qu\u2019ils veulent pour r\u00e9aliser cette raison d\u2019\u00eatre\u00a0\u00bb\u00a0:</p><blockquote>\n<p>\u00ab\u00a0Mon esprit s\u2019agitait. Je n\u2019avais jamais envisag\u00e9 les choses de cette fa\u00e7on auparavant. J\u2019avais pass\u00e9 la majeure partie de ma vie \u00e0 prendre des d\u00e9cisions selon d\u2019autres raisons, comme des conseils de ma famille, la pression culturelle et l\u2019opinion des gens. Ce qui m\u2019\u00e9tait maintenant propos\u00e9 \u00e9tait diff\u00e9rent.\u00a0\u00bb</p>\n</blockquote><p>John r\u00e9alise qu\u2019une raison d\u2019\u00eatre peut se concr\u00e9tiser de diff\u00e9rentes mani\u00e8res\u00a0: en devenant artiste, m\u00e9decin, b\u00e2tisseur ou comptable pour aider les autres, ou m\u00eame <a href=\"https://des-livres-pour-changer-de-vie.com/les-secrets-dun-esprit-millionnaire/\" target=\"_blank\" rel=\"noopener noreferrer\">en devenant millionnaire</a>.</p><p>Pour accomplir sa raison d\u2019\u00eatre, il faut donc d\u00e9finir comment le faire et apprendre \u00e0 <a href=\"https://des-livres-pour-changer-de-vie.com/votre-temps-est-infini/\" target=\"_blank\" rel=\"noopener noreferrer\">utiliser son temps</a> dans cet objectif. Et pour cela, John en conclut que le mieux est, sans doute, d\u2019explorer et d\u2019essayer le maximum de choses en lien avec sa raison d\u2019\u00eatre. Casey est compl\u00e8tement d\u2019accord. D\u2019ailleurs, aujourd\u2019hui, nous devons, selon elle, saisir cette chance de pouvoir \u00eatre inform\u00e9, de pouvoir rencontrer un tas de gens partout dans le monde, conna\u00eetre plein de cultures diff\u00e9rentes, et vivre diverses exp\u00e9riences bien plus facilement qu\u2019auparavant.</p><p>\u00c0 ce stade de la conversation, John se rend compte que\u00a0:</p><ul><li>Nos limites ne sont pas li\u00e9es \u00e0 l\u2019accessibilit\u00e9\u00a0; elles sont ce que nous nous imposons nous-m\u00eames.</li>\n<li>Lui-m\u00eame passe son temps \u00e0 faire ce que la plupart des gens font, et non pas ce qu\u2019il voudrait <em>vraiment</em>. Et selon lui, c\u2019est parce qu\u2019il ne connait pas la r\u00e9ponse \u00e0 \u00ab\u00a0pourquoi est-il ici\u00a0\u00bb.</li>\n</ul><h3><strong>Chapitre 10</strong></h3><ul><li>\n<h4><strong>L\u2019histoire de la tortue de mer racont\u00e9e par Casey</strong></h4>\n</li>\n</ul><p>Stimul\u00e9e par la conversation, Casey mentionne une exp\u00e9rience qu\u2019elle a v\u00e9cue avec une grosse tortue de mer verte. Elle explique que cette anecdote lui a enseign\u00e9 une le\u00e7on de vie qu\u2019elle souhaite partager avec John.</p><p>Un jour, alors qu\u2019elle s\u2019adonne au snorkeling en mer, Casey voit, quelques m\u00e8tres au-dessous d\u2019elle, une tortue de mer. Fascin\u00e9e, elle l\u2019observe nager et d\u00e9cide de la suivre. Mais bien qu\u2019elle n\u2019ait rien qui la ralentisse, Casey n\u2019arrive pas \u00e0 \u00eatre aussi rapide que la tortue. Cette derni\u00e8re finit par semer Casey, \u00e9puis\u00e9e. La m\u00eame situation se r\u00e9p\u00e8te le lendemain.</p><p>En l\u2019observant, Casey comprend alors pourquoi. Elle remarque que pour aller aussi vite, la tortue ne combat jamais les vagues. \u00c0 la place, elle les utilise. Pour cela, elle alterne strat\u00e9giquement des p\u00e9riodes de nage et des p\u00e9riodes o\u00f9 elle se laisse flotter. Au m\u00eame moment, Casey, quant \u00e0 elle, continue de nager, sans s\u2019arr\u00eater, sans suivre le courant, peu importe comment. Casey s\u2019aper\u00e7oit que sa fa\u00e7on de faire fonctionne au d\u00e9but, mais qu\u2019elle se fatigue vite et manque d\u2019\u00e9nergie rapidement pour lutter contre les vagues\u00a0:</p><blockquote>\n<p>\u00ab\u00a0Plus les vagues allaient et venaient, plus je m\u2019\u00e9puisais et moins j\u2019\u00e9tais efficace. La tortue continuait d\u2019ajuster ses mouvements \u00e0 ceux de l\u2019eau et c\u2019est ainsi qu\u2019elle pouvait nager plus rapidement que moi\u00a0\u00bb.</p>\n</blockquote><ul><li>\n<h4><strong>La le\u00e7on de vie enseign\u00e9e par la tortue de mer</strong></h4>\n</li>\n</ul><p>John formule l\u2019enseignement \u00e0 tirer de l\u2019histoire de la tortue de mer verte ainsi\u00a0:</p><blockquote>\n<p>\u00ab\u00a0Si vous n\u2019\u00eates pas en r\u00e9sonance avec ce que vous voulez faire, vous pouvez gaspiller votre \u00e9nergie \u00e0 faire plein de choses. Et lorsque les occasions de faire ce que vous voulez se pr\u00e9sentent, il est possible que vous n\u2019ayez ni la force ou le temps de les accomplir.\u00a0\u00bb</p>\n</blockquote><p>Casey acquiesce et souligne qu\u2019en effet, tout ce que nous nous retrouvons \u00e0 faire, tout le temps et l\u2019\u00e9nergie que nous donnons, qui ne sont, en fait, que ce que les autres veulent que nous fassions (activit\u00e9s, services propos\u00e9s, destinations de voyage, lieux o\u00f9 manger, \u00e9missions de t\u00e9l\u00e9vision\u2026) nous \u00e9loignent de notre raison d\u2019exister. Elle pr\u00e9cise que, dans cette histoire\u00a0:</p><ul><li>Les vagues qui lui font face peuvent repr\u00e9senter toutes les personnes, activit\u00e9s et choses qui cherchent \u00e0 capter son attention, son \u00e9nergie et son temps, mais qui ne sont pas li\u00e9es \u00e0 sa raison d\u2019\u00eatre.</li>\n<li>Les vagues qui retournent \u00e0 la mer peuvent repr\u00e9senter toutes les personnes, activit\u00e9s et choses qui l\u2019aident \u00e0 r\u00e9aliser sa raison d\u2019\u00eatre.</li>\n</ul><p>Et selon cette m\u00e9taphore, nous comprenons que plus nous d\u00e9pensons de temps et d\u2019\u00e9nergie sur les vagues qui vont vers la plage, moins nous avons de temps et d\u2019\u00e9nergie pour celles qui retournent \u00e0 la mer.\u00a0Cette perspective nous aide \u00e0 \u00eatre s\u00e9lectif sur <a href=\"https://des-livres-pour-changer-de-vie.com/104-astuces-pour-gagner-du-temps-le-livre/\" target=\"_blank\" rel=\"noopener noreferrer\">la fa\u00e7on de d\u00e9penser son temps</a> chaque jour.</p><ul><li>\n<h4><strong>La prise de conscience de tout ce temps gaspill\u00e9</strong></h4>\n</li>\n</ul><p>Apr\u00e8s le r\u00e9cit de Casey, John commence \u00e0 calculer comment il divise et occupe habituellement son temps. Il se rend compte de l\u2019\u00e9norme quantit\u00e9 de temps gaspill\u00e9 \u00e0 des choses qui ne l\u2019int\u00e9ressent pas (ouvrir du courrier qu\u2019il n\u2019attend pas particuli\u00e8rement notamment).</p><p>Choqu\u00e9, il d\u00e9cide de poursuivre l\u2019exercice.</p><h3><strong>Chapitre 11</strong></h3><p class=\"c7\"><img class=\"aligncenter size-full wp-image-21854 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/ou-se-trouve-le-bonheur-histoire-du-pecheur-heureux.jpg?is-pending-load=1\" alt=\"o\u00f9 se trouve le bonheur histoire du p\u00eacheur heureux\" width=\"640\" height=\"426\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/ou-se-trouve-le-bonheur-histoire-du-pecheur-heureux.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/ou-se-trouve-le-bonheur-histoire-du-pecheur-heureux-300x200.jpg 300w\" data-lazy-sizes=\"(max-width: 640px) 100vw, 640px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-21854\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/ou-se-trouve-le-bonheur-histoire-du-pecheur-heureux.jpg\" alt=\"o\u00f9 se trouve le bonheur histoire du p\u00eacheur heureux\" width=\"640\" height=\"426\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/ou-se-trouve-le-bonheur-histoire-du-pecheur-heureux.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/ou-se-trouve-le-bonheur-histoire-du-pecheur-heureux-300x200.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><ul><li>\n<h4><strong>L\u2019histoire du p\u00eacheur heureux et de l\u2019homme d\u2019affaire en vacances</strong></h4>\n</li>\n</ul><p>Dans ce chapitre, Mike, le propri\u00e9taire du Why Caf\u00e9, revient \u00e0 la table de John. C\u2019est \u00e0 son tour de lui relater une histoire\u00a0: celle d\u2019un homme d\u2019affaire qui s\u2019est offert des vacances exotiques en vue d\u2019\u00e9chapper \u00e0 la pression habituelle, et qui rencontre un villageois p\u00eacheur. Ce p\u00eacheur semble le plus heureux de tous les habitants du village.</p><p>Lors d\u2019une discussion avec l\u2019homme d\u2019affaire, le p\u00eacheur raconte son quotidien, le d\u00e9roulement simple et quasiment identique de toutes ses journ\u00e9es\u00a0: il prend son petit d\u00e9jeuner en compagnie de son \u00e9pouse et de ses enfants, part p\u00eacher pendant que ses enfants sont \u00e0 l\u2019\u00e9cole et que sa femme peint. Le soir, la famille mange les poissons de la p\u00eache, qui suffisent amplement \u00e0 nourrir la famille. Il arrive m\u00eame souvent au p\u00eacheur d\u2019en remettre \u00e0 l\u2019eau car il y en a trop. Il fait ensuite la sieste et marche avec sa femme tous les soirs sur la plage, l\u2019occasion pour eux d\u2019admirer le coucher du soleil pendant que leurs enfants s\u2019amusent dans l\u2019oc\u00e9an.</p><p>\u00c9tonn\u00e9, l\u2019homme d\u2019affaires l\u2019interroge\u00a0: puisqu\u2019il y a tant de poissons, pourquoi ne pas p\u00eacher toute la journ\u00e9e pour vendre ses poissons, <a href=\"https://des-livres-pour-changer-de-vie.com/une-selection-des-meilleures-citations-sur-largent/\" target=\"_blank\" rel=\"noopener noreferrer\">gagner de l\u2019argent</a> et ainsi d\u00e9velopper son activit\u00e9\u00a0? Petit \u00e0 petit, il pourrait acqu\u00e9rir des bateaux puis des \u00e9quipages jusqu\u2019\u00e0 devenir une entreprise de distribution de poissons internationale, s\u2019enthousiasme l\u2019homme d\u2019affaire.</p><p>Puis il poursuit sa r\u00e9flexion\u00a0: apr\u00e8s avoir gagn\u00e9 beaucoup d\u2019argent, il pourrait alors se retirer et faire ce qu\u2019il veut. Il pourrait passer du temps en famille, p\u00eacher (m\u00eame si apr\u00e8s toutes ces ann\u00e9es, les poissons seront forc\u00e9ment moins nombreux), marcher sur la plage avec sa femme et ses enfants qui jouent dans la mer (m\u00eame si d\u2019ici l\u00e0, ceux-ci seront devenus adultes).</p><p>Perplexe, le p\u00eacheur s\u2019interroge sur le sens \u00e0 tout cela.</p><ul><li>\n<h4><strong>Pourquoi ne pas faire ce que nous voulons maintenant\u00a0?</strong></h4>\n</li>\n</ul><p>Mike questionne John sur cette histoire. Puis, il lui parle de sa propre prise de conscience concernant le fait de travailler dans le but de prendre sa retraite\u00a0:</p><blockquote>\n<p>\u00ab\u00a0J\u2019ai r\u00e9alis\u00e9 que chaque jour \u00e9tait une occasion de faire ce que je voulais. Chaque jour, j\u2019avais la chance d\u2019accomplir la r\u00e9ponse \u00e0 la question qui vous a intrigu\u00e9 sur le menu. Je n\u2019ai pas besoin d\u2019attendre la retraite.\u00a0\u00bb</p>\n</blockquote><p>Cela parait tr\u00e8s simple. N\u00e9anmoins, John r\u00e9alise, encore une fois, que, lui, ne fait pourtant pas ce qu\u2019il veut. Pourquoi\u00a0? Il r\u00e9fl\u00e9chit\u00a0: probablement parce qu\u2019il a bas\u00e9 le choix de ses \u00e9tudes sur des crit\u00e8res de d\u00e9bouch\u00e9s\u00a0; puis comme il ne d\u00e9testait pas son travail, il s\u2019est concentr\u00e9 \u00e0 gagner plus d\u2019argent et s\u2019est naturellement install\u00e9 dans une routine.</p><p>Pour terminer, Mike lance\u00a0:</p><blockquote>\n<p>\u00ab\u00a0Pourquoi passons-nous tant de temps \u00e0 nous pr\u00e9parer au jour o\u00f9 nous pourrons faire ce que nous voulons au lieu de tout simplement faire ce que nous voulons d\u00e8s maintenant\u00a0?\u00a0\u00bb</p>\n</blockquote><h3><strong>Chapitre 12</strong></h3><p>Ce chapitre du livre \u00ab\u00a0<em>Le Why Caf\u00e9</em>\u00a0\u00bb introduit un nouveau personnage\u00a0: celui d\u2019Anne. Mike la pr\u00e9sente comme une amie. Assise \u00e0 la table voisine jusqu\u2019\u00e0 pr\u00e9sent, le propri\u00e9taire du Why Caf\u00e9 lui a demand\u00e9 de se joindre \u00e0 John car elle peut, selon lui, apporter un point de vue int\u00e9ressant sur sa derni\u00e8re question.</p><p>En racontant son parcours, Anne insiste sur trois id\u00e9es majeures\u00a0:</p><ul><li>\n<h4><strong>Les publicitaires nous manipulent en agissant sur nos peurs et notre d\u00e9sir d\u2019\u00e9panouissement</strong></h4>\n</li>\n</ul><p>Anne est hautement dipl\u00f4m\u00e9e en marketing et a exerc\u00e9 longtemps en tant que directrice dans la publicit\u00e9. Son activit\u00e9 lui a permis de comprendre que les publicitaires sont en mesure de nous faire faire ce qu\u2019ils veulent en agissant simplement sur nos peurs et notre d\u00e9sir d\u2019\u00e9panouissement. Les messages dont ils nous bombardent sont bien s\u00fbr tr\u00e8s subtils\u00a0: le but est de nous faire <a href=\"https://des-livres-pour-changer-de-vie.com/9-pieges-a-eviter-pour-etre-heureux/\" target=\"_blank\" rel=\"noopener noreferrer\">croire que nous serons heureux</a> avec un produit/service sp\u00e9cifique ou que nous ne le serons pas sans ce dernier.</p><ul><li>\n<h4><strong>Croire que le bonheur ne s\u2019acquiert que par des produits/services nous conduit dans une impasse</strong></h4>\n</li>\n</ul><p>Par ailleurs, pour Anne, penser que le bonheur ne s\u2019obtient que par des produits ou services nous contraint financi\u00e8rement, ce qui nous conduit \u00e0 faire ce que nous ne voulons pas faire.</p><p>Anne explique, en effet, l\u2019impasse dans laquelle nous nous mettons\u00a0: nous cherchons un emploi pour nous payer tous ces produits cens\u00e9s nous \u00e9panouir. Mais, pour nous acheter tous ces produits/services, nous devons passer beaucoup de temps \u00e0 exercer cet emploi. Cette situation nous rend insatisfait et cr\u00e9e de la frustration. Elle nous am\u00e8ne \u00e0 consommer encore plus\u00a0:</p><blockquote>\n<p>\u00ab\u00a0Nous esp\u00e9rons que ces choses que nous achetons nous apporteront un sentiment de pl\u00e9nitude que notre travail journalier ne nous procure pas. Malheureusement, plus nous achetons de choses, plus nous avons de factures \u00e0 payer et plus nous devons travailler pour les payer. Mais puisque notre travail ne correspond pas \u00e0 ce que nous aimerions faire, travailler plus cr\u00e9e encore plus d\u2019insatisfactions et de frustrations parce que nous avons encore moins de temps pour faire ce que nous aimerions faire.\u00a0\u00bb</p>\n</blockquote><p>Au final, les gens se retrouvent \u00ab\u00a0forc\u00e9s\u00a0\u00bb de travailler tr\u00e8s longtemps et de faire des choses qui ne correspondent pas \u00e0 leur mission de vie. \u00ab\u00a0Mais ils continuent de r\u00eaver \u00e0 ce futur o\u00f9 ils n\u2019auront plus \u00e0 travailler et ils pourront faire ce qu\u2019ils veulent\u00a0\u00bb.</p><p>John voit d\u00e9sormais les choses sous un autre angle.</p><ul><li>\n<h4><strong>N\u2019est-il pas temps de se remettre en question\u00a0?</strong></h4>\n</li>\n</ul><p>Anne raconte ici sa propre exp\u00e9rience. Travaillant sans cesse, la jeune femme comblait son manque de temps libre mat\u00e9riellement. C\u2019\u00e9tait, pour elle, comme une r\u00e9compense, une forme de m\u00e9rite. Or, comme elle passait ses journ\u00e9es au travail, elle n\u2019avait jamais la possibilit\u00e9 de profiter de ses achats.</p><p>Un soir, Anne met un point d\u2019arr\u00eat \u00e0 cette vie. Une remise en question inattendue la conduit, de r\u00e9flexions en r\u00e9flexions, graduellement, \u00e0 compl\u00e8tement changer son quotidien. Elle cesse de se r\u00e9compenser avec des choses mat\u00e9rielles, s\u2019assure de prendre du temps pour elle (d\u2019abord 1h, puis 2 puis 3 heures), pour r\u00e9aliser des activit\u00e9s qu\u2019elle aime vraiment (lecture, promenade, sport\u2026), et se concentre enti\u00e8rement \u00e0 ce qu\u2019elle veut faire.</p><h3><strong>Chapitre 13</strong></h3><p>Ce chapitre aborde la seconde question inscrite sur le menu du Why Caf\u00e9, \u00e0 savoir\u00a0: \u00ab\u00a0<em>Avez-vous peur de la mort</em>\u00a0?\u00a0\u00bb</p><p>Pour Anne, cette question est reli\u00e9e \u00e0 la premi\u00e8re. La mort est l\u2019une des peurs les plus courantes chez les gens. Particuli\u00e8rement chez ceux qui ne se sont jamais pos\u00e9 la question de leur raison d\u2019exister. Elle explique, en effet, son point de vue\u00a0: \u00e0 un niveau subconscient, ces personnes craignent le jour o\u00f9 ils mourront car ils savent que chaque jour pass\u00e9 les rapproche d\u2019un futur o\u00f9 ils n\u2019auront plus <a href=\"https://des-livres-pour-changer-de-vie.com/une-seconde-chance/\" target=\"_blank\" rel=\"noopener noreferrer\">la chance de faire ce qu\u2019ils veulent</a>.\u00a0Alors que les gens qui connaissent leur mission de vie et choisissent de faire des choses dans ce sens ne craignent pas de ne pas avoir la chance de faire quelque chose puisqu\u2019ils l\u2019ont fait ou le font tous les jours.</p><p>Lorsqu\u2019Anne le quitte, John se sent diff\u00e9rent. Il a le sentiment d\u2019avoir appris quelque chose. Il songe alors \u00e0\u00a0:</p><ul><li>Sa <a href=\"https://des-livres-pour-changer-de-vie.com/livre-sur-le-bonheur-trois-resumes-pour-choisir-le-bon/\" target=\"_blank\" rel=\"noopener noreferrer\">d\u00e9finition du bonheur</a>, du succ\u00e8s et de la pl\u00e9nitude\u00a0: il r\u00e9alise que celle-ci a \u00e9t\u00e9 d\u00e9termin\u00e9e par les autres, et notamment par tous ces messages \u00ab\u00a0cach\u00e9s\u00a0\u00bb autour de lui (publicit\u00e9, etc.).</li>\n<li>L\u2019impact que pourrait avoir une vie qui comblerait sa raison d\u2019exister sur le d\u00e9roulement de ses journ\u00e9es et sa conception de la mort.</li>\n</ul><h3><strong>Chapitre 14</strong></h3><p>Ce chapitre aborde, \u00e0 pr\u00e9sent, la troisi\u00e8me question inscrite au dos du menu du Why Caf\u00e9\u00a0: \u00ab\u00a0<em>\u00cates-vous pleinement \u00e9panoui</em>\u00a0?\u00a0\u00bb</p><ul><li>\n<h4><strong>Les doutes de John sur ses capacit\u00e9s d\u2019y arriver</strong></h4>\n</li>\n</ul><p>John se pose d\u2019abord une question\u00a0: s\u2019il identifiait sa raison d\u2019\u00eatre, serait-il alors capable d\u2019agir en cons\u00e9quence\u00a0? Puis il se demande\u00a0: serait-il d\u2019ailleurs en mesure de subvenir \u00e0 ses besoins avec ses nouvelles activit\u00e9s\u00a0? Et arriverait-il \u00e0 r\u00e9aliser ces nouvelles activit\u00e9s jusqu\u2019au bout\u00a0?</p><p>Pour Casey, la r\u00e9ponse semble \u00e9vidente\u00a0: accomplir sa raison d\u2019\u00eatre, selon elle, c\u2019est forc\u00e9ment exaltant. Pratiquer son activit\u00e9 favorite dans le but de combler sa raison d\u2019exister, ne peut qu\u2019\u00eatre motivant et passionnant. Or, la passion est source d\u2019excellence, affirme-t-elle, car\u00a0:</p><ul><li class=\"c10\">\n<ul><li>La passion nous conduit \u00e0 en vouloir toujours plus, \u00e0 travailler m\u00eame dans nos moments libres.</li>\n<li>Quand nous sommes passionn\u00e9, nous nous \u00ab\u00a0r\u00e9-\u00e9nergisons\u00a0\u00bb dans notre activit\u00e9.</li>\n<li><a href=\"https://des-livres-pour-changer-de-vie.com/comment-devenir-un-optimiste-contagieux/\" target=\"_blank\" rel=\"noopener noreferrer\">Nous devenons enthousiaste</a>, positif, et ne peinons donc pas \u00e0 \u00eatre int\u00e9gr\u00e9 dans les activit\u00e9s des autres.</li>\n</ul></li>\n<li>\n<h4><strong>Les doutes de John sur ses capacit\u00e9s \u00e0 gagner suffisamment d\u2019argent pour vivre de sa passion</strong></h4>\n</li>\n</ul><p>John approuve les dires de Casey, mais <em>quid</em> de l\u2019argent\u00a0: rien ne peut jamais garantir que nous retirerons suffisamment d\u2019argent de cette activit\u00e9 pour en vivre.</p><p>Devant ces doutes, Casey demande alors \u00e0 John d\u2019imaginer le pire sc\u00e9nario possible. Quel serait-il\u00a0?</p><p>Apr\u00e8s quelques r\u00e9flexions, John en arrive \u00e0 la conclusion que, dans le pire des sc\u00e9narios, il lui suffirait alors de choisir de faire quelque chose d\u2019autre. Par ailleurs, le pi\u00e8ge des achats qui viennent combler un manque d\u2019\u00e9panouissement personnel, qui sont r\u00e9alis\u00e9s dans le but de s\u2019\u00e9vader d\u2019un quotidien frustrant, de se d\u00e9tendre du stress provoqu\u00e9 par un travail qui ne nous passionne pas, devient, dans ce cas, beaucoup moins probable. En effet, quand nous nous consacrons \u00e0 ce que nous aimons, nous ressentons moins ce besoin.</p><p>D\u00e8s lors, moins d\u2019achats signifie beaucoup moins de besoins et de pr\u00e9occupations li\u00e9es \u00e0 l\u2019argent.</p><h3><strong>Chapitre 15</strong></h3><ul><li>\n<h4><strong>Tout semble r\u00e9ussir aux gens passionn\u00e9s</strong></h4>\n</li>\n</ul><p>Apr\u00e8s un passage en cuisine, Casey revient avec une r\u00e9flexion\u00a0: la question de l\u2019argent fait aussi clairement partie des d\u00e9fis auxquels les gens peuvent \u00eatre confront\u00e9s lorsqu\u2019ils essaient de vivre selon leur raison d\u2019exister.</p><p>La serveuse demande ensuite \u00e0 John de lui lister les points communs qu\u2019ont, dans son entourage, les gens totalement passionn\u00e9s par ce qu\u2019ils font. John constate alors qu\u2019ils\u00a0:</p><ul><li>Sont\u00a0heureux\u00a0;</li>\n<li>Aiment r\u00e9ellement ce qu\u2019ils font\u00a0;</li>\n<li>Sont confiants\u00a0: ils savent que les choses se d\u00e9rouleront comme ils l\u2019entendent\u00a0;</li>\n<li>Sont chanceux\u00a0: il leur arrive toujours de bonnes choses.</li>\n</ul><p>Casey confirme aussi avoir remarqu\u00e9 (parmi la client\u00e8le du Why Caf\u00e9) que des choses inattendues arrivent aux gens qui cherchent \u00e0 combler leur raison d\u2019\u00eatre, juste au moment o\u00f9 elles en ont le plus besoin.\u00a0Elle explique que les personnes concern\u00e9es reconnaissent tous ce ph\u00e9nom\u00e8ne, mais qu\u2019il est per\u00e7u diff\u00e9remment selon les individus. Selon leur interpr\u00e9tation, il peut alors s\u2019agir\u00a0:</p><ul><li>De l\u2019expression un peu mystique d\u2019une puissance sup\u00e9rieure,</li>\n<li>Du d\u00e9roulement naturel des choses,</li>\n<li>De la chance.</li>\n</ul><p>Mais Casey met en avant une autre explication \u00e0 ce ph\u00e9nom\u00e8ne\u00a0: la th\u00e9orie des nombres exponentiels.</p><ul><li>\n<h4><strong>La th\u00e9orie des nombres exponentiels</strong></h4>\n</li>\n</ul><p>Cette th\u00e9orie est la suivante\u00a0: si nous disons quelque chose \u00e0 quelqu\u2019un en lui demandant de le dire \u00e0 d\u2019autres, et que ces autres personnes le disent aussi \u00e0 d\u2019autres personnes, alors notre message atteint un nombre de personnes bien plus grand que celui \u00e0 qui nous avons parl\u00e9 au d\u00e9but. C\u2019est le m\u00eame principe que celui des cha\u00eenes de lettres.</p><p>Et comme ce sont des personnes passionn\u00e9es qui partagent leur message, ce sont forc\u00e9ment des gens qui communiquent leur enthousiasme pour ce qu\u2019ils font. Leurs interlocuteurs, transport\u00e9s par leur exaltation, vont g\u00e9n\u00e9ralement adh\u00e9rer et avoir envie de les rejoindre dans leur mission, les aider. Pour cela, ils vont parler d\u2019eux avec un peu la m\u00eame passion, les m\u00eames \u00e9motions qui leur ont \u00e9t\u00e9 communiqu\u00e9es. Selon Casey, c\u2019est alors un processus tr\u00e8s \u00ab\u00a0contagieux\u00a0\u00bb.</p><h3><strong>Chapitre 16</strong></h3><p>Tandis que Mike lui apporte un dessert copieux, John lui r\u00e9sume la discussion qu\u2019il vient d\u2019avoir avec Casey\u00a0: les gens qui savent pourquoi ils sont ici et ont identifi\u00e9 les activit\u00e9s qu\u2019ils souhaitent accomplir pour combler leur raison d\u2019exister sont \u00ab\u00a0pleinement confiants d\u2019\u00eatre en mesure de les r\u00e9aliser\u00a0\u00bb. \u00ab\u00a0Et lorsqu\u2019ils essaient de le faire, des \u00e9v\u00e9nements surviennent et leur permettent de r\u00e9ussir\u00a0\u00bb.</p><p class=\"c7\"><img class=\"aligncenter size-full wp-image-21855 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/controler-sa-vie-et-saisir-les-opportunites.jpg?is-pending-load=1\" alt=\"contr\u00f4ler sa vie et saisir les opportunit\u00e9s\" width=\"494\" height=\"640\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/controler-sa-vie-et-saisir-les-opportunites.jpg 494w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/controler-sa-vie-et-saisir-les-opportunites-232x300.jpg 232w\" data-lazy-sizes=\"(max-width: 494px) 100vw, 494px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-21855\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/controler-sa-vie-et-saisir-les-opportunites.jpg\" alt=\"contr\u00f4ler sa vie et saisir les opportunit\u00e9s\" width=\"494\" height=\"640\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/controler-sa-vie-et-saisir-les-opportunites.jpg 494w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/controler-sa-vie-et-saisir-les-opportunites-232x300.jpg 232w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><ul><li>\n<h4><strong>Les raisons qui font que les gens ne suivent pas leur raison d\u2019\u00eatre</strong></h4>\n</li>\n</ul><p>John questionne ensuite Mike sur ce qui peut alors bien retenir les gens de ne pas suivre leur raison d\u2019exister.</p><p>Pour le propri\u00e9taire du Why Caf\u00e9, ces raisons sont personnelles et uniques \u00e0 chacun, propres \u00e0 chaque situation. Toutefois, il explique avoir rep\u00e9r\u00e9 quatre raisons r\u00e9currentes qui am\u00e8nent les gens \u00e0 ne pas r\u00e9aliser leur raison d\u2019exister. Il y a, selon lui, \u00a0le fait que ces personnes\u00a0:</p><ul><li>Ignorent compl\u00e8tement ce concept\u00a0qu\u2019est la raison d\u2019exister.</li>\n<li>Pensent n\u2019avoir aucune raison d\u2019exister.</li>\n<li>S\u2019interdisent de r\u00e9aliser leur raison d\u2019\u00eatre\u00a0: elles la connaissent mais \u00e0 cause d\u2019une pression familiale, religieuse, d\u2019un milieu ou d\u2019une \u00e9ducation, ne se donnent pas le droit de la suivre.</li>\n<li>Ne parviennent pas \u00e0 prendre le contr\u00f4le de leur \u00e9panouissement face \u00e0 ceux qui cherchent \u00e0 nous convaincre tous les jours que notre bonheur d\u00e9pend de leur produit/service.</li>\n</ul><p>Finalement, John comprend qu\u2019une personne \u00ab\u00a0n\u2019a pas besoin de la permission ni du consentement de quiconque\u00a0\u00bb pour devenir ce qu\u2019elle veut\u00a0: c\u2019est nous-m\u00eame qui contr\u00f4lons notre destin\u00e9e.</p><ul><li>\n<h4><strong>\u00ab\u00a0Nous contr\u00f4lons notre propre destin\u00e9e.\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Mike souhaite <a href=\"https://des-livres-pour-changer-de-vie.com/le-storytelling-pas-a-pas/\" target=\"_blank\" rel=\"noopener noreferrer\">raconter une histoire</a> que lui a racont\u00e9 un ami pour illustrer cette id\u00e9e que chacun peut contr\u00f4ler sa propre destin\u00e9e.</p><p>Cet ami est golfeur. Il r\u00eavait fr\u00e9quemment qu\u2019il devait frapper sa balle plac\u00e9e dans une situation impossible \u00e0 r\u00e9ussir\u00a0: la balle de golf se trouvait en \u00e9quilibre, pos\u00e9e sur le rebord d\u2019une fen\u00eatre. Le golfeur vivait alors tr\u00e8s mal ces cauchemars remplis de frustrations. Jusqu\u2019au jour o\u00f9, dans son r\u00eave, il prend conscience qu\u2019il peut tout simplement changer la balle de place. Il la saisit et la d\u00e9pose alors dans un endroit qui lui permet de la frapper sans encombre. L\u2019homme se r\u00e9veille avec le sentiment tr\u00e8s fort d\u2019avoir pris pleinement conscience de quelque chose de majeur en se disant\u00a0:</p><blockquote>\n<p>\u00ab\u00a0M\u00eame si rien ne le laisse pr\u00e9sager, les choses peuvent devenir d\u2019une telle \u00e9vidence lorsqu\u2019on les voit autrement.\u00a0\u00bb</p>\n</blockquote><p>Mike raconte que son ami golfeur conclut finalement la conversation avec cette phrase\u00a0:</p><blockquote>\n<p>\u00ab\u00a0En d\u00e9pit de ce que l\u2019on nous a appris \u00e0 croire, ou de ce que nous entendons dans les publicit\u00e9s, nous contr\u00f4lons tous chaque moment de notre vie. Je l\u2019avais oubli\u00e9 et j\u2019essayais de m\u2019ajuster \u00e0 toutes sortes d\u2019influences ext\u00e9rieures que je laissais contr\u00f4ler ma vie. Tout comme personne d\u2019autre que moi ne se pr\u00e9occupait dans mon r\u00eave de l\u2019endroit o\u00f9 je frappais la balle, seulement vous, dans la vie, savez vraiment ce que vous voulez de votre existence. Ne laissez jamais les choses ni les gens vous amener au point o\u00f9 vous sentez que vous n\u2019avez pas le contr\u00f4le de votre propre destin\u00e9e. Choisissez vous-m\u00eame votre voie, ou les autres la choisiront pour vous. D\u00e9placez votre balle de golf\u00a0!\u00a0\u00bb</p>\n</blockquote><p>En quelques mots, il venait de r\u00e9sumer le pouvoir de choisir sa propre destin\u00e9e.</p><h3><strong>Chapitre 17</strong></h3><p>Le repas, ou petit-d\u00e9jeuner, touche \u00e0 sa fin. Il est d\u00e9j\u00e0 5h15 du matin.\u00a0Mais John ne sait toujours pas comment il doit s\u2019y prendre s\u2019il veut trouver sa raison d\u2019exister, quelle m\u00e9thode employer.</p><p>Par une anecdote humoristique et dans une ambiance d\u00e9tendue, Casey fait comprendre \u00e0 John que nous seuls avons la responsabilit\u00e9 de trouver la r\u00e9ponse. Il ne s\u2019agit pas de simplement attendre que la r\u00e9ponse arrive. Il faut rechercher la r\u00e9ponse activement par nous-m\u00eame. Et pour cela, il n\u2019existe pas \u00ab\u00a0une seule et unique m\u00e9thode\u00a0\u00bb. Diff\u00e9rents proc\u00e9d\u00e9s peuvent \u00eatre utilis\u00e9s\u00a0: les \u00e9motions que nous procurent la musique, <a href=\"https://des-livres-pour-changer-de-vie.com/la-meditation-une-recherche-contemplative/\" target=\"_blank\" rel=\"noopener noreferrer\">la m\u00e9ditation</a>, des r\u00e9flexions suscit\u00e9es par des id\u00e9es ou histoires issues de lectures, le fait de se retirer dans la nature, de parler avec des amis, etc.</p><p>Ce qu\u2019il faut retenir, c\u2019est que nous sommes d\u00e9finitivement les seuls \u00e0 pouvoir trouver <em>notre</em> r\u00e9ponse. C\u2019est d\u2019ailleurs pourquoi, beaucoup de personnes font cette d\u00e9marche de mani\u00e8re solitaire, en s\u2019\u00e9loignant \u00ab\u00a0de tout ce bruit ext\u00e9rieur afin de mieux se concentrer \u00e0 quoi ils r\u00e9fl\u00e9chissent.\u00a0\u00bb</p><p>Mike et Casey soulignent, enfin, que certaines personnes\u00a0:</p><ul><li>Identifient leur raison d\u2019\u00eatre en exp\u00e9rimentant de nouvelles exp\u00e9riences, en se confrontant \u00e0 de nouvelles id\u00e9es, cultures, perspectives, car ces d\u00e9couvertes sont sources de nouvelles \u00ab\u00a0r\u00e9sonnances\u00a0\u00bb en elles.</li>\n<li>Vivent cette prise de conscience physiquement, sous forme de frissons, courant d\u2019\u00e9nergie, pleurs de joie, sentiment de \u00ab\u00a0d\u00e9j\u00e0-vu\u00a0\u00bb ou de \u00ab\u00a0l\u2019avoir toujours su\u00a0\u00bb.</li>\n</ul><h3><strong>Chapitre 18</strong></h3><p>Dans cet avant-dernier chapitre du Why Caf\u00e9, Mike, questionn\u00e9 par John, nous livre son histoire. Et c\u2019est une nouvelle fois, le r\u00e9cit d\u2019une prise de conscience soudaine.</p><ul><li>\n<h4><strong>L\u2019histoire de Mike</strong></h4>\n</li>\n</ul><p>Mike raconte, en effet, qu\u2019il y a plusieurs ann\u00e9es, il vivait \u00e0 mille \u00e0 l\u2019heure. Il cumulait emploi et \u00e9tudes avec l\u2019ambition, en parall\u00e8le, d\u2019une carri\u00e8re d\u2019athl\u00e8te professionnelle. D\u00e8s lors, chaque minute de son existence \u00e9tait planifi\u00e9e.</p><p>Un \u00e9t\u00e9, Mike part voyager au Costa Rica. Et c\u2019est l\u00e0-bas, apr\u00e8s une journ\u00e9e incroyable, en contemplant, un soir, un coucher de soleil spectaculaire qu\u2019un v\u00e9ritable d\u00e9clic se produit. Il exprime ce moment avec \u00e9motion\u00a0:</p><blockquote>\n<p>\u00ab\u00a0Je me souviens qu\u2019en admirant ce magnifique paysage, j\u2019ai r\u00e9alis\u00e9 que [\u2026] le paradis n\u2019\u00e9tait qu\u2019\u00e0 quelques heures d\u2019avion et \u00e0 quelques routes boueuses, et j\u2019ignorais qu\u2019il existait. Et je compris que non seulement cette sc\u00e8ne s\u2019\u00e9tait r\u00e9p\u00e9t\u00e9e chaque jour durant les deux derni\u00e8res ann\u00e9es et demie o\u00f9 j\u2019\u00e9tais si occup\u00e9, mais que le soleil s\u2019\u00e9tait couch\u00e9 ici et que les vagues s\u2019\u00e9taient bris\u00e9es sur cette plage depuis des millions, voire des milliards d\u2019ann\u00e9es.\u00a0\u00bb</p>\n</blockquote><ul><li>\n<h4><strong>Ce qui a chang\u00e9 apr\u00e8s la prise de conscience de Mike</strong></h4>\n</li>\n</ul><p>En vivant cette prise de conscience, le jeune Mike s\u2019est senti soudainement tout petit. Ses probl\u00e8mes, ses pr\u00e9occupations stressantes et ses inqui\u00e9tudes pour l\u2019avenir lui apparurent d\u00e9risoires\u00a0:</p><blockquote>\n<p>\u00ab\u00a0Je restais alors assis devant l\u2019incroyable beaut\u00e9 et la majestuosit\u00e9 de la nature, en r\u00e9alisant que ma vie, n\u2019\u00e9tait qu\u2019une portion infiniment petite de quelque chose de beaucoup plus grand. Et c\u2019est alors que j\u2019ai \u00e9t\u00e9 comme foudroy\u00e9 par la pens\u00e9e\u00a0: mais alors, pourquoi suis-je ici si toutes les choses que je croyais importantes ne l\u2019\u00e9taient finalement pas\u00a0? Quel \u00e9tait le sens de la vie\u00a0? Pour quelle raison est-ce que j\u2019existais\u00a0? Pourquoi \u00e9tais-je ici\u00a0? [\u2026] Ces questions m\u2019ont obs\u00e9d\u00e9 jusqu\u2019\u00e0 ce que je trouve les r\u00e9ponses.\u00a0\u00bb</p>\n</blockquote><p>John Strelecky r\u00e9sumera ce passage plus loin dans le livre\u00a0: \u00ab\u00a0D\u2019un point de vue universel, nos stress, nos anxi\u00e9t\u00e9s, nos victoires et nos d\u00e9faites comptent bien peu. [\u2026] C\u2019est devant notre apparente insignifiance que nous trouvons <a href=\"https://des-livres-pour-changer-de-vie.com/jai-perdu-40-millions-et-jai-decouvert-une-vie-pleine-de-sens/\" target=\"_blank\" rel=\"noopener noreferrer\">le sens de la vie</a>.\u00a0\u00bb</p><h3><strong>Chapitre 19</strong></h3><p>C\u2019est le moment de l\u2019addition. En quittant le Why Caf\u00e9, John se sent revigor\u00e9.</p><p>C\u2019est une nouvelle journ\u00e9e qui se l\u00e8ve. Une journ\u00e9e qu\u2019il d\u00e9marre en se posant une question\u00a0: Pourquoi suis-je ici\u00a0?</p><p class=\"c7\"><img class=\"aligncenter size-full wp-image-21856 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/pourquoi-suis-je-ici-why-cafe-comprendre-le-sens-de-la-vie.jpg?is-pending-load=1\" alt=\"pourquoi suis-je ici why caf\u00e9 comprendre le sens de la vie\" width=\"640\" height=\"426\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/pourquoi-suis-je-ici-why-cafe-comprendre-le-sens-de-la-vie.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/pourquoi-suis-je-ici-why-cafe-comprendre-le-sens-de-la-vie-300x200.jpg 300w\" data-lazy-sizes=\"(max-width: 640px) 100vw, 640px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-21856\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/pourquoi-suis-je-ici-why-cafe-comprendre-le-sens-de-la-vie.jpg\" alt=\"pourquoi suis-je ici why caf\u00e9 comprendre le sens de la vie\" width=\"640\" height=\"426\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/pourquoi-suis-je-ici-why-cafe-comprendre-le-sens-de-la-vie.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/pourquoi-suis-je-ici-why-cafe-comprendre-le-sens-de-la-vie-300x200.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>\u00c9</strong><strong>pilogue de l\u2019auteur John Strelecky</strong></h3><p>L\u2019\u00e9pilogue nous r\u00e9v\u00e8le ce qu\u2019il s\u2019est pass\u00e9 pour John Strelecky apr\u00e8s son exp\u00e9rience dans ce caf\u00e9 hors du commun.</p><p>L\u2019auteur raconte en fait qu\u2019apr\u00e8s cette soir\u00e9e au Why Caf\u00e9, plusieurs changements sont survenus dans sa vie.</p><ul><li>\n<h4><strong>Le long cheminement de John Strelecky vers l\u2019identification de sa raison d\u2019\u00eatre</strong></h4>\n</li>\n</ul><p>Nous apprenons d\u2019abord, que pendant les vacances qui ont suivi son passage au Why Caf\u00e9, John n\u2019a cess\u00e9 de penser \u00e0 cette question\u00a0: Pourquoi suis-je ici\u00a0? Mais trouver sa vraie raison d\u2019\u00eatre lui a, en r\u00e9alit\u00e9, demand\u00e9 beaucoup de temps.</p><p>Pour y parvenir, il lui a fallu, comme Anne, consacrer du temps quotidiennement \u00e0 faire ce qu\u2019il aimait. Il a ensuite exp\u00e9riment\u00e9 de nombreuses nouvelles choses (comme Casey l\u2019avait sugg\u00e9r\u00e9) avant d\u2019\u00e9largir v\u00e9ritablement son univers et sa vision.</p><ul><li>\n<h4><strong>La d\u00e9cision de passer \u00e0 l\u2019action</strong></h4>\n</li>\n</ul><p>Finalement, tout est devenu plus clair pour John Strelecky \u2013 sa raison d\u2019\u00eatre et les fa\u00e7ons de la r\u00e9aliser \u2013 quand il n\u2019a plus pu \u00e9viter un choix\u00a0: vivre en comblant sa raison d\u2019\u00eatre <em>ou</em> vivre tout simplement. Une d\u00e9cision loin d\u2019\u00eatre facile \u00e0 prendre, confesse-t-il\u00a0:</p><blockquote>\n<p>\u00ab\u00a0C\u2019est \u00e0 ce carrefour que la plupart des gens mettent fin \u00e0 leur qu\u00eate. Ils regardent par un trou dans la cl\u00f4ture et voient clairement la vie qu\u2019ils aimeraient avoir, mais pour toutes sortes de raisons, ils n\u2019ouvrent pas la porte de la cl\u00f4ture et n\u2019avancent jamais vers cette vie d\u00e9sir\u00e9e.\u00a0\u00bb</p>\n</blockquote><p>En fait, chacun connaitra cette prise de conscience et prendra la d\u00e9cision d\u2019agir \u00e0 diff\u00e9rents moments de sa vie\u00a0: certains le font jeunes, d\u2019autres plus tardivement, et m\u00eame jamais pour certains. Peu importe. \u00ab\u00a0Ce choix ne peut \u00eatre ni brusqu\u00e9 ni impos\u00e9\u00a0\u00bb pr\u00e9cise l\u2019auteur.</p><p>Et ce qui a d\u00e9cid\u00e9 John Strelecky \u00e0 passer de l\u2019autre c\u00f4t\u00e9 de la cl\u00f4ture, \u00e0 vivre sa raison d\u2019\u00eatre, c\u2019est, d\u00e9clare-t-il, une phrase d\u2019Anne prononc\u00e9e lors de sa nuit pass\u00e9e au Why Caf\u00e9\u00a0: \u00a0\u00bb Tu ne peux pas avoir peur de ne pas avoir la chance de faire ce que tu voudrais faire si tu le fais d\u00e9j\u00e0 ou si tu l\u2019as d\u00e9j\u00e0 fait\u00a0\u00bb. Et la seule chose qu\u2019il avoue regretter d\u00e9sormais, c\u2019est de ne pas avoir fait ces changements plus t\u00f4t (m\u00eame s\u2019il reste convaincu que c\u2019est tr\u00e8s probablement parce qu\u2019il n\u2019\u00e9tait pas pr\u00eat \u00e0 les faire avant cette nuit au Why Caf\u00e9).</p><h2><strong>Conclusion de \u00ab\u00a0<em>Le Why Caf\u00e9</em>\u00a0\u00bb de John Strelecky</strong></h2><h3><strong>Les principaux messages de John Strelecky\u00a0</strong></h3><p>Chaque lecteur aura sa propre grille d\u2019interpr\u00e9tation de l\u2019histoire racont\u00e9e par John Strelecky. Et chacun trouvera dans \u00ab\u00a0<em>Le Why Caf\u00e9\u00a0\u00bb</em>, quantit\u00e9 de messages et de pistes de r\u00e9flexion.</p><p>Toutefois, plusieurs grandes id\u00e9es se d\u00e9gagent de mani\u00e8re particuli\u00e8rement \u00e9vidente. Il me semble int\u00e9ressant de les r\u00e9sumer\u00a0:</p><ol><li>Il est fort <strong>probable que nous soyons confront\u00e9s</strong>, \u00e0 un moment ou \u00e0 un autre dans notre vie, \u00e0 nous poser <strong>la question du</strong> <strong>sens \u00e0 notre existence</strong>. Si nous d\u00e9cidons d\u2019approfondir cette question, cette r\u00e9flexion nous conduit souvent, quand nous nous sentons pr\u00eats, \u00e0 une <strong>prise de conscience d\u00e9terminante</strong> pour notre futur.</li>\n<li>Comprendre <strong>notre raison d\u2019\u00eatre</strong>\u00a0apporte de la consistance, de l\u2019intensit\u00e9 \u00e0 nos journ\u00e9es. C\u2019est une <strong>source de motivation puissante</strong> <strong>\u00e0 faire ce qui nous passionne</strong>, ce qui compte vraiment pour nous. C\u2019est une aide pr\u00e9cieuse pour se donner les moyens d\u2019y parvenir, d\u00e9passer nos doutes, voir et donc <a href=\"https://des-livres-pour-changer-de-vie.com/a-trois-pas-de-lor/\" target=\"_blank\" rel=\"noopener noreferrer\">saisir les opportunit\u00e9s</a> de nous r\u00e9aligner avec des convictions profondes.</li>\n<li>Lorsque nous avons d\u00e9termin\u00e9 le chemin \u00e0 suivre pour r\u00e9aliser notre raison de vivre, nous r\u00e9alisons finalement que <strong>nous sommes les seuls d\u00e9cisionnaires de nos actions</strong> et que <strong>nous pouvons</strong>, de cette mani\u00e8re, <strong>pleinement contr\u00f4ler notre destin\u00e9e</strong>.</li>\n</ol><h3><strong>Ce que nous apporte le livre</strong> <strong>\u00ab\u00a0<em>Le Why Caf\u00e9\u00a0\u00bb</em></strong></h3><p>Il y a de fortes chances que la lecture du Why Caf\u00e9 de John Strelecky provoque, chez vous, une <strong>r\u00e9flexion profonde sur le sens que vous voulez donner \u00e0 votre vie</strong>.</p><p>Avec cette introspection, vous pourriez notamment comprendre <strong>les freins</strong> qui vous ont jusque-l\u00e0 emp\u00each\u00e9 de mener la vie de vos r\u00eaves et <strong>les d\u00e9passer</strong>. Car finalement, bien que l\u2019histoire soit tr\u00e8s courte et sur fond de \u00ab\u00a0d\u00e9j\u00e0-vu-entendu\u00a0\u00bb, John Strelecky ouvre un <strong>arbre des possibles</strong>. Il vous am\u00e8ne, tout au long de son r\u00e9cit, \u00e0 <strong>consid\u00e9rer votre vie selon de</strong> <strong>nouvelles perspectives</strong>. Un v\u00e9ritable <strong>d\u00e9clic</strong> peut en d\u00e9couler, sinon au moins, un <strong>effet \u00ab\u00a0booster\u00a0\u00bb</strong> dans votre r\u00e9alisation personnelle. C\u2019est d\u2019ailleurs probablement pourquoi des milliers de lecteurs soulignent <strong>le pouvoir de transformation</strong> de l\u2019ouvrage de John Strelecky.</p><p>Enfin, l\u2019intrigue de l\u2019histoire, extr\u00eamement <strong>simple mais captivante</strong>, permet au lecteur de s\u2019identifier facilement. John Strelecky sait doser le <strong>suspens</strong> d\u00e8s les premi\u00e8res lignes et maintenir l\u2019attention de son lecteur. \u00ab\u00a0<em>Le Why Caf\u00e9</em>\u00a0\u00bb se lit donc ais\u00e9ment d\u2019un trait.</p><p>Je conseille tout particuli\u00e8rement cet ouvrage aux <strong>adeptes du genre</strong> et \u00e0 tous <strong>ceux qui n\u2019ont pas v\u00e9cu cette \u00e9tape de remise en question \u00ab\u00a0existentielle\u00a0\u00bb</strong> pour toutes les <strong>pistes de r\u00e9flexion et les perspectives de r\u00e9ponses</strong> qu\u2019il pourra vous apporter.</p><p><em>Points <strong>forts</strong></em> :</p><ul><li>Les pistes de r\u00e9flexion qui suscitent une vraie remise en question et proposent un angle diff\u00e9rent sur notre raison d\u2019\u00eatre.</li>\n<li><a href=\"https://des-livres-pour-changer-de-vie.com/top-200-citations-de-motivation-pour-rester-super-motive/\" target=\"_blank\" rel=\"noopener noreferrer\">Une source de motivation</a> pour affronter nos peurs et nous cr\u00e9er une vie qui nous ressemble.</li>\n<li>L\u2019histoire simple mais captivante, ponctu\u00e9e de suspens.</li>\n</ul><p><em>Points <strong>faibles</strong></em> :</p><ul><li>Selon la sensibilit\u00e9 au genre de chacun et la grille de lecture que nous en faisons, certains peuvent trouver ce livre \u00ab\u00a0gentillet\u00a0\u00bb .</li>\n<li>Des messages certes puissants mais qui restent essentiellement de l\u2019ordre de la prise de conscience.</li>\n</ul><p>Ma note\u00a0:</p><p><img class=\"alignnone jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png?is-pending-load=1\" alt=\"Le Why Caf\u00e9 - John Strelecky - raison d'\u00eatre\" width=\"25\" height=\"24\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Le Why Caf\u00e9 - John Strelecky - raison d'\u00eatre\" width=\"25\" height=\"24\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\u00a0 \u00a0 \u00a0\n<p><img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Le Why Caf\u00e9 - John Strelecky - raison d'\u00eatre\" width=\"25\" height=\"24\" referrerpolicy=\"no-referrer\" /></p>\n\u00a0 \u00a0 \u00a0\n<p><img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Le Why Caf\u00e9 - John Strelecky - raison d'\u00eatre\" width=\"25\" height=\"24\" referrerpolicy=\"no-referrer\" /></p>\n\u00a0 \u00a0 \u00a0\n<p><img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Le Why Caf\u00e9 - John Strelecky - raison d'\u00eatre\" width=\"25\" height=\"24\" referrerpolicy=\"no-referrer\" /></p>\n\u00a0 \u00a0\n<p><img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"\" width=\"25\" height=\"24\" referrerpolicy=\"no-referrer\" /></p><p class=\"c7\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Avez-vous lu <em>\u201cLe Why Caf\u00e9\u201d</em> de John Strelecky\u00a0? Combien le notez-vous\u00a0?</p><p class=\"c7\"><img width=\"16\" height=\"16\" id=\"rating_21334_1\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif?is-pending-load=1\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" srcset=\"\" class=\"jetpack-lazy-image c11\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"16\" height=\"16\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<p><img width=\"16\" height=\"16\" id=\"rating_21334_2\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Passable - Un ou deux passages int\u00e9ressants\" title=\"Passable - Un ou deux passages int\u00e9ressants\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_21334_3\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Moyen - Quelques bonnes id\u00e9es\" title=\"Moyen - Quelques bonnes id\u00e9es\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_21334_4\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" title=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_21334_5\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" title=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n(<strong>1</strong>votes, moyenne:<strong>5,00</strong>out of 5)<br />\n<p><img src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\nLoading...<p class=\"c7\"><a href=\"https://amzn.to/355uh9r\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external\">Visitez Amazon afin de lire plus de commentaires sur le livre<em>\u00a0</em></a>de John Strelecky <em>\u00ab\u00a0Le Why Caf\u00e9\u201d</em></p><p class=\"c7\"><a href=\"https://amzn.to/3k59vem\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external\">Visitez Amazon afin d\u2019acheter le livre</a> de John Strelecky <em>\u00ab\u00a0Le Why Caf\u00e9\u201d</em></p><noscript>\n</noscript>",
    "created_at": "2022-05-02T07:53:29+00:00",
    "updated_at": "2022-05-02T07:53:35+00:00",
    "published_at": "2020-12-24T16:00:26+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 35,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/11/le-why-cafe-john-p-strelecky.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["sagesse", "roman", "resume"],
    "is_public": false,
    "id": 19,
    "title": "Pens\u00e9es pour moi-m\u00eame R\u00e9sum\u00e9 et avis - Marc Aur\u00e8le",
    "url": "https://des-livres-pour-changer-de-vie.com/pensees-pour-moi-meme/",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><p class=\"c7\">\u00a0<a href=\"https://amzn.to/3cL9Q5u\" target=\"_blank\" rel=\"noopener\" class=\"external\">\n<p><img class=\"aligncenter wp-image-22822\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/pensees-pour-moi-meme-marc-aurele.jpg\" alt=\"pens\u00e9es pour moi-m\u00eame marc-aur\u00e8le\" width=\"212\" height=\"350\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/pensees-pour-moi-meme-marc-aurele.jpg 638w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/pensees-pour-moi-meme-marc-aurele-182x300.jpg 182w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/pensees-pour-moi-meme-marc-aurele-622x1024.jpg 622w\" referrerpolicy=\"no-referrer\" /></p>\n</a></p><h2>Chronique et r\u00e9sum\u00e9 du livre \u00ab\u00a0<em>Pens\u00e9es pour moi-m\u00eame</em>\u00a0\u00bb de Marc Aur\u00e8le</h2><blockquote>\n<p><strong>R\u00e9sum\u00e9 du livre \u00ab\u00a0<em>Pens\u00e9es pour moi-m\u00eame\u00a0\u00bb</em> de Marc Aur\u00e8le\u00a0:</strong> Ces notes de l\u2019empereur romain sont un condens\u00e9 de belles phrases \u00e0 m\u00e9diter, ainsi qu\u2019un guide pour vous engager sur la voie de la philosophie. Vous voulez changer de vie et vous initier aux arcanes de la pens\u00e9e d\u2019un chef de guerre\u00a0? Allez donc jeter un \u0153il \u00e0 ce qui se trouve ci-dessous\u00a0!</p>\n</blockquote><p>Par Marc Aur\u00e8le, 170-180 apr. J.-C., 176 pages.</p><h3>Marc Aur\u00e8le, l\u2019empereur philosophe</h3><p><img class=\"aligncenter wp-image-22829 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Marc-aurele-empereur-philosophe.jpg?is-pending-load=1\" alt=\"Marc Aur\u00e8le, un empereur philosophe\" width=\"464\" height=\"600\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Marc-aurele-empereur-philosophe.jpg 928w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Marc-aurele-empereur-philosophe-232x300.jpg 232w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Marc-aurele-empereur-philosophe-792x1024.jpg 792w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Marc-aurele-empereur-philosophe-768x993.jpg 768w\" data-lazy-sizes=\"(max-width: 464px) 100vw, 464px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-22829\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Marc-aurele-empereur-philosophe.jpg\" alt=\"Marc Aur\u00e8le, un empereur philosophe\" width=\"464\" height=\"600\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Marc-aurele-empereur-philosophe.jpg 928w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Marc-aurele-empereur-philosophe-232x300.jpg 232w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Marc-aurele-empereur-philosophe-792x1024.jpg 792w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Marc-aurele-empereur-philosophe-768x993.jpg 768w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4>Un enfant singulier</h4><p>Marc Aur\u00e8le vient d\u2019une famille noble d\u2019Espagne ayant \u00e9migr\u00e9 depuis plusieurs g\u00e9n\u00e9rations en Italie, sur une colline de Rome. <strong>Il se fait adopter par l\u2019empereur Antonin</strong> qui succ\u00e8de lui-m\u00eame \u00e0 Hadrien. D\u00e8s son plus jeune \u00e2ge, Marcus Aurelius se sait donc promis \u00e0 un avenir exceptionnel.</p><p>Pourtant, il se signale tout particuli\u00e8rement par son d\u00e9sir de rester en retrait des affaires humaines. Enfant, <strong>il pr\u00e9f\u00e8re\u00a0la vie aust\u00e8re des philosophes</strong>, et d\u2019abord des philosophes cyniques.\u00a0 Il demande \u00e0 porter une robe de tissu grossier et \u00e0 dormir par terre, pour le plus grand malheur de sa m\u00e8re\u00a0!</p><p>Peu \u00e0 peu, il modifie son attitude et accepte d\u2019<strong>endosser les responsabilit\u00e9s li\u00e9es \u00e0 sa charge</strong>.\u00a0S\u2019appr\u00eater \u00e0 devenir empereur, ce n\u2019est pas rien\u00a0!</p><h4>Un destin d\u2019empereur</h4><p><strong>Marc Aur\u00e8le a 39 ans lorsque Antonin, son p\u00e8re adoptif, meurt</strong>. Il devient \u00e0 son tour empereur. Il associe tout de suite son fr\u00e8re d\u2019adoption, Lucius Verus, \u00e0 cette charge. Mais celui-ci meurt huit ans plus tard en allant d\u00e9fendre l\u2019empire contre des invasions barbares.</p><p>Lorsqu\u2019il parvient au pouvoir, <strong>les temps sont durs \u00e0 Rome</strong>. Et tout au long de son r\u00e8gne qui durera pr\u00e8s de vingt ans, Marc Aur\u00e8le aura \u00e0 combattre les barbares aux fronti\u00e8res du Danube et de la Syrie. Lui qui d\u00e9testait <a href=\"https://des-livres-pour-changer-de-vie.com/lart-de-la-guerre/\" target=\"_blank\" rel=\"noopener\">la guerre</a> se trouve enr\u00f4l\u00e9 dans une destin\u00e9e plus forte que lui.</p><p>Il doit \u00e9galement affronter des catastrophes naturelles et <strong>la peste</strong> qui ravage Rome peu apr\u00e8s les campagnes militaires de Syrie. Il mourra lui-m\u00eame de cette maladie en 180 apr. J.-C., \u00e0 58 ans seulement.</p><p><strong>Marc Aur\u00e8le se distingue par son souci de justice et sa charit\u00e9</strong>\u00a0: il ouvre par exemple un centre d\u2019\u00e9ducation pour les jeunes filles d\u00e9favoris\u00e9es de la capitale. Afin de ne pas pr\u00e9lever d\u2019imp\u00f4ts \u00e0 son peuple en vue des guerres, il d\u00e9cide de vendre tous les biens pr\u00e9cieux de son propre palais et de sa famille\u00a0! Un geste rare, de la part d\u2019un homme riche et puissant\u2026</p><p><strong>Par contre</strong>, il ne fait pas bon \u00eatre chr\u00e9tien sous sa loi\u00a0; Marc Aur\u00e8le a en effet particip\u00e9 \u00e0 leur pers\u00e9cution, consid\u00e9rant qu\u2019ils mettaient en p\u00e9ril les fondations religieuses de l\u2019empire romain.</p><p>\u00c0 sa mort, l\u2019empereur-philosophe est imm\u00e9diatement <strong>d\u00e9ifi\u00e9 par les Romains</strong>, qui le consid\u00e8rent comme un \u00eatre d\u2019exception ayant sa place aupr\u00e8s des immortels.</p><h4>Une femme et treize enfants</h4><p>Marc Aur\u00e8le \u00e9pouse la fille d\u2019Antonin, Faustine la jeune, en 145 apr. J.-C. Il aura treize enfants avec sa femme. <strong>Sept d\u2019entre eux mourront avant d\u2019atteindre l\u2019\u00e2ge adulte</strong>. Cinq filles et un fils grandiront aupr\u00e8s de lui.</p><p>Commode, seul h\u00e9ritier m\u00e2le de la famille, deviendra empereur apr\u00e8s la mort de son p\u00e8re. Il se fait toutefois remarquer pour son go\u00fbt immod\u00e9r\u00e9 des jeux de gladiateurs, sa cruaut\u00e9 et son \u00e9go\u00efsme. Ce changement fera dire \u00e0 l\u2019historien romain Dion Cassius, contemporain de Marc Aur\u00e8le\u00a0: \u00ab\u00a0<strong>l\u2019histoire est tomb\u00e9e d\u2019un r\u00e8gne d\u2019or dans un r\u00e8gne de fer et de rouille</strong>.\u00a0\u00bb</p><h4>La voie philosophique</h4><p>Marc Aur\u00e8le a \u00e9tudi\u00e9 les philosophes d\u00e8s sa plus tendre enfance, puis dans son adolescence. Il a eu de nombreux ma\u00eetres, dont certains lui ont transmis les id\u00e9es qui se retrouveront dans les <em>Pens\u00e9es pour moi-m\u00eame</em>.</p><p><strong>Suivre une voie philosophique, \u00e0 l\u2019\u00e9poque antique, ne signifie pas seulement lire et \u00e9crire des livres</strong>. Le philosophe d\u00e9die sa vie aux principes philosophiques qu\u2019il a choisi et vit en fonction d\u2019eux.</p><p>Marc Aur\u00e8le est influenc\u00e9 par les grandes \u00e9coles de la tradition grecque, puis romaine\u00a0: l\u2019Acad\u00e9mie (l\u2019\u00e9cole de Platon), le Lyc\u00e9e (\u00e9cole d\u2019Aristote), le Portique (\u00e9cole de Z\u00e9non), le Jardin d\u2019\u00c9picure, le cynisme (Antisth\u00e8ne).</p><p><strong>Le sto\u00efcisme, qui d\u00e9coule de la doctrine profess\u00e9e au sein de l\u2019\u00e9cole du Portique, le marquera tout particuli\u00e8rement</strong>. C\u2019est son ma\u00eetre le plus important, Junius Rusticus, qui lui fera conna\u00eetre le <em>Manuel</em>\u00a0d\u2019<strong>\u00c9pict\u00e8te</strong>.</p><p>Les autres repr\u00e9sentants majeurs du sto\u00efcisme romain sont <strong>Cic\u00e9ron, S\u00e9n\u00e8que</strong> (ses c\u00e9l\u00e8bres <a href=\"https://des-livres-pour-changer-de-vie.com/lettres-a-lucilius/\" target=\"_blank\" rel=\"noopener\"><em>Lettres \u00e0 Lucilius</em></a>). Comme Marc Aur\u00e8le, ces deux auteurs ont \u00e9galement \u00e9t\u00e9 de puissants hommes politiques\u00a0ayant charge de l\u2019empire.</p><h3>Pr\u00e9sentation des <em>Pens\u00e9es pour moi-m\u00eame</em></h3><p><img class=\"aligncenter wp-image-22832 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Homme_ecrivant.jpg?is-pending-load=1\" alt=\"Homme \u00e9crivant\" width=\"462\" height=\"600\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Homme_ecrivant.jpg 500w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Homme_ecrivant-231x300.jpg 231w\" data-lazy-sizes=\"(max-width: 462px) 100vw, 462px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-22832\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Homme_ecrivant.jpg\" alt=\"Homme \u00e9crivant\" width=\"462\" height=\"600\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Homme_ecrivant.jpg 500w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Homme_ecrivant-231x300.jpg 231w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4>Des notes personnelles</h4><p>Ce qu\u2019on appelle aujourd\u2019hui les <em>Pens\u00e9es pour moi-m\u00eame</em> est un nom donn\u00e9 \u00e0 post\u00e9riori \u00e0 des liasses de documents retrouv\u00e9es apr\u00e8s la mort de l\u2019empereur. Rien n\u2019indique que Marc Aur\u00e8le souhaitait les publier.</p><p>Pourtant, vu l\u2019importance du document, d\u2019autres que lui se d\u00e9cid\u00e8rent \u00e0 en copier manuellement le contenu. Peu \u00e0 peu, le texte se diffusa et devint <strong>un classique de la philosophie</strong>. Il fut imprim\u00e9 pour la premi\u00e8re fois au XVIe si\u00e8cle.</p><p>Il vaut mieux parler de notes personnelles que de journal intime. Pourquoi\u00a0? Parce que Marc Aur\u00e8le cherche moins \u00e0 raconter sa vie qu\u2019\u00e0 <strong>trouver une discipline \u00e0 laquelle se tenir dans les diff\u00e9rents moments de son existence</strong>.</p><p>Il \u00e9crit sans doute le matin ou le soir, apr\u00e8s sa journ\u00e9e de \u00ab\u00a0travail\u00a0\u00bb \u2013 c\u2019est-\u00e0-dire, pour lui, faire la guerre et s\u2019entretenir avec ses conseillers ou ses sujets\u00a0! \u2013 lorsqu\u2019il est seul et retir\u00e9 du monde.</p><p>Bien s\u00fbr, \u00e0 cette \u00e9poque, les neurosciences n\u2019avaient pas encore d\u00e9montr\u00e9 <a href=\"https://des-livres-pour-changer-de-vie.com/la-reponse/\" target=\"_blank\" rel=\"noopener\">l\u2019int\u00e9r\u00eat de l\u2019\u00e9criture pour r\u00e9aliser ses r\u00eaves</a>, mais c\u2019est en quelque sorte ce que fait d\u00e9j\u00e0 Marc Aur\u00e8le, qui <strong>r\u00eave de vivre moralement</strong>\u00a0!</p><h4>L\u2019influence sto\u00efcienne</h4><p>Parmi les diff\u00e9rentes r\u00e9f\u00e9rences (\u00e0 la philosophie d\u2019Aristote, de Platon ou d\u2019\u00c9picure, notamment) qu\u2019on trouve dans les <em>Pens\u00e9es</em>, c\u2019est au <strong>sto\u00efcisme</strong> que se rattache de la fa\u00e7on la plus forte Marc Aur\u00e8le.</p><p>Refusant de se laisser aller dans mille directions diff\u00e9rentes, <strong>il choisit un ensemble de principes ou de dogmes qu\u2019il met en application, de fa\u00e7on r\u00e9p\u00e9titive</strong>, en fonction des \u00e9v\u00e9nements qui lui arrivent dans la journ\u00e9e.</p><p>C\u2019est tr\u00e8s certainement <strong>le <em>Manuel</em> d\u2019\u00c9pict\u00e8te</strong> qui est la source principale de sa connaissance de la philosophie sto\u00efcienne.\u00a0On retrouve en effet dans les <em>Pens\u00e9es</em> de nombreux <strong>th\u00e8mes communs aux deux ouvrages</strong>\u00a0:</p><ul><li>Le principe qui fait de l\u2019homme la partie d\u2019un grand Tout\u00a0;</li>\n<li>La <a href=\"https://des-livres-pour-changer-de-vie.com/83-citations-rares-et-inspirantes-sur-la-meditation/\" target=\"_blank\" rel=\"noopener\">m\u00e9ditation</a> sur la mort\u00a0;</li>\n<li>L\u2019id\u00e9e qu\u2019il faut accepter la vie telle qu\u2019elle est\u00a0;</li>\n<li>L\u2019importance capitale de la vertu pour \u00eatre heureux\u00a0;</li>\n<li>La place essentielle de la rationalit\u00e9 dans la conduite vertueuse.</li>\n</ul><h4>Pourquoi lire les <em>Pens\u00e9es pour moi-m\u00eame</em> aujourd\u2019hui\u00a0?</h4><p>M\u00eame s\u2019il est empereur, et qu\u2019il se trouve donc immerg\u00e9 dans l\u2019action toute la journ\u00e9e, Marc Aur\u00e8le veut \u00eatre un philosophe\u00a0! C\u2019est cette <strong>alliance singuli\u00e8re</strong> qui fait des <em>Pens\u00e9es</em> un livre qui doit \u00eatre lu, m\u00eame aujourd\u2019hui.</p><p>On y voit en effet <strong>un homme puissant et pourtant humble qui cherche \u00e0 vivre du mieux qu\u2019il le peut en fonction des principes sto\u00efciens</strong>.</p><p>En \u00e9crivant, Marc Aur\u00e8le se dit \u00ab\u00a0tu\u00a0\u00bb \u00e0 lui-m\u00eame et entame un v\u00e9ritable dialogue int\u00e9rieur qui lui permet d\u2019accorder sa vie \u00e0 ses principes. Mais en fait, <strong>tout se passe comme s\u2019il vous interpellait, vous\u00a0!</strong></p><p>C\u2019est pour \u00e7a que sa lecture est diablement efficace\u00a0: elle vous parle par l\u2019interm\u00e9diaire de <strong>textes souvent tr\u00e8s brefs</strong> (on appelle \u00e7a des aphorismes) qui vous touchent pile au bon endroit\u00a0!</p><h3>Vous faites partie d\u2019un grand Tout</h3><p><img class=\"aligncenter wp-image-22629 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Cosmos-ordonne-207x300.jpg?is-pending-load=1\" alt=\"\" width=\"414\" height=\"600\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Cosmos-ordonne-207x300.jpg 207w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Cosmos-ordonne-707x1024.jpg 707w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Cosmos-ordonne-768x1112.jpg 768w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Cosmos-ordonne.jpg 884w\" data-lazy-sizes=\"(max-width: 414px) 100vw, 414px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-22629\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Cosmos-ordonne-207x300.jpg\" alt=\"\" width=\"414\" height=\"600\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Cosmos-ordonne-207x300.jpg 207w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Cosmos-ordonne-707x1024.jpg 707w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Cosmos-ordonne-768x1112.jpg 768w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Cosmos-ordonne.jpg 884w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4>Les noms du Tout</h4><p><strong>La rationalit\u00e9 universelle, la nature, Zeus, Dieu, le cosmos</strong>\u2026 Voici des noms diff\u00e9rents qui d\u00e9signent, dans la philosophie sto\u00efcienne, une id\u00e9e ou <strong>un premier principe unique</strong>.</p><p><strong>Le monde est un Tout ordonn\u00e9, en mouvement perp\u00e9tuel</strong>, dans lequel chaque partie a sa place et son r\u00f4le \u00e0 tenir. Les rochers, les plantes, les animaux, les hommes, les dieux, tous s\u2019agencent selon un plan harmonieux nomm\u00e9 aussi providence.</p><p><strong>Se r\u00e9gler sur l\u2019harmonie du Tout</strong>, c\u2019est se r\u00e9gler sur l\u2019ordre du monde. Les \u00e9l\u00e9ments meurent et naissent selon la raison universelle du monde, dont vous faites partie. Une fois mort, votre corps et votre \u00e2me se dissolvent en une vari\u00e9t\u00e9 d\u2019\u00e9l\u00e9ments qui migrent ailleurs.</p><p><strong>L\u2019\u00eatre humain n\u2019a de valeur qu\u2019en tant qu\u2019il participe \u00e0 l\u2019harmonie de ce Tout ou cosmos</strong>. C\u2019est une diff\u00e9rence de taille avec la fa\u00e7on moderne de penser l\u2019individu comme \u00ab\u00a0la\u00a0\u00bb valeur supr\u00eame\u00a0!</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0<strong>Tout me convient qui te convient, \u00f4 Monde\u00a0!</strong> Rien pour moi n\u2019est pr\u00e9matur\u00e9 ni tardif, de ce qui est pour toi de temps opportun. Tout est fruit pour moi de ce que produisent tes saisons, \u00f4 nature\u00a0! Tout vient de toi, tout r\u00e9side en toi, tout retourne en toi. Quelqu\u2019un dit\u00a0: \u00ab\u00a0Ch\u00e8re cit\u00e9 de C\u00e9crops\u00a0!\u00a0\u00bb Et toi, ne diras-tu pas\u00a0: \u00ab\u00a0Ch\u00e8re cit\u00e9 de Zeus\u00a0!\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Vous avez un destin</h4><p>Tous les \u00e9v\u00e9nements du monde sont encha\u00een\u00e9s au sein du grand Tout qu\u2019est le monde. <strong>Tout arrive donc n\u00e9cessairement</strong>. C\u2019est cela qu\u2019on appelle, pour l\u2019homme, <strong>le destin</strong>. L\u2019id\u00e9e selon laquelle la vie humaine suit un encha\u00eenement n\u00e9cessaire de causes ou de raisons.</p><p>C\u2019est votre destin de subir, <strong>par exemple</strong>, une guerre ou une pand\u00e9mie. Le fait que ceci ou cela arrive, vous ne pouvez pas le changer.</p><p><strong>Pourtant, vous avez n\u00e9anmoins le pouvoir de contr\u00f4ler ce qui vous arrive\u00a0!</strong>\u00a0En effet, en tant qu\u2019\u00eatre humain, vous \u00eates un \u00eatre rationnel. Autrement dit, vous \u00eates capable de\u00a0prendre conscience de votre situation dans le monde et de ma\u00eetriser votre fa\u00e7on de r\u00e9agir aux \u00e9v\u00e9nements qui surviennent dans votre vie.</p><p><strong>Vous \u00eates tout particuli\u00e8rement responsable du rapport que vous entretenez avec vous-m\u00eame</strong>.</p><blockquote>\n<p>\u00ab\u00a0Trouve asile en toi-m\u00eame et fais en sorte que ce qui t\u2019arrive d\u00e9pende de toi\u00a0\u00bb dit Marc Aur\u00e8le dans les <em>Pens\u00e9es pour moi-m\u00eame</em>.</p>\n</blockquote><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Regarde l\u2019ach\u00e8vement et la r\u00e9alisation de ce qui a paru bon \u00e0 la nature universelle, comme tu regardes ta propre sant\u00e9. Accueille aussi avec autant d\u2019empressement tout ce qui t\u2019arrive, m\u00eame si tu le trouves trop dur, dans la pens\u00e9e que par l\u00e0 <strong>tu travailles \u00e0 la sant\u00e9 du monde</strong>, \u00e0 la bonne marche et au bonheur de Zeus\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Le monde est comme une cit\u00e9</h4><p>Pour Marc Aur\u00e8le, comme pour \u00c9pict\u00e8te, le monde est comme une cit\u00e9. <strong>Cela signifie que vous partagez avec les autres \u00eatres de la nature un m\u00eame monde, qui a des lois uniques</strong>.</p><p>Tous les \u00eatres qui existent sur la terre sont comme des concitoyens, qui, comme vous, sont mus par les m\u00eames r\u00e8gles. La sp\u00e9cificit\u00e9 des \u00eatres rationnels, tels que les \u00eatres humains, est de collaborer consciemment \u00e0 cet ordre du monde.</p><p>Dans la cit\u00e9 humaine (c\u2019est-\u00e0-dire, \u00e0 l\u2019\u00e9poque, Rome et plus largement l\u2019empire), <strong>les hommes doivent s\u2019apporter un soutien mutuel et ob\u00e9ir aux lois qui les gouvernent</strong>.</p><p>Pour l\u2019empereur Marc Aur\u00e8le, ce point est capital\u00a0: <strong>les hommes sont des \u00eatres qui sont faits pour vivre ensemble</strong>, en bonne harmonie. Vivre avec les autres est une donn\u00e9e premi\u00e8re de l\u2019existence humaine.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Si l\u2019intelligence nous est commune, la raison qui fait de nous des \u00eatres qui raisonnent, nous est commune aussi. Si cela est, la raison qui commande ce qu\u2019il faut faire ou non, doit \u00eatre commune. [Alors], la loi aussi nous est \u00e9galement commune. [Et donc], <strong>nous sommes concitoyens</strong>. [Cela signifie aussi que] nous participons \u00e0 une certaine administration commune. [Finalement], <strong>le monde est comme une cit\u00e9</strong>.\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>, citation l\u00e9g\u00e8rement adapt\u00e9e).</p>\n</blockquote><h3>Vous ne devez pas craindre la mort</h3><p><img class=\"aligncenter wp-image-22630 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/La-mort-300x225.jpg?is-pending-load=1\" alt=\"\" width=\"600\" height=\"450\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/La-mort-300x225.jpg 300w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/La-mort-1024x768.jpg 1024w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/La-mort-768x576.jpg 768w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/La-mort-1536x1152.jpg 1536w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/La-mort-2048x1536.jpg 2048w\" data-lazy-sizes=\"(max-width: 600px) 100vw, 600px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-22630\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/La-mort-300x225.jpg\" alt=\"\" width=\"600\" height=\"450\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/La-mort-300x225.jpg 300w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/La-mort-1024x768.jpg 1024w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/La-mort-768x576.jpg 768w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/La-mort-1536x1152.jpg 1536w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/La-mort-2048x1536.jpg 2048w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4>Apprenez \u00e0 voir la mort de fa\u00e7on objective</h4><p>Vous allez mourir. Est-ce que cela est si terrible\u00a0? Non, dit Marc Aur\u00e8le\u00a0! Pourquoi\u00a0? Parce que <strong>les \u00e9l\u00e9ments qui vous composent retourneront au monde, au grand Tout</strong>. Or, c\u2019est lui seul qui compte, finalement.</p><p>Cela ne vous rassure pas\u00a0? Marc Aur\u00e8le insiste pourtant\u00a0: il faut apprendre \u00e0 voir la mort de fa\u00e7on objective, comme un \u00e9v\u00e9nement qui vous est ext\u00e9rieur. Vous \u00eates n\u00e9 sans le vouloir et vous mourrez\u00a0: <strong>c\u2019est une donn\u00e9e premi\u00e8re de l\u2019existence humaine, \u00e0 laquelle vous avez le devoir de vous habituer</strong>.</p><p>En analysant de fa\u00e7on objective votre mort, <strong>vous la rendrez plus insignifiante</strong>, vous lui donnerez moins d\u2019importance. Bref, vous vous r\u00e9concilierez avec votre nature de mortel. Ce qui est une bonne chose, non\u00a0?</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0La mort est, comme la naissance, un myst\u00e8re de la nature\u00a0: combinaison dans l\u2019une des m\u00eames \u00e9l\u00e9ments qui se s\u00e9parent dans l\u2019autre. En somme, <strong>rien dont on puisse \u00eatre d\u00e9shonor\u00e9</strong>, car mourir n\u2019est pas contraire \u00e0 la disposition d\u2019un animal raisonnable, ni \u00e0 la logique de sa constitution\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Combien sont morts avant vous\u00a0?</h4><p>Une autre mani\u00e8re de se faire \u00e0 l\u2019id\u00e9e de sa mort consiste \u00e0 <strong>faire d\u00e9filer, par votre imagination, le cort\u00e8ge impressionnant d\u2019\u00eatres humains qui sont morts avant vous</strong>. Certains petits, d\u2019autres grands, peu importe\u00a0: finalement, tous sont morts\u00a0!</p><p>Marc Aur\u00e8le lui-m\u00eame cherchait \u00e0 se convaincre de l\u2019insignifiance de sa mort. L\u2019oubli est un th\u00e8me important des <em>Pens\u00e9es pou moi-m\u00eame</em>. Pour le philosophe sto\u00efcien, <strong>ni le corps, ni l\u2019\u00e2me ne sont \u00e9ternels</strong>.</p><blockquote>\n<p>\u00ab\u00a0<strong>Bient\u00f4t tu seras oubli\u00e9, bient\u00f4t tous t\u2019auront oubli\u00e9</strong>\u00a0\u00bb se r\u00e9p\u00e8te Marc Aur\u00e8le.</p>\n</blockquote><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Consid\u00e8re sans cesse combien d\u2019hommes de toutes sortes, de toutes professions, de toutes races, sont morts [\u2026] Tous ces gens-l\u00e0, pense qu\u2019ils sont morts depuis longtemps. Qu\u2019y a-t-il \u00e0 cela de terrible pour eux\u00a0? Qu\u2019y a-t-il donc l\u00e0 de terrible aussi pour ceux dont le nom n\u2019est jamais prononc\u00e9\u00a0? <strong>Une seule chose ici-bas est digne de prix\u00a0: passer sa vie dans la v\u00e9rit\u00e9 et dans la justice</strong>, en se gardant indulgent aux menteurs et aux injustes\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Vivez cette journ\u00e9e comme si c\u2019\u00e9tait la derni\u00e8re</h4><p><strong>Vous pr\u00e9parer \u00e0 mourir n\u2019a rien de lugubre</strong>. Au contraire, c\u2019est se pr\u00e9parer \u00e0 <a href=\"https://des-livres-pour-changer-de-vie.com/le-pouvoir-du-moment-present/\" target=\"_blank\" rel=\"noopener\">vivre pleinement le moment pr\u00e9sent</a>\u00a0! Vivre en pensant que cette journ\u00e9e sera la derni\u00e8re lui donne une intensit\u00e9 particuli\u00e8re\u00a0; vous aurez aussi une autre attitude envers votre entourage. C\u2019est un <strong>exercice \u00e0 faire</strong>, au moins de temps en temps.</p><p>D\u2019ailleurs, ce qui compte, ce n\u2019est pas combien de temps vous vivez, mais <strong>ce que vous faites de votre vie</strong>, maintenant. Essayez de vivre chaque instant de fa\u00e7on coh\u00e9rente avec vous-m\u00eame. Faites de votre mieux, d\u00e8s maintenant\u00a0!</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Dusses-tu vivre trois mille ans, et m\u00eame autant de fois dix mille, souviens-toi toujours que personne ne perd d\u2019autre existence que celle qu\u2019il vit, et qu\u2019on ne vit que celle qu\u2019on perd. Ainsi la plus courte et la plus longue reviennent au m\u00eame. Car le pr\u00e9sent est \u00e9gal pour tous\u00a0; et donc \u00e9gal aussi ce qui p\u00e9rit\u00a0; et la perte appara\u00eet donc instantan\u00e9e\u00a0; car <strong>on ne peut perdre ni le pass\u00e9 ni l\u2019avenir</strong>\u00a0; comment, en effet, pourrait-on vous enlever ce que vous ne poss\u00e9dez pas\u00a0?\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h3>Apprenez \u00e0 aimer les imperfections</h3><p><img class=\"aligncenter wp-image-22631 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Defauts-du-pain-300x201.jpg?is-pending-load=1\" alt=\"\" width=\"600\" height=\"402\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Defauts-du-pain-300x201.jpg 300w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Defauts-du-pain-1024x686.jpg 1024w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Defauts-du-pain-768x514.jpg 768w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Defauts-du-pain-1536x1029.jpg 1536w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Defauts-du-pain.jpg 1823w\" data-lazy-sizes=\"(max-width: 600px) 100vw, 600px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-22631\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Defauts-du-pain-300x201.jpg\" alt=\"\" width=\"600\" height=\"402\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Defauts-du-pain-300x201.jpg 300w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Defauts-du-pain-1024x686.jpg 1024w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Defauts-du-pain-768x514.jpg 768w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Defauts-du-pain-1536x1029.jpg 1536w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/03/Defauts-du-pain.jpg 1823w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4>Celles des choses</h4><p>M\u00eame si vous faites partie d\u2019un grand Tout ordonn\u00e9, <strong>vous remarquez que certaines choses semblent imparfaites</strong>. Vous observez la nature et vous rencontrez des imperfections. Ou, du moins, ce qui vous para\u00eet l\u2019\u00eatre.</p><p>Mais pensez-y\u00a0: si vous vivez dans un cosmos dont les lois sont universelles, m\u00eame les erreurs, m\u00eame les imperfections, m\u00eame la mort a un sens. \u00c9ventuellement, cherchez-le. Mais surtout, <strong>apprenez \u00e0 aimer ces imperfections et \u00e0 ne pas vous sentir frustr\u00e9 \u00e0 cause d\u2019elles</strong>.</p><p>En r\u00e9alit\u00e9, <strong>les \u00e9l\u00e9ments imparfaits peuvent m\u00eame vous attirer</strong>.</p><p>Dans ses <em>Pens\u00e9es pour moi-m\u00eame</em>, Marc Aur\u00e8le prend notamment l\u2019exemple du pain\u00a0:</p><blockquote>\n<p>\u00ab\u00a0Le pain, <strong>par exemple</strong>, en cuisant par endroits se fendille et ces fentes ainsi form\u00e9es et qui se produisent en quelque sorte \u00e0 l\u2019encontre de l\u2019art du boulanger ont un certain agr\u00e9ment et excitent particuli\u00e8rement l\u2019app\u00e9tit\u00a0\u00bb.</p>\n</blockquote><p>Il en va aussi ainsi des erreurs et des imperfections plus graves\u00a0: bien aper\u00e7ues, <strong>elles vous donneront envie de vivre plus et mieux</strong>. Elles vous mettront en app\u00e9tit pour continuer \u00e0 vivre plus moralement, c\u2019est-\u00e0-dire de fa\u00e7on vraie et juste.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Tout provient de l\u00e0-haut, directement m\u00fb par ce commun principe directeur, ou indirectement, par voie de cons\u00e9quence. Ainsi donc, m\u00eame la gueule du lion, m\u00eame le poisson, et enfin tout ce qui est nocif, comme l\u2019\u00e9pine, comme la fange, sont des cons\u00e9quences de tout ce qu\u2019il y a l\u00e0-haut de v\u00e9n\u00e9rable et de beau. Ne t\u2019imagine donc pas que tout cela soit \u00e9tranger au principe que tu r\u00e9v\u00e8res\u00a0; mais <strong>r\u00e9fl\u00e9chis \u00e0 la source d\u2019o\u00f9 proc\u00e8dent les choses</strong>\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Celles des autres</h4><p><strong>Cessez d\u2019exiger des autres \u2013 les inconnus dans la rue, votre entourage professionnel, vos proches \u2013 une attitude parfaite</strong>. Vous faites non seulement souffrir ceux et celles \u00e0 qui vous adressez vos reproches, mais vous vous faites aussi du mal \u00e0 vous-m\u00eame.</p><p><strong>Pourquoi\u00a0?</strong> Parce que vous serez in\u00e9vitablement d\u00e9\u00e7u. Ceux qui font le mal ne le font pas expr\u00e8s, mais parce qu\u2019ils sont mus par de mauvais principes. En ne vous f\u00e2chant pas, vous ne renoncez pas \u00e0 vos droits, mais vous choisissez d\u2019<strong>adopter une attitude plus r\u00e9aliste et pacifiste</strong>.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0D\u00e8s l\u2019aurore, dis-toi par avance\u00a0: \u00ab\u00a0Je rencontrerai un indiscret, un ingrat, un insolent, un fourbe, un envieux, un insociable. Tous ces d\u00e9fauts sont arriv\u00e9s \u00e0 ces hommes par leur ignorance des biens et des maux. Pour moi, ayant jug\u00e9 que la nature du bien est le beau, que celle du mal est le laid, et que la nature du coupable lui-m\u00eame est d\u2019\u00eatre mon parent, non par la communaut\u00e9 du sang ou d\u2019une m\u00eame semence, mais par celle de l\u2019intelligence et d\u2019une m\u00eame parcelle de la divinit\u00e9, <strong>je ne puis \u00e9prouver du dommage de la part d\u2019aucun d\u2019eux</strong>, car aucun d\u2019eux ne peut me couvrir de laideur\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Quelques r\u00e8gles pour vivre avec vos concitoyens</h4><p><a href=\"https://des-livres-pour-changer-de-vie.com/des-citations-sur-la-vie/\" target=\"_blank\" rel=\"noopener\">La vie est ainsi faite</a>. Ceux qui ont pris une mauvaise voie dans l\u2019existence sont, eux aussi, n\u00e9cessaires au grand Tout. Comment, malgr\u00e9 tout, supprimer la col\u00e8re ou la tristesse vis-\u00e0-vis d\u2019autrui\u00a0? Lorsque l\u2019une ou l\u2019autre survient, <strong>rappelez-vous ceci</strong>\u00a0:</p><ol><li>Les hommes sont des \u00eatres raisonnables et sociables\u00a0;</li>\n<li>La justice naturelle ordonne aux hommes de se supporter les uns les autres\u00a0;</li>\n<li>C\u2019est involontairement que les hommes commettent des fautes et/ou des erreurs\u00a0;</li>\n<li>Tous les hommes sont des cr\u00e9atures mortelles et leurs imperfections seront bient\u00f4t oubli\u00e9es.</li>\n</ol><p>En vous rem\u00e9morant r\u00e9guli\u00e8rement ces <strong>quatre principes</strong>, vous en viendrez \u00e0 pardonner l\u2019importun, et \u00e0 consid\u00e9rer l\u2019\u00e9tranger comme votre propre parent. Autrement dit, vous ne vous sentirez plus offens\u00e9 par les b\u00e9vues des autres. Pas mal, non\u00a0?</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0<strong>Bonheur de l\u2019homme\u00a0: faire ce qui est le propre de l\u2019homme</strong>. Et ce qu\u2019est le propre de l\u2019homme, c\u2019est d\u2019\u00eatre bienveillant envers ses pareils, de m\u00e9priser les mouvements des sens, de discerner les id\u00e9es qui m\u00e9ritent cr\u00e9ance, de contempler la nature universelle et tout ce qui arrive conform\u00e9ment \u00e0 ses lois\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Apprenez \u00e0 aimer vos propres imperfections aussi\u00a0!</h4><p>Eh oui, <strong>il ne suffit pas d\u2019\u00eatre indulgent avec les autres et avec les choses\u00a0: il faut l\u2019\u00eatre avec soi-m\u00eame\u00a0!</strong> Tous, nous nous trompons. Vous aussi. Marc Aur\u00e8le est tr\u00e8s clair l\u00e0-dessus dans ses <em>Pens\u00e9es pour moi-m\u00eame</em>.</p><p>Loin de s\u2019isoler dans la tour d\u2019ivoire de sa fonction d\u2019empereur, <strong>Marc Aur\u00e8le vit avec les autres en \u00e9gal</strong>. Et <strong>il doute de lui-m\u00eame</strong>, de la justesse de ses actions. Il redoute par-dessus tout de devenir un tyran emport\u00e9 par la col\u00e8re, n\u2019\u00e9coutant que lui-m\u00eame.</p><p><strong>Cherchez \u00e0 vous contr\u00f4ler en profitant de chaque obstacle</strong>, de chaque \u00e9chec aussi, pour vous corriger.</p><blockquote>\n<p>\u00ab\u00a0Sers-toi des obstacles qu\u2019on t\u2019oppose pour pratiquer une autre vertu\u00a0\u00bb, dit l\u2019empereur.</p>\n</blockquote><p>Ou encore, au sujet de la doctrine qu\u2019il cherche \u00e0 apprendre\u00a0: \u00ab\u00a0Persiste jusqu\u2019\u00e0 ce que tu te sois appropri\u00e9 ces pens\u00e9es, comme un robuste estomac s\u2019approprie tout, <strong>comme un feu fait flamme et lumi\u00e8re de tout ce que tu y jettes</strong>\u00ab\u00a0.</p><p>Si vous vous emportez contre un proche, <strong>par exemple</strong>, analysez cette action et demandez-vous comment mieux agir la prochaine fois. C\u2019est ainsi que vous deviendrez vertueux. Si, au contraire, vous persistez dans votre erreur, vous deviendrez \u00ab\u00a0vicieux\u00a0\u00bb ou \u00ab\u00a0pervers\u00a0\u00bb.</p><p><strong>Marc Aur\u00e8le se donne, par exemple, des conseils \u00e0 lui-m\u00eame pour ne pas \u00eatre paresseux</strong>. Vous avez, vous aussi, du mal \u00e0 vous extirper du lit\u00a0? Alors, (re)lisez ceci.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Lorsque tu as peine \u00e0 t\u2019arracher au sommeil, rappelle-toi qu\u2019<strong>il est conforme \u00e0 ta constitution et \u00e0 la nature humaine d\u2019accomplir des actions utiles au bien commun</strong>, alors que dormir t\u2019est commun avec les \u00eatres d\u00e9nu\u00e9s de raison. Or, ce qui est conforme \u00e0 la nature de chaque \u00eatre est plus particuli\u00e8rement propre \u00e0 lui, plus naturel et, par cons\u00e9quence, plus agr\u00e9able aussi\u00a0\u00bb (<em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><p>Allez hop, debout\u00a0!</p><h3>Soyez vertueux, vous serez heureux</h3><p><img class=\"aligncenter wp-image-22835 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/devenez-droit-et-vertueux.jpg?is-pending-load=1\" alt=\"Devenez droit et vertueux\" width=\"600\" height=\"400\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/devenez-droit-et-vertueux.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/devenez-droit-et-vertueux-300x200.jpg 300w\" data-lazy-sizes=\"(max-width: 600px) 100vw, 600px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-22835\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/devenez-droit-et-vertueux.jpg\" alt=\"Devenez droit et vertueux\" width=\"600\" height=\"400\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/devenez-droit-et-vertueux.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/devenez-droit-et-vertueux-300x200.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4>Agissez de fa\u00e7on droite</h4><p>Pour Marc Aur\u00e8le, comme pour les sto\u00efciens, le seul vrai moyen d\u2019\u00eatre heureux consiste \u00e0 <strong>agir de fa\u00e7on droite ou vertueuse</strong>.</p><p>C\u2019est-\u00e0-dire\u00a0? Veillez \u00e0 <strong>rectifier constamment votre attitude en fonction des principes que vous vous \u00eates choisis</strong>. Pour devenir droit, il faut donc \u00e9viter d\u2019\u00eatre nostalgique, ou bien s\u2019\u00e9chapper en imagination dans des mondes alternatifs.</p><p>Il faut plut\u00f4t <strong>donner son assentiment au monde</strong> et \u00e0 son propre destin, tout en contr\u00f4lant ce qui peut l\u2019\u00eatre\u00a0: \u00e0 savoir ses propres jugements.</p><p><strong>Il n\u2019y a pas de bonheur, c\u2019est-\u00e0-dire de tranquillit\u00e9 d\u2019\u00e2me, sans exercice des vertus</strong>. Cela passe bien s\u00fbr par <a href=\"https://des-livres-pour-changer-de-vie.com/la-meditation-une-recherche-contemplative/\" target=\"_blank\" rel=\"noopener\">la m\u00e9ditation</a>, mais aussi par la mise en action des principes.</p><p>Pour le dire autrement, c\u2019est <strong>l\u2019exercice continu du courage, de la temp\u00e9rance, de la justice, etc.</strong> qui permet d\u2019acqu\u00e9rir la vertu supr\u00eame qu\u2019est la droiture morale.</p><p><strong>C\u2019est cette droiture qui rend content, satisfait. Bref, heureux\u00a0!</strong> On voit ici toute la diff\u00e9rence avec une philosophie du plaisir. Ceux-ci doivent \u00eatre strictement soumis \u00e0 l\u2019attitude vertueuse.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Celui qui aime la gloire met son propre bonheur dans <strong>les \u00e9motions d\u2019un autre</strong>\u00a0; celui qui aime le plaisir, dans <strong>ses propres penchants</strong>\u00a0; mais l\u2019homme intelligent, dans <strong>sa propre conduite</strong>\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Posez-vous les bonnes questions</h4><p><strong>Comment conserver la vertu dans son esprit, sans devenir capricieux, envieux ou col\u00e9rique\u00a0?</strong> Comment garder constamment \u00e0 l\u2019esprit cette droiture de l\u2019\u00e2me, seule capable de vous maintenir dans une attitude sereine\u00a0?</p><p><strong>En se convainquant que la vertu (ou la droiture dans l\u2019action) est le seul bien qui vaille la peine d\u2019\u00eatre suivi de fa\u00e7on absolue</strong>. Les honneurs, la richesse et m\u00eame la sant\u00e9 ne sont que des objectifs secondaires qu\u2019il est \u00e9ventuellement bon d\u2019acqu\u00e9rir, mais qui ne sont pas du tout n\u00e9cessaires. Autrement dit, ils ne sont pas capables de rendre notre \u00e2me heureuse.</p><p>\u00c0 l\u2019oppos\u00e9, il y les maux secondaires tels que la mort ou la maladie. Ceux-ci peuvent sans aucun doute nous faire du tort (la pens\u00e9e de la mort ou la douleur, par exemple, peuvent nous perturber), mais notre cerveau peut les contr\u00f4ler. En fait, si l\u2019on y pense bien, <strong>ces maux n\u2019en sont pas vraiment</strong>.</p><p>Ils ne peuvent toucher notre raison et il ne faut donc pas s\u2019en attrister. <strong>Le seul mal v\u00e9ritable est l\u2019injustice \u00e0 l\u2019\u00e9gard de soi-m\u00eame</strong> (c\u2019est-\u00e0-dire l\u2019incapacit\u00e9 \u00e0 se maintenir dans la vertu).</p><p><a href=\"https://des-livres-pour-changer-de-vie.com/lart-de-la-meditation/\" target=\"_blank\" rel=\"noopener\">L\u2019art de la m\u00e9ditation</a> peut certainement vous aider \u00e0 comprendre cela.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0<strong>\u00c0 quoi donc en ce moment fais-je servir mon \u00e2me\u00a0?</strong> En toute occasion, me poser cette question \u00e0 moi-m\u00eame et me demander\u00a0: \u00ab\u00a0Qu\u2019y a-t-il \u00e0 cette heure dans cette partie de moi-m\u00eame, qu\u2019on appelle principe directeur, et de qui ai-je l\u2019\u00e2me en cet instant\u00a0? N\u2019est-ce pas celle d\u2019un enfant, d\u2019un jeune homme, d\u2019une femmelette, d\u2019un tyran, d\u2019une t\u00eate de b\u00e9tail, d\u2019un fauve\u00a0?\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Contr\u00f4lez vos jugements</h4><p>Pour <a href=\"https://des-livres-pour-changer-de-vie.com/citations-sur-le-bonheur/\" target=\"_blank\" rel=\"noopener\">trouver le bonheur</a>, il faut prendre conscience que <strong>ce ne sont pas les choses elles-m\u00eames qui vous troublent, mais les repr\u00e9sentations que vous en avez et</strong>\u00a0<strong>les jugements que vous \u00e9mettez \u00e0 leur sujet</strong>. Tout est affaire de jugement pour les sto\u00efciens et pour Marc Aur\u00e8le.</p><p><strong>Prenons un exemple</strong>. Face \u00e0 une temp\u00eate, vous allez paniquer, vous cacher, \u00eatre diablement malheureux. Mais pourquoi donc\u00a0? Parce que vous jugerez que cette temp\u00eate est un mal horrible. Or il ne s\u2019agit que d\u2019eau, de vent et de sable.</p><p><strong>Reprenez vos esprits et faites face</strong>. Soyez tel une citadelle imprenable. Votre intelligence est capable de contr\u00f4ler le flots des \u00e9motions qui vous submerge. <strong>Si vous enlevez de votre esprit que ce qui vous arrive est un mal, vous supprimez le mal lui-m\u00eame</strong>.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0<strong>Les choses elles-m\u00eames ne touchent notre \u00e2me en aucune mani\u00e8re</strong>\u00a0; elles n\u2019ont pas d\u2019acc\u00e8s dans l\u2019\u00e2me\u00a0; elles ne peuvent ni modifier notre \u00e2me, ni la mettre en mouvement. Elle seule se modifie et se met en mouvement, et les accidents sont pour elle ce que les font les jugements qu\u2019elle estime dignes d\u2019elle-m\u00eame\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Restez calme</h4><p><strong>Attardons-nous encore sur un autre cas</strong>. Vous vous blessez physiquement (par exemple au cours de la temp\u00eate). Vous pourrez aller jusqu\u2019\u00e0 dire que <strong>la blessure est une excellente \u00e9preuve</strong>.</p><p><strong>Pourquoi\u00a0?</strong> Car elle vous donnera l\u2019occasion de devenir plus prudent, ou moins sensible \u00e0 la douleur. La sant\u00e9 elle-m\u00eame n\u2019est pas un bien en soi et vous pouvez apprendre beaucoup de la douleur comme de la maladie. Vous mourrez dans la temp\u00eate\u00a0? Eh bien soit, vous retournerez alors au grand Tout dont vous \u00eates issu.</p><p><strong>Comprenez-vous mieux, maintenant, l\u2019expression \u00ab\u00a0rester sto\u00efque\u00a0\u00bb\u00a0?</strong> Il s\u2019agit de se convaincre que les \u00e9v\u00e9nements, les choses et les autres, pris en eux-m\u00eames, n\u2019ont pas le pouvoir d\u2019\u00e9branler votre \u00e2me.</p><p>Face aux \u00e9v\u00e9nements, votre mission consiste \u00e0 rester serein, c\u2019est-\u00e0-dire \u00e0 ma\u00eetriser votre esprit. C\u2019est le ma\u00eetre-mot de la <a href=\"https://des-livres-pour-changer-de-vie.com/la-confiance-en-soi/\" target=\"_blank\" rel=\"noopener\">confiance en soi</a>.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0<strong>Ressemble au promontoire contre lequel incessamment se brisent les flots</strong>. Lui, reste debout et, autour de lui, viennent s\u2019assoupir les gonflements de l\u2019onde\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Vous pouvez aider les autres jusqu\u2019\u00e0 un certain point</h4><p>Marc Aur\u00e8le ne vit pas isol\u00e9 des autres. Il combat, voit des hommes mourir, entend les plaintes de ses ministres et de ses concitoyens. L\u2019empereur doit aussi faire face \u00e0 des mensonges et \u00e0 des tentatives de trahison.</p><p>Pourtant, il cherche \u00e0 <strong>rester droit dans la cit\u00e9 elle-m\u00eame</strong>, et non pas en vivant reclus dans un jardin secret ou dans un tour d\u2019ivoire. Son r\u00f4le, pense-t-il, est d\u2019<strong>aider ceux et celles qui viennent \u00e0 lui</strong>.</p><p>Lorsque l\u2019empereur rencontre quelqu\u2019un de \u00ab\u00a0vicieux\u00a0\u00bb, c\u2019est-\u00e0-dire qui a pris des habitudes qui vont contre la vertu (intemp\u00e9rance, col\u00e8re, incontinence sexuelle, etc.), il cherche \u00e0 le <strong>remettre dans \u00ab\u00a0le droit chemin\u00a0\u00bb</strong>.</p><p>Pourtant, il n\u2019est pas toujours possible d\u2019aider autrui. <strong>Parfois, on est face \u00e0 des personnes presque irr\u00e9cup\u00e9rables.</strong> Que faire, alors\u00a0? Sa r\u00e9ponse est nette\u00a0: passez votre chemin.</p><p><strong>Ne risquez pas de perdre le contr\u00f4le de vous-m\u00eame</strong>, car vous donneriez alors un mauvais exemple et cela ne ferait qu\u2019empirer les choses. <strong>Il vaut toujours mieux porter le bien en soi-m\u00eame</strong> et fuir toute configuration o\u00f9 celui-ci est mis en danger.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Le meilleur moyen de te d\u00e9fendre d\u2019eux (ceux qui agissent mal), c\u2019est de ne pas leur ressembler\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>N\u2019oubliez pas\u00a0: nul ne fait le mal volontairement</h4><p>Apr\u00e8s <a href=\"https://des-livres-pour-changer-de-vie.com/gorgias/\" target=\"_blank\" rel=\"noopener\">Platon</a>, <strong>les sto\u00efciens consid\u00e8rent que nul ne fait le mal volontairement</strong>. Comme on l\u2019a vu, c\u2019est parce qu\u2019ils ont perdu de vue la vertu que certains agissent mal. Ne sachant pas quel est le seul bien v\u00e9ritable, ils en prennent un autre \u00e0 la place\u00a0: l\u2019argent, le pouvoir ou le plaisir, par exemple.</p><p>C\u2019est ce bien secondaire, inessentiel, qui les conduit \u00e0 agir de fa\u00e7on sournoise et courbe. <strong>Votre r\u00f4le est de comprendre leurs motivations afin de les aider \u00e0 modifier leur attitude, tout en demeurant vous-m\u00eame vertueux.</strong></p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0<strong>Celui qui n\u2019admet pas que le m\u00e9chant commette des fautes est semblable \u00e0 celui qui n\u2019admettrait pas que le figuier porte du suc aux figues</strong>, que les nouveau-n\u00e9s vagissent, que le cheval hennisse, et toutes autres n\u00e9cessit\u00e9s de cet ordre. Que peut-on supporter, en effet, en se trouvant dans une telle disposition\u00a0? Si tu es exasp\u00e9r\u00e9, gu\u00e9ris-toi de cette fa\u00e7on d\u2019\u00eatre\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h3>Cultivez votre g\u00e9nie int\u00e9rieur</h3><p><img class=\"aligncenter wp-image-22836 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Cultivez-votre-genie-interieur.jpg?is-pending-load=1\" alt=\"Cultivez votre g\u00e9nie int\u00e9rieur\" width=\"400\" height=\"600\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Cultivez-votre-genie-interieur.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Cultivez-votre-genie-interieur-200x300.jpg 200w\" data-lazy-sizes=\"(max-width: 400px) 100vw, 400px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-22836\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Cultivez-votre-genie-interieur.jpg\" alt=\"Cultivez votre g\u00e9nie int\u00e9rieur\" width=\"400\" height=\"600\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Cultivez-votre-genie-interieur.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/Cultivez-votre-genie-interieur-200x300.jpg 200w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4>Le g\u00e9nie int\u00e9rieur est la partie rationnelle de votre \u00e2me</h4><p>Marc Aur\u00e8le parle souvent, dans les <em>Pens\u00e9es pour moi-m\u00eame</em>, de son \u00ab\u00a0g\u00e9nie int\u00e9rieur\u00a0\u00bb (<em>daemon</em>, en grec). <strong>Socrate</strong> avant lui, parlait d\u00e9j\u00e0 d\u2019un g\u00e9nie int\u00e9rieur qui le conseillait sur les actions \u00e0 mener ou \u00e0 \u00e9viter.</p><p><strong>Pour l\u2019empereur philosophe, le g\u00e9nie int\u00e9rieur d\u00e9signe avant tout la partie rationnelle de l\u2019\u00e2me</strong>, celle qui doit dominer les autres. Cette partie rationnelle de l\u2019\u00e2me n\u2019est rien d\u2019autre qu\u2019une parcelle de la rationalit\u00e9 universelle, une parcelle de la divinit\u00e9 (c\u2019est-\u00e0-dire de la nature, du cosmos).</p><p>Toutefois, <strong>gr\u00e2ce \u00e0 notre raison, nous avons le pouvoir de prendre distance par rapport au monde</strong>. Nous pouvons le comprendre et d\u00e9cider d\u2019y prendre part volontairement.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0L\u2019homme qui, avant tout, a opt\u00e9 pour sa raison, son g\u00e9nie, et le culte d\u00fb \u00e0 la dignit\u00e9 de ce g\u00e9nie, ne joue pas la trag\u00e9die, ne g\u00e9mit pas et n\u2019a besoin ni d\u2019isolement ni d\u2019affluence\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>La raison vous donne le contr\u00f4le</h4><p><strong>C\u2019est elle qui vous permet de contr\u00f4ler vos jugements et de vous mettre en accord avec l\u2019ordre des choses</strong>. Pour le philosophe sto\u00efcien, c\u2019est donc bien la raison qu\u2019il faut honorer. plus que l\u2019\u00e9tonnement ou l\u2019imagination (qui sont d\u2019autres \u00e9motions ch\u00e8res aux philosophes).</p><blockquote>\n<p>\u00ab\u00a0Le principe directeur est ce qui s\u2019\u00e9veille \u00e0 soi-m\u00eame, se dirige et se fa\u00e7onne soi-m\u00eame tel qu\u2019il veut, et fait que tout \u00e9v\u00e9nement lui appara\u00eet tel qu\u2019il veut\u00a0\u00bb (<em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><p>Cultiver la partie rationnelle de son \u00e2me, ce n\u2019est pas se retirer hors du monde pour lire toute la journ\u00e9e. Quelques principes suffisent, dit Marc Aur\u00e8le. <strong>L\u2019important est de s\u2019y tenir et de se rectifier, autant de fois que cela s\u2019av\u00e8re n\u00e9cessaire</strong>.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Car un tel homme, qui ne n\u00e9glige aucun effort pour se placer d\u00e8s maintenant au rang des meilleurs, est comme un pr\u00eatre et un serviteur des Dieux, attach\u00e9 aussi au service de Celui qui a \u00e9tabli sa demeure en lui, et <strong>ce culte pr\u00e9serve l\u2019homme de la souillure des volupt\u00e9s, le rend invuln\u00e9rable \u00e0 toutes les douleurs, inaccessible \u00e0 toute d\u00e9mesure, insensible \u00e0 toute m\u00e9chancet\u00e9</strong>\u00a0; il en fait l\u2019athl\u00e8te du plus noble combat, de celui qui s\u2019engage pour ne point se laisser abattre par aucune passion\u00a0; il l\u2019immerge \u00e0 fond dans la justice, et lui fait accueillir, de par toute son \u00e2me, les \u00e9v\u00e9nements et tous les lots de son destin\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>\u00c9vitez l\u2019\u00e9tonnement et l\u2019\u00e9rudition</h4><p><strong>Ne vous \u00e9tonnez pas trop face aux choses de la vie</strong>. Consid\u00e9rez que les choses ont du charme, mais ne faites pas de l\u2019\u00e9tonnement une r\u00e8gle de vie, car cela vous distrairait du but de l\u2019existence.</p><p>Comme tout \u00e9v\u00e9nement s\u2019int\u00e8gre dans la cha\u00eene des causes et des effets, <strong>tout est naturel et normal</strong>. L\u2019\u00e9tonnement n\u2019a de sens que dans un monde r\u00e9gi par le hasard\u00a0; vous qui consid\u00e9rez que tout est ordonn\u00e9, vous cherchez plut\u00f4t \u00e0 harmoniser votre \u00e2me \u00e0 cet ordre cosmique.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Combien est ridicule et \u00e9trange l\u2019homme qui s\u2019\u00e9tonne de quoi que ce soit qui arrive en la vie\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><p><strong>\u00c9vitez aussi de ne chercher qu\u2019\u00e0 accumuler l\u2019\u00e9rudition</strong>. Les livres sont une source d\u2019inqui\u00e9tude et de fuite hors de la vie r\u00e9elle des hommes\u00a0:</p><blockquote>\n<p>\u00ab Quant \u00e0 ta soif de livres, rejette-la, afin de ne pas mourir en murmurant, mais v\u00e9ritablement apais\u00e9 \u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Abandonnez l\u2019imagination</h4><p><strong>D\u2019autre part, faites un usage mod\u00e9r\u00e9 de l\u2019imagination</strong>. Bien s\u00fbr, elle peut vous aider pour pratiquer certains exercices, <strong>par exemple</strong> pour accepter votre mort prochaine. Pourtant, rejetez-l\u00e0 d\u00e8s qu\u2019elle vient vous leurrer sur le monde, d\u00e8s qu\u2019elle vous invite \u00e0 vouloir que les choses soient autrement.</p><p>Ne sp\u00e9culez pas au sujet de choses que vous ne connaissez pas. N\u2019allez pas imaginer qu\u2019on raconte des horreurs sur vous. Si vous ignorez quelque chose et que vous ne pouvez avoir d\u2019opinion vraisemblable \u00e0 son sujet, laissez tomber.</p><p>Bref, <strong>ne laissez pas vagabonder votre imagination, qui risque toujours de vous faire croire au pire</strong>.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Le bonheur, c\u2019est de poss\u00e9der un bon g\u00e9nie, ou une bonne raison. Que fais-tu donc ici, imagination\u00a0? Va-t\u2019en, par les Dieux, comme tu es venue\u00a0!\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Pr\u00e9f\u00e9rez plut\u00f4t la gratitude</h4><p>Ayez de la gratitude pour\u00a0:</p><ul><li><strong>La beaut\u00e9 du monde</strong> que vous pouvez contempler\u00a0;</li>\n<li><strong>Les autres \u00eatres humains</strong>, et notamment pour vos parents et votre entourage, qui vous ont donn\u00e9 les biens et les aptitudes que vous poss\u00e9dez.</li>\n</ul><p>C\u2019est l\u00e0 une excellente mani\u00e8re d\u2019accepter votre destin. <strong>Demandez-vous ce que votre famille, vos ma\u00eetres, vous ont apport\u00e9</strong>. Vos aptitudes et vos qualit\u00e9s, d\u2019o\u00f9 viennent-elles\u00a0?</p><p>Aimez la vie pour ce qu\u2019elle est, soyez heureux de ce que vous avez\u00a0; comprenez qu\u2019aucun mal ne vous a \u00e9t\u00e9 fait.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Accommode-toi aux choses que t\u2019assigne le sort\u00a0; et les hommes, que le destin te donna pour compagnons, <strong>aime-les, mais du fond du c\u0153ur</strong>\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Et surtout\u00a0: vivez l\u2019instant pr\u00e9sent\u00a0!</h4><p>Pour rester droit, <strong>il faut \u00e9viter d\u2019\u00eatre nostalgique ou de s\u2019imaginer des mondes alternatifs ou lointains</strong>. Il faut plut\u00f4t prendre le contr\u00f4le de soi d\u00e8s maintenant, en affirmant et le monde et soi-m\u00eame. Quels sont les effets b\u00e9n\u00e9fiques d\u2019une telle attitude\u00a0?</p><p><strong>C\u2019est dans cette pr\u00e9sence \u00e0 vous-m\u00eame</strong>, ici et maintenant \u2013 qui ne signifie pas d\u00e9bauche de plaisir mais contemplation et assentiment au monde \u2013 <strong>que vous aurez pleinement acc\u00e8s \u00e0 votre g\u00e9nie int\u00e9rieur</strong>.</p><p>Si vous parvenez \u00e0 vivre en accord avec lui, en conservant <strong>par exemple</strong> \u00e0 l\u2019esprit l\u2019imminence de votre mort prochaine, vous deviendrez naturellement vertueux, et donc heureux. Autrement dit, vous r\u00e9ussirez \u00e0\u00a0:</p><ul><li>Contr\u00f4ler votre discours int\u00e9rieur\u00a0;</li>\n<li>Rendre service \u00e0 la communaut\u00e9 humaine\u00a0;</li>\n<li>Accepter les \u00e9v\u00e9nements que vous apporte votre destin.</li>\n</ul><p>Ne sp\u00e9culez pas sur l\u2019avenir, ne regrettez pas le pass\u00e9. Vivez l\u2019instant pr\u00e9sent\u00a0!</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Si tu t\u2019exerces \u00e0 vivre seulement ce que tu vis, c\u2019est-\u00e0-dire le pr\u00e9sent, tu pourras vivre tout le temps qui te reste jusqu\u2019\u00e0 la mort en le passant dans le calme, dans la bienveillance et l\u2019amabilit\u00e9 envers ton g\u00e9nie\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Cela ne signifie pas renoncer</h4><p>Vivre dans l\u2019instant pr\u00e9sent ne signifie donc pas que vous deveniez fain\u00e9ant ou totalement amorphe, perdu dans la contemplation. <strong>Au contraire, il n\u2019y a pas de bonheur sans vertu</strong>, c\u2019est-\u00e0-dire sans assurance de faire le bien. \u00catre tranquille \u2013 serein ou heureux \u2013 et faire le bien sont deux choses qui vont profond\u00e9ment ensemble.</p><p>Pour conqu\u00e9rir votre tranquillit\u00e9 int\u00e9rieure, vous ne devrez donc pas vous retirer du monde tel un ermite s\u2019en allant, <strong>par exemple</strong>, dans les campagnes ou en montagne. Vous devrez agir ici et maintenant dans le monde, en conformit\u00e9 avec les principes de la raison universelle et de votre cit\u00e9.</p><p>C\u2019est aussi pour cela que vous ne devez pas perdre de temps \u00e0 lire, \u00e0 vous \u00e9tonner ou \u00e0 imaginer. Ne vagabondez plus\u00a0: <strong>venez-vous en aide d\u00e8s maintenant</strong>, car c\u2019est au pr\u00e9sent que vous devez vivre.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0La perfection morale consiste en ceci\u00a0: \u00e0 <strong>passer chaque jour comme si c\u2019\u00e9tait le dernier</strong>, \u00e0 \u00e9viter l\u2019agitation, la torpeur, la dissimulation\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h3>La sagesse peut-elle \u00eatre atteinte\u00a0?</h3><p><img class=\"aligncenter wp-image-22837 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/La-sagesse-peut-elle-etre-atteinte.jpg?is-pending-load=1\" alt=\"Atteindre la sagesse\" width=\"480\" height=\"600\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/La-sagesse-peut-elle-etre-atteinte.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/La-sagesse-peut-elle-etre-atteinte-240x300.jpg 240w\" data-lazy-sizes=\"(max-width: 480px) 100vw, 480px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-22837\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/La-sagesse-peut-elle-etre-atteinte.jpg\" alt=\"Atteindre la sagesse\" width=\"480\" height=\"600\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/La-sagesse-peut-elle-etre-atteinte.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/La-sagesse-peut-elle-etre-atteinte-240x300.jpg 240w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4>C\u2019est une chose rare, mais qui vaut la peine d\u2019\u00eatre recherch\u00e9e</h4><p>Se mettre en coh\u00e9rence avec soi-m\u00eame et le monde est une chose exceptionnelle et rare. Pourtant, c\u2019est bel et bien un cheminement qui m\u00e9rite d\u2019\u00eatre suivi. Le sage sto\u00efcien est \u00e9gal \u00e0 la divinit\u00e9, c\u2019est-\u00e0-dire \u00e0 la raison universelle.</p><p><strong>La raison humaine n\u2019est qu\u2019une \u00e9manation, une partie de cette Raison universelle</strong>. Mais elle peut s\u2019obscurcir, se d\u00e9former par suite de la vie dans le corps, par l\u2019attrait du plaisir.</p><p>Seul le sage est capable de faire co\u00efncider sa raison avec la Raison universelle. Bien s\u00fbr, cette co\u00efncidence parfaite ne peut \u00eatre qu\u2019un id\u00e9al.</p><p><strong>Le sage est n\u00e9cessairement un \u00eatre d\u2019exception</strong>\u00a0; il y en a tr\u00e8s peu et, finalement, c\u2019est un id\u00e9al presque inaccessible. Pour autant, Marc Aur\u00e8le ne se lasse pas de d\u00e9crire cet \u00e9tat auquel il aspire.</p><h4>La voie philosophique</h4><p>Rappelons que <strong>la philosophie n\u2019est pas la sagesse</strong>, elle est seulement l\u2019exercice de la sagesse. Le philosophe n\u2019est pas un sage mais celui qui tend vers ce but.</p><p><strong>Comme l\u2019avait dit Socrate, le philosophe est celui qui sait qu\u2019il ne sait pas</strong>. Il n\u2019est pas sage, mais au moins il le sait et peut, \u00e0 partir de l\u00e0, tenter de le devenir, m\u00eame si la t\u00e2che est ardue. En effet, votre raison doit agir sans n\u00e9cessairement avoir une vue claire du vrai. Elle doit bien souvent agir en s\u2019appuyant sur du vraisemblable, plut\u00f4t que sur du vrai.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0<strong>Qu\u2019est-ce donc qui peut nous guider\u00a0? Une seule et unique chose\u00a0: la philosophie</strong>. Et la philosophie consiste en ceci\u00a0: \u00e0 veiller \u00e0 ce que le g\u00e9nie qui est en nous reste sans outrage et sans dommage, et soit au-dessus des plaisirs et des peines\u00a0; \u00e0 ce qu\u2019il ne fasse rien au hasard, ni par mensonge ni par faux-semblant\u00a0; \u00e0 ce qu\u2019il ne s\u2019attache pas \u00e0 ce que les autres font ou ne font pas\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>L\u2019\u00e9criture comme discipline</h4><p>Les <em>Pens\u00e9es</em> de Marc Aur\u00e8le sont <strong>l\u2019instrument d\u2019une transformation</strong>. Pour se r\u00e9concilier avec ce que l\u2019on est, il faut s\u2019exercer \u00e0 agir en tant qu\u2019homme. Il ne suffit pas de savoir que l\u2019homme est une rationalit\u00e9 qui doit agir moralement. L\u2019\u00e9criture permet d\u2019accomplir ce travail sur les principes.</p><p><strong>Deux images sont souvent utilis\u00e9es</strong>\u00a0:</p><ul><li><strong>L\u2019\u00e2me est comme un muscle</strong> qui doit s\u2019exercer quotidiennement \u00e0 devenir droite et forte\u00a0;</li>\n<li><strong>Les principes sont comme des aliments</strong> qui\u00a0doivent \u00eatre ing\u00e9r\u00e9s, int\u00e9gr\u00e9s progressivement.</li>\n</ul><p>Les <em>Pens\u00e9es pour moi-m\u00eame</em> sont un exercice personnel pour <strong>modeler son \u00e2me</strong>. Pour ce faire, Marc Aur\u00e8le utilise certaines techniques rh\u00e9toriques telles que la r\u00e9duction \u00e0 l\u2019insignifiance.</p><p><strong>Par exemple</strong>, pour affronter la mort, il insiste sur la dissociation physique des \u00e9l\u00e9ments et neutralise ainsi le pouvoir affectif qu\u2019elle pourrait avoir.</p><p>La r\u00e9p\u00e9tition est \u00e9galement fortement pr\u00e9sente dans les <em>Pens\u00e9es</em>. <strong>Pourquoi r\u00e9p\u00e9ter\u00a0?</strong> Justement que les dogmes ne sont pas des r\u00e8gles m\u00e9caniques qui s\u2019appliquent une fois pour toute une fois \u00e9nonc\u00e9s. Ils doivent se transformer en <a href=\"https://des-livres-pour-changer-de-vie.com/6-etapes-pour-remplacer-de-mauvaises-habitudes-par-de-bonnes-habitudes/\" target=\"_blank\" rel=\"noopener\">bonnes habitudes</a>.</p><p><strong>L\u2019acte d\u2019\u00e9crire</strong>, c\u2019est-\u00e0-dire de tracer et retracer encore un texte sur le support, permet d\u2019ancrer le sens physiquement en vous. Bien s\u00fbr, cela requiert un apprentissage et une pratique quotidienne.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Dans l\u2019art de l\u2019\u00e9criture et de la lecture, <strong>tu ne peux enseigner avant d\u2019avoir appris</strong>. Il en est de m\u00eame, \u00e0 plus forte raison, de l\u2019art de vivre\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h4>Le philosophe donne l\u2019exemple</h4><p>Le philosophe sto\u00efcien ne s\u2019\u00e9loigne pas du bien commun et de la cit\u00e9 des hommes.</p><p><strong>Il sait que son exemple, m\u00eame imparfait, peut en inspirer d\u2019autres</strong>. C\u2019est pourquoi il veut, dans la mesure du possible, les aider \u00e0 respecter l\u2019ordre du monde.</p><p><strong>La philosophie, c\u2019est donc bien d\u2019abord une mani\u00e8re de vivre son existence</strong>. \u00c9clairant sa vie \u00e0 partir des principes du sto\u00efcisme, l\u2019empereur tente de mieux vivre et de participer ainsi au monde du mieux qu\u2019il peut.</p><blockquote>\n<p><strong>\u00c0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Tous nous collaborons \u00e0 l\u2019accomplissement d\u2019une \u0153uvre unique, les uns en connaissance de cause et avec intelligence, les autres sans s\u2019en rendre compte. [\u2026] L\u2019un collabore d\u2019une fa\u00e7on diff\u00e9rente de l\u2019autre, de m\u00eame, par surcro\u00eet, celui qui murmure et celui qui tente de s\u2019opposer \u00e0 ce qui s\u2019y fait et de le d\u00e9truire. Le monde, en effet, a aussi besoin de gens de cette sorte.\u00a0<strong>Reste \u00e0 savoir parmi quels collaborateurs tu entends toi-m\u00eame te ranger</strong>\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h2>Conclusion sur \u00ab\u00a0<em>Pens\u00e9es pour moi-m\u00eame</em>\u00ab\u00a0</h2><p><strong>Les <em>Pens\u00e9es pour moi-m\u00eame</em> sont impr\u00e9gn\u00e9es des conditions dans lesquelles elles ont \u00e9t\u00e9 \u00e9crites</strong>\u00a0: la mort sur les champs de bataille, les conflits politiques, les babillages de la cour et la difficult\u00e9 \u00e0 se tenir droit face \u00e0 toute cette agitation.</p><p>L\u2019empereur, pourtant, cherche \u00e0 agir au mieux, selon la doctrine sto\u00efcienne qu\u2019il a choisie. L\u2019\u00e9criture quotidienne forme un exercice par lequel <strong>l\u2019empereur met ses paroles et ses gestes en conformit\u00e9 avec ses principes philosophiques</strong>.</p><p>Dans cet ouvrage, vous rencontrez donc non seulement une th\u00e9orie, mais un homme qui tente de bien agir. <strong>Marc Aur\u00e8le se critique, s\u2019examine, s\u2019exhorte \u00e0 agir dans un sens ou dans un autre</strong>, se persuade ou se dissuade d\u2019adopter telle ou telle attitude. Il s\u2019exerce \u00e0 devenir un homme meilleur.</p><p>En lisant ce livre, vous entrez dans l\u2019esprit d\u2019un empereur-philosophe et d\u2019un homme d\u2019exception. Marc Aur\u00e8le se parle \u00e0 lui-m\u00eame et pourtant,\u00a0<strong>c\u2019est comme s\u2019il vous parlait, \u00e0 vous</strong>.</p><blockquote>\n<p><strong>Un dernier exemple \u00e0 m\u00e9diter</strong>\u00a0: \u00ab\u00a0Cet homme demande\u00a0: \u00ab\u00a0Puiss\u00e9-je dormir avec cette femme\u00a0!\u00a0\u00bb Toi, dis plut\u00f4t\u00a0: \u00ab\u00a0Puiss\u00e9-je <em>ne pas d\u00e9sirer</em> cette femme\u00a0!\u00a0\u00bb Cet autre\u00a0: \u00ab\u00a0Puiss\u00e9-je \u00eatre d\u00e9barrass\u00e9 de ce souci\u00a0!\u00a0\u00bb Toi\u00a0: Puiss\u00e9-je <em>n\u2019avoir pas besoin</em> d\u2019en \u00eatre d\u00e9barrass\u00e9\u00a0!\u00a0\u00bb Un autre\u00a0: \u00ab\u00a0Puiss\u00e9-je ne pas perdre mon enfant\u00a0!\u00a0\u00bb Toi\u00a0: \u00ab\u00a0Puiss\u00e9-je <em>ne pas \u00eatre afflig\u00e9</em> de le perdre\u00a0!\u00a0\u00bb Bref, retourne ainsi tes pri\u00e8res et vois ce qui arrive\u00a0\u00bb (Marc Aur\u00e8le, <em>Pens\u00e9es pour moi-m\u00eame</em>).</p>\n</blockquote><h3>Ce qu\u2019il faut retenir des \u00ab\u00a0<em>Pens\u00e9es pour moi-m\u00eame</em>\u00ab\u00a0</h3><p>Voici <strong>six\u00a0principes qui pourront vous aider \u00e0 ordonner votre vie</strong> selon les principes sto\u00efciens travaill\u00e9s par Marc Aur\u00e8le dans les <em>Pens\u00e9es pour moi-m\u00eame</em>\u00a0:</p><ol><li>Le g\u00e9nie int\u00e9rieur est la rationalit\u00e9 de l\u2019\u00e2me, l\u2019\u00e9tincelle divine que vous devez ch\u00e9rir\u00a0;</li>\n<li>Le seul moyen de prendre soin de votre raison consiste \u00e0 respecter les principes universels de la nature\u00a0;</li>\n<li>Aimez votre destin, car c\u2019est ce qui vous unit au cosmos\u00a0;</li>\n<li>Rien ne sert de vous irriter contre les erreurs et les d\u00e9fauts des hommes\u00a0;</li>\n<li>Il faut apprendre \u00e0 contr\u00f4ler vos repr\u00e9sentations pour \u00eatre heureux, c\u2019est-\u00e0-dire serein\u00a0;</li>\n<li>Consid\u00e9rez la mort comme un bien qui vous aide \u00e0 vivre l\u2019instant pr\u00e9sent.</li>\n</ol><p>Dans la Rome antique, <strong>le philosophe est d\u2019abord quelqu\u2019un qui vit selon des principes philosophiques</strong>. Il ne doit pas n\u00e9cessairement \u00e9crire de trait\u00e9s, ni commenter les auteurs de la tradition, ni inventer un nouveau syst\u00e8me. Il fait un choix de vie et s\u2019y tient.</p><p><strong>C\u2019est en ce sens que Marc Aur\u00e8le est philosophe</strong>, et il est tout particuli\u00e8rement un philosophe sto\u00efcien. En tant que tel, il ne propose pas de concepts neufs\u00a0; il ne r\u00e9volutionne pas cette pens\u00e9e, mais il l\u2019incarne et la colore de son noble temp\u00e9rament et de son style propre.</p><p><strong>S\u2019il \u00e9crit, c\u2019est d\u2019abord pour se rem\u00e9morer les principes qui guident sa vie</strong>\u00a0; c\u2019est pour chercher \u00e0 rester droit et fid\u00e8le au type de vie qui lui tient \u00e0 c\u0153ur.</p><p><strong>Contrairement \u00e0 ce qu\u2019en disent parfois les trait\u00e9s de d\u00e9veloppement personnel</strong>, la philosophie sto\u00efcienne de l\u2019empereur romain n\u2019exhorte pas tant \u00e0 \u00ab\u00a0devenir soi-m\u00eame\u00a0\u00bb qu\u2019\u00e0 se conformer aux lois (de la raison, de l\u2019univers, de la cit\u00e9) et \u00e0 bien vivre en soci\u00e9t\u00e9.</p><p>Cet aspect de la philosophie sto\u00efcienne de Marc Aur\u00e8le ne cadre donc plus tr\u00e8s bien avec l\u2019envie de r\u00e9ussir \u00e0 tout prix et/ou \u00e0 devenir le plus original possible. <strong>Mais est-ce vraiment un point faible\u00a0? \u00c0 vous d\u2019en juger\u00a0!</strong></p><p><em>Points <strong>forts</strong></em> :</p><ul><li>Un <strong>classique absolu</strong> de la litt\u00e9rature universelle</li>\n<li>La personnalit\u00e9 attachante de Marc Aur\u00e8le</li>\n<li>Le <strong>style cisel\u00e9</strong> et les phrases qui restent longtemps en t\u00eate</li>\n<li>Un ouvrage qui se lit facilement, m\u00eame pr\u00e8s de 2000 ans plus tard\u00a0!</li>\n</ul><p><em>Points <strong>faibles\u00a0</strong></em>:</p><ul><li>Les <em>Pens\u00e9es pour moi-m\u00eame</em> sont des notes, elles manquent donc un peu d\u2019organisation</li>\n<li>On pourrait \u00e9galement lancer le d\u00e9bat et affirmer que la pens\u00e9e de Marc Aur\u00e8le est <strong>une pens\u00e9e conformiste et aust\u00e8re</strong></li>\n</ul><p><strong>Ma note</strong>\u00a0:</p><p><img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" />\u00a0<img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" />\u00a0<img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /><img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /><img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /><img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /><img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /><img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /><img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /></p><p class=\"c7\">Avez-vous lu le livre <em>\u201cPens\u00e9es pour moi-m\u00eame\u201d</em> de Marc Aur\u00e8le\u00a0? Combien le notez-vous\u00a0?</p><p class=\"c7\"><img width=\"16\" height=\"16\" id=\"rating_22602_1\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif?is-pending-load=1\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" srcset=\"\" class=\"jetpack-lazy-image c10\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"16\" height=\"16\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p><img width=\"16\" height=\"16\" id=\"rating_22602_2\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Passable - Un ou deux passages int\u00e9ressants\" title=\"Passable - Un ou deux passages int\u00e9ressants\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_22602_3\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Moyen - Quelques bonnes id\u00e9es\" title=\"Moyen - Quelques bonnes id\u00e9es\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_22602_4\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" title=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_22602_5\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" title=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n(<strong>1</strong>votes, moyenne:<strong>5,00</strong>out of 5)<br />\n<p><img src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\nLoading...<p class=\"c7\"><a href=\"https://amzn.to/2OikQxT\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin de lire plus de commentaires sur le livre</a> de Marc Aur\u00e8le <em>\u201cPens\u00e9es pour moi-m\u00eame\u201c</em></p><p class=\"c7\"><a href=\"https://amzn.to/3rSIvTq\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin d\u2019acheter le livre</a> de Marc Aur\u00e8le <em>\u00a0\u201cPens\u00e9es pour moi-m\u00eame\u201c</em></p><noscript>\n</noscript>",
    "created_at": "2022-05-02T07:53:18+00:00",
    "updated_at": "2022-05-02T07:53:23+00:00",
    "published_at": "2021-05-20T15:00:52+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 39,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/04/pensees-pour-moi-meme-marc-aurele.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 1,
    "is_starred": 0,
    "tags": ["sagesse", "roman", "resume"],
    "is_public": false,
    "id": 18,
    "title": "ET TU TROUVERAS LE TR\u00c9SOR QUI DORT EN TOI - Laurent Gounelle",
    "url": "https://des-livres-pour-changer-de-vie.com/et-tu-trouveras-le-tresor-qui-dort-en-toi/",
    "archived_at": "2022-05-02T17:07:06+00:00",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><p><strong><a href=\"https://amzn.to/2G9XiCr\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external\">\n<p><img class=\"alignnone c7\" title=\"et tu trouveras le tresor qui dort en toi laurent gounelle\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2018/01/et-tu-trouveras-le-tresor-qui-dort-en-toi-laurent-gounelle.jpg\" alt=\"Couture du livre de Laurent Gounelle Et tu trouveras le tr\u00e9sor qui dort en toiet tu trouveras le tresor qui dort en toi\" width=\"228\" height=\"350\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</a></strong></p><blockquote>\n<p><strong>R\u00e9sum\u00e9 du livre \u00ab\u00a0<em>Et tu trouveras le tr\u00e9sor qui dort en toi</em>\u00a0\u00bb\u00a0:</strong> \u00c0 travers l\u2019histoire d\u2019une jeune femme qui se met en t\u00eate d\u2019aider un ami d\u2019enfance, devenu pr\u00eatre, \u00e0 remplir son \u00e9glise, ce roman vous emm\u00e8ne dans une qu\u00eate de sens et tente une d\u00e9finition universelle du concept de \u00ab Dieu \u00bb qui pourrait bien changer notre regard sur le monde.</p>\n</blockquote><p>Par Laurent Gounelle, 2016, 327 pages.</p><p><em>Note\u00a0: Cette chronique est une chronique invit\u00e9e, \u00e9crite par Thomas Hayot du blog <a href=\"https://www.positif-etproactif.com/\" target=\"_blank\" rel=\"noopener\" class=\"external\">Positif et Proactif</a>\u00a0</em>du livre de Laurent Gounelle <em>Et tu trouveras le tr\u00e9sor qui dort en toi</em></p><h2><strong>Chronique et r\u00e9sum\u00e9 de \u00ab\u00a0Et tu trouveras le tr\u00e9sor qui dort en toi\u00a0\u00bb\u00a0</strong></h2><h3><strong>\u00c9l\u00e9ments de contexte\u00a0:</strong></h3><p>Au d\u00e9part d\u2019un personnage r\u00e9solument cart\u00e9sien incarn\u00e9 par Alice, l\u2019auteur nous plonge dans une enqu\u00eate dont l\u2019objectif est de comprendre les pr\u00e9ceptes de J\u00e9sus, consid\u00e9r\u00e9 comme le p\u00e8re du d\u00e9veloppement, afin de pouvoir mieux les transmettre et ainsi, attirer de nouveaux fid\u00e8les dans l\u2019\u00e9glise de J\u00e9r\u00e9mie, son ami d\u2019enfance devenu pr\u00eatre. Alice est directrice marketing dans un grand cabinet. Elle a l\u2019habitude de synth\u00e9tiser les id\u00e9es pour mieux les vendre. Elle pense pouvoir facilement simplifier le message \u00e0 transmettre\u2026</p><p>Mais, lorsqu\u2019elle ouvre la bible pour la premi\u00e8re fois, elle prend conscience que la t\u00e2che \u00e0 laquelle elle s\u2019est attach\u00e9e s\u2019av\u00e8re \u00eatre plus compliqu\u00e9e que pr\u00e9vu\u2026 Mais, Alice, pure produit <a href=\"https://des-livres-pour-changer-de-vie.com/developpement-personnel/\" target=\"_blank\" rel=\"noopener\">du d\u00e9veloppement personnel</a> ne se d\u00e9monte pas! D\u2019interview en interview, d\u2019exp\u00e9rimentation en exp\u00e9rimentation, elle commence \u00e0 toucher du doigt la jonction entre le d\u00e9veloppement personnel et la spiritualit\u00e9.</p><p>L\u2019auteur red\u00e9finit ainsi la notion d\u2019\u00e9go d\u2019une mani\u00e8re absolument transparente pour chacun. Les nombreuses r\u00e9f\u00e9rences historiques et la comparaison entre des religions, que tout oppose sur le papier, nous am\u00e8nent petit \u00e0 petit \u00e0 red\u00e9finir le concept de \u00ab Dieu \u00bb et \u00e0 voir la part de divinit\u00e9 qu\u2019il y a en chacun de nous.</p><h3><strong>Partie 1 de <em>Et tu trouveras le tr\u00e9sor qui dort en toi\u00a0</em></strong></h3><p>La premi\u00e8re partie\u00a0de <em>Et tu trouveras le tr\u00e9sor qui dort en toi</em> pose une question essentielle\u00a0: peut-on envisager une vision utilitariste de la spiritualit\u00e9 au service de l\u2019individu, comme l\u2019est finalement le d\u00e9veloppement personnel\u00a0? L\u2019auteur aborde deux \u00e9l\u00e9ments de r\u00e9ponses oppos\u00e9s.</p><ol><li>On pourrait \u00eatre amen\u00e9 \u00e0 penser que la spiritualit\u00e9 est exactement l\u2019inverse de cette approche puisque si l\u2019on en croit les messages des guides spirituels, la spiritualit\u00e9 ne serait accessible qu\u2019\u00e0 partir du moment o\u00f9 on l\u00e2che prise sur notre int\u00e9r\u00eat personnel, pour s\u2019ouvrir \u00e0 quelque chose de plus grand que nous, \u00e0 quelque chose qui nous d\u00e9passe.</li>\n<li>\u00c0 notre \u00e9poque, la science et la psychologie ont fait un bon monumental en avant. Les \u00e9tats modifi\u00e9s de conscience que l\u2019on atteint avec l\u2019hypnose par exemple nous permettent d\u2019acc\u00e9der \u00e0 des ressources d\u00e9j\u00e0 pr\u00e9sentes, mais ignor\u00e9es ou non exploit\u00e9es jusque-l\u00e0\u2026 La d\u00e9finition de ressources \u00e9tant ici \u00e9largie \u00e0 nos capacit\u00e9s intellectuelles, relationnelles ou physiques.</li>\n</ol><p>La connaissance de nos ressources am\u00e8ne \u00e0 d\u00e9velopper l\u2019estime de soi et inversement, avoir une bonne estime de soi nous donnerait acc\u00e8s \u00e0 ces ressources. C\u2019est un cercle vertueux. La question qui se pose donc est\u00a0:</p><h3 class=\"c8\"><strong>Comment enclencher ce cercle en partant de la situation actuelle\u00a0?</strong></h3><p>Laurent Gounelle nous propose de faire appel \u00e0 une faiblesse de notre cerveau. Ce dernier ne fait pas la diff\u00e9rence entre le virtuel et le r\u00e9el. Pour preuve, que se passe-t-il dans votre bouche \u00e0 l\u2019id\u00e9e que j\u2019approche lentement de vos l\u00e8vres un demi-citron\u00a0? Vous ressentez exactement la m\u00eame r\u00e9action qu\u2019avec un citron r\u00e9el\u00a0: vous commencez \u00e0 saliver plus fortement\u2026</p><p>Alors, \u00e0 la question \u00ab\u00a0<em>Comment enclencher ce cercle vertueux qui nous donne acc\u00e8s \u00e0 une meilleure estime de soi et \u00e0 l\u2019ensemble de nos ressources d\u00e9j\u00e0 pr\u00e9sentes\u00a0?</em>\u00ab\u00a0, <strong>la r\u00e9ponse est\u00a0: \u00ab\u00a0Faites comme si vous en aviez les capacit\u00e9s!\u00a0\u00bb</strong> Le fait de vous persuader que vous \u00eates capable de quelque chose vous aide \u00e0 en \u00eatre capable.\u00a0\ud83d\ude42 Un \u00e9tat dans lequel vous \u00eates lib\u00e9r\u00e9 des freins de votre mental vous donne pleinement acc\u00e8s \u00e0 vos ressources! Ce qu\u2019il faut bien comprendre, c\u2019est qu\u2019\u00e0 partir du moment o\u00f9 <a href=\"https://des-livres-pour-changer-de-vie.com/comment-avoir-un-mental-de-champion/\" target=\"_blank\" rel=\"noopener\">vous posez une limite mentale</a>, elle devient aussi r\u00e9elle que nature\u2026</p><h3 class=\"c8\"><strong>Un tr\u00e8s bel exemple est d\u00e9velopp\u00e9 dans <em>Et tu trouveras le tr\u00e9sor qui dort en toi</em> \u00e0 travers l\u2019histoire de <em>Nike</em>.</strong></h3><p>Deux \u00e9tudiants sont s\u00e9lectionn\u00e9s et ont pour mission de r\u00e9aliser une \u00e9tude de march\u00e9 pour la marque en Afrique. Ils reviennent tous les deux avec la m\u00eame observation, mais une conclusion diff\u00e9rente\u2026 <strong>Observation commune\u00a0: En Afrique, ils sont tous pieds nus.</strong></p><ol><li>Conclusion n\u00b01\u00a0: \u00ab\u00a0N\u2019y pensez pas! Le march\u00e9 n\u2019existe pas\u2026\u00a0\u00bb</li>\n<li>Conclusion n\u00b02\u00a0: \u00ab\u00a0Foncez! Le march\u00e9 est gigantesque\u2026\u00a0\u00bb</li>\n</ol><p>Une question de point de vue\u2026 On ne d\u00e9passerait donc jamais les limites que l\u2019on se donne\u2026 Vient alors une autre question l\u00e9gitime et relative \u00e0 la peur\u2026 Est-ce qu\u2019avoir une grande estime de soi ne va pas finalement d\u00e9velopper l\u2019arrogance, car elle donne de l\u2019importance \u00e0 l\u2019\u00eatre\u00a0? La r\u00e9ponse de l\u2019auteur sonne comme une \u00e9vidence\u00a0:</p><blockquote>\n<p>\u00ab L\u2019arrogance et la d\u00e9valorisation sont les deux faces d\u2019une m\u00eame pi\u00e8ce, car celui qui jouit d\u2019une r\u00e9elle estime de soi n\u2019\u00e9prouve pas le besoin d\u2019affirmer sa valeur aux autres\u2026 \u00bb</p>\n</blockquote><h3><strong>Partie 2 de</strong> <strong><em>Et tu trouveras le tr\u00e9sor qui dort en toi\u00a0</em></strong></h3><p>Cette seconde partie aborde le th\u00e8me de l\u2019identit\u00e9 de l\u2019homme et avec elle, celui de <strong>l\u2019existence de notre \u00e9go\u2026</strong></p><h3 class=\"c8\"><strong>Comment arriver \u00e0 nous d\u00e9finir en temps qu\u2019\u00eatre humain\u00a0?</strong></h3><p>Est-ce que nous sommes notre m\u00e9tier, notre voiture, nos v\u00eatements, ce que les autres voient de nous\u00a0? <strong>Bien s\u00fbr que non!</strong> Nous ne sommes pas cela. Et il est facile pour nous de savoir ce que nous ne sommes pas.</p><h3>Comment se d\u00e9finir \u00e0 travers ce que nous ne sommes pas\u00a0?</h3><p>Je ne suis pas mes v\u00eatements, je ne suis pas mon travail, je ne suis pas non plus ce que les autres voient de moi\u2026 L\u00e0, \u00e7a devient compliqu\u00e9 pour me d\u00e9finir. C\u2019est m\u00eame impossible\u2026 Je ne peux pas me d\u00e9finir par ce que je ne suis pas. D\u2019un autre c\u00f4t\u00e9, cette question de l\u2019identit\u00e9 qui peut para\u00eetre existentielle le devient beaucoup moins quand soudain, <strong>on souhaite refuser d\u2019\u00eatre ce que l\u2019on n\u2019est pas,</strong> car, \u00e0 ce moment, arrive la v\u00e9ritable question, qui sommes-nous r\u00e9ellement\u00a0? L\u2019auteur tente de r\u00e9pondre \u00e0 la question au travers une conversation entre Alice et son p\u00e8re. Une conversation qui tourne autour de cette phrase\u00a0:</p><blockquote>\n<p><strong>\u00ab Tous les atouts de la jeunesse sont aussi les principaux obstacles au bonheur \u00bb.</strong></p>\n</blockquote><p>Pourquoi une pareille affirmation\u00a0? Laurent Gounelle, \u00e0 travers cette discussion entre le p\u00e8re et sa fille, nous emm\u00e8ne sur le chemin de la d\u00e9finition de notre \u00e9go\u2026 On s\u2019attache \u00e0 ce dont on est fier, au point de commencer par s\u2019identifier \u00e0 cela\u2026 On commence alors par croire que l\u2019on est ce qui est \u00e0 la source de notre fiert\u00e9\u2026</p><p>Prenons un exemple\u00a0:</p><p>Notre force physique dont nous sommes fiers commence \u00e0 nous faire croire que nous sommes forts. Plus on croit que l\u2019on est fort, plus on s\u2019\u00e9loigne de qui l\u2019on est vraiment. Pourquoi\u00a0? Parce que de toute \u00e9vidence, nous ne sommes pas que fort\u2026 Nous sommes aussi faibles. <strong>Nous sommes forts et faibles \u00e0 la fois.</strong><br />La fiert\u00e9 serait donc une fabrique \u00e0 illusion.</p><p>\u00c9tant jeune, il y a beaucoup de choses qui nous rendent fiers\u00a0: notre sant\u00e9, notre beaut\u00e9, notre intelligence, notre malice, etc. En nous d\u00e9finissant comme beaux, forts, en bonne sant\u00e9, intelligents, nous pensons que nous sauvons notre identit\u00e9\u2026 En r\u00e9alit\u00e9, nous la perdons, car, quand vous allez commencer \u00e0 voir les ann\u00e9es passer, tout ce \u00e0 quoi vous vous \u00eates identifi\u00e9s pendant votre jeunesse va fondre comme neige au soleil. Vous deviendrez moins beau, moins fort, en moins bonne sant\u00e9, etc.</p><p><strong>En croyant sauver notre identit\u00e9, nous la perdons!</strong><br />S\u2019il est si difficile de savoir qui nous sommes r\u00e9ellement et si facile de savoir ce que nous pensons \u00eatre, c\u2019est parce ce que, ce que nous sommes est trop abstrait, pas assez palpable dans le monde de la mati\u00e8re. Nous cherchons toujours \u00e0 nous identifier \u00e0 quelque chose de plus concret, notre apparence physique, notre m\u00e9tier ou m\u00eame les r\u00f4les que nous jouons\u00a0: le gars sympa, la fille sportive, le mec malin,etc.</p><p><strong>Vous vous demandez si c\u2019est grave de s\u2019identifier comme cela\u00a0? Quel est le probl\u00e8me qui en d\u00e9coule?<br /></strong> Cette identification n\u2019est pas le probl\u00e8me en soi. Le r\u00e9el probl\u00e8me qu\u2019elle pose, c\u2019est la limite qui lui est directement attach\u00e9e.</p><p>Chaque fois que nous nous identifions \u00e0 quelque chose, nous pla\u00e7ons une nouvelle limite \u00e0 ce que nous sommes r\u00e9ellement. Comprenez que si vous vous identifiez comme directeur par exemple, vous excluez de votre identit\u00e9 toutes les autres facettes de votre \u00eatre.</p><p><strong>Nous sommes \u00e9videmment bien plus que juste notre m\u00e9tier, notre beaut\u00e9 ou le r\u00f4le que nous jouons!</strong><br />Quelque part au plus profond de nous-m\u00eames, l\u00e0, \u00e0 l\u2019int\u00e9rieur, on doit pressentir que c\u2019est limitant. <a href=\"https://habitudes-zen.net/comment-faire-face-a-la-peur/\" target=\"_blank\" rel=\"noopener\" class=\"external\">C\u2019est exactement cette limite qui fait na\u00eetre la peur</a>. La peur de ne pas \u00eatre assez.</p><h3><strong>L\u2019\u00e9go\u2026</strong></h3><p><strong>On appelle \u00e9go cette repr\u00e9sentation que l\u2019on a de soi\u2026</strong></p><p>Si vous me suivez, une fausse identit\u00e9 qui nous emp\u00eache de voir notre vraie nature. L\u2019\u00e9go peut \u00eatre compar\u00e9 \u00e0 un parasite qui prendrait le pouvoir en nous et chercherait \u00e0 exister de plus en plus. La personne en qu\u00eate de lib\u00e9ration de l\u2019\u00e9go risquerait de voir son \u00e9go s\u2019emparer de sa d\u00e9marche. On appelle cela\u00a0: <strong>l\u2019\u00e9go spirituel\u2026</strong></p><p>C\u2019est lorsque vous n\u2019avez pas de statut \u00e0 d\u00e9fendre, plus de r\u00f4le \u00e0 jouer pour correspondre \u00e0 une image, que vous pouvez percevoir qu\u2019il existe une autre r\u00e9alit\u00e9\u2026 Une r\u00e9alit\u00e9 o\u00f9 vous \u00eates \u00e0 la fois gentil et m\u00e9chant, beau et laid, heureux et triste, etc. Une r\u00e9alit\u00e9 o\u00f9 votre identit\u00e9 est bien plus immense que ce que vous ne pouvez imaginer.<br />Qui suis-je si je ne suis pas juste Thomas Hayot\u00a0?</p><p>Dr\u00f4le de question\u2026 Imaginez que mes parents m\u2019aient donn\u00e9 un autre pr\u00e9nom que Thomas\u2026 Est-ce que je serais une personne physiquement diff\u00e9rente\u00a0? Heuuu, non, je serais le m\u00eame. Vous comprenez maintenant tr\u00e8s bien les limites que nous pla\u00e7ons nous-m\u00eames autour de notre identit\u00e9\u00a0: je suis Thomas Hayot, mais je suis plus que cela.</p><p><strong>Qu\u2019est-ce qui nous pousse \u00e0 nous identifier d\u2019une mani\u00e8re tr\u00e8s limitante\u00a0?</strong><br />L\u2019auteur pense que c\u2019est la honte d\u2019exister, d\u2019\u00eatre sans para\u00eetre. Cette fausse croyance que nous ne sommes pas assez, qui nous pousse \u00e0 endosser des r\u00f4les et \u00e0 les d\u00e9fendre parce qu\u2019ils nous prot\u00e8gent de la nudit\u00e9 de notre identit\u00e9.</p><p><strong>Nous pensons \u00e0 tort qu\u2019\u00eatre un \u00eatre n\u2019est pas suffisant\u2026</strong><br />Le secret de la paix, <a href=\"https://des-livres-pour-changer-de-vie.com/vivre-la-psychologie-du-bonheur/\" target=\"_blank\" rel=\"noopener\">du bonheur</a> se trouverait l\u00e0\u2026 Ne pas se prendre pour ce que nous ne sommes pas. Pas tellement parce que c\u2019est pr\u00e9tentieux, mais parce que c\u2019est limitant. Le bonheur c\u2019est de vivre sans peur. Et la peur dispara\u00eet lorsque vous n\u2019avez rien \u00e0 perdre. Parce que vous savez que tout est l\u00e0, parce que vous r\u00e9alisez la valeur infinie de votre \u00eatre sans rien avoir \u00e0 prouver \u00e0 personne.</p><p><strong>Comment y arriver\u00a0?</strong></p><p>Un travail sur le mental permet d\u2019atteindre cet \u00e9tat de conscience modifi\u00e9. <strong>On appelle cela se lib\u00e9rer du mental.</strong> Qu\u2019entend-on par \u00ab mental \u00bb\u00a0? Le mental, c\u2019est la cogitation incessante de la pens\u00e9e, le bruit qui prend place et lieu dans votre esprit au d\u00e9triment de votre intuition, de votre instinct de la conscience d\u2019\u00eatre. Lorsque vous \u00eates dans le mental, vous ne ressentez plus votre corps, vous projetez vos doutes, vos probl\u00e8mes et vos peurs et vous cr\u00e9ez avec cela une r\u00e9alit\u00e9 virtuelle. Vous pensez les \u00e9v\u00e8nements au lieu de les vivre\u2026</p><p><strong>Il existe un lien tr\u00e8s fort entre le mental et le temps. Le mental ne conna\u00eet que le pass\u00e9 et le futur\u2026</strong> Le mental interpr\u00e8te l\u2019\u00e9v\u00e8nement et fait na\u00eetre les peurs irrationnelles. Les peurs irrationnelles sont la projection dans un futur imaginaire des repr\u00e9sentations que vous avez du pass\u00e9.</p><p><strong>Existe-t-il un lien entre le mental et l\u2019\u00e9go\u00a0?</strong> Oui et il est gros comme une maison\u2026 Les peurs infond\u00e9es sont le produit d\u2019un processus mental et l\u2019\u00e9go est le fruit de la peur.</p><p><strong>On pourrait conclure que le mental cultive l\u2019\u00e9go.</strong> Bien que peu d\u2019hommes sur terre parviennent \u00e0 se lib\u00e9rer compl\u00e8tement de l\u2019\u00e9go, nous avons tous \u00e0 gagner \u00e0 commencer par enlever des couches de fausse identit\u00e9, car cela <a href=\"https://blogueur-pro.net/comment-depasser-la-peur-de-lechec-et-entreprendre\" target=\"_blank\" rel=\"noopener\" class=\"external\">nous lib\u00e8re aussi de nos peurs</a> et personne n\u2019aime vivre dans la peur.</p><p><strong>Le lien entre le d\u00e9sir et l\u2019\u00e9go\u00a0?</strong> L\u2019\u00e9go ambitionne toujours de se renforcer et avec le d\u00e9sir que nous avons de poss\u00e9der plus ou de devenir plus, inconsciemment, ce que nous cherchons \u00e0 faire c\u2019est d\u2019accro\u00eetre notre identit\u00e9<strong>.</strong> Voil\u00e0 pourquoi le d\u00e9sir est li\u00e9 \u00e0 l\u2019\u00e9go. L\u2019\u00e9go est justement cette qu\u00eate d\u2019identit\u00e9. Comme le d\u00e9sir est bas\u00e9 sur une illusion, l\u2019id\u00e9e de renforcer votre identit\u00e9, l\u2019objet du d\u00e9sir, n\u2019apporte pas ce qui est recherch\u00e9. C\u2019est un cercle vicieux. Plus vous d\u00e9sirez quelque chose, plus il est difficile pour vous de sentir l\u2019unit\u00e9 et de go\u00fbter \u00e0 l\u2019\u00e9veil spirituel.</p><h3><strong>La m\u00e9taphore de la vague.</strong></h3><p>Si vous regardez une vague au milieu de l\u2019oc\u00e9an, elle est diff\u00e9rente des pr\u00e9c\u00e9dentes et des suivantes. C\u2019est la seule qui ait cette hauteur, cette intensit\u00e9, ce nombre de rides \u00e0 la surface, etc.<br />Elle est v\u00e9ritablement unique \u00e0 vos yeux.</p><p>Cette vague, aussi unique soit-elle, est pourtant compl\u00e8tement d\u00e9pendante de l\u2019oc\u00e9an qui la porte. La vague seule, sans l\u2019oc\u00e9an, n\u2019existe pas. Elle est unique, mais elle n\u2019existe pas seule<strong>!</strong> C\u2019est exactement la m\u00eame chose lorsque l\u2019on observe un \u00eatre vivant sur terre\u00a0: il n\u2019y en a pas deux pareils, et pourtant, seul, il n\u2019existerait pas. C\u2019est comme si chacun des \u00eatres humains sur terre poss\u00e9dait en lui un fragment de la conscience de l\u2019humanit\u00e9, <strong>la v\u00e9rit\u00e9 est coll\u00e9giale.</strong> <strong>Voil\u00e0 ce que l\u2019auteur essaye de nous transmettre dans cette seconde partie\u00a0:</strong> un fragment de cette v\u00e9rit\u00e9, l\u2019interconnexion qui existe entre tous les \u00eatres vivants<strong>.</strong> Il prend soin de cl\u00f4turer cette seconde partie par une grande le\u00e7on d\u2019humilit\u00e9 en ajoutant\u00a0:</p><blockquote>\n<p>\u00ab Il y a une grande diff\u00e9rence entre connaissance intellectuelle et transformation int\u00e9rieure, ce n\u2019est pas parce que vous acc\u00e9dez mentalement \u00e0 un concept que vous le vivez\u00a0\u00bb</p>\n</blockquote><h3><strong>Comment se lib\u00e9rer de l\u2019\u00e9go\u00a0?</strong></h3><p><a href=\"https://devenez-meilleur.co/la-guerre-contre-lego/\" target=\"_blank\" rel=\"noopener\" class=\"external\">Lutter contre son \u00e9go</a> n\u2019est pas une solution, car cela le renforce tout en induisant une culpabilit\u00e9, un conflit interne. Il faudrait, selon l\u2019auteur, commencer par d\u00e9velopper un \u00e9go sain\u2026</p><p>Le chemin est de trouver l\u2019estime de soi, car il est plus facile de se lib\u00e9rer de l\u2019\u00e9go quand vous vous aimez\u2026 Le travail consiste donc \u00e0 \u00e9plucher l\u2019oignon! \u00ab\u00a0Qui suis-je sans ce que je fais et sans ce que j\u2019ai\u00a0?\u00a0\u00bb\u2026 C\u2019est l\u00e0 que l\u2019on d\u00e9couvre la puissance de nos actes. Le travail pour se lib\u00e9rer de l\u2019\u00e9go serait de se d\u00e9sidentifier des r\u00f4les que l\u2019on joue\u2026 \u00c0 chaque fois que l\u2019on se d\u00e9crit, le jeu serait de se d\u00e9crire aussi par le contraire. Par exemple\u00a0: \u00ab\u00a0Je suis quelqu\u2019un de travailleur\u2026 et aussi quelqu\u2019un de paresseux, c\u2019est agr\u00e9able de penser que l\u2019on est les deux en m\u00eame temps, cela nous rend plus grand, plus vrai\u2026 Paresseux et travailleur\u2026\u00a0\u00bb</p><p>Cet exercice provient d\u2019un psychologue, <strong>Stephen GILLIGAN</strong>, et avoue un triple but\u00a0:</p><blockquote>\n<ul><li>Accepter l\u2019autre face de la pi\u00e8ce en nous, pr\u00e9sente, mais refoul\u00e9e</li>\n<li>R\u00e9unifier ces \u00e9l\u00e9ments oppos\u00e9s en l\u00e2chant prise sur notre image ou notre besoin de perfection</li>\n<li>Se lib\u00e9rer de son \u00e9go en d\u00e9dramatisant nos tendances \u00e9gotiques, en apprenant \u00e0 en rire\u2026 Le rire cr\u00e9e une distance sur les \u00e9v\u00e8nements et rire de soi-m\u00eame est un chemin vers le moment pr\u00e9sent.</li>\n</ul></blockquote><p>Si vous prenez conscience que vos tendances sont ridicules, votre \u00e9go a plus de mal \u00e0 s\u2019en emparer.</p><blockquote>\n<blockquote>\n<p><strong>L\u2019\u00e9go est \u00e0 l\u2019inconscient ce que le dentifrice est au tube. Une fois sorti, essayez de le faire rentrer\u2026</strong></p>\n</blockquote>\n</blockquote><h3><strong>Partie 3 de</strong> <strong><em>Et tu trouveras le tr\u00e9sor qui dort en toi\u00a0</em></strong></h3><p>Dans cette partie, Laurent Gounelle fait un rapprochement entre l\u2019\u00e9glise catholique et ce que nous apprend la science aujourd\u2019hui.<br />Il y a deux mille ans, la science \u00e9tait \u00e0 l\u2019\u00e9tat larvaire. Personne ne comprenait l\u2019univers, les gens \u00e9taient p\u00e9tris de peurs, de superstitions et de croyances stupides. Il suffisait d\u2019ajouter de nouvelles croyances pour que les humains vous suivent\u2026</p><h3><strong>Une vision moderne de la cr\u00e9ation du monde\u00a0:</strong></h3><p>Tout est parti du vide<strong>,</strong> un vide extr\u00eamement petit et dense rempli d\u2019\u00e9nergie dans lequel il y a eu une \u00e9norme explosion\u2026 \u00c0 l\u2019origine de l\u2019univers, le big bang<strong>.</strong> C\u2019\u00e9tait il y a 14 milliards d\u2019ann\u00e9es. Depuis; il ne cesse de s\u2019\u00e9tendre, si bien que les galaxies s\u2019\u00e9loignent de plus en plus les unes des autres. Du chaos du big bang sont n\u00e9es une quantit\u00e9 de particules qui se sont agglom\u00e9r\u00e9es, agr\u00e9g\u00e9es pour former des syst\u00e8mes complexes. <strong>Les seuls \u00e9l\u00e9ments chimiques que le big bang a cr\u00e9\u00e9s sont l\u2019h\u00e9lium et l\u2019hydrog\u00e8ne.</strong></p><p>Ce sont des \u00e9l\u00e9ments tr\u00e8s simples qui se sont refroidis et contract\u00e9s sous leur propre poids. Les atomes se sont alors associ\u00e9s en mol\u00e9cule. La mati\u00e8re s\u2019est concentr\u00e9e et fragment\u00e9e. Soumis \u00e0 une compression extr\u00eame, le gaz surchauff\u00e9 s\u2019est embras\u00e9. C\u2019est le feu de la fusion nucl\u00e9aire<strong>.</strong> Les premi\u00e8res \u00e9toiles sont n\u00e9es. La vie biologique est apparue tr\u00e8s longtemps apr\u00e8s cela, mais la premi\u00e8re fusion nucl\u00e9aire est un des maillons essentiels de son apparition. <strong>D\u2019abord le soleil entour\u00e9 de 8 plan\u00e8tes, dont la terre il y a 4.5 milliards d\u2019ann\u00e9es et la vie qui y est apparue il y a 3,8 milliards d\u2019ann\u00e9es.</strong></p><p>Ce qui a permis l\u2019apparition de la vie, c\u2019est la fusion thermonucl\u00e9aire qui a eu lieu au c\u0153ur des premi\u00e8res \u00e9toiles. Cela a permis de synth\u00e9tiser des \u00e9l\u00e9ments chimiques lourds. Quand ces \u00e9toiles, comme d\u2019\u00e9normes soleils, ont explos\u00e9, elles ont ensemenc\u00e9 l\u2019espace de ces \u00e9l\u00e9ments chimiques. <strong>Sur la plan\u00e8te terre, ces fragments d\u2019\u00e9toiles se sont assembl\u00e9s pour donner la vie.</strong></p><blockquote>\n<p><em>Le moindre atome de notre corps n\u2019est rien d\u2019autre qu\u2019une poussi\u00e8re d\u2019\u00e9toiles.</em></p>\n</blockquote><h3><strong>Une question existentielle subsiste\u00a0:</strong></h3><p><strong>Si le big bang a cr\u00e9\u00e9 l\u2019univers, qui a cr\u00e9\u00e9 le big bang\u00a0?</strong> L\u2019id\u00e9e est que s\u2019il faut chercher Dieu quelque part, il vaut mieux se pencher sur ce qui s\u2019est pass\u00e9 juste apr\u00e8s le big bang que juste avant. On en conna\u00eet bien plus de choses\u2026 Sans \u00e9toile, pas de vie et un univers st\u00e9rile\u2026 Qu\u2019est-ce qui a rendu possible l\u2019apparition des \u00e9toiles dans l\u2019univers\u00a0? Il fallait r\u00e9unir un certain nombre de choses extr\u00eamement pr\u00e9cises.</p><p>Il fallait que l\u2019univers ait \u00e0 ce moment-l\u00e0, des propri\u00e9t\u00e9s bien sp\u00e9cifiques tr\u00e8s particuli\u00e8res. Par exemple, le taux de mati\u00e8re noire, le taux d\u2019expansion initiale, la masse des protons, la vitesse de la lumi\u00e8re, la masse des \u00e9lectrons, la constante de gravit\u00e9 et bien d\u2019autres choses encore. C\u2019est comme s\u2019il avait fallu op\u00e9rer un r\u00e9glage ultra fin de chacun des \u00e9l\u00e9ments. Si un seul d\u2019eux avait diff\u00e9r\u00e9 de ne f\u00fbt-ce qu\u2019une diff\u00e9rence microscopique, infinit\u00e9simale, alors les conditions n\u2019auraient pas \u00e9t\u00e9 r\u00e9unies pour la cr\u00e9ation des \u00e9toiles\u2026</p><p><strong>Pour rappel, pas d\u2019\u00e9toile, pas de vie\u2026</strong><br />Et le hasard\u00a0?</p><p><strong>Quelle est la probabilit\u00e9 pour que ce soit le hasard\u00a0?<br /></strong> De l\u2019ordre de 10-60. Vous changez un seul chiffre \u00e0 la 60e d\u00e9cimale sur un seul de ces param\u00e8tres et c\u2019est perdu\u2026 L\u2019image que l\u2019auteur utilise est celle de la probabilit\u00e9 d\u2019un archer d\u2019atteindre une cible d\u2019un centim\u00e8tre plac\u00e9e aux confins de l\u2019univers, \u00e0 14 milliards d\u2019ann\u00e9es-lumi\u00e8re d\u2019ici\u2026</p><h3><strong>Vision dualiste ou non dualiste de la spiritualit\u00e9\u00a0?</strong></h3><ul><li><strong>Dualiste, qui s\u00e9pare l\u2019homme du reste du monde et l\u2019homme de dieu\u00a0;</strong></li>\n<li><strong>Non dualiste, qui place dieu \u00e0 l\u2019int\u00e9rieur de nous.</strong></li>\n</ul><p>Que mettre derri\u00e8re cette notion de dieu\u00a0? Une conscience commune dont chacun d\u00e9tiendrait un fragment\u00a0? Au final, c\u2019est \u00e0 chacun de r\u00e9pondre pour lui \u00e0 cette question existentielle du concept de dieu\u2026</p><h3><strong>L\u00e9gende hindoue,</strong></h3><blockquote>\n<p><strong>Il \u00e9tait une fois un temps o\u00f9 tous les hommes \u00e9taient des dieux,</strong> mais ils abus\u00e8rent de leur pouvoir, alors le dieu cr\u00e9ateur Brahma d\u00e9cida de leur enlever ce pouvoir et de la cacher quelque part, l\u00e0 o\u00f9 ils ne pourraient jamais le trouver. \u00c0 l\u2019int\u00e9rieur d\u2019eux-m\u00eames\u2026</p>\n</blockquote><h2><strong>Conclusion sur\u00a0: \u00ab Et tu trouveras le tr\u00e9sor qui dort en toi\u00a0\u00bb\u00a0:</strong></h2><p><em>Et tu trouveras le tr\u00e9sor qui dort en toi</em> est une r\u00e9v\u00e9lation! Bien que ce soit un roman et non un livre pratique, il a le m\u00e9rite de poser les bases d\u2019une r\u00e9flexion saine autour de la spiritualit\u00e9. L\u2019humour est pr\u00e9sent du d\u00e9but \u00e0 la fin et les conversations entre les personnages vous obligent parfois \u00e0 poser votre bouquin pour prendre le temps de r\u00e9fl\u00e9chir \u00e0 ce qui a \u00e9t\u00e9 dit.</p><p>Certaines phrases r\u00e9sonnent comme des v\u00e9rit\u00e9s absolues, et l\u2019ouverture et la libert\u00e9 de chacun sont toujours respect\u00e9es. Il permet de donner \u00e0 chacun de nous, un peu plus que ce qu\u2019il ne poss\u00e8de d\u00e9j\u00e0, car, \u00e0 travers ce roman dynamique qui se lit tr\u00e8s facilement, nous sommes d\u00e9finitivement invit\u00e9s \u00e0 red\u00e9finir notre identit\u00e9. Le sc\u00e9nario est frais et impr\u00e9visible. Le rythme tr\u00e8s efficace sert les propos de l\u2019auteur qui cherche \u00e0 mettre en avant la part de divinit\u00e9 que nous avons en nous.</p><p>On est loin des dogmes religieux, mais on introduit cette notion de quelque chose qui nous d\u00e9passe. J\u2019ai ador\u00e9 ce livre parce qu\u2019il rassemble plus qu\u2019il ne divise autour de la spiritualit\u00e9. J\u2019ai particuli\u00e8rement aim\u00e9 la d\u00e9finition de \u00ab l\u2019\u00e9go \u00bb que le personnage principal du roman construit au cours de ses recherches et de ses exp\u00e9rimentations.</p><p><em>Points <strong>forts</strong> du livre Et tu trouveras le tr\u00e9sor qui dort en toi\u00a0:</em></p><ul><li>Impossible de l\u00e2cher <em>Et tu trouveras le tr\u00e9sor qui dort en toi</em> une fois que vous avez commenc\u00e9</li>\n<li>Beaucoup d\u2019humour</li>\n<li>\u00c9norm\u00e9ment de r\u00e9f\u00e9rences qui nous emm\u00e8nent dans des recherches compl\u00e9mentaires pour combler notre curiosit\u00e9</li>\n<li>Offre une lecture nouvelle des concepts de \u00ab\u00a0J\u00e9sus\u00a0\u00bb</li>\n<li>Livre r\u00e9solument positif</li>\n</ul><p><em>Points <strong>faibles</strong> du livre Et tu trouveras le tr\u00e9sor qui dort en toi\u00a0:</em></p><ul><li>\u00c7a reste un roman et nous ne faisons que difficilement la diff\u00e9rence entre la part romanc\u00e9e et les faits av\u00e9r\u00e9s.</li>\n<li>Difficile de lui trouver d\u2019autres points faibles tant l\u2019\u00e9tat d\u2019esprit du livre est positif</li>\n</ul><p><strong>La note de Thomas Hayot du blog <a href=\"https://www.positif-etproactif.com/\" target=\"_blank\" rel=\"noopener\" class=\"external\">Positif et Proactif</a>\u00a0:\u00a0</strong></p><p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png?is-pending-load=1\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" srcset=\"\" class=\"jetpack-lazy-image\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image6.png\" alt=\"image\" width=\"24\" height=\"22\" border=\"0\" referrerpolicy=\"no-referrer\" /></p>\n<p style=\"text-align: center;\">Avez-vous lu le livre\u00a0? Combien le notez-vous\u00a0?</p><p style=\"text-align: center;\"><img width=\"16\" height=\"16\" id=\"rating_11995_1\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif?is-pending-load=1\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" srcset=\"\" class=\"jetpack-lazy-image c11\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"16\" height=\"16\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<p><img width=\"16\" height=\"16\" id=\"rating_11995_2\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Passable - Un ou deux passages int\u00e9ressants\" title=\"Passable - Un ou deux passages int\u00e9ressants\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_11995_3\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Moyen - Quelques bonnes id\u00e9es\" title=\"Moyen - Quelques bonnes id\u00e9es\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_11995_4\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" title=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_11995_5\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" title=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n(<strong>8</strong>votes, moyenne:<strong>4,13</strong>out of 5)<br />\n<p><img src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\nLoading...<p style=\"text-align: center;\"><a href=\"https://amzn.to/2DzSpoz\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external\">Lire plus de commentaires au sujet du</a> <a href=\"https://positif-et-proactif.com\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external\">livre</a> de Laurent Gounelle <em>Et tu trouveras le tr\u00e9sor qui dort en toi sur Amazon</em></p><p style=\"text-align: center;\"><a href=\"https://amzn.to/2G9XiCr\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external\">Visitez Amazon et achetez le livre</a> <em>Et tu trouveras le tr\u00e9sor qui dort en toi</em></p><noscript>\n</noscript><p>Voici une vid\u00e9o qui touche le sujet du livre de Laurent Gounelle <em>Et tu trouveras le tr\u00e9sor qui dort en toi</em> et qui va tr\u00e8s certainement vous int\u00e9resser\u00a0; 10 principes pour lib\u00e9rer PLEINEMENT votre potentiel\u00a0:</p><noscript>\n<iframe frameborder=\"0\" height=\"315\" src=\"https://www.youtube.com/embed/wN-wHNBh4YY\" width=\"560\"> </iframe>\n</noscript>Recherches utilis\u00e9es pour trouver cet article\u00a0:<p>et tu trouveras le tr\u00e9sor qui dort en toi</p>",
    "created_at": "2022-05-02T07:53:04+00:00",
    "updated_at": "2022-05-02T17:07:06+00:00",
    "published_at": "2018-02-06T16:00:25+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 20,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2018/01/et-tu-trouveras-le-tresor-qui-dort-en-toi-laurent-gounelle.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["roman", "sapien", "resume"],
    "is_public": false,
    "id": 17,
    "title": "Sapiens: Un livre qui d\u00e9cape ton cerveau, une br\u00e8ve histoire de l'humanit\u00e9",
    "url": "https://des-livres-pour-changer-de-vie.com/sapiens-un-livre-qui-decape-ton-cerveau/",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><noscript>\n<iframe frameborder=\"0\" height=\"315\" src=\"https://www.youtube.com/embed/BSNu6_ch9ZU?rel=0\" width=\"520\"> </iframe>\n</noscript><p>Une fois que vous avez vu la vid\u00e9o <a href=\"https://www.youtube.com/user/DesLivresPourChanger?sub_confirmation=1\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external\">cliquez ici pour rejoindre gratuitement des milliers d\u2019entrepreneurs passion\u00e9s de d\u00e9veloppement personnel en vous abonnant \u00e0 la cha\u00eene Youtube</a>\u00a0!</p><h3>Ressources\u00a0:</h3><ul><li>Le roman \u201c<a href=\"https://olivier-roland.tv/sapiens\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external\">Sapiens\u00a0: Une br\u00e8ve histoire de l\u2019humanit\u00e9</a>\u201d sur Amazon.</li>\n<li>\u201c<a href=\"https://olivier-roland.tv/homo-deus\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external\">Homo Deus</a>\u201d sur Amazon.</li>\n<li>La vid\u00e9o\u00a0: <a href=\"https://www.youtube.com/watch?v=JT-qfi1PaO8&amp;list=PLlNaq4hbeacQtvr7_7NdsV4MKb45wDYHy\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external\">Peut-on \u00eatre TROP intelligent pour \u00eatre heureux\u00a0?</a></li>\n</ul><h3>Transcription de la vid\u00e9o<em>\u00a0:</em></h3><p>Ce qui a permis \u00e0 l\u2019\u00eatre humain d\u2019avoir une telle supr\u00e9matie sur la plan\u00e8te et les autres animaux, de faire la r\u00e9volution de l\u2019agriculture puis la r\u00e9volution industrielle, d\u2019avoir toute cette expansion technologique et de passer de un million d\u2019\u00eatres humains il y a 150\u00a0000 ans \u00e0 sept milliards aujourd\u2019hui, ce n\u2019est pas tant notre cerveau, ce n\u2019est pas tant notre bip\u00e9die et nos mains, c\u2019est surtout notre capacit\u00e9 \u00e0 raconter des histoires.</p><p>C\u2019est le sujet du livre \u00ab\u00a0<strong>Sapiens\u00a0: Une br\u00e8ve histoire de l\u2019humanit\u00e9</strong>\u00a0\u00bb, de l\u2019auteur <strong>Yuval Noah Harari</strong> qui est isra\u00e9lien.</p><p>C\u2019est un livre que j\u2019ai lu suite \u00e0 la recommandation de St\u00e9phane Leduc, mon \u00e9diteur.</p><p>Voici quelques extraits et mon avis sur diff\u00e9rents aspects de ce livre.</p><p>Cette histoire commence il y a 150\u00a0000 ans. A l\u2019\u00e9poque, il y avait six esp\u00e8ces d\u2019\u00eatres humains diff\u00e9rents. La n\u00f4tre Homo sapiens \u00e9tait juste une esp\u00e8ce parmi d\u2019autres.</p><p>On \u00e9tait seulement un million d\u2019\u00eatres humains en comptant les six esp\u00e8ces r\u00e9parties sur le continent eurasiatique, plus l\u2019Afrique. L\u2019Homo sapiens \u00e9tait juste pr\u00e9sent en Afrique.</p><p>Donc, on avait une empreinte \u00e9tait extr\u00eamement faible au niveau de l\u2019\u00e9cologie de la plan\u00e8te. C\u2019est \u00e0 peine si on apparaissait sur le radar.</p><p>Il y a 150\u00a0000 ans, si vous alliez en Afrique de l\u2019Ouest, vous pouvez tomber sur des \u00eatres humains qui de l\u2019ext\u00e9rieur avaient l\u2019air exactement comme nous.</p><p>Si vous voyez un corps d\u2019Homo sapiens d\u2019il y a 150\u00a0000 ans dans une morgue, vous ne pouvez pas faire la diff\u00e9rence avec nous.</p><p>Mais a priori, il y avait quand m\u00eame quelques diff\u00e9rences g\u00e9n\u00e9tiques puisque pendant 75\u00a0000 ans, ces \u00eatres humains ont tr\u00e8s peu \u00e9volu\u00e9s.</p><p>Ils ont utilis\u00e9 exactement les m\u00eames outils. Ils sont rest\u00e9s \u00e0 peu pr\u00e8s au m\u00eame endroit.</p><p>C\u2019est seulement il y a 75\u00a0000 ans qu\u2019ils ont commenc\u00e9 \u00e0 \u00e9voluer de mani\u00e8re tr\u00e8s rapide et qu\u2019ils ont commenc\u00e9 \u00e0 se diss\u00e9miner partout sur la plan\u00e8te en faisant en sorte de mani\u00e8re directe ou indirecte que les autres esp\u00e8ces humaines disparaissent \u00e0 chaque fois.</p><p>Partout o\u00f9 ils s\u2019implantaient, toutes les autres esp\u00e8ces humaines qui existaient encore se sont \u00e9teintes dans un intervalle de temps tr\u00e8s court.</p><p>On ne sait pas pourquoi pendant 75\u00a0000 ans, les Homo sapiens ont tr\u00e8s peu \u00e9volu\u00e9, et d\u2019un seul coup, il y a eu une \u00e9volution rapide. Mais on l\u2019appelait \u00ab\u00a0La r\u00e9volution cognitive\u00a0\u00bb.</p><p>Il y a beaucoup de scientifiques qui pensent que c\u2019est l\u2019apparition du langage qui a permis cette \u00e9volution rapide.</p><p>Cela veut dire que potentiellement, pendant 75\u00a0000 ans, les Homo sapiens n\u2019avaient pas de langage.</p><p>C\u2019est bizarre pour nous d\u2019imaginer des gens qui sont exactement comme nous \u00e0 l\u2019ext\u00e9rieur mais qui ne communiquent pas, qui n\u2019ont pas de langue.</p><p>C\u2019est vrai qu\u2019en m\u00eame temps, quand on pense \u00e0 notre capacit\u00e9 incroyablement puissante, <a href=\"https://des-livres-pour-changer-de-vie.com/comment-apprendre-efficacement-les-langues-etrangeres/\" target=\"_blank\" rel=\"noopener noreferrer\">inn\u00e9e d\u2019apprendre une langue</a>, on se dit que c\u2019est aussi le processus d\u2019une s\u00e9lection naturelle qui a d\u00fb \u00eatre f\u00e9roce et qui n\u2019a pas d\u00fb se faire du jour au lendemain.</p><p>Donc, il y a forc\u00e9ment eu un moment o\u00f9 il y avait des \u00eatres humains \u2013 peut-\u00eatre pas les Homo sapiens, c\u2019est peut-\u00eatre avant \u2013 qui ne parlaient pas de langue, avec cette capacit\u00e9 qui se d\u00e9veloppait au fur et \u00e0 mesure.</p><p>Comme on n\u2019a plus aucune trace de ces langues parl\u00e9es, c\u2019est difficile aujourd\u2019hui d\u2019en \u00eatre s\u00fbr. Mais en tout cas, on sait qu\u2019il s\u2019est produit quelque chose possiblement dans un des mutations g\u00e9n\u00e9tiques qui a fait en sorte que les Homo sapiens sont devenus plus intelligents, en tout cas, \u00e9voluaient \u00e0 une vitesse bien plus rapide que ce qui se faisait avant.</p><p>\u00c7a leur a permis de conqu\u00e9rir en l\u2019espace de quelques milliers d\u2019ann\u00e9es l\u2019ensemble de la plan\u00e8te.</p><p>\u00c7a a permis aussi aux Homo sapiens d\u2019acqu\u00e9rir une v\u00e9ritable supr\u00e9matie, non seulement sur les animaux mais aussi sur toutes les autres esp\u00e8ces d\u2019\u00eatres humains qui existaient encore, comme par exemple l\u2019homme de N\u00e9andertal.</p><p>La th\u00e9orie de l\u2019auteur, c\u2019est que\u00a0: Certes, c\u2019est le langage qui a permis cette r\u00e9volution cognitive, mais c\u2019est surtout la capacit\u00e9 des \u00eatres humains \u00e0 inventer des histoires.</p><p>Il d\u00e9montre cela d\u2019une mani\u00e8re brillante.</p><p>C\u2019est la capacit\u00e9 \u00e0 inventer des histoires qui a permis aux \u00eatres humains de coop\u00e9rer. C\u2019est la coop\u00e9ration sur des \u00e9chelles massives qui ne sont juste jamais vues que ce soit chez les autres animaux et chez les autres esp\u00e8ces d\u2019\u00eatres humains.</p><p>C\u2019est cette capacit\u00e9 de coop\u00e9rer sur de larges \u00e9chelles qui nous a donn\u00e9 cette supr\u00e9matie immense qui nous a emmen\u00e9s l\u00e0 o\u00f9 nous en sommes aujourd\u2019hui.</p><p>Voici un passage qui explicite la vision de l\u2019auteur.</p><p>\u00ab\u00a0La v\u00e9ritable fonction unique de notre langue n\u2019est pas la capacit\u00e9 de transmettre des informations \u00e0 propos des faits comme l\u2019existence d\u2019un lion \u00e0 c\u00f4t\u00e9 de la rivi\u00e8re, c\u2019est plut\u00f4t la capacit\u00e9 de transmettre des informations \u00e0 propos de choses qui n\u2019existent pas du tout.</p><p>D\u2019autant que nous savons, seulement les Homo sapiens sont capables de parler d\u2019entit\u00e9s qu\u2019ils n\u2019ont jamais vus, touch\u00e9s ou sentis.</p><p>Les l\u00e9gendes, les mythes, les dieux, les religions sont apparues pour la premi\u00e8re fois avec la r\u00e9volution cognitive.</p><p>Beaucoup d\u2019\u00eatres humains et d\u2019animaux pouvaient dire avant\u00a0: \u00ab\u00a0Attention\u00a0! Il y a un lion\u00a0\u00bb d\u2019une certaine mani\u00e8re parce qu\u2019avant, il explique que beaucoup d\u2019animaux ont des signaux d\u2019alarme.</p><p>Ils n\u2019ont pas de mots particuliers, mais ils sont capables de dire \u00e0 leurs cong\u00e9n\u00e8res\u00a0: \u00ab\u00a0Attention, l\u00e0, il y a une menace. L\u00e0, il y a un pr\u00e9dateur.\u00a0\u00bb</p><p>Mais gr\u00e2ce \u00e0 la r\u00e9volution cognitive, l\u2019Homo sapiens a acquis la capacit\u00e9 de dire\u00a0:\u00a0\u00ab\u00a0Le lion est le gardien spirituel de notre tribu.\u00a0\u00bb</p><p>Cette capacit\u00e9 de parler \u00e0 propos de fiction est la fonction la plus unique du langage des Homo sapiens.</p><p>Il est tr\u00e8s facile d\u2019\u00eatre d\u2019accord sur le fait que seulement, l\u2019Homo sapiens peut parler de choses qui n\u2019existent pas et peut croire si les choses sont impossibles avant de manger son petit d\u00e9jeuner.</p><p>Est-ce que vous pourriez convaincre un singe de vous donner une banane en \u00e9change de bananes infinies apr\u00e8s la mort dans le paradis des singes\u00a0?</p><p>Pourquoi c\u2019est important\u00a0? Apr\u00e8s tout, la fiction, \u00e7a peut \u00eatre dangereusement trompeur ou distrayant.</p><p>Les gens qui vont dans la for\u00eat pour chercher des f\u00e9es ou des licornes ont sans doute moins de chance de survivre que les gens qui cherchent des champignons et des daims.</p><p>Et si vous passez des heures \u00e0 prier des gardiens spirituels qui n\u2019existent pas, est-ce que vous n\u2019\u00eates pas en train de perdre tout le temps pr\u00e9cieux du temps que vous feriez mieux de passer \u00e0 faire de la cueillette, chasser ou faire l\u2019amour\u00a0?</p><p>Mais la fiction nous a permis non seulement d\u2019imaginer des choses, mais de les imaginer collectivement.</p><p>Nous pouvons tisser des mythes communs comme l\u2019histoire biblique de la cr\u00e9ation\u00a0: les mythes de r\u00eaves des aborig\u00e8nes australiens et les mythes nationalistes des \u00e9tats modernes.</p><p>Ces mythes donnent aux Homo sapiens une capacit\u00e9 jamais vue de coop\u00e9rer de mani\u00e8re souple en large nombre.</p><figure id=\"attachment_21602\" aria-describedby=\"caption-attachment-21602\" class=\"wp-caption alignleft c7\">\n<p><img class=\"wp-image-21602 size-medium\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2019/02/livre-sapiens-yuval-noah-harari-222x300.jpg\" alt=\"Livre Sapiens de Yuval Noah Harari\" width=\"222\" height=\"300\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2019/02/livre-sapiens-yuval-noah-harari-222x300.jpg 222w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2019/02/livre-sapiens-yuval-noah-harari.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n\n<figcaption id=\"caption-attachment-21602\" class=\"wp-caption-text\"><strong>La couverture du livre <em>Sapiens</em> de Yuval Noah Harari</strong></figcaption></figure><p>Les fourmis et les abeilles peuvent aussi travailler en large nombre, mais ils le font d\u2019une mani\u00e8re tr\u00e8s rigide et seulement avec leurs proches dans la m\u00eame ruche ou dans la m\u00eame fourmili\u00e8re.</p><p>Les loups et les chimpanz\u00e9s coop\u00e8rent aussi de mani\u00e8re beaucoup plus flexible que les fourmis, mais ils le font seulement avec un tout petit nombre d\u2019autres individus qu\u2019ils connaissent tr\u00e8s bien.</p><p>Les Homo sapiens peuvent coop\u00e9rer de mani\u00e8re extraordinairement flexible avec des nombres impressionnants, presque sans limite, d\u2019\u00e9trangers.</p><p>C\u2019est pour cela que les Homo sapiens r\u00e8gnent sur le monde, alors que les fourmis mangent nos d\u00e9chets et que les singes sont regard\u00e9s dans les zoos et dans les laboratoires de recherche.\u00a0\u00bb</p><p>J\u2019avance un peu plus dans le livre pour vous donner d\u2019autres passages.</p><p>\u00ab\u00a0De larges nombres d\u2019\u00e9trangers peuvent coop\u00e9rer avec succ\u00e8s en croyant en des mythes communs.</p><p>N\u2019importe quelle coop\u00e9ration humaine sur une grande \u00e9chelle, que ce soit un \u00e9tat moderne, une \u00e9glise m\u00e9di\u00e9vale, une cit\u00e9 ancienne et m\u00eame une tribu archa\u00efque sont enracin\u00e9s dans des mythes communs qui existent seulement dans l\u2019imagination collective des gens.</p><p>Les \u00e9glises sont enracin\u00e9es dans des mythes religieux communs.</p><p>Deux catholiques qui ne se sont jamais rencontr\u00e9s peuvent quand m\u00eame partir ensemble dans une croisade ou rassembler des fonds pour construire un h\u00f4pital parce qu\u2019ils croient tous les deux que Dieu s\u2019est incarn\u00e9 dans la chair humaine et qu\u2019il s\u2019est autoris\u00e9 \u00e0 \u00eatre crucifi\u00e9 pour pardonner les p\u00e9ch\u00e9s de l\u2019humanit\u00e9.</p><p>Les Etats sont aussi enracin\u00e9s dans des mythes nationaux communs.</p><p>Deux serbes qui ne se sont jamais rencontr\u00e9s peuvent risquer leur vie pour sauver la vie de l\u2019autre parce qu\u2019ils croient tous les deux dans l\u2019existence de la nation Serbe, du territoire Serbe, et du drapeau Serbe.</p><p>Les syst\u00e8mes judiciaires sont aussi enracin\u00e9s dans un syst\u00e8me commun de mythes l\u00e9gaux.</p><p>Deux avocats qui ne se sont jamais rencontr\u00e9s peuvent combiner leurs efforts pour d\u00e9fendre un \u00e9tranger complet parce qu\u2019ils croient tous en l\u2019existence des lois, de la justice, des droits humains et de l\u2019argent qui paient leurs salaires.\u00a0\u00bb</p><p>Ensuite, il donne d\u2019autres exemples de fictions qui existent juste dans l\u2019esprit des humains.</p><p>Bien s\u00fbr, il parle des Etats comme \u00e9tant des fictions qui sont juste dans l\u2019esprit des humains. Mais il parle aussi du fait que par exemple, \u00e0 l\u2019\u00e9poque de la ville de Sumer, donc il y a 4000-5000 ans, les dieux avaient une existence l\u00e9gale.</p><p>On priait un dieu dans chaque temple, et c\u2019est le dieu qui embauchait les gens qui allaient travailler pour le temple.</p><p>Le dieu avait une existence l\u00e9gale pour que les gens aillent faire les chants. Ensuite, le dieu avait droit \u00e0 un pourcentage de taxe sur ce qui a \u00e9t\u00e9 fait, qui a \u00e9t\u00e9 donn\u00e9 en donation au temple, m\u00eame si les pr\u00eatres utilisaient \u00e7a apr\u00e8s.</p><p>Il dit\u00a0: \u00ab\u00a0C\u2019est exactement la m\u00eame chose aujourd\u2019hui avec les entreprises.</p><p>Si vous prenez une entreprise, c\u2019est une entit\u00e9 qui est fictive.\u00a0\u00bb</p><p>On parle de personnalit\u00e9 morale en France.</p><p>Si vous cr\u00e9ez une SARL, une EURL ou une SAS en France, ou une LLC aux Etats-Unis ou en Grande Bretagne, ou une Limited Company, vous cr\u00e9ez une structure qui a une existence juridique mais qui n\u2019existe pas r\u00e9ellement, qui existe juste dans l\u2019esprit des hommes.</p><p>Et il dit\u00a0: C\u2019est la m\u00eame chose finalement.</p><p>Quand les sum\u00e9riens imaginaient un dieu et lui donnaient une existence juridique, c\u2019est la m\u00eame chose aujourd\u2019hui que ce qu\u2019on fait avec les entreprises.</p><p>Armand Peugeot a cr\u00e9\u00e9 Peugeot en 1896. Il a nomm\u00e9 l\u2019entreprise d\u2019apr\u00e8s lui, mais cette entreprise \u00e9tait ind\u00e9pendante de lui.</p><p>Si une de ses voitures cassait, l\u2019acheteur pouvait porter plainte contre la soci\u00e9t\u00e9 Peugeot, mais pas contre Armand Peugeot.</p><p>Si l\u2019entreprise empruntait des millions de francs et ensuite faisait faillite, Armand Peugeot ne devait pas un seul centime \u00e0 ses d\u00e9biteurs. En tout cas, c\u2019est la th\u00e9orie.</p><p>Ensuite, il dit que pour cr\u00e9er des entit\u00e9s fictives, il faut passer par un certain nombre de rituels qui sont importants.</p><p>Il dit\u00a0: Dans le cas de Peugeot, l\u2019histoire cruciale \u00e9tait le syst\u00e8me l\u00e9gal fran\u00e7ais qui avait \u00e9t\u00e9 \u00e9crit par le Parlement fran\u00e7ais.</p><p>D\u2019apr\u00e8s les l\u00e9gislateurs fran\u00e7ais, si un avocat certifi\u00e9 suivait toute la liturgie appropri\u00e9e et les bons rituels, qu\u2019il \u00e9crivait les bons sortil\u00e8ges et les bons v\u0153ux sur des bouts de papier merveilleusement d\u00e9cor\u00e9s, et qu\u2019il mettait sa signature orn\u00e9e \u00e0 la fin du document, zen, hocus pocus, une nouvelle entreprise \u00e9tait cr\u00e9\u00e9e.</p><p>Une fois que l\u2019avocat a fait tous les bons rituels et a prononc\u00e9 tous les bons sortil\u00e8ges et les bons v\u0153ux, des millions de citoyens fran\u00e7ais honn\u00eates se comportent comme si l\u2019entreprise Peugeot existe r\u00e9ellement.\u00a0\u00bb</p><p>C\u2019est tr\u00e8s int\u00e9ressant comme point de vue.</p><p>Ensuite, il dit\u00a0: \u00ab\u00a0Raconter des histoires d\u2019une mani\u00e8re efficace n\u2019est pas facile. La difficult\u00e9 n\u2019est pas dans le fait de raconter des histoires, mais dans le fait de convaincre tous les autres d\u2019y croire.</p><p>L\u2019essentiel de l\u2019Histoire tourne autour de cette question\u00a0: comment faire pour convaincre des millions de personnes de croire en des histoires particuli\u00e8res \u00e0 propos des dieux, des nations ou des entreprises \u00e0 responsabilit\u00e9 limit\u00e9e\u00a0?</p><p>Mais quand ils r\u00e9ussissent, cela donne \u00e0 Homo sapiens un pouvoir immense puisque cela permet \u00e0 des millions d\u2019\u00e9trangers de coop\u00e9rer et de travailler ensemble vers des objectifs communs.</p><p>Essayez juste d\u2019imaginer combien il serait difficile d\u2019avoir des \u00e9tats ou des \u00e9glises ou des syst\u00e8mes l\u00e9gaux si on pourrait parler de choses qui existent r\u00e9ellement comme les rivi\u00e8res, les arbres ou les lions.\u00a0\u00bb</p><p>C\u2019est vrai.</p><p>Imaginez comment on pourrait avoir une civilisation moderne si on n\u2019\u00e9tait capable de parler que de choses qui existent r\u00e9ellement, si on ne pouvait pas imaginer des choses dans notre esprit, ensuite les communiquer aux autres et m\u00eame essayer de les convaincre de l\u2019existence de ces choses-l\u00e0. Ou bien m\u00eame de s\u2019entendre sur l\u2019existence de ces choses-l\u00e0.</p><p>C\u2019est une nuance que je trouve importante et que l\u2019auteur ne fait pas assez.</p><p>L\u00e0, il redonne un exemple concret pour montrer \u00e0 quel point \u00e7a a compl\u00e8tement chamboul\u00e9 notre \u00e9volution.</p><p>Il dit\u00a0: \u00ab\u00a0Il y a deux millions d\u2019ann\u00e9es, il y a une nouvelle esp\u00e8ce humaine qui est apparue. C\u2019est homo erectus.</p><p>Et quand homo erectus est apparu, son \u00e9mergence s\u2019est accompagn\u00e9 par le d\u00e9veloppement de nouveaux outils en pierre qui \u00e9taient bien plus perfectionn\u00e9s que les anciens.</p><p>Mais pourtant, pendant deux millions d\u2019ann\u00e9es, ces outils n\u2019ont connu aucune \u00e9volution parce que homo erectus est rest\u00e9 le m\u00eame et qu\u2019il n\u2019avait pas cette capacit\u00e9 \u00e0 coop\u00e9rer en large bande. Du coup, il est rest\u00e9 au m\u00eame niveau technologique.</p><p>Par contraste, depuis la r\u00e9volution cognitive, les Homo sapiens ont \u00e9t\u00e9 capables de changer leur comportement de mani\u00e8re extr\u00eamement rapide et en transmettant ces nouveaux comportements aux futures g\u00e9n\u00e9rations, sans avoir le besoin d\u2019avoir de changements g\u00e9n\u00e9tiques ou environnementaux. Alors qu\u2019avant, homo erectus qui \u00e9tait d\u00e9j\u00e0 beaucoup plus intelligent que la plupart des autres animaux \u00e9tait li\u00e9 \u00e0 ces mutations g\u00e9n\u00e9tiques.</p><p>Il n\u2019y a pas de mutations g\u00e9n\u00e9tiques pendant deux millions d\u2019ann\u00e9es, aucun changement technologique. Mais gr\u00e2ce \u00e0 cette capacit\u00e9 de parler et de coop\u00e9rer, d\u2019inventer des mythes, on est capable d\u2019aller beaucoup plus vite que les mutations de notre ADN.</p><p>Il donnait un autre exemple tr\u00e8s frappant et dit\u00a0: \u00ab\u00a0Comme exemple principal, consid\u00e9rez l\u2019apparition r\u00e9p\u00e9titives d\u2019\u00e9lites sans enfant, comme la pr\u00eatrise catholique, <a href=\"https://des-livres-pour-changer-de-vie.com/mon-week-end-dans-un-monastere-bouddhiste/\" target=\"_blank\" rel=\"noopener noreferrer\">les monast\u00e8res bouddhistes</a> ou les bureaucrates chinois eunuques.</p><p>L\u2019existence de telles \u00e9lites va \u00e0 l\u2019encontre du principe le plus fondamental de la s\u00e9lection naturelle qui est que les membres dominants de la soci\u00e9t\u00e9 sont normalement ceux qui ont le plus de chance de se reproduire. Alors que l\u00e0, on a les membres dominants de la soci\u00e9t\u00e9 qui vont abandonner leur capacit\u00e9 reproductive.\u00a0\u00bb</p><p>Il dit\u00a0: \u00ab\u00a0Cette abstinence ne vient pas de conditions environnementales uniques, comme le manque de nourriture ou le manque de partenaires avec lesquels se reproduire. Ce n\u2019est pas non plus le r\u00e9sultat d\u2019une mutation g\u00e9n\u00e9tique bizarre. Non\u00a0!</p><p>Si l\u2019\u00e9glise catholique a surv\u00e9cu pendant des si\u00e8cles, ce n\u2019est pas en passant \u00e0 un g\u00e8ne du c\u00e9libat de pape en pape, mais simplement en se passant des histoires du nouveau testament et des lois canons du catholicisme.\u00a0\u00bb</p><p>Il conclut son point en disant\u00a0:\u00a0\u00ab\u00a0Et donc, la r\u00e9volution cognitive est le moment dans l\u2019histoire dans laquelle notre histoire est devenue ind\u00e9pendante de la biologie.\u00a0\u00bb</p><p>Comme il le dit, il faut bien se rendre compte que pendant la pr\u00e9histoire, avant la r\u00e9volution de l\u2019agriculture, vous pouviez en tant que personne normale passer des mois et des mois sans voir d\u2019\u00e9trangers \u00e0 votre tribu, qu\u2019une personne ne pouvait ne voir qu\u2019une centaine d\u2019\u00eatres humains au maximum dans toute vie, qu\u2019avant la r\u00e9volution de l\u2019agriculture, la population humaine de la plan\u00e8te enti\u00e8re \u00e9tait plus petite que la population de la ville du Caire.</p><p>Il donne ensuite la recette pour faire en sorte que les homo sapiens croient en des mythes.</p><p>Et il dit\u00a0: \u00ab\u00a0Comment vous faites en sorte que les gens croient dans un ordre imagin\u00e9, comme le christianisme, la d\u00e9mocratie ou le capitalisme\u00a0?\u00a0\u00bb</p><p>Il met toutes les inventions humaines dans le m\u00eame registre d\u2019histoire, y compris le capitalisme, la d\u00e9mocratie, les entit\u00e9s juridiques, les entreprises, etc.</p><figure id=\"attachment_21605\" aria-describedby=\"caption-attachment-21605\" class=\"wp-caption aligncenter c10\">\n<p><img class=\"wp-image-21605 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2019/02/Yuval-noah-harari-livre-sapiens.jpg\" alt=\"Yuval Noah Harari - livre Sapiens\" width=\"471\" height=\"312\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2019/02/Yuval-noah-harari-livre-sapiens.jpg 471w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2019/02/Yuval-noah-harari-livre-sapiens-300x199.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n\n<figcaption id=\"caption-attachment-21605\" class=\"wp-caption-text\"><strong>Yuval Noah Harari, auteur du livre <em>Sapiens</em></strong></figcaption></figure><p>Premi\u00e8re chose\u00a0: vous n\u2019admettez jamais que cet ordre est imagin\u00e9.</p><p>Vous insistez toujours sur le fait que cet ordre qui fait en sorte que la soci\u00e9t\u00e9 se tienne est une r\u00e9alit\u00e9 objective cr\u00e9\u00e9e par les grands dieux ou par les lois de la nature.</p><p>Dans la Babylone ancienne, les gens n\u2019\u00e9taient pas \u00e9gaux non pas parce que Hammourabi l\u2019a dit, mais parce que les dieux Enlil et Marduk l\u2019ont d\u00e9cr\u00e9t\u00e9.</p><p>De la m\u00eame mani\u00e8re, les gens sont \u00e9gaux non pas parce que Thomas Jefferson l\u2019a dit, mais parce que Dieu les a cr\u00e9\u00e9s de cette mani\u00e8re.</p><p>Le march\u00e9 libre est le meilleur \u00e9cosyst\u00e8me \u00e9conomique non pas parce que Adam Smith l\u2019a dit, mais parce que ce sont les lois immuables de la nature.</p><p>Vous pouvez faire en sorte d\u2019\u00e9duquer les gens par rapport \u00e0 \u00e7a.</p><p>A partir du moment o\u00f9 vous \u00eates n\u00e9s, on vous rappelle constamment les principes de cet ordre imagin\u00e9 qui ont \u00e9t\u00e9 encore incorpor\u00e9s dans absolument tout\u00a0: dans les contes, dans les drames, dans les peintures, dans les chansons, dans l\u2019\u00e9tiquette, dans la propagande politique, dans l\u2019architecture, dans les recettes, dans les modes.</p><p>Par exemple, aujourd\u2019hui, les gens croient en l\u2019\u00e9galit\u00e9. Donc, c\u2019est super cool pour les enfants riches de porter des jeans, alors qu\u2019\u00e0 la base, c\u2019est un v\u00eatement des classes travailleuses.</p><p>Au Moyen Age, les gens croyaient dans la division des classes sociales. Donc, aucun noble jeune n\u2019aurait port\u00e9 les m\u00eames v\u00eatements qu\u2019un paysan.</p><p>A l\u2019\u00e9poque, se faire appeler Monsieur ou Madame \u00e9tait un privil\u00e8ge rare r\u00e9serv\u00e9 \u00e0 la noblesse qui \u00e9tait souvent achet\u00e9e avec du sang.</p><p>Aujourd\u2019hui, toute la correspondance polie quelle que soit la personne qui le re\u00e7oit commence toujours par \u00ab\u00a0Cher Monsieur\u00a0\u00bb ou \u00ab\u00a0Ch\u00e8re Madame\u00a0\u00bb.</p><p>Il dit aussi que l\u2019ordre imagin\u00e9 fa\u00e7onne vraiment nos d\u00e9sirs.</p><p>Par exemple, les d\u00e9sirs les plus ch\u00e9ris des occidentaux sont fa\u00e7onn\u00e9s par les mythes romantiques, nationalistes, capitalistes et humanistes qui ont \u00e9t\u00e9 pr\u00e9sents pendant des si\u00e8cles.</p><p>M\u00eame ce que les gens prennent pour leurs d\u00e9sirs les plus personnels sont souvent programm\u00e9s par cet ordre imagin\u00e9.</p><p>Prenons par exemple, dit-il, le d\u00e9sir populaire de prendre des vacances \u00e0 l\u2019\u00e9tranger. Il n\u2019y a rien de naturel ou d\u2019\u00e9vident \u00e0 propos de \u00e7a.</p><p>Un chimpanz\u00e9 dominant m\u00e2le ne penserait jamais \u00e0 utiliser son pouvoir pour prendre des vacances dans le territoire d\u2019une bande de chimpanz\u00e9s \u00e0 c\u00f4t\u00e9.</p><p>Les \u00e9lites de l\u2019ancienne Egypte d\u00e9pensaient leur fortune \u00e0 construire des pyramides et avoir leur corps momifi\u00e9, mais aucun d\u2019entre eux n\u2019aurait pens\u00e9 \u00e0 faire du shopping \u00e0 Babylone ou de prendre des vacances de ski en Ph\u00e9nicie.</p><p>Les gens aujourd\u2019hui d\u00e9pensent une grande partie de leur argent dans des vacances \u00e0 l\u2019\u00e9tranger parce que ce sont des vrais croyants dans le mythe du consum\u00e9risme romantique.</p><p>C\u2019est pour vous donner une id\u00e9e du livre.</p><p>Il parle de choses sur lequel on est tous d\u2019accord, sur le fait que les religions des anciens temps, par exemple la religion sum\u00e9rienne et la religion \u00e9gyptienne sont des mythes invent\u00e9s par les \u00eatres humains et que cela leur a permis de mieux coop\u00e9rer.</p><p>Peu de gens iront arguer sur le fait que les religions du monde ancien \u00e9taient de vraies religions. La plupart sont des inventions. Tout le monde est confortable pour dire cela. Mais apr\u00e8s, ils nous emm\u00e8nent dans des territoires qui par contre sont beaucoup plus inconfortables pour nous puisqu\u2019il dit\u00a0: \u00ab\u00a0Toutes les religions sont en fait des inventions, y compris les religions qui sont encore aujourd\u2019hui pr\u00e9dominantes, mais aussi les choses qu\u2019on ne voit pas comme des religions comme le romantisme, le capitalisme, le nationalisme, l\u2019humanisme, etc.\u00a0\u00bb</p><p>Il dit m\u00eame\u00a0: \u00ab\u00a0Hammourabi pensait que les gens n\u2019\u00e9taient pas \u00e9gaux et qu\u2019il y avait trois classes d\u2019\u00eatres humains\u00a0: les nobles, les gens normaux et les esclaves. Et Thomas Jefferson pensait que tous les hommes \u00e9taient n\u00e9s \u00e9gaux.\u00a0\u00bb</p><p>Thomas Jefferson \u00e9tait un grand esclavagiste. Donc, il y avait quand m\u00eame une contradiction dans ses propos.</p><p>Il les met sur le m\u00eame niveau.</p><p>Il dit\u00a0: \u00ab\u00a0Hammourabi a invent\u00e9 des histoires comme quoi les gens \u00e9taient ill\u00e9gaux, tout comme\u00a0Thomas Jefferson a invent\u00e9 des histoires sur le fait que les gens sont \u00e9gaux.\u00a0\u00bb</p><p>C\u2019est juste \u00e0 la base des mythes qu\u2019on a ensuite diffus\u00e9 pour que la plupart des gens y croient et puissent coop\u00e9rer entre eux sur ces bases-l\u00e0.</p><p>Il dit d\u2019ailleurs\u00a0: \u00ab\u00a0Si on avait pu discuter avec Hammourabi, on aurait pu lui montrer des exemples de gens qui sont des esclaves. Ils sont plus intelligents que les nobles.</p><p>Sans doute qu\u2019Hammourabi aurait dit\u00a0: \u00ab\u00a0Non, clairement tu as des esclaves qui sont plus intelligents que les nobles.\u00a0\u00bb</p><p>C\u2019est clair, mais on a besoin de dire cela, sinon la soci\u00e9t\u00e9 s\u2019\u00e9croule.\u00a0\u00bb</p><p>C\u2019est ce que dit aussi l\u2019auteur. Cet ordre imagin\u00e9 est toujours justifi\u00e9 par le fait que c\u2019est important comme ciment de la soci\u00e9t\u00e9. Sans cela, elle ne pourrait pas fonctionner.</p><p>En un sens, ces gens ont raison parce qu\u2019effectivement, sans cette histoire commune imagin\u00e9e dans laquelle les gens croient, ils ne pourraient pas coop\u00e9rer sur des \u00e9chelles aussi massives. Donc, on ne pourrait pas faire toutes les technologies qu\u2019on a cr\u00e9\u00e9es aujourd\u2019hui.</p><p>Ensuite, il dit\u00a0: \u00ab\u00a0Contrairement aux lois de la physique qui sont compl\u00e8tement libres d\u2019incoh\u00e9rence, chaque ordre cr\u00e9\u00e9 par les autres \u00eatres humains est compl\u00e8tement rempli de contradictions internes.</p><p>Les cultures sont toujours en train d\u2019essayer de r\u00e9concilier ces contradictions et c\u2019est \u00e7a qui fait en sorte qu\u2019il y a justement des changements.\u00a0\u00bb</p><p>Il donne un exemple concret\u00a0:\u00a0\u00ab\u00a0Depuis la r\u00e9volution fran\u00e7aise, les gens de par le monde ont graduellement commenc\u00e9 \u00e0 voir \u00e0 la fois l\u2019\u00e9galit\u00e9 et la libert\u00e9 individuelle comme des valeurs fondamentales. Pourtant, ces deux valeurs se contredisent l\u2019une et l\u2019autre.</p><p>L\u2019\u00e9galit\u00e9 peut seulement \u00eatre assur\u00e9e en diminuant la libert\u00e9 de ceux qui font mieux que les autres. Et garantir que chaque individu puisse \u00eatre libre de faire ce qu\u2019il veut va in\u00e9vitablement mener \u00e0 des in\u00e9galit\u00e9s tr\u00e8s fortes dans un temps tr\u00e8s court.\u00a0\u00bb</p><p>Il dit\u00a0: \u00ab\u00a0La politique enti\u00e8re du monde depuis 1789 peut \u00eatre vue comme une s\u00e9rie d\u2019essais pour r\u00e9concilier cette contradiction entre libert\u00e9 et \u00e9galit\u00e9\u00a0\u00bb.</p><p>Tous ceux qui ont lu un roman de Charles Dickens savent que les r\u00e9gimes lib\u00e9raux du XIX<sup>e</sup> si\u00e8cle en Europe donnaient la priorit\u00e9 \u00e0 la libert\u00e9 individuelle, m\u00eame si \u00e7a impliquait de mettre une pauvre famille endett\u00e9e en prison parce qu\u2019elle n\u2019arrivait pas \u00e0 payer ses dettes.</p><p>Tous ceux qui ont lu le roman de Alexander (0\u00a0:22\u00a0:26) savent que \u00e0 quel point l\u2019id\u00e9al \u00e9galitarisme du communisme a produit des tyrannies brutales qui essaient de contr\u00f4ler tous les aspects de la vie quotidienne.\u00a0\u00bb</p><p>Ensuite, quelque chose qui se rattache \u00e0 l\u2019actualit\u00e9, il dit\u00a0: \u00ab\u00a0La politique am\u00e9ricaine contemporaine tourne aussi autour de cette contradiction.</p><p>Les d\u00e9mocrates veulent une soci\u00e9t\u00e9 qui est plus \u00e9quitable, m\u00eame si cela veut dire d\u2019augmenter les taxes pour financer des programmes pour aider les pauvres, les personnes \u00e2g\u00e9es et les infirmes.</p><p>Cela interf\u00e8re avec la libert\u00e9 des individus de d\u00e9penser leur argent comme ils veulent.</p><p>Pourquoi le gouvernement devrait me forcer \u00e0 acheter une assurance sant\u00e9 si je pr\u00e9f\u00e8re utiliser cet argent pour mettre mes enfants \u00e0 l\u2019\u00e9cole\u00a0?</p><p>Les r\u00e9publicains d\u2019un autre c\u00f4t\u00e9 veulent maximiser la libert\u00e9 individuelle m\u00eame si cela veut dire d\u2019augmenter le gap entre les riches et les pauvres, et que beaucoup d\u2019am\u00e9ricains ne puissent pas se payer une assurance sant\u00e9.\u00a0\u00bb</p><p>Et juste avant, il donnait l\u2019exemple du christianisme qui avait \u00e9norm\u00e9ment de mal \u00e0 r\u00e9concilier les valeurs de la chr\u00e9tient\u00e9 qui \u00e9taient celles de l\u2019amour, du pardon, etc., avec les valeurs de la chevalerie des nobles qui \u00e9taient au contraire tr\u00e8s violentes, o\u00f9 on avait le droit de faire la guerre \u00e0 son voisin pour des broutilles, o\u00f9 c\u2019\u00e9tait Ok d\u2019aller piller, massacrer, violer, etc.</p><p>Ce qui entre autres causait la fin de ce syst\u00e8me-l\u00e0 \u00e9tait la contradiction profonde entre ces valeurs du christianisme et celles de la chevalerie qui pourtant ont essay\u00e9 de se fusionner.</p><p>Il dit par exemple\u00a0: \u00ab\u00a0Qu\u2019est-ce que c\u2019est que la l\u00e9gende d\u2019Arthur, du Graal et de la table ronde \u00e0 part cette tentative de montrer ce que doit \u00eatre un chevalier chr\u00e9tien qui suit les principes du christianisme et de donner un id\u00e9al \u00e0 tous ces chevaliers assoiff\u00e9s de sang qui n\u2019\u00e9taient pas de tr\u00e8s bons chr\u00e9tiens\u00a0?</p><p>La soci\u00e9t\u00e9 au Moyen Age a \u00e9chou\u00e9 \u00e0 r\u00e9concilier ces deux points de vue oppos\u00e9s. Et aujourd\u2019hui, la soci\u00e9t\u00e9 moderne \u00e9choue r\u00e9concilier la libert\u00e9 avec l\u2019\u00e9galit\u00e9, et donc, condamner \u00e0 un moment ou \u00e0 un autre \u00e0 \u00e9voluer et \u00e0 abandonner ces deux id\u00e9os.\u00a0\u00bb</p><p>\u00ab\u00a0Sapiens: Une br\u00e8ve histoire de l\u2019humanit\u00e9\u00a0\u00bb est un livre qui fait extr\u00eamement r\u00e9fl\u00e9chir parce qu\u2019il nous permet de prendre du recul sur, c\u2019est facile de dire\u00a0:\u00a0\u00ab\u00a0Oui, les \u00e9gyptiens, les pauvres croyaient qu\u2019il y avait Anubis qui avait une t\u00eate de chat et qui faisait des trucs. Ils croyaient que quand on se faisait momifier le corps, on allait au paradis.\u00a0\u00bb.</p><p>C\u2019est facile de voir les anciens mythes et de se dire\u00a0: \u00ab\u00a0Les mecs avaient vraiment fum\u00e9 des trucs, \u00e7a ne sert \u00e0 rien.\u00a0\u00bb</p><p>C\u2019est aussi facile de ne pas voir qu\u2019on est entour\u00e9 de mythes et de se rendre compte qu\u2019on croit aussi en des choses qui finalement sont invent\u00e9es. Et que parfois on croit \u00e0 leur existence r\u00e9elle alors que c\u2019est \u00e0 la base des inventions humaines, qui ont un r\u00f4le certes politique et soci\u00e9tal mais \u00e0 la base, ce sont juste des inventions.</p><p>C\u2019est int\u00e9ressant de prendre du recul par rapport \u00e0 ces valeurs-l\u00e0 et de se dire\u00a0: \u00ab\u00a0c\u2019est tr\u00e8s int\u00e9ressant ce qu\u2019il dit\u00a0\u00bb parce que d\u00e8s qu\u2019on envisage le futur, il peut y avoir des dystopies. Mais typiquement, on reste quand m\u00eame dans le m\u00eame sch\u00e9ma de garder ces valeurs humanistes, etc.</p><p>L\u00e0, l\u2019auteur nous montre qu\u2019il y a une contradiction fondamentale entre la libert\u00e9 et l\u2019\u00e9galit\u00e9.</p><p>Il pr\u00e9dit qu\u2019\u00e0 terme, on va \u00e9voluer au-del\u00e0 de ces valeurs parce que c\u2019est juste irr\u00e9conciliable, tout comme la chevalerie avec le christianisme \u00e9tait irr\u00e9conciliable.</p><p>Et autant le christianisme et la chevalerie, les gens du Moyen Age, n\u2019auraient jamais imagin\u00e9 qu\u2019on puisse faire une soci\u00e9t\u00e9 sans \u00e7a parce que c\u2019est des ciments de leur soci\u00e9t\u00e9. Autant aujourd\u2019hui, on ne peut pas imaginer d\u2019avoir une soci\u00e9t\u00e9 sans ces deux valeurs alors qu\u2019il y a des tas d\u2019autres choses qui sont imagin\u00e9es.</p><p>Ce bouquin vous retourne le cerveau. C\u2019est impressionnant.</p><p>Je vous recommande de le lire parce que c\u2019est le point principal qu\u2019il fait dans son livre, mais il en fait d\u2019autres.</p><p>Le deuxi\u00e8me point majeur qu\u2019il fait, c\u2019est qu\u2019on peut avoir des inventions technologiques qui augmentent le nombre d\u2019\u00eatres humains, qui augmentent le bien-\u00eatre d\u2019une petite partie de la population, mais qui peuvent faire en sorte que la soci\u00e9t\u00e9 se porte mieux alors que les individus qui composent la soci\u00e9t\u00e9 se portent moins bien.</p><p>Et il dit\u00a0:\u00a0\u00ab\u00a0Est-ce que fondamentalement, on est plus heureux que le chasseur de la pr\u00e9histoire qui avait 35 ans ou 40 ans d\u2019esp\u00e9rance de vie\u00a0?</p><p>Ce n\u2019est pas s\u00fbr.\u00a0\u00bb</p><p>\u00ab\u00a0Est-ce qu\u2019il y a quelque chose qui peut remplacer la joie extr\u00eame de se balader dans la nature avec une bande de copains et d\u2019aller chasser le mammouth, de vivre une aventure extraordinaire dans des \u00e9tendues sauvages d\u2019une beaut\u00e9 incroyable qu\u2019on ne peut plus avoir aujourd\u2019hui\u00a0? Ou dans des zones tr\u00e8s sp\u00e9cifiques des parcs et encore pas du tout avec le m\u00eame type d\u2019aventure excitante\u00a0?</p><p>Il n\u2019y a sans doute rien dans la vie moderne qui peut remplacer cette excitation, cette joie de faire cette chasse au mammouth, de coop\u00e9rer avec ses amis, et de ramener apr\u00e8s une chasse \u00e0 succ\u00e8s de la nourriture qui est vitale pour le village, de se faire accueillir par le tout village comme des h\u00e9ros.</p><p>Qu\u2019est ce qui peut remplacer cette excitation, cette aventure aujourd\u2019hui dans la vie moderne\u00a0?</p><p>Tr\u00e8s peu de chose. Peut-\u00eatre rien. On n\u2019est pas fondamentalement plus heureux qu\u2019avant.</p><p>Cela ne veut pas dire encore une fois que toutes les innovations n\u2019ont servi \u00e0 rien non plus.</p><p>Finalement, il fait un point tr\u00e8s int\u00e9ressant sur l\u2019importance des histoires pour la coop\u00e9ration et dans le fait que \u00e7a a fa\u00e7onn\u00e9 notre histoire et la supr\u00e9matie qu\u2019on a sur cette plan\u00e8te.</p><p>Les inventions humaines sont extr\u00eamement importantes dans notre r\u00e9ussite, mais je n\u2019avais pas vu \u00e0 quel point les histoires avaient un r\u00f4le important.</p><p>Quand l\u2019auteur dit \u00ab\u00a0histoire\u00a0\u00bb, on a l\u2019impression que c\u2019est p\u00e9joratif quelque part.</p><p>Il met en avant l\u2019esprit positif du truc, mais il dit avant tout\u00a0: c\u2019est enracin\u00e9 dans une fiction.</p><p>Et comme s\u2019il y a fiction en soi, ce n\u2019est pas une chose qui \u00e9tait fonci\u00e8rement mauvais.</p><p>Mais je me suis dit qu\u2019il aurait peut-\u00eatre d\u00fb nuancer avec la notion d\u2019invention.</p><p>Il y a des tas de choses qui nous entourent qui ont \u00e9t\u00e9 invent\u00e9s par les \u00eatres humains et qui n\u2019existaient pas avant\u00a0: ce livre, la table, l\u2019iPad, ma montre, mes v\u00eatements. Tout \u00e7a n\u2019existait pas avant.</p><p>Ce sont des choses qui ont germ\u00e9s dans l\u2019esprit d\u2019un \u00eatre humain \u00e0 la base, qui la r\u00e9alisait concr\u00e8tement. Ensuite, ces inventions se sont r\u00e9pandues et ont \u00e9t\u00e9 am\u00e9lior\u00e9es.</p><p>Au final, on a tr\u00e8s peu de choses qui viennent directement de la nature qu\u2019on utilise aujourd\u2019hui.</p><p>M\u00eame les l\u00e9gumes et les fruits qu\u2019on mange au jour le jour ne sont pas du tout les versions sauvages qui existent dans la nature. Ce sont des versions qui ont \u00e9t\u00e9 am\u00e9lior\u00e9es au fil des mill\u00e9naires.</p><p>Il y a beaucoup de fruits et de l\u00e9gumes qu\u2019on mange qui ont \u00e9t\u00e9 domestiqu\u00e9s il y a des milliers et des milliers d\u2019ann\u00e9es. Et on mange aujourd\u2019hui des supers versions qui ont \u00e9t\u00e9 s\u00e9lectionn\u00e9es pendant des milliers d\u2019ann\u00e9es, qui sont vraiment des OGM \u2013 Organismes G\u00e9n\u00e9tiquement Modifi\u00e9s \u2013 mais de mani\u00e8re naturelle.</p><p>C\u2019est plut\u00f4t artificiel, mais dans un processus de s\u00e9lection longue par rapport \u00e0 leur \u00e9quivalent dans la nature.</p><p>Tous ceux qui ont vu l\u2019\u00e9quivalent sauvage par exemple des tomates, des pommes de terre, de n\u2019importe quel truc qu\u2019on mange r\u00e9guli\u00e8rement ont vu \u00e0 quel point c\u2019est rabougri, c\u2019est tout petit.</p><p>Ce n\u2019est m\u00eame pas bon en g\u00e9n\u00e9ral par rapport \u00e0 la version domestiqu\u00e9e.</p><p>Est-ce que les math\u00e9matiques sont une invention\u00a0ou une d\u00e9couverte de l\u2019homme\u00a0?</p><p>C\u2019est vrai qu\u2019on pouvait se poser la question. On pourrait faire la nuance entre l\u2019invention et la d\u00e9couverte.</p><p>Dans l\u2019id\u00e9e, la d\u00e9couverte, c\u2019est quelque chose qui existe d\u00e9j\u00e0 dans la nature et dont on comprend le fonctionnement.</p><p>Et l\u2019invention, c\u2019est quelque chose qu\u2019on invente dans notre t\u00eate qui n\u2019existait pas avant et qu\u2019on pourra peut-\u00eatre transformer \u00e0 partir d\u2019une d\u00e9couverte.</p><p>Par contre, les math\u00e9matiques sont-elles une invention ou une d\u00e9couverte\u00a0? Parce que quand on dit les nombres 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, le symbole du nombre est une invention.</p><p>Apr\u00e8s, le chiffre 1 existe-t-il vraiment dans la r\u00e9alit\u00e9\u00a0?</p><p>\u00c7a se d\u00e9bat. Par contre, on peut durer qu\u2019effectivement, la notion de quantit\u00e9 existe dans la nature.</p><p>C\u2019est 1 livre, 2 livres. Ce n\u2019est pas compliqu\u00e9 \u00e0 comprendre m\u00eame si en tant que tel, c\u2019est aussi une fiction.</p><p>C\u2019est comment on envisage l\u2019objet aussi qui fait qu\u2019on va \u00eatre capable de dire si c\u2019est un bouquin parce qu\u2019on pourrait aussi envisager le nombre d\u2019atomes qu\u2019il y a dans ce livre. Sans doute plus que de toutes les \u00e9toiles de la galaxie.</p><p>On pourrait compter aussi le nombre de passages, mais la page est une sorte d\u2019entit\u00e9 fictive. Pourquoi la page en elle-m\u00eame serait quelque chose de plus int\u00e9ressant que l\u2019atome du livre\u00a0?</p><p>Quelque part, c\u2019est une invention. Mais en m\u00eame temps, il y a certaines lois math\u00e9matiques qui d\u00e9crivent exactement le comportement d\u2019objets physiques.</p><p>Par exemple, la loi de l\u2019attraction de Newton permet de d\u00e9crire tr\u00e8s exactement les orbites des plan\u00e8tes, sauf dans des cas particuliers o\u00f9 il faut appeler la th\u00e9orie de la relativit\u00e9. Mais on ne va pas aller jusque-l\u00e0.</p><p>Mais en gros, en utilisant la formule math\u00e9matique de Newton, je peux pr\u00e9dire exactement o\u00f9 sera Jupiter dans 1000 ans, dans 10\u00a0000 ans, dans 100\u00a0000 ans, dans un million d\u2019ann\u00e9es avec une marge d\u2019erreur tr\u00e8s faible.</p><p>Et pourtant, j\u2019utilise des symboles qui ont \u00e9t\u00e9 invent\u00e9s par des \u00eatres humains, mais j\u2019utilise cette invention pour pr\u00e9dire o\u00f9 un objet naturel sera dans une p\u00e9riode de temps tr\u00e8s longue.</p><p>Certaines inventions permettent aussi d\u2019avoir un regard pertinent sur le monde et de mieux comprendre comment le monde fonctionne.</p><p>Ce n\u2019est pas forc\u00e9ment des fictions en tant que telles. Ce sont des choses imagin\u00e9es par l\u2019homme qui ont une relation avec la r\u00e9alit\u00e9, qui ont une interface avec la r\u00e9alit\u00e9 qui est meilleure que si elle n\u2019existait pas. Les math\u00e9matiques sont un excellent exemple.</p><p>Apr\u00e8s, vous \u00eates libre d\u2019\u00eatre d\u2019accord ou pas avec moi.</p><p>C\u2019est une critique que je peux faire par rapport \u00e0 l\u2019auteur, mais c\u2019est un point de d\u00e9tail.</p><p>\u00ab\u00a0Sapiens\u00a0: Une br\u00e8ve histoire de l\u2019humanit\u00e9\u00a0\u00bb est un livre qui est extr\u00eamement riche et que je recommande fortement de lire.</p><p>En plus, \u00e7a a \u00e9t\u00e9 traduit en fran\u00e7ais. Vous n\u2019avez aucune excuse. \u00c7a vous retourne vraiment le cerveau.</p><p>Est-ce que \u00e7a vous a apport\u00e9 quelque chose concr\u00e8tement dans votre business ou dans votre vie\u00a0?</p><p>Dans votre business, je ne suis pas s\u00fbr. Dans votre vie, je le pense.</p><p>Je trouve que ce genre de livres est extr\u00eamement int\u00e9ressant parce que cela \u00e9largit notre vision.</p><p>C\u2019est ce genre de culture qu\u2019on doit enseigner \u00e0 l\u2019\u00e9cole parce que \u00e7a nous permet de relativiser certaines choses, de s\u2019extirper un petit peu des normes de la soci\u00e9t\u00e9. C\u2019est ce que permet de faire le voyage aussi\u00a0: d\u2019avoir davantage de libert\u00e9 par rapport \u00e0 ces normes-l\u00e0, d\u2019imagination, de pouvoir aussi pour accompagner les changements, les cr\u00e9er et les provoquer.</p><p>Aussi, gr\u00e2ce \u00e0 la critique qui fait les normes actuelles, les valeurs actuelles, cela nous permet d\u2019anticiper, m\u00eame si c\u2019est de mani\u00e8re confuse, m\u00eame si on se demande o\u00f9 cela va nous mener.</p><p>\u00c7a nous permet d\u2019anticiper de futures \u00e9volutions et d\u2019\u00eatre mieux pr\u00e9par\u00e9 aux \u00e9volutions du XXI<sup>e\u00a0</sup>si\u00e8cle qui vont sans doute \u00eatre extr\u00eamement nombreuses.</p><p>Du coup, \u00e7a nous permet d\u2019avoir cet \u00e9tat d\u2019esprit souple dont je parle aussi dans \u00ab\u00a0Tout le monde n\u2019a pas eu la chance de rater ses \u00e9tudes\u00a0\u00bb et qui, selon moi, est une des comp\u00e9tences fondamentales \u00e0 avoir dans le XXI<sup>e</sup> si\u00e8cle.</p><p>On est dans une soci\u00e9t\u00e9 qui change de plus en plus vite, que ce soit au niveau technologique mais aussi au niveau des comportements et au niveau soci\u00e9tal.</p><p>Et c\u2019est tr\u00e8s important.</p><p>Ce genre de livre, en nous retournant le cerveau, en nous faisant fondre l\u2019esprit certains neurones, en faisant connecter certains neurones qui n\u2019avaient jamais \u00e9t\u00e9 connect\u00e9s, nous permet d\u2019entretenir cette souplesse et cette adaptabilit\u00e9 qui sont extr\u00eamement importants.</p><p>C\u2019est un livre que je vous recommande fortement\u00a0: \u00ab\u00a0Sapiens\u00a0: Une br\u00e8ve histoire de l\u2019humanit\u00e9\u00a0\u00bb.</p><p>Il a aussi \u00e9crit une suite \u00e0 ce livre.</p><p>Ce n\u2019est pas vraiment une suite, \u00e7a peut se lire ind\u00e9pendamment, qui s\u2019appelle \u00ab\u00a0Homo Deus\u00a0\u00bb. Mais d\u00e9j\u00e0, commencez par \u00ab\u00a0Sapiens\u00a0: Une br\u00e8ve histoire de l\u2019humanit\u00e9\u00a0\u00bb de Yuval Noah Harari.</p>",
    "created_at": "2022-05-02T07:52:45+00:00",
    "updated_at": "2022-05-02T07:52:54+00:00",
    "published_at": "2019-02-14T16:00:18+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 31,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2019/02/livre-sapiens-yuval-noah-harari.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["livre", "sagesse", "roman"],
    "is_public": false,
    "id": 16,
    "title": "L'\u00c2ME DU MONDE R\u00e9sum\u00e9 et avis - Fr\u00e9d\u00e9ric Lenoir",
    "url": "https://des-livres-pour-changer-de-vie.com/lame-du-monde/",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><p><a href=\"https://amzn.to/2vcEKRl\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external\">\n<p><img class=\"aligncenter wp-image-17788\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/01/lame-du-monde-frederic-lenoir-768x1259.jpg\" alt=\"l'ame du monde fr\u00e9d\u00e9ric lenoir - Les sept cl\u00e9s de la sagesse\" width=\"214\" height=\"350\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/01/lame-du-monde-frederic-lenoir-768x1259.jpg 768w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/01/lame-du-monde-frederic-lenoir-183x300.jpg 183w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/01/lame-du-monde-frederic-lenoir-625x1024.jpg 625w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/01/lame-du-monde-frederic-lenoir.jpg 800w\" referrerpolicy=\"no-referrer\" /></p>\n</a></p><blockquote>\n<p><strong>R\u00e9sum\u00e9 de \u00ab\u00a0<em>L\u2019\u00c2me du monde\u00a0\u00bb</em>\u00a0de Fr\u00e9d\u00e9ric Lenoir\u00a0</strong>: En r\u00e9unissant <strong>sept sages</strong> de cultures et de religions diff\u00e9rentes, Fr\u00e9d\u00e9ric Lenoir nous invite, dans ce roman, \u00e0 nous questionner sur ce qui donne un <strong>r\u00e9el sens \u00e0 la vie,\u00a0</strong>et gr\u00e2ce aux sept <strong>cl\u00e9s de la sagesse</strong>, il nous aide \u00e0 progresser pour <strong>vivre bien,</strong> en accord avec nous-m\u00eame et notre environnement.</p>\n</blockquote><p>Par <strong>Fr\u00e9d\u00e9ric Lenoir</strong>, 2012, 160 pages</p><h2><strong>Chronique et r\u00e9sum\u00e9 de \u00ab\u00a0<em>L\u2019\u00c2me du monde\u00a0\u00bb</em>\u00a0de Fr\u00e9d\u00e9ric Lenoir</strong></h2><h3><strong>Premi\u00e8re partie de \u00ab\u00a0<em>L\u2019\u00c2me du monde</em>\u00a0\u00bb\u00a0: Au pied de la montagne blanche</strong></h3><p>Le r\u00e9cit de \u00ab\u00a0<em>L\u2019\u00c2me du monde\u00a0\u00bb</em> de Fr\u00e9d\u00e9ric Lenoir commence ainsi\u00a0: sept sages per\u00e7oivent un message au m\u00eame moment et dans divers endroits. Chacun est invit\u00e9, parfois avec autorit\u00e9, pour certains avec malice \u00e0 se rendre dans un monast\u00e8re bouddhique du Tibet.</p><h3><strong>1.1 \u2013 Partir</strong></h3><ul><li>\n<h4><strong>Le vieux rabbin Salomon (ou Schlomo)</strong></h4>\n</li>\n</ul><p>Le rabbin Salomon entend une voix lui souffler \u00ab\u00a0Va \u00e0 Toulanka\u00a0\u00bb. Son appartenance au courant lib\u00e9ral du journalisme l\u2019a amen\u00e9 \u00e0 quitter New York pour aller vivre \u00e0 J\u00e9rusalem avec sa famille. L\u2019id\u00e9e de se rendre au Tibet \u00e0 l\u2019\u00e2ge de 82 ans est pour le moins saugrenue et donc fort int\u00e9ressante\u00a0!</p><ul><li>\n<h4><strong>Ansya la chamane</strong></h4>\n</li>\n</ul><p>En Mongolie, Ansya n\u2019arrive pas \u00e0 trouver le sommeil et sort de sa yourte pour contempler le ciel \u00e9toil\u00e9. Cette nuit-l\u00e0, une vision lui appara\u00eet. Ne sachant pas comment interpr\u00e9ter cet esprit lumineux, elle en parle \u00e0 sa vieille tante chamane qui lui avoue avoir vu en r\u00eave qu\u2019elle devait partir d\u00e8s l\u2019aube pour un temple \u00e0 la fronti\u00e8re de la Chine et de l\u2019Inde.</p><ul><li>\n<h4><strong>Le p\u00e8re Pedro</strong></h4>\n</li>\n</ul><p>Le p\u00e8re Pedro est originaire de Salvador de Bahia au Br\u00e9sil et vit dans l\u2019\u00c9tat am\u00e9ricain de l\u2019Oregon depuis 25 ans. Ce moine catholique a quitt\u00e9 un monast\u00e8re trappiste pour un modeste ermitage pour y pratiquer la pri\u00e8re perp\u00e9tuelle. C\u2019\u00e9tait sans compter sur une petite fille venue le visiter dans son sommeil. Croyant au caract\u00e8re magique des r\u00eaves, il accepte, lui aussi de se rendre en Chine pour r\u00e9pondre \u00e0 cet appel intriguant.</p><ul><li>\n<h4><strong>Ma Ananda la femme hindoue</strong></h4>\n</li>\n</ul><p>Dans le nord de l\u2019Inde, Ma Ananda, une femme hindoue a \u00e9t\u00e9 reconnue \u00ab\u00a0d\u00e9livr\u00e9e vivante\u00a0\u00bb d\u00e8s son enfance. Ce statut lui conf\u00e8re le droit de s\u2019\u00e9lever au rang de grande sainte. Ma Ananda enseigne la bonne parole dans son modeste ashram. Elle part brutalement au petit matin, sans dire \u00e0 ses disciples ni o\u00f9 elle se rend, ni pour combien de temps.</p><ul><li>\n<h4><strong>Ma\u00eetre Kong le vieux sage chinois</strong></h4>\n</li>\n</ul><p>Pr\u00e8s de Shanghai, Ma\u00eetre Kong est un vieux sage chinois en charge d\u2019un petit temple tao\u00efste. Vivant tr\u00e8s modestement avec sa femme, il enseigne \u00e0 ses disciples les fondements de la sagesse chinoise. Cela ne lui emp\u00eache pas de se tourner vers la modernit\u00e9 et d\u2019attraper le virus de la technologie. C\u2019est par le biais de son GPS qu\u2019il prend connaissance de la destination o\u00f9 il doit se rendre.</p><ul><li>\n<h4><strong>Cheik Yossuf le musulman</strong></h4>\n</li>\n</ul><p>Au Nig\u00e9ria, Cheik Yossuf est le fondateur d\u2019une confr\u00e9rie musulmane soufie. Le musulman est tr\u00e8s surpris de voir appara\u00eetre des lettres lumineuses sur le livre qu\u2019il est en train de lire. Il peut y lire Toulanka avant que le vent souffle les pages de son Coran vers la premi\u00e8re sourate. Cheik Yossuf n\u2019est pas tr\u00e8s enjou\u00e9 de laisser sa femme qui vient d\u2019accoucher, mais l\u2019appel est trop fort. Il prend \u00e9galement la route vers le monast\u00e8re.</p><ul><li>\n<h4><strong>Gabrielle la philosophe</strong></h4>\n</li>\n</ul><p>Gabrielle habite \u00e0 Amsterdam. Cette femme brillante enseigne la philosophie grecque, avec une approche la\u00efque tourn\u00e9e vers le bien-\u00eatre personnel. Un jour, en regardant un documentaire sur le monast\u00e8re de Toulanka, elle est parcourue de frissons inexplicables. Elle cherche alors un moyen de faire garder sa jeune fille Natina, sans succ\u00e8s. N\u2019ayant pas d\u2019autre solution, Gabrielle se dit qu\u2019il doit s\u00fbrement en \u00eatre ainsi et accepte que sa fille l\u2019accompagne au Tibet.</p><h3><strong>1.2 \u2013 Le monast\u00e8re</strong></h3><p>Moins d\u2019une semaine apr\u00e8s cet appel \u00e9trange, Rabbi Schlomo, la chamane Ansya, le p\u00e8re Pedro, Ma Ananda, Ma\u00eetre Kong, Cheik Youssuf, Gabrielle et sa fille Natina se retrouvent dans l\u2019unique h\u00f4tel de la bourgade. Ils font connaissance en \u00e9changeant en anglais. Tous s\u2019aper\u00e7oivent tr\u00e8s vite qu\u2019ils sont l\u00e0 pour la m\u00eame chose. Cependant, la raison r\u00e9elle leur \u00e9chappe. Lorsque Lama Dorj\u00e9, un vieux lama tib\u00e9tain les rejoint, il leur demande de les suivre jusqu\u2019au monast\u00e8re.</p><p>Face aux sages qui s\u2019interrogent quant \u00e0 la raison de cette exp\u00e9dition, Lama Dorj\u00e9 esquisse un petit sourire. Ce dernier a r\u00eav\u00e9 qu\u2019il devait venir chercher 4 hommes, 3 femmes et une jeune fille blonde au village. Mise \u00e0 part qu\u2019il s\u2019agit de 7 sages \u00e9trangers, il ne sait rien d\u2019autre sur sa mission.</p><h3><strong>1.3 \u2013 Tenzin</strong></h3><p>Il leur faut 3 jours de marche \u00e0 pied pour atteindre enfin le temple de Toulanka. La difficult\u00e9 de l\u2019ascension est compens\u00e9e par la beaut\u00e9 grandiose des paysages.</p><p>Dans le temple, une vingtaine de moines vivent autour d\u2019un jeune lama de 12 ans\u00a0: Tenzin Pema Rinpoch\u00e9. Tenzin est la r\u00e9incarnation de Lama Tokden Rinpoch\u00e9, pr\u00e9c\u00e9dent chef des lieux et grand ma\u00eetre spirituel.</p><ul><li><strong>\u00ab\u00a0Avant de mourir, Lama Tokden avait demand\u00e9 qu\u2019on forme son successeur dans une double culture tib\u00e9taine et occidentale.\u00a0\u00bb</strong></li>\n</ul><p>Lama Tokden Rinpoch\u00e9 avait, avant de mourir, d\u00e9sign\u00e9 Lama Dorj\u00e9 pour se charger de trouver la personne de sa future r\u00e9incarnation. La rencontre entre Lama Dorj\u00e9 et Tenzin Pema Rinponch\u00e9 a lieu lorsque le petit Tenzin n\u2019a que deux ans, mais elle est \u00e9vidente pour chacun d\u2019entre eux. La famille de Tenzin accepte de laisser l\u2019enfant aux bons soins des moines. On fit appel \u00e0 un moine ayant v\u00e9cu au Canada pour lui apprendre l\u2019anglais. Selon les v\u0153ux de son pr\u00e9d\u00e9cesseur, il n\u2019est pas ordonn\u00e9 moine, de mani\u00e8re \u00e0 ce qu\u2019il puisse choisir entre une vie monastique ou la\u00efque \u00e0 sa majorit\u00e9.</p><p>Tenzin Pema Rinpoch\u00e9 fait preuve d\u2019une maturit\u00e9 \u00e9tonnante et remercie tous ces sages d\u2019\u00eatre venus. Il constate qu\u2019il a \u00e0 faire \u00e0 huit repr\u00e9sentants des principaux courants spirituels du monde. Il inclut \u00e9videmment la personne de Lama Dorj\u00e9 dans sa liste.</p><ul><li><strong>\u00ab\u00a0Je suis heureux qu\u2019une jeune fille aux cheveux de soleil et aux yeux du ciel vous accompagne.\u00a0\u00bb</strong></li>\n</ul><p>Le jeune gar\u00e7on s\u2019adresse ensuite \u00e0 la jeune Natina pour lui dire qu\u2019elle doit \u00eatre d\u2019une grande sagesse pour faire partie de cette r\u00e9union.\u00a0Le p\u00e8re Pedro prend la parole pour le remercier de son accueil. Il lui demande de leur en dire plus sur la raison de ce voyage commun. Devant ses compagnons m\u00e9dus\u00e9s, le jeune lama lui r\u00e9pond que, lui, n\u2019a pas entendu de voix et n\u2019a pas eu de vision non plus.</p><p>Cheik Youssuf est le plus impatient. Serait-il possible de donner des nouvelles \u00e0 leurs familles\u00a0? Lama Dorj\u00e9 l\u2019informe que le temple ne dispose ni de t\u00e9l\u00e9phone, ni d\u2019Internet.\u00a0Leur crainte s\u2019estompe quand Ma\u00eetre Kong leur avoue avoir emmen\u00e9 son ordinateur et son t\u00e9l\u00e9phone satellitaire.\u00a0Les probl\u00e8mes de communications sont d\u00e9j\u00e0 oubli\u00e9s.</p><h3><strong>1.4 \u2013 Une source, un \u00e9l\u00e9phant et une montagne</strong></h3><p>Tous se c\u00f4toient dans la bonne humeur et \u00e9changent autour de leurs courants spirituels. Ils s\u2019\u00e9tonnent qu\u2019il existe autant de points communs dans leurs spiritualit\u00e9s, malgr\u00e9 des divergences th\u00e9oriques bien ancr\u00e9es.</p><p>Ma Ananda remarque que leurs langages sont diff\u00e9rents, mais que les exp\u00e9riences spirituelles de chacun sont tr\u00e8s proches. Elle est rejointe par le p\u00e8re Pedro qui exprime sa propre impression\u00a0: \u00ab\u00a0nous sommes tous en qu\u00eate de la sagesse \u00e9ternelle\u00a0\u00bb.\u00a0Rabbi Schlomo ajoute qu\u2019ils sont \u00e9galement tous en-dehors de tout dogmatisme.</p><ul><li>\n<h4><strong>\u00ab\u00a0Vous connaissez la parabole de l\u2019\u00e9l\u00e9phant\u00a0?\u00a0\u00bb</strong></h4>\n</li>\n</ul><p><img class=\"aligncenter size-full wp-image-17791 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/la-parabole-de-lelephant-lame-du-monde.jpg?is-pending-load=1\" alt=\"la parabole de l'\u00e9l\u00e9phant l'\u00e2me du monde\" width=\"640\" height=\"425\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/la-parabole-de-lelephant-lame-du-monde.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/la-parabole-de-lelephant-lame-du-monde-300x199.jpg 300w\" data-lazy-sizes=\"(max-width: 640px) 100vw, 640px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-17791\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/la-parabole-de-lelephant-lame-du-monde.jpg\" alt=\"la parabole de l'\u00e9l\u00e9phant l'\u00e2me du monde\" width=\"640\" height=\"425\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/la-parabole-de-lelephant-lame-du-monde.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/la-parabole-de-lelephant-lame-du-monde-300x199.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p>Le Cheik Youssuf raconte alors \u00e0 ceux qui l\u2019ignorent ce qu\u2019est la <em>parabole de l\u2019\u00e9l\u00e9phant</em>. Cette histoire est la suivante\u00a0:</p><p>Un jour, un roi r\u00e9unit des aveugles de naissance n\u2019ayant jamais (touch\u00e9) vu un \u00e9l\u00e9phant. Il leur demande d\u2019explorer l\u2019animal avec leurs mains. Chacun s\u2019attarde alors sur l\u2019une des parties de son corps. Et au final, tous ont une interpr\u00e9tation tr\u00e8s diff\u00e9rente de ce qu\u2019ils ont per\u00e7u. L\u2019un y voit une liane, un autre, un arbre, un troisi\u00e8me qui a touch\u00e9 l\u2019oreille reconna\u00eet une feuille de bananier. Chacun accusant l\u2019autre de mauvaise foi, le roi doit intervenir.</p><p>Rabbi Schlomo ajoute que l\u2019\u00e9l\u00e9phant a une composition unique. Ce sont donc bien les perceptions limit\u00e9es de chacun qui en faussent l\u2019appr\u00e9ciation.</p><ul><li>\n<h4><strong>\u00ab\u00a0Avant la naissance du monde, Dieu emplissait tout l\u2019espace\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Rabbi Schlomo explique ensuite aux autres sages \u00ab\u00a0la th\u00e9orie de Tsimtsoum\u00a0\u00bb port\u00e9e par la tradition kabbalistique. Elle repr\u00e9sente la dissimulation de la Lumi\u00e8re divine selon laquelle chaque \u00eatre b\u00e9n\u00e9ficie d\u2019une partie de cette clart\u00e9. Ainsi, aucun ne peut affirmer poss\u00e9der la totalit\u00e9 de la R\u00e9v\u00e9lation.\u00a0Ils tombent d\u2019accord sur le fait que chacun a besoin des autres pour mieux appr\u00e9hender la Lumi\u00e8re divine.</p><p>Ma Ananda apporte sa pierre \u00e0 l\u2019\u00e9difice en utilisant une m\u00e9taphore environnante. Elle d\u00e9clare que chaque montagne est diff\u00e9rente. Le plus important n\u2019est pas la montagne gravie, mais le chemin parcouru. Il en est de m\u00eame pour la vie spirituelle, qui se nourrit par le foisonnement de ses chemins.</p><h3><strong>1.5 \u2013 \u00c9mois amoureux</strong></h3><p>Au fil des jours, chacun prend progressivement ses quartiers pour se recueillir.</p><p>Seuls les deux plus jeunes continuent \u00e0 se d\u00e9couvrir. La noirceur de la chevelure de Tenzin contraste avec la lumi\u00e8re irradiant du physique de Natina. Chacun est fascin\u00e9 par la profondeur des connaissances de l\u2019autre. La spiritualit\u00e9 tib\u00e9taine rencontre la culture \u00e9clectique Occidentale doubl\u00e9e de la culture du web. Tous deux prennent l\u2019habitude de faire de longues promenades autour du monast\u00e8re. Tenzin est de plus en plus troubl\u00e9 par la jeune fille, et au d\u00e9tour d\u2019une course joyeuse, main dans la main, il se sent tr\u00e8s \u00e9mu. Alors que la jeune N\u00e9erlandaise lui touche la poitrine, elle sent son c\u0153ur battre la chamade.</p><ul><li>\n<h4><strong>\u00ab\u00a0Tu es peut-\u00eatre amoureux mon gar\u00e7on\u00a0!\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Le gar\u00e7on entre alors dans un silence g\u00ean\u00e9 jusqu\u2019au soir, puis finit par se confier au Lama Dorj\u00e9. Avec un petit sourire malicieux, ce dernier lui r\u00e9pond qu\u2019il est peut-\u00eatre en train de tomber amoureux. Il lui conseille de prendre un peu de distance, car il le trouve jeune. De plus, cet engouement n\u2019est pas forc\u00e9ment compatible avec sa destin\u00e9e. Pourtant, ce serait un excellent <a href=\"https://des-livres-pour-changer-de-vie.com/la-meditation-une-recherche-contemplative/\" target=\"_blank\" rel=\"noopener noreferrer\">exercice de m\u00e9ditation</a> sur la transformation de ses \u00e9motions. Ainsi, l\u2019id\u00e9e serait d\u2019arriver \u00e0 transformer cet amour en sentiment noble, au lieu de le subir.</p><p>De son c\u00f4t\u00e9, la jeune fille ouvre son c\u0153ur \u00e0 sa m\u00e8re. Gabrielle lui conseille d\u2019\u00eatre plus r\u00e9serv\u00e9e face au jeune homme qui n\u2019a pas l\u2019habitude de c\u00f4toyer des jeunes filles.</p><p>Les jours suivants, Tenzin et Natina continuent d\u2019\u00e9changer en s\u2019\u00e9merveillant de leurs diff\u00e9rences. Une profonde affection na\u00eet entre eux. Ils s\u2019imaginent d\u00e9j\u00e0 en train de correspondre une fois que Natina sera rentr\u00e9e chez elle.</p><ul><li>\n<h4><strong>\u00ab\u00a0Nous ne prions pas ensemble, mais nous sommes ensemble dans la pri\u00e8re.\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Si les autres sages se rencontrent peu, ils admettent \u00eatre ensemble dans la pri\u00e8re. Cela prend la forme d\u2019une m\u00e9ditation silencieuse apr\u00e8s le repas du soir. Au fil des jours, ce moment devient de plus en plus important, tout en devenant pesant. Cela fait d\u00e9j\u00e0 17 jours qu\u2019ils ont respectivement quitt\u00e9 les leurs.</p><p>Au r\u00e9veil, chacun cherche un signe dans le regard de ses cong\u00e9n\u00e8res, pour y trouver une intuition nocturne. Gabrielle, qui ne veut pas faire rater la rentr\u00e9e scolaire \u00e0 sa fille, d\u00e9cide de prendre les devants.\u00a0Quand elle annonce avoir d\u00e9cid\u00e9 de partir le lendemain, les autres manifestent leur intention de faire de m\u00eame.</p><h3><strong>1.6 \u2013 Songes</strong></h3><p>Le petit-d\u00e9jeuner du lendemain est marqu\u00e9 par plusieurs impressions \u00e9tonnantes. Tout le monde a fait le m\u00eame r\u00eave\u00a0: celui que leur lieu de culte, d\u2019enseignement ou de r\u00e9sidence \u00e9tait d\u00e9vast\u00e9.\u00a0Pour le p\u00e8re Pedro, c\u2019est incroyable que tous y aient song\u00e9 au cours de la m\u00eame nuit. Tous sont intimement persuad\u00e9s que ce message est destin\u00e9 \u00e0 les faire rester. \u00c9tait-ce un message annon\u00e7ant une catastrophe qui pourrait faire dispara\u00eetre l\u2019humanit\u00e9\u00a0?</p><p>Pour le p\u00e8re Pedro, il s\u2019agit plus d\u2019un changement radical qui va s\u2019op\u00e9rer au c\u0153ur des religions. Il voit \u00e9merger une nouvelle \u00e8re coup\u00e9e de ces racines m\u00e9taphysiques.\u00a0Gabrielle fait la remarque que cette tendance \u00e9tait d\u00e9j\u00e0 en marche dans le monde moderne avec l\u2019oubli de son pass\u00e9 religieux. Pourtant, d\u2019autres sont d\u2019accord pour noter que des retours \u00e0 la religion sont aussi visibles.</p><p>Alors, de quoi s\u2019agissait-il\u00a0?</p><ul><li>\n<h4><strong>\u00ab\u00a0Et si nous avions \u00e9t\u00e9 r\u00e9unis pour \u00e9laborer ensemble un enseignement\u00a0?\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Cheik Youssuf se questionne \u00e0 voix haute. Devant la mine dubitative des autres, Ma Ananda vient \u00e0 son secours. Elle affirme \u00e0 son tour qu\u2019elle pressent qu\u2019ils sont l\u00e0 pour d\u00e9passer leurs diff\u00e9rences et tenter de formuler ensemble les <a href=\"https://des-livres-pour-changer-de-vie.com/les-5-perles-de-sagesse-que-vous-devez-savoir-avant-de-mourir/\" target=\"_blank\" rel=\"noopener noreferrer\">fondements universels de la sagesse</a>.</p><p>Les huit protagonistes s\u2019accordent alors sur deux orientations \u00e0 prendre en compte\u00a0:</p><ul><li>Quoi dire\u00a0?</li>\n<li>Sur quel support\u00a0?</li>\n</ul><p>Certains, comme Rabbi Schlomo voit bien ce texte sur du papier, d\u2019autres l\u2019imaginent plus sur du bois ou de la pierre. Mais ces r\u00e9flexions sont balay\u00e9es par d\u2019autres questionnements. Comment \u00e9laborer des lois spirituelles sans risquer d\u2019y m\u00ealer la petite compr\u00e9hension de la sagesse propre \u00e0 chacun\u00a0?</p><p>Ansya a alors une intuition. Elle demande aux deux jeunes gens s\u2019ils ont \u00e9galement fait ce r\u00eave\u00a0?</p><ul><li>\n<h4><strong>\u00ab\u00a0Et vous\u00a0? Avez-vous fait un r\u00eave\u00a0?\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Alors que Natina commence \u00e0 \u00e9voquer son r\u00eave, Tenzin poursuit de le raconter. Ils ont tous deux fait le m\u00eame songe. Celui d\u2019une rivi\u00e8re minuscule irrigu\u00e9e par 8 rivi\u00e8res, qui devient un grand fleuve. Son eau remplit alors un d\u00e9sert o\u00f9 des plantes se mettent \u00e0 pousser.</p><p>Tous prennent alors conscience que la meilleure fa\u00e7on d\u2019enseigner ces r\u00e8gles de la spiritualit\u00e9 est l\u2019oralit\u00e9. Les deux jeunes adolescents devront ensuite les int\u00e9grer et se les approprier. Ensuite, ils pourraient les diffuser selon leur propre ressenti.</p><p>Une fois la question du contenant r\u00e9solue, il faut maintenant se pencher sur le contenu.</p><h3><strong>1.7 \u2013 L\u2019essentiel est invisible pour les yeux</strong></h3><p>Dans cette partie de \u00ab\u00a0<em>L\u2019</em><em>\u00c2me du Monde\u00a0\u00bb</em>, Fr\u00e9d\u00e9ric Lenoir met les 7 sages \u00e0 l\u2019\u00e9preuve. En effet, conscients que les choses qui les s\u00e9parent sont plus \u00e9videntes que celles qui les rassemblent, les sages se sentent dans l\u2019impasse. Gabrielle avance une probl\u00e9matique de taille\u00a0: l\u2019Absolu de chacun ne peut \u00eatre entach\u00e9. Pour elle, Dieu se confond avec la Nature, pour les autres, il est un \u00eatre supr\u00eame.</p><p>Cheik Youssuf explose de rire et sugg\u00e8re de ne pas parler de Dieu.</p><blockquote>\n<p>\u00ab\u00a0<a href=\"https://des-livres-pour-changer-de-vie.com/le-petit-prince/\" target=\"_blank\" rel=\"noopener noreferrer\">Et si nous parlions du visible et de l\u2019invisible</a>, plut\u00f4t\u00a0?\u00a0\u00bb</p>\n</blockquote><p>Chacun se met alors \u00e0 r\u00e9fl\u00e9chir \u00e0 cette notion dans sa propre pratique de la spiritualit\u00e9\u00a0:</p><ul><li>Ma\u00eetre Kong avance que la m\u00e9decine chinoise est fond\u00e9e sur ce postulat. Il existe des flux invisibles qui sont bien r\u00e9els et sur lesquels il est possible d\u2019intervenir.</li>\n<li>Ansia, la femme chamane, fait remarquer que lorsqu\u2019elle entre en transe, elle per\u00e7oit des entit\u00e9s invisibles.</li>\n<li>Le rabbin y va de sa r\u00e9flexion, selon laquelle une partie invisible vient compl\u00e9ter le corps physique. Il ajoute que l\u2019immortalit\u00e9 de cette \u00e2me est aussi une chose qu\u2019ils partagent tous.</li>\n<li>Gabrielle cite plusieurs philosophes selon lesquels il existe une \u00e2me spirituelle qui est immortelle.</li>\n<li>Lama Djork\u00e9 vient apporter une nuance\u00a0: <a href=\"https://des-livres-pour-changer-de-vie.com/mon-week-end-dans-un-monastere-bouddhiste/\" target=\"_blank\" rel=\"noopener noreferrer\">pour les bouddhistes</a>, l\u2019esprit n\u2019a ni fin, ni commencement. Il transmigre de corps en corps, jusqu\u2019\u00e0 aboutir au stade supr\u00eame\u00a0: \u00ab\u00a0l\u2019\u00c9veil\u00a0\u00bb.</li>\n<li>Le p\u00e8re Pedro admet \u00e0 son tour que de nombreuses \u00e2mes de d\u00e9funts connaissent s\u00fbrement un \u00e9tat m\u00e9dian entre l\u2019enfer et le paradis.</li>\n<li>Ma Ananda conclut qu\u2019ils ont, en effet, tous de l\u2019int\u00e9r\u00eat pour la vie de leur esprit apr\u00e8s la mort.</li>\n</ul><p>Partant de ce constat, il leur appara\u00eet clairement que le plus important \u00e0 transmettre est leur attitude \u00e0 avoir. Celle qui les conduit \u00e0 mener une vie juste et bonne. Pour cela, ils tenteront de lister les principes fondamentaux de la sagesse. Ainsi, chacun va devoir s\u2019isoler et r\u00e9fl\u00e9chir \u00e0 cela avant de mettre leurs d\u00e9couvertes en commun.</p><h3><strong>1.8 \u2013 Le cerf-volant et l\u2019\u00c2me du monde</strong></h3><p>Les deux adolescents ont \u00e9cout\u00e9 avec attention les paroles des sages. Ils ressortent pourtant anxieux de cette discussion. En effet, chacun se demande s\u2019il sera \u00e0 la hauteur pour comprendre et enseigner cette parole. Finalement, ils tombent d\u2019accord sur le fait qu\u2019ils y arriveront \u00e0 deux, en se soutenant. Puis, pour d\u00e9tendre leur esprit, ils d\u00e9cident d\u2019aller jouer au cerf-volant et d\u2019ex\u00e9cuter des exercices de yoga.</p><p>Chaque sage s\u2019isole dans sa cellule pendant trois jours. Ensuite, ils \u00e9changent pendant quatre jours dans la salle commune. Ils s\u2019y restaurent et n\u2019en sortent que tard le soir.</p><p>Lorsqu\u2019au cinqui\u00e8me jour, les cloches se mettent \u00e0 sonner toutes seules, les sages comprennent qu\u2019il est, \u00e0 pr\u00e9sent, temps d\u2019agir. Ce signe peut aussi \u00eatre de mauvais augure. Il faut donc se presser et agir. D\u00e8s le lendemain, ils commencent leur transmission aux deux enfants assis en tailleur. Ces derniers semblent fatigu\u00e9s et concentr\u00e9s.</p><blockquote>\n<p>\u00ab\u00a0Mes enfants, nous sommes parvenus \u00e0 nous entendre sur sept points principaux qui r\u00e9sument l\u2019essentiel de la sagesse humaine.\u00a0\u00bb</p>\n</blockquote><p>Fr\u00e9d\u00e9ric Lenoir donne alors la parole aux 7 sages pour d\u00e9voiler leurs r\u00e9flexions. Pour \u00e9viter de faire allusion \u00e0 sa religion, personne n\u2019emploiera jamais son Dieu ou \u00e9quivalent\u00a0: cette entit\u00e9 supr\u00eame est alors appel\u00e9e l\u2019\u00c2me du monde. Tir\u00e9e de la philosophie grecque, cette formule suppose l\u2019existence d\u2019une force bonne et myst\u00e9rieuse. Essentiellement charg\u00e9e de maintenir l\u2019ordre du monde, elle peut ainsi \u00eatre interpr\u00e9t\u00e9e par chaque sage dans son for int\u00e9rieur.</p><p>Pour conclure, Tenzin et Natina sont invit\u00e9s \u00e0 les \u00e9couter avec leur intelligence et aussi avec leur c\u0153ur. Ils sont d\u00e9sormais pr\u00eats \u00e0 entrer dans les sanctuaires de l\u2019esprit et du c\u0153ur.</p><h3><strong>Deuxi\u00e8me partie de \u00ab\u00a0<em>l\u2019\u00c2me du monde\u00a0\u00bb</em>\u00a0: Les sept cl\u00e9s de la sagesse</strong></h3><p>Dans cette deuxi\u00e8me partie de \u00ab\u00a0<em>L\u2019\u00c2me du Monde\u00a0\u00bb</em>, les sages s\u2019accordent sur le fait qu\u2019ils enseigneront, chaque jour, un principe aux deux jeunes gens. Les points principaux mis en lumi\u00e8re par Fr\u00e9d\u00e9ric Lenoir seront alors abord\u00e9s en 7 jours.</p><h3><strong>Jour 1\u00a0: Le port et la source | <em>Du <em>se</em>ns de la vie\u00a0</em></strong></h3><p>Beaucoup d\u2019<a href=\"https://des-livres-pour-changer-de-vie.com/80-hommes-pour-changer-le-monde/\" target=\"_blank\" rel=\"noopener noreferrer\">hommes qui ont acc\u00e8s \u00e0 la richesse et au pouvoir</a> se contentent de cela sans s\u2019interroger r\u00e9ellement sur la signification de leurs existences. Pourtant, ceux qui n\u2019attachent de l\u2019importance qu\u2019\u00e0 leurs besoins imm\u00e9diats ne pourront pas r\u00e9ellement s\u2019accomplir. Il faut se poser diff\u00e9rentes questions fondamentales qui permettent d\u2019atteindre un bonheur v\u00e9ritable et durable. Car c\u2019est pr\u00e9cis\u00e9ment ce qui nous diff\u00e9rencie des animaux\u00a0: cette conscience du plaisir et du d\u00e9plaisir. Finalement, c\u2019est cela qui nous aide \u00e0 ma\u00eetriser nos \u00e9motions et nos pulsions.</p><ul><li>\n<h4><strong>\u00ab\u00a0La grandeur de l\u2019\u00eatre humain, c\u2019est qu\u2019il est le seul \u00eatre vivant qui puisse s\u2019interroger sur la signification de son existence et lui donner une direction, un but.\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Pour commencer, il est important de bien r\u00e9ussir sa vie pour ne pas avoir de regrets au moment de sa mort. Et il faut la vivre de mani\u00e8re proprement humaine.</p><p>L\u2019homme doit avoir conscience qu\u2019il poss\u00e8de en lui deux tr\u00e9sors inestimables\u00a0:</p><ul><li>La clart\u00e9 de l\u2019esprit, synonyme de libert\u00e9.</li>\n<li>La bont\u00e9 du c\u0153ur, qui m\u00e8ne au <a href=\"https://des-livres-pour-changer-de-vie.com/lart-du-bonheur/\" target=\"_blank\" rel=\"noopener noreferrer\">bonheur</a>.</li>\n</ul><p>La vie est comme un voyage pendant lequel nous devons faire des choix pour nous construire. Cependant, cette \u00e9volution est parsem\u00e9e d\u2019obstacles ind\u00e9pendants de notre volont\u00e9. Nous sommes \u00e9galement confront\u00e9s \u00e0 des \u00e9motions d\u00e9stabilisantes\u00a0: la peur, la col\u00e8re, la jalousie, etc. Au fond, il faut apprendre \u00e0 vivre en pleine conscience et faire les bons choix, les yeux grands ouverts.</p><p>Parmi les choses essentielles qu\u2019il faut tenter de d\u00e9velopper, on trouve\u00a0:</p><p>\u00c0 vrai dire, il faut garder en t\u00eate que tout ce qui superflu est co\u00fbteux, alors que l\u2019essentiel est gratuit.</p><p>D\u2019autre part, \u00ab\u00a0<em>L\u2019\u00c2me du Monde\u00a0\u00bb</em> souligne, qu\u2019il est n\u00e9cessaire de trouver notre vocation pour ne pas rester d\u2019\u00e9ternels \u00ab\u00a0affam\u00e9s\u00a0\u00bb. Qu\u2019il s\u2019agisse d\u2019un m\u00e9tier, de fonder une famille ou de s\u2019engager pour une cause, nous avons tous en nous des pr\u00e9dispositions pour accomplir de belles choses.</p><ul><li>\n<h4><strong>\u00ab\u00a0Deviens ce que tu es. Fais ce que toi seul peux faire. Suis la voix de ton c\u0153ur.\u00a0\u00bb</strong></h4>\n</li>\n</ul><p><img class=\"aligncenter size-full wp-image-17792 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/chemin-du-coeur.jpg?is-pending-load=1\" alt=\"chemin du coeur\" width=\"640\" height=\"386\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/chemin-du-coeur.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/chemin-du-coeur-300x181.jpg 300w\" data-lazy-sizes=\"(max-width: 640px) 100vw, 640px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-17792\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/chemin-du-coeur.jpg\" alt=\"chemin du coeur\" width=\"640\" height=\"386\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/chemin-du-coeur.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/chemin-du-coeur-300x181.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p>En premier lieu, nous devons tous essayer d\u2019atteindre la source qui pourra nous permettre d\u2019\u00e9tancher la soif de notre \u00e2me. Cela consiste \u00e0 trouver un compromis entre une harmonie int\u00e9rieure et une profonde union avec le monde. Peu importe la nature de cette source, il suffit d\u2019avoir une r\u00e9elle volont\u00e9 de l\u2019atteindre.</p><p>La principale difficult\u00e9 est de distinguer la soif et la faim de notre \u00e2me avec nos d\u00e9sirs sensibles. En r\u00e9alit\u00e9, notre bonheur ne r\u00e9side pas dans la possession de richesses, mais bien dans la paix de l\u2019\u00e2me. En effet, le bonheur que l\u2019on recherche dans la jouissance d\u2019objets ou des personnes ne peut pas nous combler enti\u00e8rement, car il est d\u00e9pendant de plusieurs facteurs\u00a0:</p><ol><li>Il est impossible, mat\u00e9riellement parlant, d\u2019obtenir tout ce que nous d\u00e9sirons.</li>\n<li>Les choses et les \u00eatres qui nous entourent sont soumis \u00e0 la loi de l\u2019impermanence, et ils peuvent dispara\u00eetre.</li>\n<li>Nous sommes d\u2019\u00e9ternels insatisfaits et le fait d\u2019orienter nos d\u00e9sirs vers des objets mat\u00e9riels nous emp\u00eache d\u2019\u00eatre au repos.</li>\n</ol><ul><li>\n<h4><strong>\u00ab\u00a0Connaissez-vous la diff\u00e9rence entre l\u2019enfant et l\u2019adulte\u00a0? La taille de son jouet.\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Ainsi, pour \u00e9chapper au d\u00e9sir, nous devons passer de l\u2019\u00e9tat de l\u2019avoir \u00e0 celui de l\u2019\u00eatre. D\u2019abord, nous devons prendre conscience que le malheur et le bonheur s\u2019\u00e9panouissent en notre int\u00e9rieur. Ainsi, c\u2019est en d\u00e9veloppant le meilleur de nous-m\u00eames que nous sortirons de cette logique de possession qui ne m\u00e8ne \u00e0 rien. Par ailleurs, le plus important est d\u2019essayer de vivre vite selon le Bien et non de penser \u00e0 vivre longtemps sans se soucier de cette notion essentielle.</p><ul><li>\n<h4><strong>\u00c9pilogue de la premi\u00e8re journ\u00e9e</strong></h4>\n</li>\n</ul><p>Au terme de cette premi\u00e8re journ\u00e9e, le jeune moine Tenzin se replie dans sa cellule pour r\u00e9citer inlassablement les enseignements re\u00e7us. La jeune Natina, quant \u00e0 elle, peine \u00e0 se concentrer. Ma Ananda vient la rassurer\u00a0: elle lui explique qu\u2019il lui suffit de retenir les grandes lignes de ce qu\u2019elle appris.</p><p>D\u00e9sormais tr\u00e8s fatigu\u00e9s par cette journ\u00e9e de travail, tous les sages s\u2019endorment sauf l\u2019un d\u2019entre eux, qui sent que quelque chose va survenir.</p><h3><strong>Jour 2\u00a0: Le noble attelage | <em>Du corps et de l\u2019\u00e2me</em></strong></h3><p>Le deuxi\u00e8me jour commence par un enseignement concernant le corps et l\u2019\u00e2me. Fr\u00e9d\u00e9ric Lenoir utilise ici une m\u00e9taphore\u00a0: chaque homme est un attelage de deux chevaux men\u00e9 par un cocher. Et pour apprendre \u00e0 bien ma\u00eetriser cet attelage, Fr\u00e9d\u00e9ric Lenoir nous invite \u00e0 prendre en compte des choses essentielles, sans lesquelles la conduite serait dangereuse ou inefficace.</p><ol><li><strong>Le premier cheval = le corps physique</strong></li>\n</ol><p>Selon la m\u00e9taphore d\u00e9crite par Fr\u00e9d\u00e9ric Lenoir dans \u00ab\u00a0<em>L\u2019\u00c2me du monde</em>\u00ab\u00a0, le corps physique est le premier cheval. Il est indispensable de conna\u00eetre ses capacit\u00e9s et ses limites. Pour cela, il faut l\u2019entra\u00eener avec des exercices pour\u00a0:</p><ul><li>Am\u00e9liorer sa souplesse\u00a0: avec du yoga ou de la gymnastique douce.</li>\n<li>Intensifier sa tonicit\u00e9\u00a0: en pratiquant la course ou le travail musculaire.</li>\n<li>Le mettre au repos autant que n\u00e9cessaire.</li>\n<li>Le nourrir sainement.</li>\n<li>Lui apprendre \u00e0 respirer en ma\u00eetrisant son souffle.</li>\n</ul><p>En effet, celui qui maltraite son corps m\u00e9prise son existence.</p><ol start=\"2\"><li><strong>Le deuxi\u00e8me cheval = le corps psychique</strong></li>\n</ol><p>Bien qu\u2019invisible, cette seconde monture repr\u00e9sente <a href=\"https://des-livres-pour-changer-de-vie.com/surmonter-les-emotions-destructrices/\" target=\"_blank\" rel=\"noopener noreferrer\">toutes les \u00e9motions que nous ressentons</a> tous les jours. Pour cela, nous devons apprendre \u00e0 nous conna\u00eetre pour comprendre comment nous fonctionnons. D\u2019ailleurs, il est important de se demander quelles sont les choses qui nous irritent ou nous font peur ou celles qui nous r\u00e9jouissent et nous stimulent.</p><ol start=\"3\"><li><strong>Le cocher = l\u2019\u00e2me spirituelle</strong></li>\n</ol><p>Notre \u00e2me est le don le plus pr\u00e9cieux que la vie nous a offert. En r\u00e9alit\u00e9, elle est une partie infime de l\u2019\u00c2me du monde. C\u2019est gr\u00e2ce \u00e0 elle que nous nous \u00e9merveillons devant une \u0153uvre d\u2019art. Enfin, elle nous donne envie de libert\u00e9 et nous permet de ressentir l\u2019harmonie et la beaut\u00e9 du monde.</p><ul><li>\n<h4><strong>\u00ab\u00a0Notre esprit se manifeste par deux voix diff\u00e9rentes et qui s\u2019unissent\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>L\u2019intelligence tend \u00e0 nous emmener vers la connaissance, la libert\u00e9 et la v\u00e9rit\u00e9.\u00a0Le c\u0153ur, quant \u00e0 lui, nous enseigne l\u2019amour. En m\u00ealant les deux, nous avons acc\u00e8s \u00e0 la beaut\u00e9 et \u00e0 la justice.</p><p>Si nous ne nourrissons que notre corps, nous resterons \u00e0 l\u2019\u00e9tat d\u2019animal. De m\u00eame en ne nourrissant que notre esprit, nous atteindrons le statut de l\u2019ange\u00a0: un danger pour soi et ses cong\u00e9n\u00e8res. Car en omettant les besoins de son corps, comme la sexualit\u00e9, l\u2019individu peut finalement tomber dans des comportements pervers.</p><p>L\u2019esprit est l\u00e0 pour guider cet attelage merveilleux et le ma\u00eetriser sans le dominer ou le tyranniser. C\u2019est lui qui nous permet de prendre la bonne direction \u00e0 chaque carrefour de la vie.</p><ul><li>\n<h4><strong>\u00ab\u00a0La m\u00e9ditation relie le corps, le psychisme et l\u2019esprit\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Dans ce passage de \u00ab\u00a0<em>L\u2019\u00c2me du Monde\u00a0\u00bb,</em> Fr\u00e9d\u00e9ric Lenoir nous apprend que la m\u00e9ditation permet de placer notre conscience dans chaque partie de notre corps. En observant nos sensations physiques et nos \u00e9motions, nous apprenons \u00e0 mieux les conna\u00eetre et \u00e0 renforcer notre esprit. \u00c0 force de pratiquer la m\u00e9ditation, nous fortifions notre espace int\u00e9rieur et le rendons moins vuln\u00e9rable face aux attaques de l\u2019ext\u00e9rieur.</p><p>C\u2019est ainsi que nous pouvons faire de vrais choix, ceux qui nous donnent l\u2019impression d\u2019avoir donn\u00e9 un v\u00e9ritable sens \u00e0 notre vie. Ce sentiment qui nous permettra de nous retourner \u00e0 la fin de notre existence en ayant la sensation d\u2019avoir chemin\u00e9 vers la v\u00e9rit\u00e9.</p><ul><li>\n<h4><strong>\u00c9pilogue de la deuxi\u00e8me journ\u00e9e</strong></h4>\n</li>\n</ul><p>\u00c0 la fin de cette deuxi\u00e8me journ\u00e9e, le sage qui avait le sentiment, la veille, que quelque chose de grave allait se produire a toujours cette impression. D\u00e8s lors, il n\u2019arrive toujours pas \u00e0 trouver la s\u00e9r\u00e9nit\u00e9.</p><p>De son c\u00f4t\u00e9, Gabriella se montre combl\u00e9e de bonheur par ce partage de sagesse pour le moins r\u00e9volutionnaire, et tout \u00e0 fait in\u00e9dit. Elle confie alors sa joie \u00e0 sa fille et l\u2019encourage \u00e0 \u00eatre l\u2019une des actrices de ce changement.</p><h3><strong>Jour 3\u00a0: Vas vers toi-m\u00eame | <em>De la vraie libert\u00e9</em></strong></h3><p>Cette troisi\u00e8me journ\u00e9e du livre \u00ab\u00a0<em>L\u2019\u00c2me du Monde\u00a0\u00bb</em> de Fr\u00e9d\u00e9ric Lenoir est consacr\u00e9e \u00e0 la connaissance de soi et la libert\u00e9. Et cette notion de libert\u00e9 ne concerne pas seulement les hommes r\u00e9duits \u00e0 l\u2019\u00e9tat d\u2019esclavage. La privation de libert\u00e9 la plus sournoise est certainement la prison int\u00e9rieure dans laquelle nous pouvons nous enfermer.</p><p>Il existe de nombreux sentiments pouvant nous priver de libert\u00e9\u00a0:</p><ul><li>Nos pulsions incontr\u00f4lables.</li>\n<li>Des addictions envahissantes.</li>\n<li>Une col\u00e8re violente et destructrice.</li>\n<li>Les angoisses paralysantes.</li>\n<li>Une phobie insupportable, etc.</li>\n</ul><p>Gr\u00e2ce \u00e0 l\u2019introspection, nous pouvons mieux nous conna\u00eetre et corriger nos r\u00e9actions ou nos r\u00e9flexes spontan\u00e9s. Cependant, cela repr\u00e9sente un travail au quotidien n\u00e9cessaire pour pouvoir avancer avec sagesse.</p><ul><li>\n<h4><strong>\u00ab\u00a0On ne na\u00eet pas libre, on le devient.\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>En nous connaissant nous-m\u00eames, nous pouvons ma\u00eetriser nos peurs qui remontent souvent \u00e0 la petite enfance. Cela ne se fait pas en un claquement de doigts, il est important de proc\u00e9der par \u00e9tapes. Lorsque nous accomplissons des actes positifs qui se succ\u00e8dent, nous apprenons \u00e0 changer de fa\u00e7on progressive. Cela est aussi vrai pour les actes de courage, les r\u00e9actions impulsives ou les pulsions sexuelles.</p><p>Fr\u00e9d\u00e9ric Lenoir souligne qu\u2019il est alors important de nous d\u00e9tacher des objets qui nous entourent. C\u2019est l\u2019un des esclavages modernes les plus r\u00e9pandus. En effet, nous sommes habitu\u00e9s \u00e0 consid\u00e9rer ces objets comme indispensables \u00e0 notre existence. Mais, en r\u00e9alit\u00e9, prendre conscience que ces biens mat\u00e9riels sont secondaires est un pas important vers la libert\u00e9.</p><p>De m\u00eame, nous devons oublier le fait de plaire ou de d\u00e9plaire aux autres. La sagesse consiste \u00e0 agir sans se soucier de ce regard pesant. En r\u00e9alit\u00e9, quoi que nous fassions, il y aura toujours quelqu\u2019un pour critiquer nos d\u00e9cisions. Nous devons r\u00e9aliser ce qui nous semble juste, en faisant abstraction de ce que va penser autrui.</p><ul><li>\n<h4><strong>\u00ab\u00a0La confiance et le juste amour de soi sont indispensables \u00e0 la croissance de l\u2019\u00eatre humain, \u00e0 sa libert\u00e9 et \u00e0 son bonheur.\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Ce besoin de reconnaissance est l\u2019une des particularit\u00e9s des enfants qui ont <a href=\"https://des-livres-pour-changer-de-vie.com/la-discipline-positive/\" target=\"_blank\" rel=\"noopener noreferrer\">besoin de signes positifs</a> ou n\u00e9gatifs pour apprendre les r\u00e8gles de la vie. Par contre, chez nous, adultes, c\u2019est la confiance en nous qui doit pr\u00e9dominer. Aid\u00e9e par le juste amour de nous-m\u00eames, la confiance en soi nous conduit vers la libert\u00e9 et le bonheur.</p><p>Nous devons \u00e9galement nous d\u00e9tacher autant que possible du conditionnement familial et social qui nous a \u00e9t\u00e9 transmis. Cela peut para\u00eetre effrayant, mais nous devons garder \u00e0 l\u2019esprit que ces enseignements sont charg\u00e9s de pr\u00e9jug\u00e9s et d\u2019\u00e0 priori. C\u2019est \u00e0 chacun de nous de trouver sa propre v\u00e9rit\u00e9 dans ces fondements. C\u2019est aussi valable pour la religion \u00e0 laquelle nous ne pouvons adh\u00e9rer sans se questionner r\u00e9ellement sur ces principes. Nous devons chercher notre propre v\u00e9rit\u00e9 pour esp\u00e9rer acc\u00e9der \u00e0 la libert\u00e9.</p><ul><li>\n<h4><strong>\u00ab\u00a0Connais-toi toi-m\u00eame, et tu conna\u00eetras le monde et les dieux.\u00a0\u00bb</strong></h4>\n</li>\n</ul><p><img class=\"aligncenter size-full wp-image-17794 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/se-connaitre-soi-meme.jpg?is-pending-load=1\" alt=\"se conna\u00eetre soi m\u00eame\" width=\"640\" height=\"425\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/se-connaitre-soi-meme.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/se-connaitre-soi-meme-300x199.jpg 300w\" data-lazy-sizes=\"(max-width: 640px) 100vw, 640px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-17794\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/se-connaitre-soi-meme.jpg\" alt=\"se conna\u00eetre soi m\u00eame\" width=\"640\" height=\"425\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/se-connaitre-soi-meme.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/se-connaitre-soi-meme-300x199.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p>Se conna\u00eetre soi-m\u00eame est indispensable pour d\u00e9m\u00ealer le faux du vrai, le juste de l\u2019injuste ou le n\u00e9cessaire du superflu. Car nous avons notre propre vision du monde qui nous entoure. Cet univers que nous portons dans notre c\u0153ur n\u2019est pas le reflet du monde, mais celui que nous percevons. En fonction de notre sensibilit\u00e9, de notre culture, de nos \u00e9motions et de notre esprit, nous voyons le monde \u00e0 notre fa\u00e7on.</p><p>Gr\u00e2ce \u00e0 un effort spirituel et psychologique, nous pouvons r\u00e9ellement travailler et faire grandir notre perception du monde qui nous entoure.</p><ul><li>\n<h4><strong>\u00c9pilogue de la troisi\u00e8me journ\u00e9e</strong></h4>\n</li>\n</ul><p>\u00c0 la fin de cette troisi\u00e8me journ\u00e9e,\u00a0Ma\u00eetre Kong vient rencontrer Cheik Youssuf pour lui dire que sa femme a tent\u00e9 de le contacter \u00e0 plusieurs reprises. Quelques instants plus tard, il apprend au groupe que sa petite fille est en train de mourir. Il a le r\u00e9flexe imm\u00e9diat d\u2019implorer Allah et se met \u00e0 pleurer.</p><p>La chamane Ansya s\u2019empare alors de son tambour et commence \u00e0 danser. Pendant une heure, qui leur para\u00eet une minute tant ils sont absorb\u00e9s par la sc\u00e8ne, Ansya entre en transe. Puis, elle se met \u00e0 hurler avant de s\u2019effondrer sur le sol. Lorsque Ansya reprend ses esprits, elle leur annonce doucement que tout va bien et que le mal a quitt\u00e9 le corps de la fillette.</p><p>Gabriella explique \u00e0 sa fille que la chamane a \u00e9t\u00e9 l\u2019instrument de l\u2019\u00c2me du monde pour venir en aide \u00e0 leur ami.</p><h3><strong>Jour 4\u00a0: Ouvre ton c\u0153ur | <em>De l\u2019amour</em></strong></h3><p>Le quatri\u00e8me jour,\u00a0il est question d\u2019\u00e9voquer l\u2019amour, cette puissante \u00e9nergie issue de l\u2019\u00c2me du monde. Si l\u2019amour est capable de prendre mille formes, c\u2019est \u00e0 chaque fois une preuve de lien et de don. Du moment qu\u2019il n\u2019est pas \u00e9touff\u00e9 par notre ego, ce sentiment nous apprendra qu\u2019il y a plus de bonheur \u00e0 donner qu\u2019\u00e0 recevoir.</p><ul><li>\n<h4><strong>\u00ab\u00a0Ne fais pas \u00e0 autrui ce que tu ne veux pas qu\u2019il te fasse.\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Cette R\u00e8gle d\u2019or dont parle Fr\u00e9d\u00e9ric Lenoir est mise en avant dans les cultures du monde entier. Pour autant, elle est dict\u00e9e par la sagesse et non par l\u2019amour. Ce dernier s\u2019en f\u00e9licite, mais il ne r\u00e9pond \u00e0 aucune loi. Tandis que la loi est une affaire de raison, l\u2019amour, lui est une affaire de c\u0153ur.</p><p>Cet amour se retrouve dans de nombreuses personnes et dans les liens qui les unissent. Cela va de l\u2019amour maternel en passant par l\u2019amour de deux amants jusqu\u2019\u00e0 l\u2019amour du disciple pour son ma\u00eetre. Il existe aussi un amour tourn\u00e9 vers les animaux et la terre. C\u2019est aussi le moyen de r\u00e9aliser que sans les autres, nous ne sommes pas grand-chose.</p><p>Pour autant, c\u2019est la relation que nous avons eue avec nos parents qui va d\u00e9terminer de nombreuses choses en amour. Selon que nous avons \u00e9t\u00e9 mal ou trop aim\u00e9s, nous allons d\u00e9velopper des relations amoureuses en fonction de cela.</p><p>Ainsi, il est primordial de gu\u00e9rir ces blessures et de combler les manques li\u00e9s \u00e0 l\u2019enfance pour pouvoir nous aimer nous-m\u00eames. Alors, nous serons capables d\u2019aimer les autres de mani\u00e8re libre et vraie.</p><ul><li>\n<h4><strong>\u00ab\u00a0L\u2019amour est un \u00e9change permanent entre le monde et nous.\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Pourtant, nous devons aussi nous m\u00e9fier et ne pas confondre tous les visages de l\u2019amour avec celui de la passion amoureuse. Comme celle-ci est souvent illusoire, nous sommes tent\u00e9s de n\u2019en retenir que le d\u00e9sir sexuel. Or, entre deux amants, il existe aussi une amiti\u00e9 et une tendresse perceptibles.</p><p>De m\u00eame, dans son livre \u00ab\u00a0<em>L\u2019</em>\u00c2me <em>du Monde\u00a0\u00bb</em>, Fr\u00e9d\u00e9ric Lenoir explique que\u00a0:</p><ul><li>Tous les \u00eatres n\u2019ont pas le m\u00eame rapport \u00e0 la vie amoureuse. Certains partageront plusieurs passions amoureuses, tandis que d\u2019autres n\u2019auront qu\u2019une seule et magnifique exp\u00e9rience dans leur vie.</li>\n<li>Il ne faut pas r\u00e9duire cet amour \u00e0 un sentiment vis-\u00e0-vis des autres. Il peut aussi s\u2019exprimer dans l\u2019\u00e9closion d\u2019une fleur, le passage d\u2019un nuage ou un animal. Le message de l\u2019amour est qu\u2019il est bon d\u2019aimer le monde, l\u2019univers et la vie. Cet amour universel est ce par quoi, nous allons transformer notre fa\u00e7on d\u2019\u00eatre et de vivre.</li>\n<li>Cet amour est un sentiment qui n\u2019a pas de limites. Il n\u2019attend rien de l\u2019autre sinon d\u2019exister. Il n\u2019y a plus de \u00ab\u00a0moi\u00a0\u00bb ni \u00ab\u00a0autres\u00a0\u00bb, il y a simplement \u00ab\u00a0nous\u00a0\u00bb. Peu importe le genre, les cultures ou les religions, il ne reste que cet amour qui englobe tout et tous.</li>\n<li>L\u2019amour est un lien qui ne nous emprisonne pas. Il est source de d\u00e9sir sans \u00eatre responsable de possession. Il est \u00e0 l\u2019origine de nos pleurs, mais pas responsable de nos souffrances. L\u2019amour nous ouvre les portes de l\u2019univers dans son int\u00e9gralit\u00e9.</li>\n</ul><ul><li>\n<h4><strong>\u00c9pilogue de la quatri\u00e8me journ\u00e9e</strong></h4>\n</li>\n</ul><p>\u00c0 l\u2019issue de cette quatri\u00e8me journ\u00e9e, Natina et Tenzin sortent un peu sonn\u00e9s de cette nouvelle journ\u00e9e d\u2019enseignement. Il faut dire que la jeune fille est boulevers\u00e9e. En effet, elle commence \u00e0 se rendre compte \u00e0 quel point son existence et celle de Tenzin sont diff\u00e9rentes. Et cela la rend triste et en col\u00e8re. Comment un jeune homme \u00e9lev\u00e9 pas les moines pourrait-il comprendre qu\u2019elle a soif d\u2019aventure et d\u2019exp\u00e9riences ludiques\u00a0?</p><p>Mais le gar\u00e7on r\u00e9ussit \u00e0 trouver les mots justes\u00a0: il lui raconte que son exp\u00e9rience l\u2019a priv\u00e9 de choses essentielles, mais qu\u2019elle lui a aussi enseign\u00e9 le sens profond de la vie. Et si le jeune homme devait quitter le monast\u00e8re, au moins, aurait-il re\u00e7u ce pr\u00e9cieux cadeau de conna\u00eetre l\u2019existence humaine.</p><p>\u00c0 ce moment-l\u00e0, Natina et Tenzin r\u00e9alisent qu\u2019ils s\u2019aiment, m\u00eame s\u2019ils ne sont pas tout \u00e0 fait s\u00fbrs de la nature de cet amour.</p><h3><strong>Jour 5\u00a0: Le jardin de l\u2019\u00e2me | <em>Des qualit\u00e9s \u00e0 cultiver et des poisons \u00e0 rejeter</em></strong></h3><p>Le cinqui\u00e8me jour est d\u00e9di\u00e9 \u00e0 l\u2019identification de ce qui est bon et de ce qui est mauvais pour celui qui est en qu\u00eate de sagesse. De cette mani\u00e8re, nous pourrons ensuite d\u00e9velopper ce qui nous fait grandir et faire dispara\u00eetre ce qui nous abaisse.</p><p>Pour cela, nous nous attacherons \u00e0 nourrir ce qu\u2019il y a de bon et de juste en nous et \u00e0 affamer ce qui est mauvais ou n\u00e9gatif. Il est, par contre, imp\u00e9ratif de commencer \u00e0 s\u2019entra\u00eener tr\u00e8s t\u00f4t pour cultiver le jardin de notre \u00e2me. En effet, en vieillissant nous avons plus de difficult\u00e9s \u00e0 changer nos habitudes et plus nous commencerons t\u00f4t, plus nous aurons de chance d\u2019en r\u00e9colter les fruits.</p><blockquote>\n<p>\u00ab\u00a0Prenez d\u00e8s \u00e0 pr\u00e9sent, et chaque jour, bien soin du jardin de votre \u00e2me.\u00a0\u00bb</p>\n</blockquote><p>Voici les 20 recommandations de Fr\u00e9d\u00e9ric Lenoir dans son livre \u00ab\u00a0<em>L\u2019\u00c2me du Monde\u00a0\u00bb</em>, pour faire pousser les bonnes graines et enrichir notre \u00e2me.</p><p><strong>Il s\u2019agit de cultiver</strong>\u00a0:</p><ul><li>\n<h4><strong>L\u2019\u00e9merveillement\u00a0</strong></h4>\n</li>\n</ul><p>Ne laissez jamais votre esprit s\u2019endormir. Pour cela, soyez curieux et contemplatifs, cela vous m\u00e8nera \u00e0 la v\u00e9rit\u00e9.</p><ul><li>\n<h4><strong>L\u2019effort</strong></h4>\n</li>\n</ul><p>Il est important d\u2019accomplir chaque jour des choses, si petites sont-elles. Pensez \u00e0 vous reposer, mais \u00e9loignez la paresse de votre quotidien.</p><ul><li>\n<h4><strong>La douceur</strong></h4>\n</li>\n</ul><p>C\u2019est le meilleur moyen d\u2019exprimer votre attachement envers vous-m\u00eames et les autres. La col\u00e8re peut s\u2019exprimer, mais elle doit \u00eatre ma\u00eetris\u00e9e.</p><ul><li>\n<h4><strong>La bonne humeur, la gaiet\u00e9, l\u2019humour</strong></h4>\n</li>\n</ul><p>L\u2019humour est une arme de taille pour prendre du recul et garder un regard positif et ainsi mieux appr\u00e9hender vos difficult\u00e9s.</p><ul><li>\n<h4><strong>La foi et la confiance</strong></h4>\n</li>\n</ul><p>Ce sont les deux principaux piliers que vous devez avoir pos\u00e9s pour mener votre vie \u00e0 bien. Sans elles, vous ne pourrez pas avancer de mani\u00e8re positive.</p><ul><li>\n<h4><strong>La g\u00e9n\u00e9rosit\u00e9</strong></h4>\n</li>\n</ul><p>C\u2019est en \u00e9tant ouvert et g\u00e9n\u00e9reux que vous pourrez devenir heureux. Au contraire, la mesquinerie et l\u2019\u00e9go\u00efsme ne m\u00e8nent jamais \u00e0 la libert\u00e9.</p><ul><li>\n<h4><strong>Le courage et la force</strong></h4>\n</li>\n</ul><p>Soyez plus forts que vos peurs en les apprivoisant et en vous d\u00e9barrassant d\u2019elles.</p><ul><li>\n<h4><strong>La bienveillance et la bont\u00e9</strong></h4>\n</li>\n</ul><p>En \u00e9tant patients et compr\u00e9hensifs avec les autres vous d\u00e9couvrirez qu\u2019ils existent des forces de bont\u00e9 immenses dans tous les c\u0153urs.</p><ul><li>\n<h4><strong>L\u2019esprit de v\u00e9rit\u00e9</strong></h4>\n</li>\n</ul><p>La v\u00e9rit\u00e9 et la sinc\u00e9rit\u00e9 sont des atouts indispensables pour atteindre la libert\u00e9. Le mensonge est l\u2019un des principaux poisons de l\u2019existence humaine.</p><ul><li>\n<h4><strong>La souplesse</strong></h4>\n</li>\n</ul><p>Apprenez \u00e0 vous adapter aux changements qui pourraient survenir en vous et autour de vous. La rigidit\u00e9 vous emp\u00eachera d\u2019\u00e9voluer selon le flux de votre vie.</p><ul><li>\n<h4><strong>La justice</strong></h4>\n</li>\n</ul><p>L\u2019injustice est un sentiment proprement inacceptable. Attention toutefois \u00e0 ne pas confondre la justice qui est le fruit d\u2019agissements \u00e0 une forme qui s\u2019apparenterait plus \u00e0 un sentiment de jalousie.</p><ul><li>\n<h4><strong>L\u2019humilit\u00e9</strong></h4>\n</li>\n</ul><p>Souvenez-vous que chaque \u00eatre est perfectible et que l\u2019humilit\u00e9 n\u2019est pas un signe de faiblesse ou de rabaissement. Par contre, l\u2019orgueilleux et son ego sont ridicules.</p><ul><li>\n<h4><strong>Le contentement et la sobri\u00e9t\u00e9</strong></h4>\n</li>\n</ul><p>L\u2019une des grandes cl\u00e9s du bonheur r\u00e9side dans ce pr\u00e9cepte. En retrouvant le go\u00fbt des choses simples, vous atteindrez plus facilement la libert\u00e9.</p><ul><li>\n<h4><strong>La gratitude</strong></h4>\n</li>\n</ul><p>Que vous soyez dans une p\u00e9riode prosp\u00e8re ou moins avantageuse, essayez de remercier en permanence ce que la vie vous envoie comme messages.</p><ul><li>\n<h4><strong>La prudence</strong></h4>\n</li>\n</ul><p>Fa\u00eetes preuve de lucidit\u00e9 et de pr\u00e9voyance avant d\u2019agir. L\u2019impulsivit\u00e9 est l\u2019ennemie de la garantie du bien vivre ensemble.</p><ul><li>\n<h4><strong>La temp\u00e9rance</strong></h4>\n</li>\n</ul><p>Elle est \u00e0 mi-chemin entre l\u2019asc\u00e9tisme et la d\u00e9bauche et vous assurera de mener votre vie avec assurance.</p><ul><li>\n<h4><strong>La patience</strong></h4>\n</li>\n</ul><p>Avec la pers\u00e9v\u00e9rance, la patience vous aidera \u00e0 vaincre les obstacles ou les d\u00e9couragements que la vie vous imposera. Elles sont compl\u00e9t\u00e9es par la constance.</p><ul><li>\n<h4><strong>L\u2019esprit de service</strong></h4>\n</li>\n</ul><p>L\u2019homme noble s\u2019accomplit tr\u00e8s bien lorsqu\u2019il sert les autres. Attention, celui qui domine ne sera pas dans le juste, car il nourrit l\u2019asservissement du monde.</p><ul><li>\n<h4><strong>Le pardon et la mis\u00e9ricorde</strong></h4>\n</li>\n</ul><p>Dans votre vie, vous n\u2019arriverez pas toujours \u00e0 \u00eatre justes avec les autres. Il en est de m\u00eame pour eux, et vous devrez apprendre \u00e0 leur pardonner.</p><ul><li>\n<h4><strong>La tol\u00e9rance</strong></h4>\n</li>\n</ul><p>Restez ouvert \u00e0 d\u2019autres visions de la vie que votre propre culture vous a enseign\u00e9. Ce qui est vrai dans un contexte peut \u00eatre totalement biais\u00e9 dans une autre. Fuyez les postures dogmatiques et privil\u00e9giez l\u2019\u00e9largissement de votre compr\u00e9hension du monde et de la vie.</p><ul><li>\n<h4><strong>\u00c9pilogue de la cinqui\u00e8me journ\u00e9e</strong></h4>\n</li>\n</ul><p>Il y a un sage qui a de plus en plus de difficult\u00e9s \u00e0 supporter que l\u2019on puisse mettre toutes les religions \u00e0 un \u00e9gal niveau. Il a, dans sa t\u00eate, une voix qui r\u00e9sonne\u00a0: elle lui dit que mettre sa religion au m\u00eame niveau que les autres est une grave erreur et qu\u2019il va devoir en rendre compte le jour du jugement dernier. Le sage d\u00e9cide alors de quitter les lieux d\u00e8s le lendemain. Mais la voix dans sa t\u00eate l\u2019interpelle \u00e0 nouveau. Il est d\u00e9sormais trop tard. Partir ne changera rien. Le seul moyen d\u2019arr\u00eater cette folie est de tuer le jeune moine qui pourrait transmettre ces pr\u00e9ceptes intol\u00e9rables.</p><p>Mais il aime le Dieu de la vie, il ne peut pas se r\u00e9duire \u00e0 \u00e7a\u00a0! La voix lui r\u00e9torque alors que le fait de tuer peut \u00eatre justifi\u00e9 par le danger encouru par la vraie foi\u00a0: une vie n\u2019est d\u00e9cid\u00e9ment pas grand-chose \u00e0 c\u00f4t\u00e9 de la V\u00e9rit\u00e9 \u00e9ternelle.</p><p>Le sage s\u2019ex\u00e9cute alors. Il s\u2019empare d\u2019un couteau pour aller dans la chambre de Tenzin. Alors que, dans sa t\u00eate, deux voix s\u2019opposent pour lui dicter ce qu\u2019il doit faire, un serpent mortel fait son apparition. Le sage le tue et lorsque le jeune gar\u00e7on se r\u00e9veille, il le prend dans ses bras pour le remercier de l\u2019avoir sauv\u00e9.</p><p><img class=\"aligncenter size-full wp-image-17795 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/serpent-mortel-vie-ou-mort.jpg?is-pending-load=1\" alt=\"serpent mortel vie ou mort\" width=\"640\" height=\"426\" data-lazy-srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/serpent-mortel-vie-ou-mort.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/serpent-mortel-vie-ou-mort-300x200.jpg 300w\" data-lazy-sizes=\"(max-width: 640px) 100vw, 640px\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-17795\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/serpent-mortel-vie-ou-mort.jpg\" alt=\"serpent mortel vie ou mort\" width=\"640\" height=\"426\" srcset=\"//des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/serpent-mortel-vie-ou-mort.jpg 640w, //des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/02/serpent-mortel-vie-ou-mort-300x200.jpg 300w\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p>\u00c0 la fin de cette cinqui\u00e8me journ\u00e9e, le sage r\u00e9pond \u00e0 l\u2019enfant\u00a0:</p><blockquote>\n<p>\u00ab\u00a0Et toi, tu m\u2019as redonn\u00e9 la vie\u00a0! Tu as aid\u00e9 mon c\u0153ur \u00e0 passer de la peur \u00e0 l\u2019amour.\u00a0\u00bb</p>\n</blockquote><h3><strong>Jour 6\u00a0: Ici et maintenant | <em>De l\u2019art de vivre</em></strong></h3><p>Le sixi\u00e8me jour est consacr\u00e9 \u00e0 l\u2019aptitude \u00e0 se r\u00e9aliser pleinement. Fr\u00e9d\u00e9ric Lenoir insiste sur l\u2019importance d\u2019adopter le juste comportement et explique que vivre est un art.\u00a0Pour cela, il faut imp\u00e9rativement s\u2019\u00e9loigner des extr\u00eames et ne pas r\u00e9fl\u00e9chir de fa\u00e7on binaire.</p><ul><li>\n<h4><strong>\u00ab\u00a0La vertu r\u00e9side dans le juste-milieu, entre deux extr\u00eames\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Pour Fr\u00e9d\u00e9ric Lenoir, cela va se traduire dans notre rapport aux choses et aux \u00eatres par un attachement qui ne doit pas se transformer en possession. Ce genre de sentiment est un poison dont nous devons nous d\u00e9faire au plus vite. Il est parfaitement normal de ressentir des sentiments comme la jalousie. Pour autant, il faut faire en sorte de travailler sur le d\u00e9tachement. En effet, nul n\u2019est immortel et un jour viendra o\u00f9 nous devrons accepter la s\u00e9paration d\u2019avec nos \u00eatres chers.</p><ul><li>\n<h4><strong>\u00ab\u00a0Nous sommes n\u00e9s seuls et nous mourrons seuls\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Il en est de m\u00eame pour tout ce qui nous permet de vivre une existence agr\u00e9able\u00a0: la sant\u00e9, le travail, la maison ou encore l\u2019honneur. En adoptant une attitude d\u2019\u00e9quanimit\u00e9, c\u2019est-\u00e0-dire une distance juste avec les \u00e9v\u00e9nements heureux ou tristes de notre vie, nous atteindrons la s\u00e9r\u00e9nit\u00e9. Cela ne veut pas dire que nous ne sentirons rien, mais plut\u00f4t que nous serons en paix.</p><ul><li>\n<h4><strong>\u00ab\u00a0Pour entendre la musique de l\u2019\u00c2me du monde, nous avons besoin de silence\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Fr\u00e9d\u00e9ric Lenoir nous apprend ici \u00e0 accorder chaque jour du calme \u00e0 notre esprit. De la m\u00eame mani\u00e8re que notre corps a besoin d\u2019air, notre esprit a besoin de silence. Et c\u2019est de celui-ci que vont d\u00e9couler les meilleurs fruits de l\u2019\u00e2me. L\u2019amour, la compr\u00e9hension, la douceur et la joie en sont de parfaits exemples.</p><p>C\u2019est de cette mani\u00e8re que nous pourrons nous relier \u00e0 notre source et pour cela, il n\u2019est pas besoin d\u2019\u00eatre croyant. Pour certains, cela se traduira par des pri\u00e8res, mais nous pouvons \u00e9galement ressentir notre c\u0153ur vibrer \u00e0 l\u2019unisson du c\u0153ur du monde.</p><p>De m\u00eame, cette connexion nous permettra de d\u00e9velopper des \u00ab\u00a0<em>intuitions\u00a0\u00bb</em> qui nous aideront \u00e0 agir dans certaines situations d\u00e9licates. Selon Fr\u00e9d\u00e9ric Lenoir, elles peuvent \u00e9galement se traduire dans une pratique artistique ou intellectuelle.\u00a0</p><ul><li>\n<h4><strong>\u00ab\u00a0Vos pens\u00e9es sont aussi importantes que vos actions\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Nos pens\u00e9es n\u00e9gatives peuvent \u00eatre blessantes pour les autres et nous encombrent d\u2019\u00e9nergie n\u00e9gative. \u00c0 l\u2019inverse, <a href=\"https://des-livres-pour-changer-de-vie.com/citations-positives/\" target=\"_blank\" rel=\"noopener noreferrer\">une pens\u00e9e aimante</a> sera capable de soulager une personne m\u00eame \u00e0 distance et illuminera notre \u00e2me.</p><p>Enfin, c\u2019est en d\u00e9veloppant des pens\u00e9es positives \u00e0 propos de nous-m\u00eame que nous embellirons notre existence.</p><ul><li>\n<h4><strong>\u00ab\u00a0Si nos pens\u00e9es sont puissantes, nos paroles le sont aussi\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>C\u2019est ainsi que l\u2019un des sages de l\u2019\u00c2me du monde nous conseille d\u2019apprendre \u00e0 ma\u00eetriser nos propos. D\u2019ailleurs, ils peuvent d\u00e9truire une vie ou la combler en un \u00e9clair. Les cons\u00e9quences de nos paroles sont consid\u00e9rables, et certains hommes arrivent d\u2019ailleurs \u00e0 entra\u00eener des foules et \u00e0 dominer des peuples. Pour exceller dans la ma\u00eetrise de nos paroles, il faut travailler leur v\u00e9rit\u00e9 et leur bont\u00e9 pour aboutir \u00e0 des paroles utiles. Dans le cas contraire, il est pr\u00e9f\u00e9rable de les oublier.</p><ul><li>\n<h4><strong>\u00ab\u00a0Efforcez-vous d\u2019avoir des actes et un mode de vie justes\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>L\u2019id\u00e9e d\u00e9velopp\u00e9e dans ce chapitre de \u00ab\u00a0<em>L\u2019\u00c2me du monde\u00a0\u00bb</em>\u00a0par Fr\u00e9d\u00e9ric Lenoir est qu\u2019il faut essayer d\u2019agir tous les jours selon nos convictions et nos principes. En effet, il est plus simple d\u2019avoir de bonnes pens\u00e9es que de les appliquer. Il en est de m\u00eame en ce qui concerne notre mani\u00e8re de vivre. Ainsi, nous devons prendre garde d\u2019avoir une vie \u00e9quilibr\u00e9e, juste et bonne.</p><ul><li>\n<h4><strong>\u00ab\u00a0Vivre l\u2019instant\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>L\u2019un des sages raconte l\u2019histoire d\u2019un roi qui a envoy\u00e9 ses disciples chercher les principaux enseignements de la sagesse dans le monde. Plusieurs ann\u00e9es plus tard, ils revinrent charg\u00e9s de livres. Le roi leur demanda de les r\u00e9sumer, encore et encore jusqu\u2019\u00e0 ce qu\u2019ils ne deviennent qu\u2019une seule phrase. Comme il allait mourir, le roi demanda \u00e0 son meilleur disciple de lui livrer le fameux message. Ainsi, il lui r\u00e9pondit que cela tenait en deux mots\u00a0: vivre l\u2019instant.</p><ul><li>\n<h4><strong>\u00ab\u00a0Soyez pr\u00e9sents \u00e0 tout ce que vous faites\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Un autre sage nous apprend qu\u2019il est tr\u00e8s important de vivre ici et maintenant, car le manque d\u2019attention nous emp\u00eache de vivre pleinement notre existence. En pratiquant cet exercice, notre exp\u00e9rience spirituelle en sera grandie. De la m\u00eame mani\u00e8re, nos relations avec les autres seront am\u00e9lior\u00e9es. Ensuite, il va m\u00eame plus loin en nous pr\u00e9cisant que cette qualit\u00e9 d\u2019attention intervient dans tout notre organisme. Elle r\u00e9gule notre tension musculaire, notre rythme cardiaque et am\u00e9liore aussi notre m\u00e9moire et notre bien-\u00eatre.</p><p>Enfin, l\u2019une des principales cl\u00e9s de la r\u00e9ussite dans notre rapport \u00e0 l\u2019\u00c2me du monde est d\u2019\u00eatre attentif en toutes circonstances.</p><ul><li>\n<h4><strong>\u00c9pilogue de la journ\u00e9e</strong></h4>\n</li>\n</ul><p>Le soir du sixi\u00e8me jour du livre, les sages de l\u2019\u00c2me du monde sont \u00e0 la fois heureux et tristes. En effet, ils ressentent le soulagement d\u2019avoir avanc\u00e9 dans l\u2019enseignement, mais ils savent que leur s\u00e9paration approche. Ils ont beaucoup \u00e9volu\u00e9 au fil des jours et ils savent qu\u2019une nouvelle existence s\u2019offre \u00e0 eux.</p><p>Pourtant, dans la nuit, un ph\u00e9nom\u00e8ne inexplicable se produit. Alors que les chiens hurlent \u00e0 la mort, il se met \u00e0 faire jour en pleine nuit. Ils tombent d\u2019accord sur le fait qu\u2019il leur faut terminer rapidement leur t\u00e2che. Et d\u00e8s le lendemain, tous redeviennent aussi s\u00e9rieux et studieux qu\u2019au premier jour pour d\u00e9livrer la derni\u00e8re cl\u00e9 de la sagesse.</p><h3><strong>Jour 7\u00a0: Le bonheur et le malheur sont en toi | <em>De l\u2019acceptation de ce qui est</em></strong></h3><p>Pour le dernier jour, Fr\u00e9d\u00e9ric Lenoir met l\u2019accent sur l\u2019importance d\u2019accepter le r\u00e9el.</p><ul><li>\n<h4><strong>\u00ab\u00a0La voie royale, celle qui est le couronnement de la sagesse, c\u2019est d\u2019acquiescer \u00e0 la vie\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>En effet, si nous sommes gagn\u00e9s par une maladie, il vaut mieux accepter sa pr\u00e9sence et tout faire pour en gu\u00e9rir que de l\u2019ignorer. Il en est de m\u00eame pour nos propres caract\u00e9ristiques. D\u00e9j\u00e0, apprenons \u00e0 nous accepter puis nous essayerons ensuite de gommer ce qui nous d\u00e9pla\u00eet en nous. Ensuite, nous ne pouvons pas toujours tout contr\u00f4ler et nous devons apprendre \u00e0 l\u00e2cher prise.</p><p>De la m\u00eame mani\u00e8re, il faut garder \u00e0 l\u2019esprit que les \u00e9preuves arrivent souvent par notre faute et qu\u2019elles sont les cons\u00e9quences de nos actes.</p><ul><li>\n<h4><strong>\u00ab\u00a0Ne demande pas que les \u00e9l\u00e9ments arrivent comme tu le souhaites, mais souhaite-les comme ils arrivent et tu seras heureux\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Ce sont nos pens\u00e9es qui provoquent bien des situations de notre existence. Lorsque nous sommes n\u00e9gatifs, nous voyons en toutes choses des signes venant confirmer cette pens\u00e9e. De la m\u00eame mani\u00e8re, un homme peureux peut de par son attitude attirer le danger et se faire agresser.</p><p>Fr\u00e9d\u00e9ric Lenoir propose ici aux sages de l\u2019\u00c2me du monde de donner les grandes lois de la vie \u00e0 suivre, pour ne pas \u00eatre troubl\u00e9\u00a0:</p><ol><li>\u00ab\u00a0Tout acte produit un effet.\u00a0\u00bb</li>\n<li>\u00ab\u00a0Les obstacles sont des marches qui nous font monter.\u00a0\u00bb</li>\n<li>\u00ab\u00a0Apprenez \u00e0 ne rien refuser de la vie.\u00a0\u00bb</li>\n<li>\u00ab\u00a0Ne rejetez pas la part d\u2019ombre, de brouillard, de t\u00e9n\u00e8bres que vous portez en vous.\u00a0\u00bb</li>\n<li>\u00ab\u00a0Apprenez \u00e0 accueillir et \u00e0 aimer vos fragilit\u00e9s.\u00a0\u00bb</li>\n<li>\u00ab\u00a0Le monde, vase spirituel, ne peut \u00eatre fa\u00e7onn\u00e9.\u00a0\u00bb</li>\n<li>\u00ab\u00a0Ne recherchons jamais la souffrance\u2026 et, n\u2019essayons pas de l\u2019\u00e9viter.\u00a0\u00bb</li>\n<li>\u00ab\u00a0Il n\u2019y a pas de m\u00e9tamorphoses sans douleur.\u00a0\u00bb</li>\n<li>\u00ab\u00a0Notre vie est tiss\u00e9e de fils visibles et invisibles.\u00a0\u00bb</li>\n<li>\u00ab\u00a0Nous ne pouvons pas nous lib\u00e9rer du monde, mais nous pouvons nous lib\u00e9rer de notre monde.\u00a0\u00bb</li>\n</ol><p>Fr\u00e9d\u00e9ric Lenoir raconte ensuite l\u2019histoire d\u2019un sage qui rencontre un guerrier. Ce dernier lui demande qu\u2019elle est la diff\u00e9rence entre le paradis et l\u2019enfer. Comme il le renvoie \u00e0 sa triste existence, le guerrier se met en col\u00e8re et le menace de mort. Le sage lui dit que c\u2019est cela l\u2019enfer. Devant son aplomb, le guerrier s\u2019attendrit. Le sage lui explique alors que c\u2019est cela le paradis.</p><p>Puis un autre sage explique aux enfants qu\u2019il faut apprendre \u00e0 passer de la conscience \u00e9gotique \u00e0 la conscience universelle. La premi\u00e8re est le fruit d\u2019une dualit\u00e9 entre moi et le monde. Dans la seconde, il n\u2019y a pas de s\u00e9paration entre le monde et moi.</p><ul><li>\n<h4><strong>\u00ab\u00a0Mon seul d\u00e9sir est d\u2019\u00eatre pleinement pr\u00e9sent et ouvert au monde tel qu\u2019il est\u00a0\u00bb</strong></h4>\n</li>\n</ul><p>Lorsque nous atteignons cet \u00e9tat d\u2019\u00eatre, nous pouvons consid\u00e9rer que nous sommes devenus un \u00e9veill\u00e9 ou un sage. Et c\u2019est \u00e0 cela que l\u2019\u00c2me du monde aspire pour tous les hommes sur terre.</p><p>Pour Fr\u00e9d\u00e9ric Lenoir, le principal chemin de la vie va nous aider \u00e0 passer de\u00a0:</p><ul><li>L\u2019ignorance \u00e0 la connaissance.</li>\n<li>L\u2019obscurit\u00e9 \u00e0 la lumi\u00e8re.</li>\n<li>L\u2019esclavage des sens \u00e0 la libert\u00e9 de l\u2019esprit.</li>\n<li>L\u2019inaccompli \u00e0 l\u2019accompli.</li>\n<li>L\u2019inconscience \u00e0 la conscience.</li>\n<li>La peur \u00e0 l\u2019amour.</li>\n</ul><p>C\u2019est \u00e0 cela que correspond la qu\u00eate de la sagesse, qui est offerte \u00e0 tous quelles que soient leur origine et leurs conditions de vie. Il suffit d\u2019en avoir un d\u00e9sir profond, et l\u2019univers s\u2019ouvrira \u00e0 nous.</p><h3><strong>Troisi\u00e8me partie de \u00ab\u00a0<em>L\u2019\u00c2me du monde</em>\u00ab\u00a0: Et l\u2019obscurit\u00e9 se fera sur toute la Terre</strong></h3><p>Dans cette troisi\u00e8me et derni\u00e8re partie de \u00ab\u00a0<em>L\u2019\u00c2me du Monde\u00a0\u00bb,</em> l\u2019enseignement des cl\u00e9s de la sagesse est termin\u00e9. \u00c0 pr\u00e9sent, tous les sages de l\u2019\u00c2me du monde sont rentr\u00e9s chez eux.</p><h3><strong>3.1 \u2013 La grotte</strong></h3><p>Le jeune Tenzin est trop triste pour rester au monast\u00e8re. Il d\u00e9cide d\u2019aller m\u00e9diter dans une grotte. Avec l\u2019accord de Lama Dorj\u00e9, il part pour une longue marche et parvient \u00e0 l\u2019ermitage trois jours plus tard.</p><h3><strong>3.2 \u2013 Col\u00e8re</strong></h3><p>C\u2019est \u00e0 ce moment-l\u00e0 que la catastrophe se produit. Un gigantesque cataclysme s\u2019abat sur la terre. La plan\u00e8te n\u2019est plus qu\u2019un nuage de poussi\u00e8re. Tenzin reste pendant quarante jours \u00e0 l\u2019abri dans sa grotte en attendant que la poussi\u00e8re ne retombe. C\u2019est alors qu\u2019il entend le chant d\u2019un oiseau. Pourtant, aucun animal terrestre n\u2019est visible \u00e0 l\u2019horizon. L\u2019adolescent s\u2019interroge\u00a0: ses amis moines de l\u2019\u00c2me du monde, ont-ils p\u00e9ri eux aussi\u00a0?</p><h3><strong>3.3 \u2013 D\u00e9solation</strong></h3><p>Alors que la terre a \u00e9t\u00e9 totalement boulevers\u00e9e par la catastrophe, Tenzin comprend qu\u2019il ne trouvera aucun survivant. En outre, la montagne a tout bonnement disparu et les vestiges du monast\u00e8re avec elle. Il se rappelle alors une anecdote qui lui est arriv\u00e9e quelques ann\u00e9es auparavant, lorsqu\u2019une femme est venue au monast\u00e8re s\u2019entretenir avec les moines pour leur demander pourquoi son fils de 5 ans \u00e9tait mort. Alors que les moines interrogeaient l\u2019esprit du petit gar\u00e7on mort, ce dernier leur r\u00e9torqua qu\u2019il ne souhaitait pas revenir, car il avait d\u00e9j\u00e0 \u00e9t\u00e9 r\u00e9incarn\u00e9 de nombreuses fois.\u00a0\u00c0 ce moment-l\u00e0, le visage de Lama Tokden Rinpoch\u00e9, sa pr\u00e9c\u00e9dente r\u00e9incarnation lui appara\u00eet\u00a0; il se lance imm\u00e9diatement dans la recherche de son mausol\u00e9e. Une fois trouv\u00e9, il d\u00e9couvre une lettre dans les ruines de l\u2019\u00e9difice.</p><h3><strong>3.4 \u2013 La lettre</strong></h3><p>Cette lettre a \u00e9t\u00e9 \u00e9crite par un lama et destin\u00e9e \u00e0 sa future r\u00e9incarnation. Dans celle-ci, le grand sage avait anticip\u00e9 sur les \u00e9v\u00e9nements qui allaient se produire. De la m\u00eame mani\u00e8re, il savait que quelques hommes survivraient et que Tenzin en ferait partie. Il aurait alors comme destin\u00e9e de parcourir le monde et d\u2019enseigner ce qu\u2019il avait appris. Bien entendu, il devrait \u00e9galement le mettre en pratique.\u00a0Le jeune homme sera amen\u00e9 \u00e0 enseigner ces lois de la sagesse sans servir un clan ou une ethnie au d\u00e9triment d\u2019une autre. Pour conclure, la lettre se termine par une note d\u2019espoir\u00a0: \u00ab\u00a0puisse ton corps rester dans la joie\u00a0\u00bb.</p><h3><strong>3.5 \u2013 L\u2019espoir</strong></h3><p>Apr\u00e8s une nuit de repos, Tenzin part, ragaillardi pour d\u00e9livrer son savoir sur la sagesse. Il repense avec tristesse \u00e0 tous ses amis moines disparus. Quand il se d\u00e9courage, il \u00e2nonne le pr\u00e9nom de Natina. C\u2019est elle qui lui donne le courage d\u2019avancer. Car il en est maintenant s\u00fbr, son deuxi\u00e8me v\u0153u est bien de la retrouver.</p><h2><strong>Conclusion de \u00ab\u00a0<em>L\u2019\u00c2me du monde\u00a0\u00bb</em> de Fr\u00e9d\u00e9ric Lenoir</strong></h2><ul><li>\n<h3><strong>Un livre pour d\u00e9connecter et voyager dans un monde plein de sagesse et de po\u00e9sie</strong></h3>\n</li>\n</ul><p>\u00c0 mi-chemin entre la philosophie et les contes traditionnels, \u00ab\u00a0<em>L\u2019\u00c2me du monde</em>\u00a0\u00bb est un ouvrage captivant\u00a0!</p><p>En effet, l\u2019auteur a le talent de maintenir le suspense jusqu\u2019\u00e0 la fin de son histoire, et cela, tout en d\u00e9livrant un contenu hautement philosophique. Par ailleurs, en situant son r\u00e9cit dans un temple au c\u0153ur du Tibet, Fr\u00e9d\u00e9ric Lenoir nous transporte dans un univers rempli de sagesse et de po\u00e9sie. En ce sens, \u00ab\u00a0<em>L\u2019\u00c2me du monde</em>\u00a0\u00bb est une lecture excellente pour d\u00e9connecter, imaginer et voyager\u00a0!</p><ul><li>\n<h3><strong>Une invitation \u00e0 r\u00e9fl\u00e9chir sur des pr\u00e9ceptes philosophiques et spirituels universels</strong></h3>\n</li>\n</ul><p>Fr\u00e9d\u00e9ric Lenoir condense sa pens\u00e9e philosophique en 7 principes mais il y a, en r\u00e9alit\u00e9, d\u2019innombrables le\u00e7ons de sagesse \u00e0 tirer de ce livre. En effet, \u00ab\u00a0<em>L\u2019\u00c2me du monde</em>\u00a0\u00bb est une lecture qui induit de mani\u00e8re quasi incontournable une r\u00e9flexion personnelle sur des principes qui concernent chaque \u00eatre humain\u00a0: l\u2019amour, par exemple, qui a le pouvoir de r\u00e9unir les \u00eatres <em>a priori</em> les plus diff\u00e9rents (on pense alors aux liens d\u2019amour qui se tissent entre Natina et Tenzin), le sens \u00e0 la vie, la recherche du bonheur, la qu\u00eate spirituelle, etc.</p><ul><li>\n<h3><strong>Un appel \u00e0 plus d\u2019humanit\u00e9\u00a0?</strong></h3>\n</li>\n</ul><p>Dans \u00ab\u00a0<em>L\u2019\u00c2me du monde</em>\u00ab\u00a0, Fr\u00e9d\u00e9ric Lenoir met en sc\u00e8ne une histoire qui fait vivre diff\u00e9rents personnages incarnant chacun une religion ou une croyance qui lui est propre. Et finalement les sages se d\u00e9couvrent beaucoup plus de points communs qu\u2019ils ne l\u2019imaginaient. Nous ne pouvons nous emp\u00eacher d\u2019y voir un appel \u00e0 la tol\u00e9rance et un t\u00e9moignage de savoir-vivre ensemble. C\u2019est en \u00e9changeant et en partageant des exp\u00e9riences communes que les sages de \u00ab\u00a0<em>L\u2019\u00c2me du monde</em>\u00a0\u00bb ont pu se comprendre, ne pas se laisser diviser par leur religion et cr\u00e9er un monde qui se veut meilleur. Si de rares personnes peuvent y voir une forme de mi\u00e8vrerie bien-pensante, d\u2019autres y verront l\u2019opportunit\u00e9 d\u2019en tirer, chacun \u00e0 son \u00e9chelle, des cl\u00e9s \u00e0 partager pour contribuer \u00e0 plus d\u2019humanit\u00e9.</p><p>Bref, \u00ab\u00a0<em>L\u2019\u00c2me du monde</em>\u00a0\u00bb est un livre inspirant, essentiel et qui plus est, un \u00e9norme best-seller \u00e9crit par un auteur r\u00e9f\u00e9rent dans le domaine\u00a0!</p><h5>Points <strong>forts</strong> du livre <em>L\u2019\u00e2me du monde</em>\u00a0:</h5><ul><li>Le sentiment d\u2019immersion totale dans un univers tr\u00e8s propice au sujet.</li>\n<li>Le style de l\u2019auteur\u00a0: captivant, clair et imag\u00e9.</li>\n<li>L\u2019histoire pleine de sagesse et de po\u00e9sie.</li>\n<li>L\u2019incontournable r\u00e9flexion personnelle que cette lecture suscite.</li>\n</ul><h5>Points <strong>faibles</strong> du livre <em>L\u2019\u00e2me du monde</em>\u00a0:</h5><ul><li>Il faut se familiariser avec les noms des personnages, parfois un peu complexes.</li>\n<li>Les sages prennent la parole chacun leur tour sans \u00eatre r\u00e9ellement identifi\u00e9s. C\u2019est tr\u00e8s certainement une volont\u00e9 de l\u2019auteur qui nous laisse ainsi l\u2019enti\u00e8re libert\u00e9 \u00e0 imaginer\u00a0; cependant, on ne sait donc pas toujours qui s\u2019exprime et cela est parfois d\u00e9routant.</li>\n</ul><p>Ma note\u00a0:</p><p><img class=\"alignnone jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png?is-pending-load=1\" alt=\"Lame du monde - Fr\u00e9d\u00e9ric Lenoir\" width=\"25\" height=\"24\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Lame du monde - Fr\u00e9d\u00e9ric Lenoir\" width=\"25\" height=\"24\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\u00a0 \u00a0 \u00a0\n<p><img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Lame du monde - Fr\u00e9d\u00e9ric Lenoir\" width=\"25\" height=\"24\" referrerpolicy=\"no-referrer\" /></p>\n\u00a0 \u00a0 \u00a0\n<p><img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Lame du monde - Fr\u00e9d\u00e9ric Lenoir\" width=\"25\" height=\"24\" referrerpolicy=\"no-referrer\" /></p>\n\u00a0 \u00a0 \u00a0\n<p><img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Lame du monde - Fr\u00e9d\u00e9ric Lenoir\" width=\"25\" height=\"24\" referrerpolicy=\"no-referrer\" /></p>\n\u00a0 \u00a0 \u00a0\u00a0\n<p><img class=\"alignnone\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Lame du monde - Fr\u00e9d\u00e9ric Lenoir\" width=\"25\" height=\"24\" referrerpolicy=\"no-referrer\" /></p><p class=\"c9\">Avez-vous lu \u201c<em>L\u2019\u00c2me du monde</em>\u00a0\u00bb de Fr\u00e9d\u00e9ric Lenoir\u00a0? Combien le notez-vous\u00a0?</p><p class=\"c9\"><img width=\"16\" height=\"16\" id=\"rating_16904_1\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif?is-pending-load=1\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" srcset=\"\" class=\"jetpack-lazy-image c10\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"16\" height=\"16\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<p><img width=\"16\" height=\"16\" id=\"rating_16904_2\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Passable - Un ou deux passages int\u00e9ressants\" title=\"Passable - Un ou deux passages int\u00e9ressants\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_16904_3\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Moyen - Quelques bonnes id\u00e9es\" title=\"Moyen - Quelques bonnes id\u00e9es\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_16904_4\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_on.gif\" alt=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" title=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_16904_5\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" title=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" class=\"c10\" referrerpolicy=\"no-referrer\" /></p>\n(<strong>5</strong>votes, moyenne:<strong>4,20</strong>out of 5)<br />\n<p><img src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\nLoading...<p class=\"c9\"><a href=\"https://amzn.to/2VguGkQ\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external\">Visitez Amazon afin de lire plus de commentaires sur le livre</a> \u00ab\u00a0<em>L\u2019\u00c2me du monde</em>\u00a0\u00bb de Fr\u00e9d\u00e9ric Lenoir</p><p class=\"c9\"><a href=\"https://amzn.to/38PnZKx\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external\">Visitez Amazon et achetez le livre</a> <em>\u00ab\u00a0L\u2019\u00c2me du monde\u00a0\u00bb</em> de Fr\u00e9d\u00e9ric Lenoir</p><noscript>\n</noscript>Recherches utilis\u00e9es pour trouver cet article\u00a0:<p>Le pouvoir de l\u00e2me(livre gratuit)</p>",
    "created_at": "2022-05-02T07:47:35+00:00",
    "updated_at": "2022-05-02T07:47:50+00:00",
    "published_at": "2020-03-12T16:00:32+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 48,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2020/01/lame-du-monde-frederic-lenoir.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["efficacit\u00e9", "organisation", "outil", "coaching"],
    "is_public": false,
    "id": 15,
    "title": "La bo\u00eete \u00e0 outils du coaching R\u00e9sum\u00e9 et avis - B. Ammiar et O. Kohneh-Chahri",
    "url": "https://des-livres-pour-changer-de-vie.com/boite-a-outils-du-coaching/",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><p class=\"c7\"><a href=\"https://amzn.to/3dLCGm1\" target=\"_blank\" rel=\"noopener\" class=\"external\">\n<p><img class=\"aligncenter wp-image-25395 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/la-boite-a-outils-du-coaching-belkacem-ammiar-e1639283143453.jpg\" alt=\"la bo\u00eete \u00e0 outils du coaching belkacem ammiar\" width=\"277\" height=\"350\" referrerpolicy=\"no-referrer\" /></p>\n</a></p><blockquote>\n<p><strong>R\u00e9sum\u00e9 de \u00ab\u2009<em>La bo\u00eete \u00e0 outils du coaching\u2009\u00bb</em> de Belkacem Ammiar et Omid Kohneh-Chahri\u00a0:</strong> un manuel con\u00e7u pour les coaches en entreprise (coaching de dirigeants, de managers et d\u2019\u00e9quipes) et qui fait d\u00e9j\u00e0 r\u00e9f\u00e9rence, puisqu\u2019il en est d\u00e9j\u00e0 \u00e0 sa troisi\u00e8me \u00e9dition\u2009!</p>\n</blockquote><p>Par Belkacem Ammiar et Omid Kohneh-Chahri, 2019, 192 pages.</p><h2><strong>Chronique et r\u00e9sum\u00e9 de \u00ab\u2009<em>La bo\u00eete \u00e0 outils du coaching\u2009\u00bb</em> de Belkacem Ammiar et Omid Kohneh-Chahri\u00a0</strong></h2><h3><strong>Les auteurs</strong></h3><p>Les deux auteurs sont coaches de dirigeants. Belkacem Ammiar est membre du cabinet Koan-coaching. Il enseigne dans diff\u00e9rentes \u00e9coles sup\u00e9rieures et en universit\u00e9. Omid Kohneh-Chahri, quant \u00e0 lui, est fondateur du cabinet de coaching Awareness &amp; Development. Il forme \u00e9galement des coaches au sein de l\u2019\u00e9quipe p\u00e9dagogique de Transformance.</p><h3><strong>Avant-propos</strong></h3><p>L\u2019ouvrage est con\u00e7u en fonction des trois grands types de relations qu\u2019un coach doit d\u00e9velopper\u00a0:</p><ul><li>La relation avec lui-m\u00eame\u2009;</li>\n<li>Celle avec la personne accompagn\u00e9e\u2009;</li>\n<li>Et enfin celle qui peut le lier \u00e0 des groupes (\u00e9quipes, organisation).</li>\n</ul><p>Il s\u2019adresse aussi bien aux coaches novices qu\u2019aux experts\u00a0:</p><blockquote>\n<p>\u00ab\u2009Le coach d\u00e9butant y puisera toutes les ressources n\u00e9cessaires pour apprendre \u00e0 cadrer efficacement sa relation avec ses clients tout au long de l\u2019accompagnement de coaching. Quant au coach confirm\u00e9, il pourra apprendre \u00e0 d\u00e9velopper sa posture toujours tr\u00e8s paradoxale qui consiste \u00e0 \u201caider l\u2019autre \u00e0 apprendre \u00e0 se d\u00e9brouiller seul et \u00e0 trouver lui-m\u00eame ses solutions\u201d.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils du coaching</em>, p.\u00a06)</p>\n</blockquote><p>Une posture paradoxale, en effet, qui est toutefois rendue praticable gr\u00e2ce aux outils de r\u00e9f\u00e9rence pr\u00e9sent\u00e9s ici, qui proviennent des diff\u00e9rents courants majeurs du coaching, \u00e0 savoir\u00a0:</p><ul><li>La psychologie humaniste\u2009;</li>\n<li>L\u2019analyse transactionnelle\u2009;</li>\n<li><a href=\"https://des-livres-pour-changer-de-vie.com/la-pnl-guide-pratique-de-la-programmation-neuro-linguistique/\" target=\"_blank\" rel=\"noopener\">La programmation neurolinguistique</a> (PNL)\u2009;</li>\n<li>\u00ab\u2009L\u2019\u00e9l\u00e9ment humain\u2009\u00bb de Will Schutz ou CNV\u2009;</li>\n<li>La culture CT (<em>coach &amp; team</em>)\u2009;</li>\n<li>L\u2019approche syst\u00e9mique\u2009;</li>\n<li>Le d\u00e9veloppement organisationnel (<em>organisational development</em>) et le cod\u00e9veloppement.</li>\n</ul><p><img class=\"aligncenter wp-image-25197 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/11/se-preparer-au-coaching-e1637561653207.jpg?is-pending-load=1\" alt=\"Se pr\u00e9parer au coaching\" width=\"600\" height=\"399\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-25197 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/11/se-preparer-au-coaching-e1637561653207.jpg\" alt=\"Se pr\u00e9parer au coaching\" width=\"600\" height=\"399\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Dossier\u00a01 \u2014 Se pr\u00e9parer au coaching</strong></h3><p>Ce dossier explore la notion de qualit\u00e9 d\u2019\u00eatre et \u00e9tudie, tout particuli\u00e8rement, les quatre capacit\u00e9s indispensables pour exercer en tant que coach professionnel.</p><p>Quelles sont ces quatre capacit\u00e9s\u2009?</p><ol><li>La disponibilit\u00e9 pour son client\u2009;</li>\n<li>La connexion avec soi-m\u00eame\u2009;</li>\n<li>L\u2019agilit\u00e9 et la flexibilit\u00e9 des modes d\u2019intervention\u2009;</li>\n<li>Une attitude claire par rapport \u00e0 l\u2019argent.</li>\n</ol><h4><strong>Outil\u00a01 \u2013 La centration</strong></h4><p>Se centrer, c\u2019est prendre le temps de porter attention \u00e0 soi et, tout particuli\u00e8rement, \u00e0 sa respiration. Cette technique s\u2019inspire clairement de <a href=\"https://des-livres-pour-changer-de-vie.com/la-meditation-une-recherche-contemplative/\" target=\"_blank\" rel=\"noopener\">la m\u00e9ditation</a>. Vous commencez par\u00a0:</p><ul><li>Respirer profond\u00e9ment\u2009;</li>\n<li>Puis vous passez en revue et rel\u00e2chez chacun de vos membres\u2009;</li>\n<li>Enfin, vous \u00eates dans un \u00e9tat centr\u00e9, concentr\u00e9 sur le flux d\u2019air qui vous traverse.</li>\n</ul><p>Utiliser cette technique simple vous permettra d\u2019accueillir plus facilement l\u2019autre, parce que vous serez plus calme vous-m\u00eame. Elle vous permet d\u2019explorer vos \u00e9motions et ainsi de mieux vous conna\u00eetre.</p><p>Notez que cet outil (ou ces outils, si on dissocie relaxation et centration) peut \u00eatre propos\u00e9 au client. En situation de stress, leur ma\u00eetrise pourra l\u2019aider \u00e0 d\u00e9compresser et \u00e0 prendre du recul.</p><h4><strong>Outil\u00a02 \u2013 La troisi\u00e8me \u00e9coute</strong></h4><p>Pour comprendre la signification de cette expression, il faut savoir ce que sont les deux premi\u00e8res \u00e9coutes\u00a0:</p><ol><li>D\u2019abord, le coach \u00e9coute le discours verbal (ce qui est dit) de son client\u2009;</li>\n<li>Ensuite, le coach \u00e9coute le discours non verbal (manifestations corporelles) et les rapports entre celui-ci et le premier.</li>\n</ol><p>La troisi\u00e8me \u00e9coute est dirig\u00e9e vers le coach lui-m\u00eame. Il n\u2019\u00e9coute plus le client, mais lui-m\u00eame. C\u2019est-\u00e0-dire\u2009? Lorsqu\u2019il re\u00e7oit un signal venant de son coach\u00e9, quel que soit le canal (une intuition, une pens\u00e9e r\u00e9fl\u00e9chie, une \u00e9motion, etc.), il prendra le temps de v\u00e9rifier si ce stimulus provient bien de l\u2019interaction avec le coach\u00e9.</p><p>S\u2019il d\u00e9cide ou reconnait que ce signal \u00ab\u2009appartient\u2009\u00bb bien \u00e0 l\u2019interaction pr\u00e9sente avec le coach\u00e9, il pourra agir de la fa\u00e7on la plus appropri\u00e9e vis-\u00e0-vis de ce dernier. Si ce signal vient du coach\u00e9 lui-m\u00eame, il le laissera de c\u00f4t\u00e9 le temps de la s\u00e9ance.</p><h4><strong>Outil\u00a03 \u2013 Le poisson-canne \u00e0 p\u00eache</strong></h4><p>Cet outil a \u00e9t\u00e9 con\u00e7u par Vincent Lenhardt. Il porte sur la question de la posture \u00e0 adopter en situation du coaching. Comment agir\u00a0? Faut-il r\u00e9soudre les probl\u00e8mes pour le client (donner du poisson) ou lui permettre de trouver seul la voie de sortie (offrir une canne \u00e0 p\u00eache)\u00a0? Ce dilemme est typique de la pratique du coach.</p><p>Bien s\u00fbr, l\u2019objectif du coaching est d\u2019amener le client \u00e0 une autonomie compl\u00e8te. Toutefois, par principe, cela signifie que ce n\u2019est pas (toujours) le cas au moment de l\u2019interaction. En fonction du degr\u00e9 d\u2019autonomie et de maturit\u00e9, mais aussi de l\u2019urgence de la situation et de l\u2019\u00e9tat \u00e9motionnel du client, le coach peut donc d\u00e9cider d\u2019agir dans un sens ou dans un autre (poisson ou canne \u00e0 p\u00eache).</p><p>Cela implique\u00a0:</p><ol><li>De comprendre la situation\u2009;</li>\n<li>Puis de choisir sa posture en connaissance de cause (chaque posture ayant ses avantages et ses inconv\u00e9nients).</li>\n</ol><p>L\u2019avantage principal de la posture poisson est d\u2019agir vite, mais le risque pour le client est de rester dans une posture passive, en attente du \u00ab\u2009sauvetage\u2009\u00bb du coach. Au contraire, l\u2019autre posture responsabilise le client, mais ne fonctionne pas si l\u2019urgence se marie \u00e0 un \u00e9tat \u00e9motionnel instable du client.</p><h4><strong>Outil\u00a04 \u2014 D\u00e9terminer le prix d\u2019une intervention</strong></h4><p>Pouvoir d\u00e9terminer et justifier le prix d\u2019une prestation est capital pour le coach. \u00catre au clair avec cet aspect donne des gages de confiance. Comment faire\u2009?</p><p>Il faut commencer par analyser et cerner la probl\u00e9matique du client, ce qui implique de d\u00e9celer ses objectifs (au cours d\u2019une premi\u00e8re s\u00e9ance). Une session compl\u00e8te de coaching est habituellement compos\u00e9e de dix s\u00e9ances de deux heures.</p><p>Afin de d\u00e9finir le prix de l\u2019intervention, il faut ensuite conna\u00eetre les prix du march\u00e9. \u00c0 titre indicatif, le taux horaire standard d\u2019un coaching de dirigeant est de 600\u00a0\u20ac (et de 400\u00a0\u20ac pour un coaching de manager). Ce prix inclut la pr\u00e9paration du coach.</p><p>Le coach doit analyser son <a href=\"https://des-livres-pour-changer-de-vie.com/une-selection-des-meilleures-citations-sur-largent/\" target=\"_blank\" rel=\"noopener\">rapport \u00e0 l\u2019argent</a> en se posant la question de\u00a0:</p><ul><li>Sa valeur\u2009;</li>\n<li>De sa comp\u00e9tence\u2009;</li>\n<li>De sa situation par rapport \u00e0 ses pairs, voire de ses formateurs.</li>\n</ul><p>Une sous-\u00e9valuation peut \u00eatre le signe de la cr\u00e9ation d\u2019un rapport biais\u00e9 (le coach se positionne en tant que sauveur, faisant un rabais)\u2009; une sur\u00e9valuation, en revanche, peut \u00eatre le signe d\u2019une identit\u00e9 narcissique.</p><h3><strong>Dossier\u00a02 \u2014 Pr\u00e9parer son intervention</strong></h3><p>La pr\u00e9paration du coaching est une phase cl\u00e9 de la relation. Mais quels sont les crit\u00e8res de r\u00e9ussite d\u2019une telle \u00e9tape\u2009?</p><ul><li>Parvenir \u00e0 fixer des objectifs clairs et communs\u2009;</li>\n<li>Ancrer la d\u00e9marche dans un contexte pr\u00e9cis\u2009;</li>\n<li>Cr\u00e9er une relation p\u00e9dagogique avec l\u2019entreprise.</li>\n</ul><h4><strong>Outil\u00a05 \u2014 \u00c9tablir les objectifs</strong></h4><p>Pas de coaching sans savoir o\u00f9 l\u2019on va. La d\u00e9marche d\u2019accompagnement est centr\u00e9e sur l\u2019action et elle a une fin clairement \u00e9tablie d\u00e8s le d\u00e9part. Par ailleurs, le client a besoin de buts clairs pour demeurer motiv\u00e9. L\u2019objectif est d\u00e9cid\u00e9 lors de la premi\u00e8re s\u00e9ance, mais des objectifs secondaires doivent aussi \u00eatre d\u00e9sign\u00e9s lors de chaque s\u00e9ance.</p><p>Il faudra donc\u00a0:</p><ol><li>D\u00e9finir le \u00ab\u2009but global\u2009\u00bb du client\u2009;</li>\n<li>Puis les objectifs de performance (qui permettent d\u2019atteindre le but global)\u2009;</li>\n<li>Et enfin d\u00e9cider d\u2019indicateurs de mesure servant \u00e0 s\u2019assurer du mouvement positif effectu\u00e9.</li>\n</ol><h4><strong>Outil\u00a06 \u2014 Conduire une r\u00e9union tripartite</strong></h4><p>La premi\u00e8re s\u00e9ance de deux heures est compos\u00e9e\u00a0:</p><ul><li>D\u2019une premi\u00e8re heure avec le client (pour faire connaissance, clarifier sa probl\u00e9matique et pr\u00e9parer la deuxi\u00e8me heure)\u2009;</li>\n<li>De la deuxi\u00e8me heure, dite \u00ab\u2009r\u00e9union tripartite\u2009\u00bb durant laquelle un repr\u00e9sentant de l\u2019entreprise sera \u00e9galement pr\u00e9sent.</li>\n</ul><p>L\u2019objectif de cette deuxi\u00e8me heure est de poser le cadre du coaching et de d\u00e9cider des objectifs en commun. Le d\u00e9roulement en est simple\u00a0:</p><ol><li>D\u2019abord, effectuer un tour de table de pr\u00e9sentation\u2009;</li>\n<li>Ensuite, le coach anime la discussion afin de parvenir \u00e0 un accord sur les objectifs \u00e0 atteindre par le coach\u00e9.</li>\n</ol><h4><strong>Outil\u00a07 \u2013 Le contrat tripartite</strong></h4><blockquote>\n<p>\u00ab\u2009Le contrat tripartite est un document r\u00e9dig\u00e9 par le coach \u00e0 l\u2019issue de la r\u00e9union tripartite (voir outil\u00a06), explicitant les objectifs du coaching et les modalit\u00e9s d\u2019intervention. Il s\u2019agit d\u2019un accord entre le coach et la personne accompagn\u00e9e, son manager et le cas \u00e9ch\u00e9ant la direction des ressources humaines [dans le cas d\u2019une r\u00e9union dite quadripartite]. Un contrat tripartite comprend les rubriques suivantes\u00a0:</p>\n</blockquote><ul><li>\n<blockquote>\n<p>Contexte de la demande\u2009;</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Enjeux de l\u2019entreprise\u2009;</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Objectifs du coaching\u2009;</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Principes du coaching\u00a0et r\u00f4le du coach\u2009;</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Modalit\u00e9s d\u2019accompagnement\u2009;</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Budget [\u2026]\u2009;</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Traitement des litiges.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils du coaching</em>, p.\u00a030)</p>\n</blockquote>\n</li>\n</ul><p>Le contrat devra \u00eatre sign\u00e9 par toutes les parties prenantes. \u00c0 noter\u00a0: certains coaches pr\u00e9f\u00e8rent s\u00e9parer le contrat dans ses deux parties constitutives \u2014 \u00e0 savoir le contrat de coaching et le contrat d\u2019affaires (avec les parties budget et traitement des litiges).</p><h4><strong>Outil\u00a08 \u2013 Le bilan de coaching</strong></h4><p>R\u00e9alis\u00e9 \u00e0 l\u2019issue de la d\u00e9marche, il a trois finalit\u00e9s principales\u00a0:</p><ol><li>Exhiber les b\u00e9n\u00e9fices pour l\u2019ensemble des parties prenantes\u2009;</li>\n<li>Faire le point, de mani\u00e8re r\u00e9flexive\u2009;</li>\n<li>Fixer durablement les apprentissages et les changements.</li>\n</ol><p>Le coach prendra d\u2019abord une heure pour prendre du recul sur le chemin parcouru avec le client, puis r\u00e9alisera une autre r\u00e9union tripartite d\u2019une heure, au cours de laquelle il animera les interactions et veillera particuli\u00e8rement \u00e0 l\u2019aspect factuel des feedbacks\u2009; il s\u2019appuiera sur les indicateurs \u00e9tablis en d\u00e9but de parcours.</p><h4><strong>Outil\u00a09 \u2013 L\u2019alliance</strong></h4><p>On parle d\u2019alliance tout court dans le cadre du coaching individuel ou d\u2019\u00ab\u2009alliance avec l\u2019\u00e9quipe\u2009\u00bb dans le cadre d\u2019un coaching collectif. Il y a alliance lorsque les acteurs s\u2019entendent autour\u00a0:</p><ol><li>Des finalit\u00e9s du coaching\u2009;</li>\n<li>De la qualit\u00e9 de la relation\u00a0(entente interpersonnelle)\u2009;</li>\n<li>Du d\u00e9roulement concret de l\u2019intervention.</li>\n</ol><p>Cette connexion devra \u00eatre cr\u00e9\u00e9e ou favoris\u00e9e tout au long du parcours, en s\u2019assurant notamment de\u00a0:</p><ul><li>Actualiser les objectifs\u2009;</li>\n<li>Donner une r\u00e9ponse honn\u00eate, c\u2019est-\u00e0-dire prendre position, apr\u00e8s \u00e9coute, quant \u00e0 la possibilit\u00e9 de l\u2019accompagnement\u2009;</li>\n<li>\u00catre clair et p\u00e9dagogue au sujet de la pratique du coaching\u2009;</li>\n<li>Fournir un cadre avec des r\u00e8gles de fonctionnement\u2009;</li>\n<li>Ne pas laisser le client sans r\u00e9ponses \u00e0 ses interrogations.</li>\n</ul><p><img class=\"aligncenter wp-image-25198 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/11/Ecouter-analyser-e1637561776517.jpg?is-pending-load=1\" alt=\"Ecouter et analyser le contexte du client\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-25198 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/11/Ecouter-analyser-e1637561776517.jpg\" alt=\"Ecouter et analyser le contexte du client\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Dossier\u00a03 \u2014 \u00c9couter et analyser le contexte du client</strong></h3><p>Le coaching diff\u00e8re de la formation et du conseil. Cela se rep\u00e8re \u00e0 deux points essentiels.</p><ol><li>Le coach consid\u00e8re que la r\u00e9ponse vient du patient\u00a0: il porte un regard optimiste sur son client en consid\u00e9rant qu\u2019il est plein de ressources, qu\u2019il s\u2019agira de d\u00e9velopper ou de d\u00e9voiler ensemble\u2009;</li>\n<li>La relation est cadr\u00e9e et ce cadre vise \u00e0 responsabiliser au maximum le coach\u00e9, qui devra notamment fournir une demande claire. Le coach, quant \u00e0 lui, devra toujours veiller \u00e0 structurer et contextualiser son intervention.</li>\n</ol><h4><strong>Outil\u00a010 \u2013 L\u2019\u00e9coute active</strong></h4><p>C\u2019est Carl Rogers, c\u00e9l\u00e8bre psychologue humaniste \u00e9tatsunien, qui a con\u00e7u cette m\u00e9thode. Celle-ci vise \u00e0 cr\u00e9er un climat d\u2019ouverture et de confiance entre le th\u00e9rapeute et le client. Elle passe notamment par l\u2019observation du discours non verbal par la reformulation des propos, des ressentis et des \u00e9motions. Elle implique authenticit\u00e9, respect et empathie pour le coach\u00e9.</p><p>Pour \u00e9couter de fa\u00e7on bienveillante et profonde, concentrez-vous sur tous les signaux (verbaux, non verbaux, comportements \u00e0 votre \u00e9gard) et n\u2019oubliez pas de mettre en \u0153uvre la troisi\u00e8me \u00e9coute (outil\u00a02).</p><p>Pour reformuler efficacement, pr\u00e9f\u00e9rez l\u2019emploi des m\u00eames mots et expressions que ceux utilis\u00e9s par votre client. Il existe trois formes de reformulation.</p><ol><li>Reflet\u00a0: vous r\u00e9p\u00e9tez exactement les propos pour relancer la discussion\u2009;</li>\n<li>Synth\u00e8se\u00a0: vous demandez des clarifications ou mettez en \u00e9vidence certains traits de l\u2019interaction en r\u00e9sumant et en additionnant un certain nombre de signaux\u2009;</li>\n<li>D\u00e9ductive\u00a0: faire appara\u00eetre clairement et faire valider les croyances ou les id\u00e9es du coach\u00e9.</li>\n</ol><p>L\u2019\u00e9coute active est l\u2019une des comp\u00e9tences essentielles du coach.</p><h4><strong>Outil\u00a011 \u2013 Le questionnement</strong></h4><p>Imprescriptible, il vous servira dans toutes les phases du coaching, afin d\u2019aider votre client \u00e0 s\u2019orienter, \u00e0 exprimer ses pens\u00e9es et ses \u00e9motions, ou encore \u00e0 le faire r\u00e9fl\u00e9chir et lui permettre de d\u00e9velopper son potentiel et ses capacit\u00e9s de r\u00e9solution des probl\u00e8mes.</p><p>Il est le compl\u00e9ment naturel \u00e0 l\u2019\u00e9coute active. Pour bien ma\u00eetriser cet outil, le coach devra bien peser ses mots et conna\u00eetre diff\u00e9rents types de questions.</p><ul><li>Ouverte\u00a0: la r\u00e9ponse est laiss\u00e9e totalement libre\u2009;</li>\n<li>Ferm\u00e9e\u00a0: une alternative est impliqu\u00e9e dans la question\u2009;</li>\n<li>Orient\u00e9e action\u00a0: l\u2019accent est plac\u00e9 sur la mani\u00e8re (comment)\u2009;</li>\n<li>Orient\u00e9e exp\u00e9rience dans le pass\u00e9\u00a0: \u00e0 vis\u00e9e plus r\u00e9flexive\u2009;</li>\n<li>Clarification\u00a0: d\u00e9brouiller ou illustrer un propos peu compr\u00e9hensible\u2009;</li>\n<li>Projection\u00a0: le coach\u00e9 est invit\u00e9 \u00e0 imaginer une situation o\u00f9 le probl\u00e8me est r\u00e9solu\u2009;</li>\n<li>M\u00e9taphorique\u00a0: d\u00e9placement du regard qui permet de traiter le probl\u00e8me diff\u00e9remment.</li>\n</ul><h4><strong>Outil\u00a012 \u2013 La grille RPBCD</strong></h4><p>Pour comprendre, d\u00e9plions le sens de cet acronyme.</p><ul><li>R comme R\u00e9el\u00a0= qu\u2019en est-il de la situation actuelle du coach\u00e9\u2009?</li>\n<li>P comme Probl\u00e8me = qu\u2019est-ce qui dysfonctionne pour le coach\u00e9\u2009? Quel est l\u2019\u00e9tat futur d\u00e9sir\u00e9\u2009?</li>\n<li>B comme Besoin = le coach est amen\u00e9 \u00e0 poser prudemment une hypoth\u00e8se sur le besoin sous-jacent (diagnostic)\u2009;</li>\n<li>D comme Demande = le coach clarifie l\u2019objectif de la s\u00e9ance avec le coach\u00e9 et le responsabilise\u2009;</li>\n<li>C comme Contrat = chacun explicite ses attentes, ses capacit\u00e9s d\u2019intervention et les modalit\u00e9s de l\u2019interaction.</li>\n</ul><p>Ne prenez pas ceci pour un processus lin\u00e9aire\u2009; ces cinq niveaux sont reli\u00e9s de fa\u00e7on dynamique et doivent \u00eatre adapt\u00e9s en cours de route.</p><h4><strong>Outil\u00a013 \u2013 Le mod\u00e8le GROW</strong></h4><p>Ce mod\u00e8le permet de d\u00e9gager un ordre au questionnement propos\u00e9 sur l\u2019ensemble de la d\u00e9marche. Il peut aussi donner lieu \u00e0 un dialogue rapide, appel\u00e9 \u00ab\u2009dialogue de coaching\u2009\u00bb, au cours duquel vous vous assurerez de poser les questions suivantes.</p><ol><li>Goal (objectifs)\u00a0: clarification de l\u2019ambition du client\u2009;</li>\n<li>Reality (r\u00e9alit\u00e9)\u00a0: exploration de la situation actuelle\u2009;</li>\n<li>Options\u00a0: r\u00e9flexion autour des solutions possibles\u2009;</li>\n<li>Will (volont\u00e9, action)\u00a0: dessiner un plan d\u2019action et pr\u00e9voir les obstacles.</li>\n</ol><p>Il n\u2019est pas n\u00e9cessaire d\u2019imposer cette structure de questionnement d\u00e8s le d\u00e9part du coaching. La plupart du temps, le client a d\u2019abord besoin de s\u2019y retrouver lui-m\u00eame et de d\u00e9brouiller diff\u00e9rents n\u0153uds. Utilisez son propre dynamisme, puis lorsque vous consid\u00e9rez que cela est perspicace et judicieux de son point de vue, faites-le entrer dans la d\u00e9marche.</p><h4><strong>Outil\u00a014 \u2013 Les zones d\u2019intervention</strong></h4><p>Tr\u00e8s utile dans le cadre d\u2019un accompagnement individuel, ce mod\u00e8le permet de cr\u00e9er une hi\u00e9rarchie des probl\u00e8mes, de planifier leur r\u00e9solution et ainsi de traiter intelligemment les urgences.</p><p>Huit zones sont \u00e0 travailler en profondeur (dans le livre, les auteurs d\u00e9taillent avec plus de pr\u00e9cision le travail \u00e0 r\u00e9aliser pour chaque zone)\u00a0:</p><ol><li>Le coach lui-m\u00eame = est-il au clair avec lui-m\u00eame\u2009?</li>\n<li>La relation = est-elle efficace\u2009?</li>\n<li>Le coach\u00e9 = a-t-il une bonne estime de lui-m\u00eame\u2009?</li>\n<li>La relation coach\u00e9 \u2014 environnement de travail = quelle est-elle\u2009?</li>\n<li>Le syst\u00e8me du coach\u00e9 = quels sont les dysfonctionnements, les pressions, etc.\u00a0?</li>\n<li>Le probl\u00e8me = une fois pos\u00e9, comment agir\u2009? Quelle solution \u00ab\u2009technique\u2009\u00bb apporter\u2009?</li>\n<li>La relation entre les autres et le probl\u00e8me pos\u00e9 = comment envisager le probl\u00e8me sous leur angle\u2009?</li>\n<li>La relation du coach\u00e9 avec le probl\u00e8me pos\u00e9 = comment g\u00e9rer son probl\u00e8me, quelles sont les options\u2009?</li>\n</ol><h4><strong>Outil\u00a015 \u2013 Le triangle de Karpman</strong></h4><p>C\u2019est Stephen Karpman, sp\u00e9cialiste de l\u2019analyse transactionnelle, qui a mit en place ce mod\u00e8le qui fournit des cl\u00e9s de compr\u00e9hension et d\u2019analyse en mati\u00e8re de communication.</p><p>Lorsque vous \u00eates en interaction avec quelqu\u2019un, vous pouvez adopter l\u2019une des trois postures suivantes\u00a0:</p><ul><li>Celle de victime\u00a0;</li>\n<li>De pers\u00e9cuteur\u00a0;</li>\n<li>Ou de sauveteur.</li>\n</ul><p>Les situations de malaise relationnel, de conflit ou de manipulation peuvent r\u00e9sulter de l\u2019enfermement de chacun des interlocuteurs dans l\u2019un de ces r\u00f4les.</p><p>Pour utiliser ce mod\u00e8le, veillez \u00e0\u00a0:</p><ol><li>Cerner d\u2019abord le souci de votre client\u2009;</li>\n<li>Lui exposer les trois r\u00f4les (pers\u00e9cuteur, victime, sauveteur)\u2009;</li>\n<li>Expliquer la dynamique interactive du triangle\u2009;</li>\n<li>\u00c0 partir de l\u00e0, aider le client \u00e0 s\u2019y rep\u00e9rer, \u00e0 repenser son probl\u00e8me selon ce sch\u00e8ma et \u00e0 mettre en place des strat\u00e9gies d\u2019\u00e9vitement ou de sortie du triangle.</li>\n</ol><p>Attention \u00e0 ne pas entrer vous-m\u00eame dans la peau du \u00ab\u2009sauveteur\u2009\u00bb. Cela se remarque \u00e0 une prise de parole trop fr\u00e9quente et \u00e0 une trop forte implication dans la r\u00e9solution des probl\u00e8mes du client (sans demande de sa part), qui conduisent d\u2019ailleurs le coach \u00e0 consid\u00e9rer qu\u2019il d\u00e9pense trop d\u2019\u00e9nergie dans les s\u00e9ances.</p><h3><strong>Dossier\u00a04 \u2014 Intervenir efficacement</strong></h3><p>Comme on l\u2019a vu avec le poisson-canne \u00e0 p\u00eache, le coach peut intervenir plut\u00f4t en conseillant ou plut\u00f4t en \u00e9veillant l\u2019autonomie du client, selon la situation. L\u2019objectif final est bien d\u2019atteindre l\u2019autonomie, mais le conseil s\u2019av\u00e8re parfois n\u00e9cessaire lorsqu\u2019il y a urgence ou lorsque le client ne ma\u00eetrise pas certaines notions essentielles (le coach joue alors le r\u00f4le d\u2019un \u00ab\u2009enseignant\u2009\u00bb).</p><p>Ce dossier fournit des outils permettant d\u2019agir plut\u00f4t dans un sens (outils 16, 20, 21, 26, 27) ou dans l\u2019autre (17, 18, 19, 22, 23, 24, 25).</p><h4><strong>Outil 16 \u2013 3P\u00a0: Protection, Permission, Puissance</strong></h4><p>En jouant sur ces trois leviers, vous serez en mesure de cr\u00e9er des conditions de travail sereines entre vous et le coach\u00e9.</p><ul><li>La protection vous permet d\u2019avertir le client contre les cons\u00e9quences et risques d\u2019une action.</li>\n<li>La permission est un acte de langage au cours duquel vous autorisez le client \u00e0 changer de comportement.</li>\n<li>Enfin, la puissance est le sentiment ressenti par le client, lorsqu\u2019il se sent \u00e0 la fois autoris\u00e9 et prot\u00e9g\u00e9.</li>\n</ul><p>Alors que la protection consiste \u00e0 dire \u00ab\u2009non\u2009\u00bb, en pointant les cons\u00e9quences n\u00e9gatives, la permission consiste \u00e0 dire \u00ab\u2009oui\u2009\u00bb, en encourageant le client \u00e0 explorer et \u00e0 se transformer. Le coach doit trouver le bon \u00e9quilibre, en vue de donner un sentiment de confiance en soi \u00e0 son client.</p><h4><strong>Outil\u00a017 \u2013 Le renforcement progressif</strong></h4><p>Ici encore, la <a href=\"https://des-livres-pour-changer-de-vie.com/le-pouvoir-de-la-confiance-en-soi/\" target=\"_blank\" rel=\"noopener\">confiance en soi</a> est au centre des pr\u00e9occupations. En soulignant les avanc\u00e9es du coach\u00e9, en le motivant et en le soutenant, vous pouvez, en tant que coach, jouer un r\u00f4le crucial dans le niveau de cette confiance.</p><p>Le renforcement positif consiste en\u00a0:</p><ol><li>Une \u00e9coute attentive\u2009;</li>\n<li>La valorisation de la personne ou de l\u2019\u00e9quipe.</li>\n</ol><p>Le renforcement peut \u00eatre conditionnel ou inconditionnel\u00a0:</p><ul><li>Conditionnel = li\u00e9 \u00e0 un r\u00e9sultat obtenu\u2009;</li>\n<li>Inconditionnel = li\u00e9 aux caract\u00e9ristiques intrins\u00e8ques de la personne ou de l\u2019\u00e9quipe.</li>\n</ul><h4><strong>Outil\u00a018 \u2013 Le feedback critique</strong></h4><p>Donner un feedback critique de fa\u00e7on constructive implique de\u00a0:</p><ol><li>D\u00e9celer et d\u00e9crire les faits et les comportements observables\u2009;</li>\n<li>Relater les cons\u00e9quences n\u00e9gatives pour le client et son entourage\u2009;</li>\n<li>Travailler \u00e0 un changement.</li>\n</ol><p>Avoir des retours de personnes bienveillantes est toujours une occasion inestimable d\u2019en apprendre davantage sur soi et ainsi de progresser. Pour que cela fonctionne, la juste balance doit \u00eatre trouv\u00e9e entre les critiques et les gestes de renforcement positif.</p><p>En tant que coach, vous ne devrez pas oublier de vous pr\u00e9parer aux r\u00e9actions possibles de votre (ou de vos) interlocuteur(s), afin de mieux guider la s\u00e9ance.</p><h4><strong>Outil\u00a019 \u2013 La confrontation</strong></h4><p>Cette technique vise \u00e0 extraire et exhiber les incoh\u00e9rences du client, afin de le faire r\u00e9fl\u00e9chir. Elles peuvent appara\u00eetre\u00a0:</p><ul><li>Entre deux affirmations\u2009;</li>\n<li>Entre le discours verbal et le discours non verbal\u2009;</li>\n<li>Dans le conflit entre les possibilit\u00e9s concr\u00e8tes et les d\u00e9sirs\u00a0(buts)\u2009;</li>\n<li>Entre le comportement g\u00e9n\u00e9ral du coach\u00e9 et ses discours\u2009;</li>\n<li>Dans la diff\u00e9rence entre les valeurs et les actes\u2009;</li>\n<li>Entre le contrat du coaching et ce que fait le client\u00a0(si le client annule souvent les s\u00e9ances pr\u00e9vues, par exemple)\u2009;</li>\n<li>Entre la perception du coach et celle du coach\u00e9\u2009;</li>\n<li>Lorsque le coach a l\u2019impression que le client ment, cache ou d\u00e9forme la r\u00e9alit\u00e9.</li>\n</ul><p>La confrontation doit \u00eatre r\u00e9alis\u00e9e avec bienveillance et lorsque le coach se sent bien. L\u2019objectif n\u2019est pas de froisser le client, mais de l\u2019aider \u00e0 avancer.</p><h4><strong>Outil 20 \u2013 La m\u00e9tacommunication</strong></h4><p>La m\u00e9tacommunication permet de d\u00e9nouer un conflit. Par exemple entre deux acteurs d\u2019une m\u00eame entreprise. Quelles sont les grandes \u00e9tapes \u00e0 ne pas manquer\u2009?</p><ol><li>Rappeler, par un exercice, que les parties prenantes agissent sur des cadres de r\u00e9f\u00e9rence distincts\u2009;</li>\n<li>Montrer que les \u00ab\u2009visions\u2009\u00bb qu\u2019ils portent (leur avis sur le probl\u00e8me) d\u00e9pendent de leur cadre de r\u00e9f\u00e9rence et qu\u2019il n\u2019y a donc pas de solution \u00ab\u2009unique et absolue\u2009\u00bb\u2009;</li>\n<li>Faire un effort d\u2019\u00e9coute non critique du cadre de r\u00e9f\u00e9rence de l\u2019autre partie\u2009;</li>\n<li>G\u00e9n\u00e9rer un feedback r\u00e9ciproque o\u00f9 chacun r\u00e9sume ce qu\u2019il a compris et ressent \u00e0 propos du cadre de l\u2019autre et de ses contraintes propres\u2009;</li>\n<li>Inventer une solution commune.</li>\n</ol><h4><strong>Outil\u00a021 \u2013 Les niveaux de changement</strong></h4><p>Comme coach, vous serez amen\u00e9 \u00e0 rep\u00e9rer diff\u00e9rents niveaux d\u2019intervention et donc de changement. La demande de votre client peut se situer \u00e0 diff\u00e9rents niveaux de profondeur \u2014 il vous appartiendra de vous adapter apr\u00e8s avoir analys\u00e9 ce point\u2009; vous devrez parfois orienter le coach\u00e9 vers d\u2019autres sp\u00e9cialistes (th\u00e9rapeute, notamment).</p><p>Vincent Lenhardt a d\u00e9gag\u00e9 7\u00a0niveaux\u00a0:</p><ul><li>\u2013 1 = une modification directement li\u00e9e au contexte du client\u2009;</li>\n<li>0 = un changement li\u00e9 \u00e0 la fonction exerc\u00e9e\u2009;</li>\n<li>1 = un comportement \u00e0 faire \u00e9voluer\u2009;</li>\n<li>2 = une transformation des valeurs, des croyances et des syst\u00e8mes de repr\u00e9sentation\u2009;</li>\n<li>3 = une restructuration psychique (\u00e0 laisser \u00e0 un th\u00e9rapeute)\u2009;</li>\n<li>4 = le d\u00e9veloppement de la partie inconditionnellement positive en chacun de nous\u2009;</li>\n<li>5 = le d\u00e9veloppement spirituel (\u00e0 laisser \u00e0 des ministres religieux).</li>\n</ul><h4><strong>Outil\u00a022 \u2013 La prescription de t\u00e2ches</strong></h4><p>La technique de prescription des t\u00e2ches permet au coach d\u2019inviter son client \u00e0 r\u00e9fl\u00e9chir \u00e0 son \u00e9volution et ainsi \u00e0 favoriser son \u00e9volution personnelle. Quels types de t\u00e2ches le coach peut-il \u00eatre amen\u00e9 \u00e0 prescrire\u2009?</p><ol><li>Les t\u00e2ches d\u2019observation\u00a0visent \u00e0 collecter des informations sur des situations\u2009;</li>\n<li>Celles de projection visent \u00e0 imaginer les b\u00e9n\u00e9fices d\u2019une situation nouvelle\u2009;</li>\n<li>Les t\u00e2ches de comportement visent \u00e0 encourager le client \u00e0 se d\u00e9passer\u2009;</li>\n<li>Celles dites \u00ab\u2009paradoxales\u2009\u00bb visent \u00e0 d\u00e9bloquer un probl\u00e8me en agissant sur le sympt\u00f4me.</li>\n</ol><p>Ces t\u00e2ches doivent \u00eatre prescrites avec soin par le coach (en connaissant le client et en donnant les protections et les permissions n\u00e9cessaires) et seront r\u00e9alis\u00e9es en dehors des s\u00e9ances par le coach\u00e9.</p><h4><strong>Outil\u00a023 \u2013 Le recadrage</strong></h4><blockquote>\n<p>\u00ab\u2009Le recadrage est un mode d\u2019intervention qui vise \u00e0 g\u00e9n\u00e9rer un changement de regard du client sur sa situation. Sous ce nouvel angle de vue, ce qui \u00e9tait per\u00e7u comme une difficult\u00e9 devient une ressource utile. Il peut s\u2019agir d\u2019un\u00a0recadrage <strong>de point de vue</strong> (les angles de perception et la position du point de vue du client sont modifi\u00e9s), <strong>de sens</strong> (\u00e0 partir des m\u00eames faits, de nouvelles interpr\u00e9tations de la situation sont per\u00e7ues par le client), <strong>de comportement</strong> (le client comprend l\u2019aspect positif du comportement qui lui posait probl\u00e8me) ou encore d\u2019un <strong>recadrage par parties</strong> (voir outil\u00a024).\u2009\u00bb (<em>La bo\u00eete \u00e0 outils du coaching</em>, p.\u00a082)</p>\n</blockquote><p>Assurez-vous\u00a0:</p><ul><li>D\u2019avoir une alliance forte entre vous, le coach, et votre client (voir l\u2019outil\u00a09)\u2009;</li>\n<li>De bien conna\u00eetre l\u2019\u00e9cologie du changement, c\u2019est-\u00e0-dire savoir si l\u2019environnement dans lequel il aura lieu sera compatible.</li>\n</ul><h4><strong>Outil\u00a024 \u2013 Le recadrage des parties</strong></h4><p>Il y a plusieurs parties en chacun de nous\u2026 Ces parties entrent en conflit les unes avec les autres. Nous voulons rester le m\u00eame, et en m\u00eame temps changer. Comment mettre de l\u2019ordre dans tout \u00e7a\u2009?</p><p>Six \u00e9tapes sont identifi\u00e9es par les auteurs\u00a0:</p><ol><li>Identification du changement \u00e0 r\u00e9aliser\u2009;</li>\n<li>Prise de contact avec la part de soi-m\u00eame li\u00e9e au comportement probl\u00e9matique\u2009;</li>\n<li>S\u00e9paration du comportement en tant que tel et de l\u2019intention positive qu\u2019il comprend\u2009;</li>\n<li>Cr\u00e9ation d\u2019un comportement alternatif, non probl\u00e9matique\u2009;</li>\n<li>Ancrage concret des nouvelles dispositions\u2009;</li>\n<li>Liaison du nouveau comportement avec l\u2019environnement du coach\u00e9.</li>\n</ol><h4><strong>Outil\u00a025 \u2013 La r\u00e9solution de probl\u00e8mes par le mod\u00e8le syst\u00e9mique</strong></h4><p>Lorsqu\u2019une relation fonctionne mal, c\u2019est souvent en raison de blocages autour d\u2019une m\u00eame probl\u00e9matique. En fait, sans nous en rendre compte, nous mettons en place des solutions qui sont de m\u00eame nature que le probl\u00e8me et, de cette fa\u00e7on, nous n\u2019arrivons jamais \u00e0 sortir du cercle vicieux.</p><p>Pour en sortir, le mod\u00e8le syst\u00e9mique propose le cheminement suivant\u00a0:</p><ol><li>Clarifiez le probl\u00e8me\u2009;</li>\n<li>Explorez les tentatives de solutions\u00a0et trouvez-en le d\u00e9nominateur commun\u2009;</li>\n<li>Prescrivez des t\u00e2ches.</li>\n</ol><h4><strong>Outil\u00a026 \u2013 Les 4\u00a0zones de l\u2019identit\u00e9</strong></h4><p>Gr\u00e2ce \u00e0 cet outil, vous pourrez cr\u00e9er un diagnostic clair des blocages relationnels ou fonctionnels de vos clients. En rep\u00e9rant les zones probl\u00e9matiques, vous pourrez agir et les renforcer. Tout d\u2019abord, identifiez la zone identitaire perturb\u00e9e\u00a0:</p><ol><li>S\u2019agit-il d\u2019un probl\u00e8me de reconnaissance interne (confiance en soi et en ses comp\u00e9tences et capacit\u00e9s)\u2009;</li>\n<li>Le probl\u00e8me vient-il du statut, c\u2019est-\u00e0-dire de toutes les couches externes qui font l\u2019identit\u00e9 de la personne (dipl\u00f4mes, carte d\u2019identit\u00e9, etc.)\u2009?</li>\n<li>Le souci est-il li\u00e9 \u00e0 l\u2019environnement ou au milieu du client, c\u2019est-\u00e0-dire \u00e0 la reconnaissance externe, qui va faire pression sur les trois autres zones\u2009?</li>\n<li>A-t-il une difficult\u00e9 vis-\u00e0-vis de ses r\u00e9f\u00e9rents externes (ses valeurs, les mod\u00e8les personnels)\u2009? G\u00e9n\u00e9ralement, cette quatri\u00e8me zone est la plus solide, et donc la plus stable.</li>\n</ol><p>Apr\u00e8s avoir identifi\u00e9 la zone d\u00e9faillante, vous pourrez la travailler progressivement gr\u00e2ce au questionnement, au renforcement positif ou aux feedbacks.</p><h4><strong>Outil\u00a027 \u2013 La grille OSBD</strong></h4><p>Voici un nouvel acronyme\u2009! Les coaches en raffolent. Quelle est la signification de celui-ci\u2009? Laissez-vous guider.</p><ul><li>O = Observation (niveau\u00a01)</li>\n<li>S = Sentiment (niveau\u00a02)</li>\n<li>B = Besoin (niveau\u00a03)</li>\n<li>D = Demande\u00a0(niveau\u00a04)</li>\n</ul><p>Il s\u2019agit de quatre niveaux logiques que le coach va d\u00e9m\u00ealer analytiquement avec le coach\u00e9 au cours des s\u00e9ances. Il devra d\u2019abord s\u2019assurer de faire parler le client \u00e0 propos d\u2019actions pr\u00e9cises (premier niveau), puis l\u2019inviter \u00e0 d\u00e9crire ses \u00e9motions (deuxi\u00e8me niveau). De l\u00e0, le client pourra d\u00e9celer la source de son insatisfaction, c\u2019est-\u00e0-dire le besoin qui n\u2019a pas \u00e9t\u00e9 combl\u00e9 (troisi\u00e8me niveau) et il pourra donc exprimer une demande ou cr\u00e9er un nouveau r\u00e9f\u00e9rentiel d\u2019action (quatri\u00e8me niveau).</p><h4><strong>Outil\u00a028 \u2013 Les degr\u00e9s d\u2019autonomie</strong></h4><p>Ce mod\u00e8le issu de l\u2019analyse transactionnelle mod\u00e9lise 4 stades ou \u00e9tats d\u2019une relation\u00a0:</p><ol><li>[L]a d\u00e9pendance\u2009;</li>\n<li>[L]a contre-d\u00e9pendance\u2009;</li>\n<li>[L]\u2019ind\u00e9pendance\u2009;</li>\n<li>[E]t l\u2019interd\u00e9pendance.</li>\n</ol><p>Progressivement, la relation va gagner en force et en autonomie. Mais cela n\u2019ira pas sans faire des compromis, ni sans renoncer \u00e0 certaines attitudes limitantes. L\u2019interd\u00e9pendance est le degr\u00e9 le plus fort de la relation, dans la mesure o\u00f9 les personnes sont \u00e0 la fois pleinement autonomes et associ\u00e9es.</p><p><img class=\"aligncenter wp-image-25199 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/11/renforcer-cohesion-au-sein-equipe-e1637561845819.jpg?is-pending-load=1\" alt=\"Renforcer la coh\u00e9sion au sein des \u00e9quipes\" width=\"400\" height=\"600\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-25199 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/11/renforcer-cohesion-au-sein-equipe-e1637561845819.jpg\" alt=\"Renforcer la coh\u00e9sion au sein des \u00e9quipes\" width=\"400\" height=\"600\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Dossier\u00a05 \u2014 Am\u00e9liorer les modes de fonctionnement de l\u2019\u00e9quipe</strong></h3><p>D\u00e9couvrez dans ce dossier des \u00ab\u2009cartes\u2009\u00bb pour vous aider \u00e0 vous rep\u00e9rer au sein des \u00e9quipes et des relations qui s\u2019y nouent, des outils pour mieux communiquer, ainsi que des m\u00e9thodes ludiques et p\u00e9dagogiques.</p><h4><strong>Outil\u00a029 \u2014 Diagnostiquer le fonctionnement de son \u00e9quipe</strong></h4><p>Un groupe peut avoir plusieurs formes ou, plus concr\u00e8tement, une coh\u00e9sion plus ou moins forte. La grille de lecture propos\u00e9e ici vous propose de diagnostiquer le type de groupe auquel vous avez affaire.</p><p>Une \u00e9quipe \u00e9volue selon trois stades\u00a0:</p><ol><li>La collection d\u2019individus (ils sont ensemble mais ne forment pas un tout)\u2009;</li>\n<li>Le groupe solidaire (les individus s\u2019associent pour r\u00e9aliser des t\u00e2ches communes, une identit\u00e9 se constitue, etc.)\u2009;</li>\n<li>L\u2019\u00e9quipe performante (une vision partag\u00e9e permet de souder fortement ses membres qui adaptent constamment leurs r\u00f4les \u00e0 ce qui est attendu par l\u2019\u00e9quipe).</li>\n</ol><p>Le r\u00f4le du coach diff\u00e8re selon l\u2019\u00e9tape \u00e0 laquelle se situe le groupe\u00a0:</p><ul><li>Soit cr\u00e9er une symbiose entre le dirigeant et son groupe et entre les personnes (stade\u00a01)\u2009;</li>\n<li>Ou bien g\u00e9n\u00e9rer plus d\u2019\u00e9coute et instaurer un certain nombre de r\u00e8gles\u00a0(stade\u00a02)\u2009;</li>\n<li>Ou alors g\u00e9rer la complexit\u00e9 en s\u2019adressant directement aux acteurs (stade\u00a03).</li>\n</ul><h4><strong>Outil\u00a030 \u2014 Mon, Son, Ton, Notre, Mon</strong></h4><p>Cet outil a une vocation d\u2019int\u00e9gration, de diagnostic et d\u2019intervention. Int\u00e9grer l\u2019ensemble des parties prenantes, rep\u00e9rer les dysfonctionnements et agir au bon endroit (sur la bonne personne ou sur le groupe lui-m\u00eame).</p><p>Pour l\u2019appliquer, vous devrez vous questionner de la fa\u00e7on suivante, lorsque vous rencontrez une difficult\u00e9 (par exemple, un participant r\u00e9calcitrant)\u00a0:</p><ul><li>Est-ce MON probl\u00e8me\u00a0(\u00e0 moi, en tant que coach)\u2009?</li>\n<li>Est-ce SON probl\u00e8me (si le participant a un probl\u00e8me personnel vis-\u00e0-vis duquel il vaut mieux ne pas intervenir en public)\u2009?</li>\n<li>Est-ce TON probl\u00e8me (lorsque le participant a un probl\u00e8me qui m\u00e9rite une confrontation et un recadrage public)\u2009?</li>\n<li>Est-ce NOTRE probl\u00e8me (au groupe en tant que totalit\u00e9)\u2009?</li>\n<li>C\u2019est mon probl\u00e8me (au final, quelle que soit son origine, je dois le traiter).</li>\n</ul><h4><strong>Outil\u00a031 \u2013 La matrice RACI</strong></h4><p>Cet outil est utilis\u00e9 dans le cadre de diagnostics d\u2019\u00e9quipes, lorsque sont observ\u00e9s des dysfonctionnements en mati\u00e8re de r\u00e9partition des r\u00f4les, des t\u00e2ches et des responsabilit\u00e9s. Comment le mettre en \u0153uvre\u2009? Quatre \u00e9tapes sont n\u00e9cessaires\u00a0:</p><ol><li>Pr\u00e9parez un tableau avec les noms des activit\u00e9s et les noms des personnes de l\u2019\u00e9quipe\u2009;</li>\n<li>Formalisez la situation actuelle (demandez \u00e0 chacun des membres d\u2019inscrire un R, un A, un C ou un I en fonction du r\u00f4le qu\u2019il pense jouer pour telle et telle activit\u00e9 de l\u2019\u00e9quipe)\u2009;</li>\n<li>Analysez la matrice en pointant du doigt les incoh\u00e9rences ou les contradictions qui \u00e9manent des r\u00e9ponses\u2009;</li>\n<li>Formalisez la situation cible\u00a0(en redistribuant les r\u00f4les de fa\u00e7on concert\u00e9e et optimale).</li>\n</ol><h4><strong>Outil\u00a032 \u2013 La pr\u00e9sentation \u00ab\u2009bin\u00f4me, groupe, pl\u00e9ni\u00e8re\u2009\u00bb</strong></h4><p>Renforcer la coh\u00e9sion d\u2019une \u00e9quipe n\u2019est pas toujours ais\u00e9, surtout au sein de grandes \u00e9quipes. Cet outil et le prochain sont sp\u00e9cifiquement consacr\u00e9s \u00e0 cette question. Cela passe, bien s\u00fbr, par la parole. Comment rassurer et permettre l\u2019\u00e9closion de la parole\u2009? En y allant petit \u00e0 petit.</p><p>Tout d\u2019abord, le coach invite chacun \u00e0 jouer le jeu de la pr\u00e9sentation en rassurant sur la confidentialit\u00e9, mais aussi en proposant \u00e0 chacun de choisir le degr\u00e9 d\u2019ouverture qui lui convient et en demandant d\u2019adopter une attitude d\u2019\u00e9coute bienveillante.</p><p>Seul, dans un premier temps, chacun va r\u00e9fl\u00e9chir aux questions pos\u00e9es par le coach (Qui suis-je\u2009? Quels sont les \u00e9v\u00e9nements qui m\u2019ont construit\u2009? Quels sont mes projets\u2009? etc.).</p><p>Ensuite, en bin\u00f4me, chaque participant va <a href=\"https://des-livres-pour-changer-de-vie.com/bouillon-de-poulet-pour-lame/\" target=\"_blank\" rel=\"noopener\">raconter son histoire</a> et se pr\u00e9senter \u00e0 quelqu\u2019un d\u2019autre, pendant 10\u00a0minutes environ. Il \u00e9coutera \u00e9galement la pr\u00e9sentation de l\u2019autre puis lui fera un feedback de 2\u00a0minutes.</p><p>Au sein de petits groupes ensuite, chacun va se pr\u00e9senter de fa\u00e7on plus concise (3\u00a0minutes), tandis que le bin\u00f4me ajoutera un \u00e9l\u00e9ment pour compl\u00e9ter la pr\u00e9sentation.</p><p>Enfin, lorsque l\u2019\u00e9quipe enti\u00e8re sera r\u00e9unie, chacun se pr\u00e9sentera de fa\u00e7on r\u00e9duite (45\u00a0secondes ou une minute maximum). Le coach assurera le bon d\u00e9roulement de l\u2019ensemble des \u00e9tapes et proposera une restitution.</p><h4><strong>Outil\u00a033 \u2013 Les 2\u00a0cercles</strong></h4><p>Autre fa\u00e7on de renforcer la coh\u00e9sion\u00a0: l\u2019outil des deux cercles fonctionne de la mani\u00e8re suivante.</p><ol><li>Cr\u00e9ation de deux cercles concentriques\u00a0avec les membres de l\u2019\u00e9quipe\u2009;</li>\n<li>Questionnement \u00ab\u2009Qui suis-je\u2009?\u2009\u00bb lanc\u00e9 par le coach\u00a0(chacun trouve un bin\u00f4me de l\u2019autre cercle et explore la question)\u2009;</li>\n<li>Changement (le coach pose une autre question et fait tourner le cercle pour que le bin\u00f4me change \u00e9galement)\u2009;</li>\n<li>Restitution au cours de laquelle chacun peut donner son ressenti.</li>\n</ol><h4><strong>Outil\u00a034 \u2013 La banquise</strong></h4><p>Il s\u2019agit d\u2019un jeu visant \u00e0 analyser et \u00e0 am\u00e9liorer l\u2019esprit de collaboration au sein d\u2019une \u00e9quipe. Avec un tissu, le coach va mimer une banquise et sa disparition progressive (en r\u00e9duisant sa taille progressivement).</p><p>Deux fois de suite, il va \u00ab\u2009r\u00e9duire la banquise\u2009\u00bb et demander aux membres de l\u2019\u00e9quipe de se positionner, puis d\u2019interroger en silence la place qu\u2019ils ont prise. Le coach invitera chacun \u00e0 se poser des questions telles que\u00a0:</p><ul><li>Suis-je \u00e0 la bonne place\u2009?</li>\n<li>\u00c0 quelle place aurais-je aim\u00e9 \u00eatre\u2009?</li>\n<li>Quel est mon sentiment\u2009?</li>\n<li>Quel est mon rapport au groupe \u00e0 cette \u00e9tape du jeu\u2009?</li>\n</ul><h4><strong>Outil\u00a035 \u2013 La pr\u00e9sentation crois\u00e9e</strong></h4><p>Cet outil fonctionne mieux lorsque les membres d\u2019une \u00e9quipe se connaissent d\u00e9j\u00e0. Le manager peut animer un s\u00e9minaire en commen\u00e7ant avec ce jeu de r\u00f4les o\u00f9 chacun va pr\u00e9senter son voisin comme si c\u2019\u00e9tait lui-m\u00eame (c\u2019est-\u00e0-dire en premi\u00e8re personne), avec humour et l\u00e9g\u00e8ret\u00e9.</p><p>Gr\u00e2ce \u00e0 cet outil simple, l\u2019\u00e9coute sera renforc\u00e9e au sein de votre \u00e9quipe. En tant que coach ou manager, vous pouvez donner un petit temps de pr\u00e9paration et proposer une structure pour la pr\u00e9sentation.</p><h4><strong>Outil 36 \u2013 Le blason</strong></h4><p>Le blason a 5\u00a0parties\u00a0:</p><ul><li>Ma devise\u2009;</li>\n<li>Le pass\u00e9 (les \u00e9v\u00e9nements d\u00e9terminants)\u2009;</li>\n<li>Le pr\u00e9sent (mes plaisirs et mes craintes)\u2009;</li>\n<li>L\u2019avenir (mes envies, mes projets, mes r\u00eaves)\u2009;</li>\n<li>Mes valeurs.</li>\n</ul><p>Apr\u00e8s un temps de pr\u00e9paration (une vingtaine de minutes), chaque membre se pr\u00e9sentera aux autres gr\u00e2ce \u00e0 ce blason, en cinq minutes maximum. Si vous souhaitez mettre en place cet exercice, reportez-vous aux conseils plus d\u00e9taill\u00e9s de Belkacem Ammiar et Omid Kohneh-Chahri dans l\u2019ouvrage.</p><h4><strong>Outil\u00a037 \u2014 MTSI (Management Team Speed Integration)</strong></h4><p>Lorsque quelqu\u2019un arrive dans une \u00e9quipe, ce n\u2019est pas toujours facile\u2009! Cet outil vous permettra de faciliter son int\u00e9gration. Le coach joue le r\u00f4le d\u2019animation des \u00e9changes.</p><p>D\u2019abord, chaque membre de l\u2019\u00e9quipe r\u00e9pond \u00e0 la question\u00a0: \u00ab\u2009qu\u2019aurais-je aim\u00e9 qu\u2019on me dise lorsque j\u2019ai int\u00e9gr\u00e9 l\u2019\u00e9quipe\u2009?\u2009\u00bb, puis se pr\u00e9sente et propose \u00e9ventuellement une action \u00e0 entreprendre avec le nouvel arrivant (un d\u00e9jeuner ensemble, par exemple).</p><p>Puis, c\u2019est au tour du nouvel arrivant de <a href=\"https://des-livres-pour-changer-de-vie.com/oser-prendre-la-parole-en-public-5-principes-et-4-conseils-pour-depasser-la-peur/\" target=\"_blank\" rel=\"noopener\">prendre la parole</a> et de demander aux autres ce qu\u2019ils voudraient savoir sur lui.</p><p>En invitant chacun \u00e0 se rappeler sa propre int\u00e9gration, cet outil favorise l\u2019empathie et la prise de contact.</p><h4><strong>Outil\u00a038 \u2013 Le jeu du pont</strong></h4><p>Cet outil ludique permet d\u2019am\u00e9liorer la performance et le fonctionnement d\u2019un groupe. Il convient tr\u00e8s bien aux \u00e9quipes de plus de 8\u00a0personnes, mais peut \u00eatre adapt\u00e9 aux \u00e9quipes plus petites. Le but\u2009? Construire le plus long pont possible, avec des feuilles de papier\u00a0A4\u2009!</p><p>Avec 50 feuilles, une paire de ciseaux et une r\u00e8gle, les participants doivent trouver le moyen de faire traverser le pont \u00e0 une voiture miniature, sans que celui-ci ne s\u2019\u00e9croule bien s\u00fbr. Les ponts r\u00e9alis\u00e9s par \u00e9quipes de 6 ou 7 seront test\u00e9s et les meilleures solutions retenues.</p><h4><strong>Outil\u00a039 \u2013 Les 5\u00a0carr\u00e9s</strong></h4><blockquote>\n<p>\u00ab\u2009Les 5\u00a0carr\u00e9s est un outil d\u2019analyse d\u2019am\u00e9lioration du fonctionnement d\u2019une \u00e9quipe. Il permet au travers de l\u2019observation des \u00e9changes et des modes de coop\u00e9ration entre les membres d\u2019une \u00e9quipe de mettre en \u00e9vidence le stade de d\u00e9veloppement de celle-ci et la nature des relations entre ses membres. Il s\u2019utilise en deux temps\u00a0:</p>\n</blockquote><ul><li>[U]ne premi\u00e8re phase de mise en situation au cours de laquelle les membres de l\u2019\u00e9quipe doivent r\u00e9aliser une \u0153uvre commune dans le silence (5 carr\u00e9s) [\u2026]\u2009;</li>\n<li>[U]ne seconde phase de d\u00e9briefing avec le coach.</li>\n</ul><p>Ce retour de la part du coach permet aux participants de prendre conscience de leurs comportements et ainsi de poser les bases de nouveaux modes de travail, plus coop\u00e9ratifs.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils du coaching</em>, p.\u00a0132)</p><h4><strong>Outil\u00a040 \u2013 La corde et le carr\u00e9 parfait</strong></h4><p>Exercice de r\u00e9flexion sur la perfection et sur les repr\u00e9sentations individuelles et collectives, il permet de d\u00e9velopper la coop\u00e9ration au sein d\u2019une \u00e9quipe. Il est pr\u00e9vu pour de grands groupes accompagn\u00e9s dans la dur\u00e9e.</p><p>Le jeu comporte deux phases principales\u00a0: d\u2019abord, cr\u00e9er un carr\u00e9 \u2014 le plus parfait possible \u2014 avec une corde\u2009; ensuite, reproduire ce carr\u00e9 les yeux band\u00e9s et sans parler. Cela n\u00e9cessite la cr\u00e9ation de strat\u00e9gies.</p><p>Il se d\u00e9veloppe en 6\u00a0\u00e9tapes\u00a0:</p><ol><li>R\u00e9partition des r\u00f4les (joueur ou observateur, chaque joueur ayant un observateur)\u2009;</li>\n<li>Introduction du coach (consignes de l\u2019exercice)\u2009;</li>\n<li>Pr\u00e9paration (les joueurs pr\u00e9parent pendant que les observateurs s\u2019interrogent sur la fa\u00e7on d\u2019agir de leur joueur)\u2009;</li>\n<li>R\u00e9alisation (les yeux band\u00e9s)\u2009;</li>\n<li>D\u00e9briefing (point de 40\u00a0minutes sur le jeu)\u2009;</li>\n<li>Conclusions des observateurs.</li>\n</ol><h4><strong>Outil\u00a041 \u2013 La caisse enregistreuse</strong></h4><p>Exercice issu de la m\u00e9tacommunication (voir l\u2019outil\u00a020), il permet \u00e0 chacun de se rendre compte du caract\u00e8re relatif de ses interpr\u00e9tations et d\u2019amener l\u2019\u00e9quipe \u00e0 fonctionner plus r\u00e9flexivement et efficacement. Pensez \u00e0 l\u2019utiliser en s\u00e9minaire, si votre \u00e9quipe est d\u00e9j\u00e0 bien constitu\u00e9e.</p><p>Le jeu consiste \u00e0 r\u00e9pondre \u00e0 un questionnaire au sujet d\u2019un texte, de fa\u00e7on individuelle d\u2019abord, puis collective (en s\u2019associant et en se mettant d\u2019accord). Un observateur regarde le d\u00e9roulement des d\u00e9bats. Avant le d\u00e9briefing, les participants r\u00e9pondent \u00e0 quelques questions sur leur r\u00f4le et leur participation au cours du jeu.</p><p>L\u2019observateur donne ensuite un feedback en interrogeant tout particuli\u00e8rement <a href=\"https://des-livres-pour-changer-de-vie.com/trois-livres-a-lire-sur-le-leadership-resumes-et-avis/\" target=\"_blank\" rel=\"noopener\">le type de leadership</a>, les m\u00e9thodes et les valeurs qui se sont d\u00e9gag\u00e9es lors de la r\u00e9alisation de l\u2019exercice. En tant que coach, veillez \u00e0 ce que l\u2019observateur reste sur ces points et ne d\u00e9rive pas vers des jugements personnels.</p><h4><strong>Outil\u00a042 \u2013 Le jeu du village</strong></h4><p>Comment r\u00e9fl\u00e9chir au fonctionnement d\u2019une \u00e9quipe\u00a0? Pourquoi ne pas jouer\u00a0! Inventez tous ensemble un village dans lequel vous souhaiteriez vivre. Quels sont les points d\u2019achoppement et les points d\u2019accord\u00a0? O\u00f9 y a-t-il des compromis possibles\u00a0? O\u00f9 se trouvent les points de blocage\u00a0? C\u2019est en dialoguant \u00e0 partir de ce point de d\u00e9part que vous pourrez prendre conscience de bien des habitudes et valeurs implicites de l\u2019\u00e9quipe.</p><p><img class=\"aligncenter wp-image-25200 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/11/organiser-reunions-equipe-e1637561906877.jpg?is-pending-load=1\" alt=\"Am\u00e9liorer le fonctionnement des \u00e9quipes\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-25200 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/11/organiser-reunions-equipe-e1637561906877.jpg\" alt=\"Am\u00e9liorer le fonctionnement des \u00e9quipes\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h3><strong>Dossier\u00a06 \u2014 \u00c9tablir des relations efficaces</strong></h3><p>Augmenter l\u2019intelligence collective d\u2019un groupe\u00a0: tel est l\u2019enjeu des exercices propos\u00e9s ici. Des outils qui permettent tant\u00f4t de comprendre et d\u2019adapter sa place au sein d\u2019une \u00e9quipe, tant\u00f4t de soigner les relations entre les membres.</p><h4><strong>Outil\u00a043 \u2013 Les baguettes</strong></h4><p>Cet outil, ainsi que le suivant, fournit d\u2019excellentes bases de m\u00e9tacommunication. Si vous voulez cerner les r\u00e8gles de fonctionnement implicites, vous pouvez mettre en place ce jeu simple, mais puissant.</p><p>Il consiste en\u00a0:</p><ul><li>Trouver un partenaire avec qui jouer\u2009;</li>\n<li>Maintenir deux baguettes de bois avec les index, en se tenant face \u00e0 face\u2009;</li>\n<li>Rester silencieux durant 3\u00a0minutes\u2009;</li>\n<li>Recommencer l\u2019exercice avec un autre partenaire\u2009;</li>\n<li>D\u00e9briefer pour remarquer les diff\u00e9rences et inviter chaque participant \u00e0 la r\u00e9flexion\u2009;</li>\n<li>Clore l\u2019exercice.</li>\n</ul><h4><strong>Outil\u00a044 \u2013 La sculpture de chaussures</strong></h4><p>Th\u00e9oriquement, il s\u2019agit d\u2019analyser comment les acteurs engag\u00e9s dans un projet s\u2019y positionnent et se comportent au cours de celui-ci. L\u2019outil permettra de d\u00e9celer ce qui coince \u00e0 ce niveau.</p><p>Pour le mettre en \u0153uvre, vous devrez utiliser une grande feuille de papier (format A0) et la placer au sol. Celle-ci repr\u00e9sentera le projet ou l\u2019objectif du groupe. Vous demanderez ensuite \u00e0 chacun de d\u00e9poser l\u2019une de ses chaussures dans le cadre blanc cr\u00e9\u00e9 par la feuille.</p><p>L\u2019analyse du montage ainsi cr\u00e9\u00e9 vous permettra de d\u00e9celer des probl\u00e8mes et de d\u00e9bloquer l\u2019\u00e9nergie du groupe.</p><h4><strong>Outil\u00a045 \u2013 Le d\u00e9collage de timbres</strong></h4><p>On pourrait \u00e9galement utiliser une autre expression\u00a0: \u00ab\u2009vider son sac\u2009\u00bb. Oui, mais poliment et de fa\u00e7on bienveillante\u2009! Il s\u2019agit de \u00ab\u2009d\u00e9coller\u2009\u00bb les griefs que l\u2019on peut avoir contre les membres de son \u00e9quipe, pour \u00e9viter que ces non-dits n\u2019aboutissent \u00e0 des conflits larv\u00e9s ou ouverts.</p><p>Il n\u2019est pas question de critiquer l\u2019autre, mais avant tout de se faire du bien \u00e0 soi-m\u00eame, en se lib\u00e9rant d\u2019une \u00e9motion n\u00e9gative. En tant que coach, vous devez vous assurer que l\u2019exercice se d\u00e9roule dans cette tonalit\u00e9 et que les relations n\u2019ont pas atteint un point de d\u00e9gradation irr\u00e9versible.</p><p>Si les voyants sont au vert, expliquez le cadre, puis proc\u00e9dez par \u00e9tapes\u00a0:</p><ol><li>Laissez chaque participant r\u00e9fl\u00e9chir \u00e0 ses \u00ab\u2009timbres\u2009\u00bb\u2009;</li>\n<li>Demander \u00e0 chaque participant d\u2019aller trouver une personne vis-\u00e0-vis de laquelle il a un \u00ab\u2009timbre\u2009\u00bb\u00a0et lui demander si elle est d\u2019accord pour clarifier la situation\u2009;</li>\n<li>Faire d\u00e9crire le probl\u00e8me\u00a0en dissociant situation et ressenti (voir l\u2019outil\u00a027)\u2009;</li>\n<li>Recevoir l\u2019interpr\u00e9tation de la personne\u2009;</li>\n<li>\u00c9ventuellement, lui faire une demande pour clore toute g\u00eane.</li>\n</ol><h4><strong>Outil\u00a046 \u2013 Le petit t\u00e9l\u00e9graphiste</strong></h4><p>C\u2019est un exercice qui fonctionne sur le principe des signes de reconnaissance, c\u2019est-\u00e0-dire des feedbacks courts et positifs qui rappellent \u00e0 une personne ce qui va bien. Cet outil implique la sinc\u00e9rit\u00e9 de ses membres. L\u2019ironie n\u2019est pas permise.</p><p>Le d\u00e9roulement est simple\u00a0: chaque participant va utiliser un carton pour r\u00e9diger une caract\u00e9ristique positive (par exemple, sur le mode\u00a0: \u00ab\u2009Ce que j\u2019appr\u00e9cie chez toi, c\u2019est\u2026\u2009\u00bb) et r\u00e9fl\u00e9chir \u00e0 la conditionnalit\u00e9 de cette caract\u00e9ristique (li\u00e9e \u00e0 une situation pr\u00e9cise ou \u00e0 la personnalit\u00e9 du membre de l\u2019\u00e9quipe), puis signer le carton.</p><p>Apr\u00e8s ce temps de pr\u00e9paration d\u2019une quarantaine de minutes, le jeu consiste \u00e0 \u00e9noncer dans les yeux le signe de reconnaissance \u00e0 la personne choisie. Celle-ci ne remercie ni ne \u00ab\u2009rend\u2009\u00bb rien dans l\u2019imm\u00e9diat, mais prend simplement le temps d\u2019accepter le retour et \u00e9nonce \u00e0 son tour le signe de reconnaissance \u00e0 la personne qu\u2019elle avait choisie (un autre interlocuteur).</p><p>Le jeu se termine lorsque tous les participants ont \u00e9nonc\u00e9/re\u00e7u leur feedback.</p><h4><strong>Outil\u00a047 \u2013 La chaise chaude</strong></h4><p>Ici encore, l\u2019enjeu consiste \u00e0 apaiser les relations au sein d\u2019une \u00e9quipe et \u00e0 lui redonner de la vigueur.</p><p>Le fonctionnement est simple. Chacun \u00e0 leur tour, les membres de l\u2019\u00e9quipe vont se placer sur une chaise en face des autres et \u00e9coutent ce que ceux-ci ont \u00e0 dire.</p><p>Bien entendu, le coach doit veiller \u00e0 ce que chacun s\u2019exprime\u00a0:</p><ul><li>Simplement\u2009;</li>\n<li>Directement\u2009;</li>\n<li>Sinc\u00e8rement\u00a0;</li>\n<li>De fa\u00e7on bienveillante.</li>\n</ul><p>Une fois que tous les collaborateurs sont pass\u00e9s sur la chaise, les n\u0153uds se sont normalement d\u00e9bloqu\u00e9s, puisque tout le monde a pu s\u2019exprimer calmement.</p><h3><strong>Dossier\u00a07 \u2014 Construire un collectif performant</strong></h3><p>Comment promouvoir l\u2019\u00e9change d\u2019informations au sein de grands, voire de tr\u00e8s grands groupes\u2009? Comment avoir des objectifs communs, construits par les parties\u2009? Comment renforcer l\u2019intelligence collective\u00a0des \u00e9quipes\u2009? Telles sont les questions pos\u00e9es dans ce dernier dossier.</p><h4><strong>Outil\u00a048 \u2013 Le partage des repr\u00e9sentations</strong></h4><p>Parfois, les r\u00e9unions finissent dans l\u2019affrontement et dans l\u2019enfermement dans sa propre perspective. Ce n\u2019est pas id\u00e9al\u2009! Voici comment fluidifier les relations en trois \u00e9tapes\u00a0:</p><ol><li>R\u00e9fl\u00e9chir \u00e0 la question pos\u00e9e (par le coach) et l\u2019\u00e9crire\u2009;</li>\n<li>Partager la r\u00e9flexion/\u00eatre dans une situation d\u2019\u00e9coute active (pour ceux qui ne pr\u00e9sentent pas)\u2009;</li>\n<li>Construire une solution commune.</li>\n</ol><p>En tant que coach, veillez bien \u00e0 faire \u00e9merger les cadres de r\u00e9f\u00e9rence de chaque personne.</p><h4><strong>Outil\u00a049 \u2013 La marguerite holomorphique</strong></h4><blockquote>\n<p>\u00ab\u2009La marguerite holomorphique est un processus de travail utilis\u00e9 en coaching d\u2019organisation permettant de faire travailler un grand groupe \u2014 plusieurs services par exemple \u2014 autour de sujets majeurs pour l\u2019entreprise. Au cours de l\u2019exercice, chaque participant aura un r\u00f4le actif et devra tour \u00e0 tour contribuer en sous-groupe \u00e0 l\u2019un des sujets, exposer la synth\u00e8se des r\u00e9flexions de son sous-groupe au reste de l\u2019\u00e9quipe, recueillir et int\u00e9grer les remarques et propositions d\u2019am\u00e9lioration de ces derniers. Cet exercice est appel\u00e9 \u201cholomorphique\u201d car \u00e0 son issue, chacun a pu contribuer ou r\u00e9agir sur tous les sujets majeurs de l\u2019organisation puis repartir avec une compr\u00e9hension partag\u00e9e de ceux-ci.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils du coaching</em>, p.\u00a0170)</p>\n</blockquote><p>Pr\u00e9cisez votre compr\u00e9hension de cet outil en consultant les conseils de Belkacem Ammiar et Omid Kohneh-Chahri, p.\u00a0170-173.</p><h4><strong>Outil\u00a050 \u2013 La vision partag\u00e9e</strong></h4><p>Il s\u2019agit d\u2019un processus pouvant \u00eatre boucl\u00e9 en une journ\u00e9e, comprenant cinq grandes \u00e9tapes\u00a0:</p><ol><li>R\u00e9fl\u00e9chir\u2009;</li>\n<li>Pr\u00e9senter\u2009;</li>\n<li>Clarifier\u2009;</li>\n<li>Communiquer sur les \u00e0-c\u00f4t\u00e9s, ressentis, etc. (m\u00e9tacommunication)\u2009;</li>\n<li>\u00c9laborer la vision.</li>\n</ol><p>Pensez \u00e0 pr\u00e9parer l\u2019\u00e9quipe en amont, notamment en lui exposant les affinit\u00e9s de cet outil avec l\u2019outil\u00a048 (les deux peuvent aller de pair) et en introduisant le propos th\u00e9oriquement gr\u00e2ce \u00e0 l\u2019outil\u00a029.</p><h4><strong>Outil\u00a051 \u2013 Le h\u00e9risson de Colins</strong></h4><p><a href=\"https://des-livres-pour-changer-de-vie.com/de-la-performance-a-lexcellence/\" target=\"_blank\" rel=\"noopener\">Jim Collins</a> est \u00e0 l\u2019origine de cet outil. Plut\u00f4t que de mod\u00e9liser l\u2019avanc\u00e9e d\u2019une entreprise \u00e0 partir de la m\u00e9taphore du loup ou du requin, ouvert \u00e0 toutes opportunit\u00e9s et agressif, Jim Collins choisit la figure du h\u00e9risson, qui avance relativement aveugle aux circonstances, mais selon une strat\u00e9gie clairement d\u00e9finie.</p><p>Celle-ci, dit-il, forme l\u2019intersection de trois cercles.\u00a0 Quels sont ces trois cercles\u2009?</p><ol><li>Le domaine dans lequel vous excellez\u2009;</li>\n<li>Votre passion, ce que vous aimez le plus\u2009;</li>\n<li>Ce qui est utile et \u00e9conomiquement recherch\u00e9.</li>\n</ol><p>Vous pouvez utiliser cet outil pour aider une \u00e9quipe \u00e0 repenser ses objectifs.</p><h4><strong>Outil\u00a052 \u2013 La r\u00e9union d\u00e9l\u00e9gu\u00e9e</strong></h4><p>Dans ce type de dispositif, cinq positions doivent \u00eatre tenues\u00a0:</p><ol><li>Leader d\u2019\u00e9quipe\u00a0= celui qui prend les d\u00e9cisions\u2009;</li>\n<li>Mod\u00e9rateur, facilitateur = celui qui g\u00e8re l\u2019\u00e9nergie de la r\u00e9union\u2009;</li>\n<li>Coach = celui qui observe et donne un feedback\u2009;</li>\n<li>\u00ab\u2009Cadenceur\u2009\u00bb = celui qui rythme la r\u00e9union\u2009;</li>\n<li>Pousse-d\u00e9cision = celui qui enregistre les d\u00e9cisions.</li>\n</ol><p>C\u2019est un autre mode de r\u00e9union, qui pourra \u00eatre test\u00e9 en coaching collectif. Veillez, en tant que coach, \u00e0 pr\u00e9parer le leader d\u2019\u00e9quipe en coaching individuel, afin qu\u2019il ne ressente pas l\u2019exp\u00e9rience de fa\u00e7on n\u00e9gative.</p><h4><strong>Outil\u00a053 \u2013 Le groupe de cod\u00e9veloppement professionnel</strong></h4><p>Cet outil d\u00e9velopp\u00e9 par Alain Payette a beaucoup de succ\u00e8s dans le coaching d\u2019\u00e9quipe. Il permet de conscientiser les membres d\u2019une \u00e9quipe quant \u00e0 la richesse du groupe et de stimuler l\u2019intelligence collective.</p><p>Ce n\u2019est pas le consensus qui est vis\u00e9 ici, mais l\u2019exploration des points de vue. Il faut donc encourager la divergence. Comment\u2009? En choisissant et en pr\u00e9parant, d\u2019abord, le sujet \u00e0 traiter. Et ensuite\u2009?</p><ol><li>Exposer la probl\u00e9matique \u00e0 un membre qui va jouer le r\u00f4le du client\u2009;</li>\n<li>Clarifier la probl\u00e9matique (questions/r\u00e9ponses)\u2009;</li>\n<li>Formuler la demande (le client fait une proposition en termes de contenu et de proc\u00e9dure)\u2009;</li>\n<li>R\u00e9agir et sugg\u00e9rer des modifications\u2009;</li>\n<li>Synth\u00e9tiser les propos et g\u00e9n\u00e9rer un plan d\u2019action\u2009;</li>\n<li>Identifier les apprentissages et \u00e9valuer la s\u00e9ance.</li>\n</ol><h4><strong>Outil\u00a054 \u2013 Le World Caf\u00e9</strong></h4><p>Le World Caf\u00e9 est une m\u00e9thode qui a pour objectif de faire cro\u00eetre l\u2019intelligence collective d\u2019une \u00e9quipe. Elle se d\u00e9roule en trois \u00e9tapes\u00a0:</p><ul><li>D\u00e9bats en petits groupes autour de th\u00e9matiques d\u00e9cid\u00e9es \u00e0 l\u2019avance\u00a0;</li>\n<li>\u00ab\u00a0Fertilisation crois\u00e9e\u00a0\u00bb, c\u2019est-\u00e0-dire passages de tables en tables pour contribuer aux autres questions en cours\u00a0;</li>\n<li>Consolidation, c\u2019est-\u00e0-dire restitution et consolidation des acquis des discussions au cours d\u2019une assembl\u00e9e pl\u00e9ni\u00e8re.</li>\n</ul><h4><strong>Outil\u00a055 \u2013 Le Forum Ouvert</strong></h4><p>Cette m\u00e9thode cherche \u00e0 tirer parti d\u2019un constat simple\u00a0: les \u00e9changes les plus fructueux se font le plus souvent\u2026 \u00e0 la machine \u00e0 caf\u00e9\u2009! L\u2019id\u00e9e consiste d\u00e8s lors \u00e0 \u00ab\u2009mixer\u2009\u00bb la forme de la r\u00e9union avec la pause-caf\u00e9. Cet outil fonctionne tr\u00e8s bien pour les grands groupes, puisqu\u2019il est pens\u00e9 pour coordonner de grandes assembl\u00e9es, o\u00f9 diff\u00e9rentes r\u00e9unions (sur des th\u00e8mes \u00e0 l\u2019ordre du jour) sont organis\u00e9es en parall\u00e8le. Plusieurs salles et environnements (dont un espace pause permanent) devront \u00eatre am\u00e9nag\u00e9s.</p><p>Veillez \u00e0 ce que les participants soient volontaires et int\u00e9ress\u00e9s par les questions pos\u00e9es (par exemple, en proposant le th\u00e8me g\u00e9n\u00e9ral du s\u00e9minaire plusieurs semaines en avance). Par ailleurs, pour mettre en place le Forum Ouvert, vous devrez commencer par cr\u00e9er un cercle de participants et distinguer entre\u00a0:</p><ul><li>Le facilitateur, qui se place au centre du cercle des personnes et explique les principes de ce type de r\u00e9union\u2009;</li>\n<li>Les initiateurs, qui viennent \u00e0 leur tour au centre du cercle pour proposer des sujets \u00e0 mettre \u00e0 l\u2019ordre du jour de la r\u00e9union.</li>\n<li>Des abeilles, qui iront et viendront d\u2019une r\u00e9union \u00e0 l\u2019autre\u2009;</li>\n<li>Des papillons, qui pr\u00e9f\u00e9reront la pause ou discuter autour d\u2019un caf\u00e9.</li>\n</ul><p><img class=\"aligncenter wp-image-25202 size-full jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/11/Coaching-individuel-aider-autonomie-e1637562028406.jpg?is-pending-load=1\" alt=\"L'objectif du coaching\u00a0: l'autonomie\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-25202 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/11/Coaching-individuel-aider-autonomie-e1637562028406.jpg\" alt=\"L'objectif du coaching\u00a0: l'autonomie\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h2><strong>Conclusion sur \u00ab\u2009<em>La bo\u00eete \u00e0 outils du coaching\u2009\u00bb</em> de Belkacem Ammiar et Omid Kohneh-Chahri\u00a0:</strong></h2><h3><strong>Un manuel pour apprendre \u00e0 coacher les dirigeants et les \u00e9quipes\u00a0:</strong></h3><p>Ce livre fera le bonheur des hommes et des femmes d\u2019action, dirig\u00e9s vers l\u2019efficacit\u00e9 et le consensus. Il offre une panoplie d\u2019outils adapt\u00e9s \u00e0 des situations tr\u00e8s diverses. Si vous \u00eates coach d\u00e9butant, vous y trouverez les moyens de gagner en confiance dans votre pratique\u2009; si vous \u00eates un coach confirm\u00e9, ce livre pratique renouvellera votre approche du m\u00e9tier, en vous proposant de nouveaux outils ou en approfondissant vos connaissances sur certains th\u00e8mes connus.</p><h3><strong>Ce qu\u2019il faut retenir de \u00ab\u2009<em>La bo\u00eete \u00e0 outils du coaching\u2009\u00bb</em> de Belkacem Ammiar et Omid Kohneh-Chahri\u00a0:</strong></h3><p>Comme les autres ouvrages de la collection \u00ab\u2009La bo\u00eete \u00e0 outils\u2009\u00bb, <em>La bo\u00eete \u00e0 outils du coaching</em> se singularise par sa pr\u00e9sentation claire et par son aspect pratique.</p><p>Retenez donc la chose suivante\u00a0: vous ne trouverez peut-\u00eatre pas ici de grands principes th\u00e9oriques (toutefois, vous pourrez vous r\u00e9f\u00e9rer \u00e0 la bibliographie int\u00e9ressante plac\u00e9e \u00e0 la fin de l\u2019ouvrage), mais si vous \u00eates en panne d\u2019inspiration pour dynamiser vos \u00e9quipes ou redonner du sens \u00e0 votre action, vous y trouverez certainement l\u2019outil qui convient\u2009!</p><p><em>Points\u00a0<strong>forts</strong>\u00a0:</em></p><ul><li>Un style clair et un ton adapt\u00e9 au lectorat\u2009;</li>\n<li>Une absence de jargon, mais une description pr\u00e9cise des outils\u2009;</li>\n<li>Une pr\u00e9sentation efficace en 55\u00a0outils\u2009;</li>\n<li>Des cas d\u2019entreprises pr\u00e9sent\u00e9s en \u00ab\u2009bonus\u2009\u00bb.</li>\n</ul><p><em>Point\u00a0<strong>faible</strong>\u00a0:</em></p><ul><li>Ceux et celles qui chercheraient de grands principes th\u00e9oriques ne les trouveront pas et seront renvoy\u00e9s vers les r\u00e9f\u00e9rences essentielles du coaching, qui vont de l\u2019analyse transactionnelle \u00e0 la programmation neurolinguistique, en passant par la m\u00e9tacommunication.</li>\n</ul><p class=\"c10\">Ma note\u00a0:</p><h3><img class=\"alignnone jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Explorateur exp\u00e9dition Mike Horn Conqu\u00e9rant de l'impossible\" width=\"25\" height=\"24\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" />\u00a0 \u00a0\u00a0<img class=\"alignnone jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Explorateur exp\u00e9dition Mike Horn Conqu\u00e9rant de l'impossible\" width=\"25\" height=\"24\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" />\u00a0 \u00a0\u00a0<img class=\"alignnone jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Explorateur exp\u00e9dition Mike Horn Conqu\u00e9rant de l'impossible\" width=\"25\" height=\"24\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" />\u00a0 \u00a0\u00a0<img class=\"alignnone jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Explorateur exp\u00e9dition Mike Horn Conqu\u00e9rant de l'impossible\" width=\"25\" height=\"24\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" />\u00a0 \u00a0\u00a0<img class=\"alignnone jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"Explorateur exp\u00e9dition Mike Horn Conqu\u00e9rant de l'impossible\" width=\"25\" height=\"24\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /></h3><p class=\"c7\">Avez-vous lu le livre de Belkacem Ammiar et Omid Kohneh-Chahri \u00ab\u2009<em>La bo\u00eete \u00e0 outils du coaching\u2009\u00bb\u2009</em>? Combien le notez-vous\u2009?</p><p class=\"c7\"><img width=\"16\" height=\"16\" id=\"rating_25193_1\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif?is-pending-load=1\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" srcset=\"\" class=\"jetpack-lazy-image c11\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"16\" height=\"16\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p><img width=\"16\" height=\"16\" id=\"rating_25193_2\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Passable - Un ou deux passages int\u00e9ressants\" title=\"Passable - Un ou deux passages int\u00e9ressants\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_25193_3\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Moyen - Quelques bonnes id\u00e9es\" title=\"Moyen - Quelques bonnes id\u00e9es\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_25193_4\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" title=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_25193_5\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" title=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n(Pas encore de Note)<br />\n<p><img src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\nLoading...<p class=\"c7\"><a href=\"https://amzn.to/31NcOUg\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin de lire plus de commentaires sur le livre</a>\u00a0de Belkacem Ammiar et Omid Kohneh-Chahri \u00ab\u2009<em>La bo\u00eete \u00e0 outils du coaching\u2009\u00bb</em></p><p class=\"c7\"><a href=\"https://amzn.to/3dGogU8\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin d\u2019acheter le livre</a>\u00a0de Belkacem Ammiar et Omid Kohneh-Chahri \u00ab\u2009<em>La bo\u00eete \u00e0 outils du coaching\u2009\u00bb</em></p><noscript>\n</noscript>",
    "created_at": "2022-05-02T07:44:09+00:00",
    "updated_at": "2022-05-02T07:44:26+00:00",
    "published_at": "2022-04-28T15:00:58+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 41,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/12/la-boite-a-outils-du-coaching-belkacem-ammiar-e1639283143453.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["efficacit\u00e9", "outils", "organisation"],
    "is_public": false,
    "id": 14,
    "title": "La bo\u00eete \u00e0 outils de l'efficacit\u00e9 professionnelle R\u00e9sum\u00e9 et avis - Pascale B\u00e9lorgey",
    "url": "https://des-livres-pour-changer-de-vie.com/la-boite-a-outils-de-lefficacite-professionnelle/",
    "content": "<div class=\"wwsgd_new_visitor c6\"><p class=\"c5\">Bienvenue sur Des Livres Pour Changer de Vie \u00a0! Si vous \u00eates nouveau ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><div class=\"wwsgd_return_visitor c6\"><p class=\"c5\">Bienvenue \u00e0 nouveau sur Des Livres Pour Changer de Vie \u00a0! Comme ce n'est pas la 1\u00e8re fois que vous venez ici, vous voudrez sans doute recevoir mon livre \"Vivre la vie de vos r\u00eaves avec votre blog\"\u00a0: <a href=\"https://olivier-roland.leadpages.co/serve-leadbox/WRWrZBG9AWngs6FoLP6dXL\" class=\"external\" target=\"_blank\">cliquez ici pour recevoir le livre gratuitement\u00a0!\u00a0\ud83d\ude42</a></p></div><p class=\"c7\"><a href=\"https://amzn.to/3e5RT1g\" target=\"_blank\" rel=\"noopener\" class=\"external\">\n<p><img class=\"aligncenter wp-image-25622 size-full\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/la-boite-a-outils-de-lefficacite-professionnelle-pascale-belorgey-e1639798373893.jpg\" alt=\"La boite \u00e0 outils de l'efficacit\u00e9 professionnelle pascale belorgey\" width=\"277\" height=\"350\" referrerpolicy=\"no-referrer\" /></p>\n</a></p><blockquote>\n<p><strong>R\u00e9sum\u00e9 de \u00ab\u2009<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 personnelle\u2009\u00bb</em> de Pascale B\u00e9lorgey\u00a0:</strong> un manuel qui propose pas moins de 71\u00a0outils cl\u00e9s en main et 12\u00a0t\u00e9moignages vid\u00e9o(s) pour am\u00e9liorer son organisation et mieux g\u00e9rer son temps au travail, notamment.</p>\n</blockquote><p>Par Pascale B\u00e9lorgey, 2019, 192 pages.</p><h2><strong>Chronique et r\u00e9sum\u00e9 de \u00ab\u2009<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 personnelle\u2009\u00bb</em> de Pascale B\u00e9lorgey\u00a0</strong></h2><h3><strong>Mode d\u2019emplo</strong><strong>i</strong></h3><p>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle est un manuel compos\u00e9 de <strong class=\"c8\">6 dossiers</strong>, comprenant chacun entre 9 et 13 outils permettant d\u2019am\u00e9liorer l\u2019efficacit\u00e9 professionnelle. Chaque dossier traite un probl\u00e8me d\u2019organisation en particulier. Par exemple, le dossier n\u00b0 1 offre des ressources pour \u00ab\u2009sortir la t\u00eate de l\u2019eau\u2009\u00bb, tandis que le dossier n\u00b0 5 propose d\u2019\u00ab\u2009\u00e9tendre son influence\u2009\u00bb.</p><p>L\u2019ouvrage peut se lire de fa\u00e7on lin\u00e9aire ou se consulter \u00e0 votre guise, selon vos int\u00e9r\u00eats. Il en va de m\u00eame pour cette chronique\u2009! Elle reprend fid\u00e8lement les propos et l\u2019ordre du texte original de la premi\u00e8re \u00e9dition. Vous pouvez donc consulter les titres et vous arr\u00eater l\u00e0 o\u00f9 vous le souhaitez.</p><p>L\u2019auteure, <strong>Pascale B\u00e9lorgey</strong>, propose \u00e9galement de nombreux liens et m\u00eame quelques vid\u00e9os que vous retrouverez en partie ici. Vous pouvez \u00e9galement consulter son <a href=\"https://www.efficaciteprofessionnelle.fr/author/pbelorgey/\" target=\"_blank\" rel=\"noopener\" class=\"external\">blog d\u00e9di\u00e9 \u00e0 l\u2019efficacit\u00e9 professionnelle</a>.</p><p>Bonne lecture\u2009!</p><h3><strong>Dossier\u00a01. Sortir la t\u00eate de l\u2019eau</strong></h3><p><img class=\"aligncenter size-full wp-image-24871 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/Sortir-tete-eau-e1633894278509.jpg?is-pending-load=1\" alt=\"Sortir la t\u00eate de l'eau et mieux s'organiser au quotidien\" width=\"600\" height=\"454\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-24871\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/Sortir-tete-eau-e1633894278509.jpg\" alt=\"Sortir la t\u00eate de l'eau et mieux s'organiser au quotidien\" width=\"600\" height=\"454\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4><strong>Outil\u00a01. L\u2019obj</strong><strong>ectif personnel d\u2019efficacit\u00e9</strong></h4><p>Cet outil vous sera utile pour trouver un but, une motivation pour agir et changer vos habitudes. Il implique de s\u2019interroger sur ce que vous souhaitez dans la vie, aux niveaux personnel et professionnel.</p><p>Il est compos\u00e9 de <strong>5\u00a0caract\u00e9ristiques \u2014 les 5\u00a0P</strong>. Un objectif personnel d\u2019efficacit\u00e9 doit \u00eatre\u00a0:</p><ol><li><strong>Positif</strong> = exprimez votre but de fa\u00e7on positive, c\u2019est-\u00e0-dire sans recourir \u00e0 la n\u00e9gation (ne\u2026 pas)\u2009;</li>\n<li><strong>Pr\u00e9cis</strong>\u00a0= assurez-vous de vous proposer \u00e0 vous-m\u00eame un objectif clair, atteignable, plut\u00f4t qu\u2019un r\u00eave diffus\u2009;</li>\n<li><strong>Pr\u00e9sent</strong> = r\u00e9digez votre but (ou m\u00e9morisez-le) au pr\u00e9sent de l\u2019indicatif\u2009;</li>\n<li><strong>Puissant</strong> = pour quoi\u2026 ou pour qui vous lancez-vous ce d\u00e9fi\u2009? Cherchez le sens de votre qu\u00eate\u2009;</li>\n<li><strong>Personnel</strong> = l\u2019objectif \u00e9mane de vous et non d\u2019une autre personne ou d\u2019une organisation.</li>\n</ol><p>Votre objectif doit \u00e9galement \u00eatre \u00e9cologique. Autrement dit, assurez-vous que vous serez en phase avec les changements obtenus, sans quoi votre inconscient refusera de vous suivre sur ce chemin.</p><blockquote>\n<p>\u00ab\u2009Imaginez votre objectif atteint. Qu\u2019est-ce qui a chang\u00e9 autour de vous\u2009? Quel est l\u2019impact sur votre travail, vos relations professionnelles, votre vie priv\u00e9e\u2009? \u00cates-vous pr\u00eat \u00e0 accepter ces changements\u2009? Ajustez, si besoin, en le modifiant ou en allongeant le d\u00e9lai de r\u00e9alisation.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 personnelle</em>, p.\u00a015)</p>\n</blockquote><p>Lorsque vous \u00eates en accord complet avec votre objectif personnel d\u2019efficacit\u00e9, utilisez la visualisation (une technique d\u00e9velopp\u00e9e par la programmation neurolinguistique) pour lui donner corps. Imaginez des situations o\u00f9 votre but est devenu r\u00e9alit\u00e9. Ressentez les \u00e9motions et les sensations positives que sa r\u00e9alisation g\u00e9n\u00e8re en vous.</p><h4><strong>Outil\u00a02. Diablotins et permissions</strong></h4><h4><strong>Les diablotins</strong></h4><p>Certaines pens\u00e9es n\u00e9gatives ou injonctions vous retiennent d\u2019entreprendre certaines choses. Faites-en de petites personnes, des diablotins, chacun avec ses caract\u00e9ristiques, et apprenez ainsi \u00e0 les ma\u00eetriser et \u00e0 les faire taire. Cette personnalisation vous aidera \u00e0 mettre \u00e0 distance vos peurs enfantines.</p><p>Vous ressentez des \u00e9motions n\u00e9gatives\u2009? Vous pensez ou parlez dans la langue du \u00ab\u2009Je dois\u2009\u00bb, \u00ab\u2009Il faut\u2009\u00bb (injonctions) ou du \u00ab\u2009Je ne peux pas\u2009\u00bb, \u00ab\u2009C\u2019est impossible\u2009\u00bb\u00a0(croyances limitantes)\u2009? C\u2019est le signe de la pr\u00e9sence d\u2019un diablotin\u2009!</p><p>Heureusement, vous pouvez dialoguer avec lui en modifiant son discours n\u00e9gatif en point d\u2019attention et en le remerciant. Il a une vision \u00e0 court terme (il cherche sans doute votre s\u00e9curit\u00e9 imm\u00e9diate), mais vous voulez aller de l\u2019avant.</p><p>Voici <strong>quelques exemples</strong> de diablotins\u00a0:</p><ul><li>\u00ab\u2009Sois sympa\u2009\u00bb (envie de plaire aux autres avant tout)\u2009;</li>\n<li>\u00ab\u2009Ne t\u2019arr\u00eate pas\u2009\u00bb\u00a0(perfectionnisme)\u2009;</li>\n<li>\u00ab\u2009Papillonne\u2009\u00bb (dispersion)\u2009;</li>\n<li>Pendules folles (mauvaise gestion des t\u00e2ches et des d\u00e9lais)\u2009;</li>\n<li>Sancho Panza (immobilisme par peur des responsabilit\u00e9s)\u2009;</li>\n<li>On (perte de soi dans les normes sociales)\u2009;</li>\n<li>Marmotte\u00a0(r\u00eave sans action)\u2009;</li>\n<li>Hibou (ind\u00e9cision, \u00ab\u2009ou\u2026 ou\u2009\u00bb)\u2009;</li>\n<li>Cigale (manque d\u2019anticipation)\u2009;</li>\n<li>36 fois la m\u00eame chose (reproduction des erreurs)\u2009;</li>\n<li>\u00ab\u2009Sois fort\u2009\u00bb (refus d\u2019accepter ses faiblesses)\u2009;</li>\n<li>\u00ab\u2009Tu verras bien demain\u2009\u00bb (procrastination, report des d\u00e9lais).</li>\n</ul><h4><strong>Permissions</strong></h4><p>Il existe un moyen de parlementer avec ces diablotins en leur opposant des permissions que vous vous donnez \u00e0 vous-m\u00eame. En situation de stress \u2014 lorsque ces diablotins viennent vous hanter \u2014 respirez et soyez bienveillant envers vous-m\u00eame.</p><p>Autrement dit, apprenez \u00e0 d\u00e9sob\u00e9ir\u2009! Permettez-vous de prendre du recul et de laisser tomber ces vieilles croyances qui vous tourmentent en affirmant une contre-proposition et en adaptant votre pratique.</p><p>Par exemple, si vous \u00eates victime du diablotin Sancho Panza qui vous interdit de prendre des responsabilit\u00e9s, dites-lui\u00a0: \u00ab\u2009C\u2019est en ne prenant aucun risque que je p\u00e9nalise mon avenir\u2009\u00bb (permission). Ensuite, adaptez votre pratique\u00a0en relativisant l\u2019\u00e9chec (quel est le risque r\u00e9el\u2009?) et en osant demander un droit \u00e0 l\u2019erreur, voire de l\u2019aide pour effectuer vos premiers pas.</p><h4><strong>Outil\u00a03. L\u2019autorecadrage</strong></h4><p>Lorsque les diablotins vous poussent dans un sens, voire vous maintiennent dans de mauvaises habitudes, l\u2019autorecadrage vous permet de <a href=\"https://des-livres-pour-changer-de-vie.com/priorite-aux-priorites/\" target=\"_blank\" rel=\"noopener\">remettre vos priorit\u00e9s au premier plan</a>. Comment faire\u2009? Voici un plan d\u2019action/r\u00e9flexion en <strong>4\u00a0\u00e9tapes</strong>.</p><ol><li>Quand \u00eates-vous inefficace\u2009? Rep\u00e9rez le moment pr\u00e9cis.</li>\n<li>Pourquoi\u2009? Quel est le diablotin qui se cache ici\u2009?</li>\n<li>Quelles sont les cons\u00e9quences de cette action inefficace\u2009?</li>\n<li>Que faire\u2009? Recadrer, d\u00e9cider et agir\u00a0en fonction de vos priorit\u00e9s\u2009!</li>\n</ol><p>Ne laissez pas le temps vous filer entre les doigts. Placez vos objectifs au centre de vos journ\u00e9es. Toutefois, n\u2019en devenez pas pour autant insensible \u00e0 certaines urgences professionnelles. Il reste vrai que, parfois, vous devrez mettre vos priorit\u00e9s temporairement en suspens pour traiter un dossier dans l\u2019urgence ou venir en aide \u00e0 quelqu\u2019un.</p><h4><strong>Outil\u00a04. La boucle syst\u00e9mique face \u00e0 la surcharge chronique</strong></h4><p>Il se peut que vous cr\u00e9iez vous-m\u00eame les conditions d\u2019une surcharge de travail, en donnant le signal \u00e0 votre entourage professionnel que vous \u00eates pr\u00eat \u00e0 en faire toujours plus. C\u2019est ce qu\u2019on nomme la boucle syst\u00e9mique\u00a0: vos comportements conduisent les autres \u00e0 penser et \u00e0 agir d\u2019une certaine fa\u00e7on envers vous, et ce type d\u2019action renforce ledit comportement.</p><p>\u00c0 nouveau, <strong>vous poser des questions</strong> vous sera tr\u00e8s utile pour amorcer une action nouvelle\u00a0:</p><ol><li>Qu\u2019est-ce qui vous met en surcharge\u2009?</li>\n<li>Comment ce ph\u00e9nom\u00e8ne est-il maintenu dans le temps\u00a0(que faites-vous pour l\u2019entretenir)\u2009?</li>\n<li>Il est temps de changer\u00a0: par exemple, pr\u00e9venez autrui de fa\u00e7on polie que, d\u00e9sormais, vous agirez autrement\u2009!</li>\n</ol><h4><strong>Outil\u00a05. La pens\u00e9e positive</strong></h4><p>Celle-ci vous aidera \u00e0 diminuer le niveau de stress et \u00e0 remarquer vos potentialit\u00e9s, plut\u00f4t que vos faiblesses. Ce faisant, elle vous aidera \u00e0 d\u00e9nouer certaines situations professionnelles difficiles (surcharge de travail, difficult\u00e9 d\u2019une mission, procrastination, etc.).</p><p>Il n\u2019est pas question de s\u2019enfermer dans un optimisme b\u00e9at, mais d\u2019avancer progressivement vers un mieux-\u00eatre en reprenant confiance en soi. Restez bienveillant avec vous-m\u00eame si vous ne parvenez pas \u00e0 apaiser tout de suite votre anxi\u00e9t\u00e9. Apr\u00e8s tout, c\u2019est une technique qui s\u2019apprend, elle aussi, pas \u00e0 pas\u2009!</p><ol><li>Commencez par rep\u00e9rer l\u2019\u00e9motion n\u00e9gative qui vous g\u00eane (col\u00e8re, stress, etc.), puis l\u2019injonction ou la croyance limitante qui s\u2019y trouve li\u00e9e (le \u00ab\u2009il faut\u2009\u00bb ou le \u00ab\u2009je ne peux pas\u2009\u00bb).</li>\n<li>Proposez-vous \u00e0 vous-m\u00eame un contre-argument positif qui vous permette d\u2019accueillir la situation (\u00ab\u2009Il est normal d\u2019avoir peur\u2026\u2009\u00bb ou \u00ab\u2009Je suis en droit d\u2019avoir des craintes\u2009\u00bb).</li>\n<li>Repensez \u00e0 des moments o\u00f9 vous avez r\u00e9ussi \u00e0 vaincre une difficult\u00e9 semblable et \u00e0 mettre \u00e0 profit vos \u00e9motions.</li>\n<li>\u00c0 partir de l\u00e0, imaginez une solution \u00e0 votre probl\u00e8me et mettez-la en \u0153uvre. Si cela n\u2019est pas encore possible pour vous, acceptez cet \u00e9tat de choses sans vous culpabiliser davantage.</li>\n</ol><p>Les \u00e9motions n\u00e9gatives brouillent vos capacit\u00e9s intellectuelles. <a href=\"https://des-livres-pour-changer-de-vie.com/citations-positives/\" target=\"_blank\" rel=\"noopener\">La pens\u00e9e positive</a> vous aide \u00e0 temporiser et \u00e0 retrouver vos facult\u00e9s pour aller mieux.</p><h4><strong>Outil\u00a06. Les strat\u00e9gies anti-fatigue</strong></h4><p>\u00catre repos\u00e9 est essentiel pour se sentir bien et \u00eatre efficace. Ne laissez pas l\u2019\u00e9puisement vous gagner. Nous verrons bient\u00f4t comment respecter sa chronobiologie (outil\u00a019) et comment d\u00e9l\u00e9guer (outil\u00a018). Pour l\u2019instant, retenez qu\u2019il importe de\u00a0:</p><ul><li>Faire de la sant\u00e9 une priorit\u00e9\u2009;</li>\n<li>Limiter les distractions\u2009;</li>\n<li>Bien dormir\u2009;</li>\n<li>S\u2019alimenter sainement\u2009;</li>\n<li>Faire du sport\u2009;</li>\n<li>S\u2019octroyer des pauses/d\u00e9connexions compl\u00e8tes.</li>\n</ul><p>Il s\u2019agit ici de <strong>recommandations g\u00e9n\u00e9rales</strong>. Si votre fatigue persiste ou vous cr\u00e9e des soucis importants, n\u2019h\u00e9sitez pas \u00e0 consulter un m\u00e9decin.</p><h4><strong>Outil\u00a07. La matrice des priorit\u00e9s</strong></h4><p>On l\u2019appelle aussi matrice d\u2019Eisenhower. Cette matrice fait une distinction entre t\u00e2ches urgentes (avec un caract\u00e8re d\u2019imm\u00e9diatet\u00e9) et t\u00e2ches importantes (prioritaires), et l\u2019intensit\u00e9 faible ou haute de ces t\u00e2ches.</p><p>Son b\u00e9n\u00e9fice\u2009? Vous apporter plus de s\u00e9r\u00e9nit\u00e9 au quotidien. Elle est particuli\u00e8rement utile pour g\u00e9rer les priorit\u00e9s sur le moyen terme (une semaine ou un mois, par exemple). La matrice est compos\u00e9e de 4 cadrans (de A \u00e0 D)\u00a0:</p><ul><li><strong>A</strong> = importance haute et urgence haute\u00a0: \u00e0 faire d\u00e8s que possible\u2009!</li>\n<li><strong>B</strong> = importance haute et urgence faible\u00a0: planifiez et entretenez ces actions.</li>\n<li><strong>C</strong> = importance faible et urgence forte\u00a0: ne les perdez pas de vue et tentez de n\u00e9gocier ce qui peut l\u2019\u00eatre, quitte \u00e0 d\u00e9l\u00e9guer ou \u00e0 dire non \u00e0 certaines sollicitations.</li>\n<li><strong>D</strong> = importance faible et urgence faible\u00a0: \u00e0 faire dans les moments de rel\u00e2che relative, \u00e0 automatiser ou \u00e0 d\u00e9l\u00e9guer.</li>\n</ul><p>Une astuce\u00a0: planifiez les t\u00e2ches du cadran B (vos priorit\u00e9s personnelles) au matin, avant de commencer la journ\u00e9e et les urgences qui vous y attendent\u2009! Cela vous rappellera peut-\u00eatre le syst\u00e8me promu par <a href=\"https://des-livres-pour-changer-de-vie.com/miracle-morning/\" target=\"_blank\" rel=\"noopener\">le Miracle Morning</a>.</p><h4><strong>Outil\u00a08. La m\u00e9thode LIMITER</strong></h4><p>Celle-ci vous permettra d\u2019avancer sur vos priorit\u00e9s, en \u00e9vitant que les autres t\u00e2ches ne grignotent tout votre planning. Elle vous aide \u00e0 garder le cap et \u00e0 focaliser votre \u00e9nergie l\u00e0 o\u00f9 vous le souhaitez. Vous devrez peut-\u00eatre supprimer certaines t\u00e2ches de votre emploi du temps ou n\u00e9gocier des changements.</p><p>Concr\u00e8tement, il s\u2019agit de r\u00e9aliser en une dizaine de minutes <strong>une <em>to-do list</em> am\u00e9lior\u00e9e</strong> le soir, avant une journ\u00e9e tendue. En voici les \u00e9l\u00e9ments\u00a0:</p><ol><li>Lister TOUTES les t\u00e2ches \u00e0 effectuer\u2009;</li>\n<li>Inclure les impr\u00e9vus\u2009;</li>\n<li>Mettre un ordre de priorit\u00e9 (privil\u00e9giez l\u2019importance des t\u00e2ches)\u2009;</li>\n<li>Indiquer une dur\u00e9e r\u00e9aliste (ne trichez pas)\u2009;</li>\n<li>Totaliser les heures\u2009;</li>\n<li>\u00c9liminer les t\u00e2ches hors limite\u2009;</li>\n<li>R\u00e9aliser les t\u00e2ches dans l\u2019ordre.</li>\n</ol><p>Regarder ses mails est une t\u00e2che en soi\u2009! Ne commencez donc pas par l\u00e0, si ce n\u2019est pas votre priorit\u00e9.</p><h4><strong>Outil\u00a09. Le d\u00e9sengorgement de l\u2019agenda</strong></h4><blockquote>\n<p>\u00ab\u2009Redonner de la souplesse \u00e0 l\u2019agenda permet d\u2019accueillir les impr\u00e9vus et nouvelles priorit\u00e9s. Indispensable lorsque l\u2019agenda est \u201cbloqu\u00e9\u201d ou anxiog\u00e8ne, le d\u00e9sengorgement peut s\u2019effectuer chaque semaine.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>, p.\u00a033)</p>\n</blockquote><p>\u00c0 nouveau, il vous faudra ici \u00e9valuer les priorit\u00e9s de la semaine (en vous aidant de l\u2019outil\u00a07 par exemple, et en agissant de fa\u00e7on objective et raisonn\u00e9e). \u00c0 partir de l\u00e0, vous pourrez \u00ab\u2009tamiser\u2009\u00bb votre agenda en laissant tomber l\u2019inessentiel (ce qui passe par l\u2019annulation de rendez-vous ou leur limitation en temps, par exemple) et en r\u00e9organisant l\u2019essentiel.</p><p>Peu \u00e0 peu, vous prendrez l\u2019habitude d\u2019agir de cette fa\u00e7on et vous pourrez anticiper les p\u00e9riodes d\u2019engorgement, refuser les t\u00e2ches non prioritaires et accueillir l\u2019impr\u00e9vu avec plus de s\u00e9r\u00e9nit\u00e9. Un conseil\u00a0: <strong>osez supprimer</strong>\u00a0(d\u00e9finitivement ou provisoirement) certaines t\u00e2ches\u2009!</p><h4><strong>Outil\u00a010. La r\u00e9ponse \u00e0 une nouvelle demande</strong></h4><p>\u00ab\u2009\u00c0 l\u2019impossible, nul n\u2019est tenu\u2009\u00bb, dit le proverbe. Dire non peut parfois s\u2019av\u00e9rer n\u00e9cessaire, si une demande n\u2019entre pas dans votre champ de comp\u00e9tences ou de priorit\u00e9s. Dire oui, bien s\u00fbr, est souvent bienvenu et possible, mais n\u2019oubliez pas de poser vos conditions. Pour cela, utilisez par exemple <strong>la r\u00e8gle\u00a02-20-2-2</strong>. C\u2019est-\u00e0-dire\u2009? Demandez \u00e0 votre interlocuteur de pr\u00e9ciser la dur\u00e9e de la t\u00e2che.</p><ul><li><strong>2\u00a0minutes ou moins</strong>\u00a0: dites-oui et faites-le tout de suite.</li>\n<li><strong>20\u00a0minutes\u00a0</strong>: proposez un rendu dans l\u2019heure.</li>\n<li><strong>2\u00a0heures</strong>\u00a0: n\u00e9gociez en gardant \u00e0 l\u2019esprit vos priorit\u00e9s.</li>\n<li><strong>2\u00a0jours ou plus</strong>\u00a0: revoyez vos priorit\u00e9s ou n\u00e9gociez un refus.</li>\n</ul><p>Pour interagir avec votre interlocuteur, vous avez trois options principales\u00a0: r\u00e9pondre par l\u2019affirmative, en faisant suivre ce \u00ab\u2009oui\u2009\u00bb de vos conditions\u2009; r\u00e9pondre par la n\u00e9gative en affirmant (poliment) vos priorit\u00e9s\u2009; aiguiller la demande vers d\u2019autres services/personnes.</p><h4><strong>Outil\u00a011. La focalisation sur un seul objectif</strong></h4><p>Comment lutter efficacement contre le diablotin \u00ab\u2009Papillonne\u2009\u00bb (outil\u00a02)\u2009? D\u2019abord, en vous fixant un objectif concret, homog\u00e8ne et atteignable. Ensuite, en vous isolant des distractions. Enfin, en vous octroyant un temps limit\u00e9 pour agir. Explications.</p><p>Si une t\u00e2che est trop vague ou trop complexe, r\u00e9duisez-l\u00e0 \u00e0 un sous-objectif plus pr\u00e9cis et plus facile \u00e0 atteindre. Faites-en l\u2019objectif \u00e0 r\u00e9aliser. Visualisez-vous l\u2019ayant atteint\u00a0: cela vous donnera de l\u2019\u00e9nergie\u2009!</p><p>Pour vous mettre au travail, pr\u00e9parez-vous un bureau propre, duquel vous aurez supprim\u00e9 les traces d\u2019autres t\u00e2ches en cours (autres dossiers, bo\u00eete email ouverte, etc.). Ayez uniquement le n\u00e9cessaire et l\u2019utile \u00e0 port\u00e9e de main.</p><p>C\u2019est parti. Appuyez sur le chronom\u00e8tre et lancez-vous dans une s\u00e9ance de travail (environ 1\u00a0h\u00a030, mais estimez au pr\u00e9alable votre dur\u00e9e optimale de concentration, qui d\u00e9pendra notamment de votre \u00e9tat de fatigue).</p><p>\u00c9videmment, ne prenez pas plus de temps \u00e0 vous pr\u00e9parer (\u00e0 s\u00e9parer les t\u00e2ches, \u00e0 ranger votre bureau, \u00e0 estimer votre temps id\u00e9al de travail) qu\u2019\u00e0 travailler\u2009! Ce serait l\u00e0 <a href=\"https://des-livres-pour-changer-de-vie.com/avalez-le-crapaud/\" target=\"_blank\" rel=\"noopener\">succomber \u00e0 la procrastination</a>.</p><p><strong>\u00catre focalis\u00e9</strong>, c\u2019est \u00e0 la fois \u00eatre concentr\u00e9 (c\u2019est-\u00e0-dire fix\u00e9 sur un objet \u00e0 l\u2019exclusion des autres) et \u00eatre attentif (c\u2019est-\u00e0-dire sensible \u00e0 ce qui se passe et capable de m\u00e9morisation).</p><p>La concentration et l\u2019attention sont deux capacit\u00e9s que vous pouvez travailler au quotidien, y compris lors de vos moments de d\u00e9tente ou d\u2019attente (en jouant \u00e0 contempler un objet ou \u00e0 m\u00e9moriser un environnement, en faisant de la m\u00e9ditation ou des sports c\u00e9r\u00e9braux, par exemple).</p><h4><strong>Outil\u00a012. La m\u00e9thode CAP pour g\u00e9rer les emails</strong></h4><p>La gestion des emails n\u2019est pas toujours ais\u00e9e\u2009; si vous n\u2019y prenez pas garde, elle peut m\u00eame se substituer \u00e0 vos priorit\u00e9s. La m\u00e9thode CAP est l\u00e0 pour vous soutenir sur ce point. Comment\u2009?</p><ul><li><strong>Classement</strong>\u00a0: placez les mails informatifs, sans action \u00e0 r\u00e9aliser de votre part, dans des dossiers.</li>\n<li><strong>Action</strong>\u00a0: r\u00e9pondez tout de suite \u2014 ou en p\u00e9riode de basse \u00e9nergie \u2014 aux mails qui vous prennent moins de 2\u00a0minutes, dans la journ\u00e9e \u00e0 ceux qui vous prennent 2\u00a0minutes environ ou sont particuli\u00e8rement urgents et planifiez dans votre agenda ceux qui vous prendront plus de temps et peuvent attendre un peu.</li>\n<li><strong>Poubelle</strong>\u00a0: supprimez sans vergogne tout courrier inopportun ou inutile qui encombre votre messagerie.</li>\n</ul><p>Pr\u00e9voyez deux \u00e0 trois s\u00e9quences de CAP par jour. Ne r\u00e9pondez pas \u00e0 ce qui n\u2019est pas n\u00e9cessaire et fixez-vous des limites temporelles\u00a0: 15\u00a0minutes, par exemple, pour traiter 10\u00a0emails.</p><h4><strong>Outil\u00a013. La d\u00e9sintoxication digitale</strong></h4><blockquote>\n<p>\u00ab\u2009Les outils digitaux nous apportent sur un plateau un potentiel infini d\u2019informations et d\u2019\u00e9changes. Ce sont de merveilleux outils lorsque nous les mettons au service de nos projets. Mais si nous n\u2019y prenons pas garde, ils peuvent phagocyter notre temps comme un nuage de sauterelles sur un champ de ma\u00efs. La d\u00e9sintoxication digitale commence par la prise de conscience que nous sommes bien sous l\u2019emprise d\u2019une addiction. Une utilisation ma\u00eetris\u00e9e des outils digitaux ou objets connect\u00e9s r\u00e9pond aux crit\u00e8res classiques d\u2019une activit\u00e9 efficace\u00a0: un objectif pr\u00e9cis atteint dans un laps de temps limit\u00e9.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>, p.\u00a042)</p>\n</blockquote><p>Comment lever (au moins temporairement) l\u2019addiction\u2009? Voici le plan d\u2019action en quatre temps propos\u00e9 par <strong>Pascale B\u00e9lorgey</strong>.</p><ol><li>Reconna\u00eetre l\u2019addiction\u2009;</li>\n<li>Renoncer \u00e0 tout voir \u00e0 et \u00e0 tout traiter\u2009;</li>\n<li>Se donner des objectifs pr\u00e9cis (voir les outils\u00a012, 22, 60, 61)\u2009;</li>\n<li>Limiter sa consommation de contenus.</li>\n</ol><p>Oublier de temps en temps ses dispositifs \u00e0 la maison, faire des cures de d\u00e9sintoxication\u2026 C\u2019est la seule mani\u00e8re de retrouver ses capacit\u00e9s d\u2019attention et de concentration pour \u00eatre \u00e0 nouveau pleinement dans le pr\u00e9sent.</p><h3><strong>Dossier\u00a02. Performer \u00e0 moindre effort</strong></h3><p><img class=\"aligncenter size-full wp-image-24872 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/Classer-l-information-e1633894356320.jpg?is-pending-load=1\" alt=\"Classer l'information pour \u00eatre plus productif\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-24872\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/Classer-l-information-e1633894356320.jpg\" alt=\"Classer l'information pour \u00eatre plus productif\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4><strong>Outil\u00a014. Le pilotage des objectifs</strong></h4><p>Pilote, o\u00f9 placez-vous votre regard\u2009? Si vous regardez trop loin, vous risquez de reporter sans cesse. Mais trop pr\u00e8s, et vous \u00eates le nez dans le guidon, voire vous vous dirigez droit dans le mur\u2009!</p><p>Non\u00a0: \u00ab\u2009<strong>le bon horizon pour piloter les objectifs sereinement, c\u2019est la semaine\u2009</strong>\u00bb, affirme Pascale B\u00e9lorgey. Cette vue moyenne vous permet de garder vos objectifs bien en vue et ainsi de rester plus motiv\u00e9 et focalis\u00e9.</p><p>Comment op\u00e9rer\u2009? En divisant d\u2019abord vos objectifs quantitatifs et qualitatifs en fonction du nombre de semaines travaill\u00e9es. Chaque objectif doit devenir un plan d\u2019action, qui peut \u00eatre estim\u00e9 en heures (ou en demi-journ\u00e9es) de travail, qui devront \u00eatre r\u00e9parties dans votre planning hebdomadaire en fonction de leur priorit\u00e9. Gardez un cr\u00e9neau libre ou \u00ab\u2009provisoire\u2009\u00bb.</p><p>Cr\u00e9ez un tableau de bord de pilotage global et si n\u00e9cessaire des tableaux de bord pour chaque objectif, ainsi que des feuilles de route et des tableaux de suivi pour vos diverses activit\u00e9s. Consacrez un temps dans la semaine (ou au moins une fois par mois) pour faire le point avec vous-m\u00eame. Le cas \u00e9ch\u00e9ant, reprenez le contr\u00f4le de votre emploi du temps en revoyant vos objectifs.</p><h4><strong>Outil\u00a015. La matrice enjeux/effort</strong></h4><p>Et le plaisir, dans tout \u00e7a\u2009! Eh bien, il compte, et il permet d\u2019\u00eatre plus performant. Ce point est au c\u0153ur de la strat\u00e9gie propos\u00e9e par cet outil. Il pourra, par exemple, vous aider \u00e0 planifier votre semaine. La matrice comporte 4 cadrans (de 1 \u00e0 4)</p><ol><li><strong>Booster d\u2019\u00e9nergie</strong>. Ce sont les t\u00e2ches \u00e0 enjeu fort et effort faible. Pr\u00e9voyez-les en d\u00e9but de semaine. Vous serez satisfait d\u2019avoir si bien avanc\u00e9\u2009!</li>\n<li><strong>R\u00e9partition</strong>. Ce sont les t\u00e2ches \u00e0 enjeu fort et \u00e0 effort \u00e9lev\u00e9. \u00c0 r\u00e9aliser de pr\u00e9f\u00e9rence le matin ou quand vous \u00eates le plus en forme, tout au long de la semaine.</li>\n<li><strong>Danger\u2009!</strong> Chouettes \u00e0 r\u00e9aliser, ces t\u00e2ches \u00e0 enjeu faible et \u00e0 effort faible ne vous apportent pas grand-chose\u2026 Apprenez \u00e0 les limiter et \u00e0 leur consacrer uniquement vos \u00ab\u2009heures creuses\u2009\u00bb (sous peine de procrastination et de retard accumul\u00e9).</li>\n<li><strong>R\u00e9duire l\u2019effort</strong>. Ces t\u00e2ches \u00e0 enjeu faible et \u00e0 effort \u00e9lev\u00e9 n\u2019ont pas grand int\u00e9r\u00eat pour vous et vous fatiguent, mais elles doivent \u00eatre r\u00e9alis\u00e9es\u2026 Cherchez \u00e0 innover, \u00e0 r\u00e9duire, \u00e0 rendre amusant\u2026</li>\n</ol><p>Utilisez cette matrice en combinaison avec l\u2019outil\u00a07 pour prendre en compte les d\u00e9lais et les degr\u00e9s d\u2019importance/urgence.</p><h4><strong>Outil\u00a016. Le <em>drive</em> temps-valeur</strong></h4><p>Cet outil vient lui aussi en compl\u00e9ment de la matrice des priorit\u00e9s (outil\u00a07). Vous pouvez le r\u00e9aliser avant de planifier vos t\u00e2ches. Il vise \u00e0 vous faire gagner du temps dans la r\u00e9alisation des t\u00e2ches \u00e0 faible valeur ajout\u00e9e (peu importantes et peu urgentes, peu int\u00e9ressantes et fatigantes). L\u2019outil se base sur <strong>4\u00a0types d\u2019actions</strong>.</p><ol><li>Faire le strict n\u00e9cessaire pour gagner <strong>10 \u00e0 15 %</strong> de votre temps sur les actions peu int\u00e9ressantes.</li>\n<li>Rationaliser pour gagner <strong>40 \u00e0 50 %</strong> de votre temps sur les actions importantes ou urgentes du quotidien.</li>\n<li>Innover pour gagner <strong>80 \u00e0 90 %</strong> de votre temps sur la r\u00e9alisation de vos t\u00e2ches hebdomadaires (urgentes ou importantes).</li>\n<li>Supprimer les t\u00e2ches inutiles pour gagner <strong>100 %</strong> de temps\u2009!</li>\n</ol><h4><strong>Outil\u00a017. Le zen-performance</strong></h4><blockquote>\n<p>\u00ab\u2009Les personnes tr\u00e8s performantes ont la plupart du temps un rituel qui leur permet de progresser avec constance. [\u2026] Le zen-performance s\u2019inspire de ces rituels gagnants. Elle consiste \u00e0 se donner une r\u00e8gle r\u00e9aliste \u00e0 appliquer tous les jours pour inscrire nos objectifs essentiels dans la routine. Ce qui importe n\u2019est pas le r\u00e9sultat du jour, mais la r\u00e9gularit\u00e9 de la pratique. Le r\u00e9sultat est au bout de la route, et la route est douce.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>, p.\u00a052)</p>\n</blockquote><p>Commencez par <strong>choisir une r\u00e8gle simple</strong> et r\u00e9aliste, c\u2019est-\u00e0-dire un objectif pr\u00e9cis, une t\u00e2che claire ou une dur\u00e9e \u00e0 respecter (faire 30\u00a0minutes d\u2019espagnol, etc.). Chaque jour, <strong>appliquez votre r\u00e8gle</strong>, en respectant un cr\u00e9neau et des conditions d\u2019ex\u00e9cution (c\u2019est le rituel). Enfin, centrez-vous sur la r\u00e9alisation en soi de l\u2019action et <strong>f\u00e9licitez-vous d\u2019avoir suivi la r\u00e8gle</strong> que vous vous \u00eates donn\u00e9e.</p><h4><strong>Outil\u00a018. Le r\u00e9flexe de d\u00e9l\u00e9gation</strong></h4><p>Il vaut parfois mieux confier une t\u00e2che \u00e0 une personne plus comp\u00e9tente ou mieux plac\u00e9e pour l\u2019accomplir. Ce faisant, vous gagnerez aussi du temps. Que vous soyez un manager ou non, vous pouvez installer des processus de d\u00e9l\u00e9gation.</p><p>Qui pourrait effectuer cette action\u2009? Ayez cette question en t\u00eate, lorsqu\u2019on vous confie une nouvelle mission ou que vous avez quelque chose \u00e0 faire. Vous avez trouv\u00e9 la personne\u2009? Eh bien, ne tardez pas \u00e0 aller lui parler.</p><p>Anticipez, pr\u00e9sentez-lui les grandes lignes du projet, v\u00e9rifiez sa motivation, valorisez-la en lui expliquant pourquoi vous avez pens\u00e9 \u00e0 elle. Tout au long de la d\u00e9l\u00e9gation, restez pr\u00e9sent et continuez \u00e0 mettre en valeur (voire \u00e0 officialiser) son travail.</p><p>Bien entendu, on pourra parfois vous dire non. Ne vous en offusquez pas\u2009!</p><h4><strong>Outil\u00a019. La chronobiologie</strong></h4><p>Vos rythmes biologiques vous imposent des moments d\u2019\u00e9nergie et des moments \u00ab\u2009mous\u2009\u00bb. Il convient de ne pas les n\u00e9gliger et d\u2019agir de fa\u00e7on synchrone avec eux. Vous devriez donc apprendre \u00e0 vous \u00e9couter et \u00e0 prendre ainsi conscience de vos rythmes biologiques.</p><p>Une fois que vous avez rep\u00e9r\u00e9 vos \u00ab\u2009creux\u2009\u00bb et vos \u00ab\u2009pics\u2009\u00bb, organisez votre agenda en fonction (utilisez les matrices des outils propos\u00e9s plus haut pour rep\u00e9rer les t\u00e2ches qui requi\u00e8rent toute votre \u00e9nergie).</p><p>Un bon conseil\u00a0: mettez \u00e0 profit le soir pour vous pr\u00e9parer \u00e0 la matin\u00e9e suivante. Choisissez par exemple le dossier \u00e0 traiter et installez-le sur votre bureau, ou <a href=\"https://des-livres-pour-changer-de-vie.com/la-magie-de-la-liste/\" target=\"_blank\" rel=\"noopener\">cr\u00e9ez une <em>to-do-list</em> am\u00e9lior\u00e9e</a> (outil\u00a08) pour avoir en t\u00eate le \u00ab\u2009menu\u2009\u00bb du lendemain.</p><h4><strong>Outil\u00a020. Le <em>draft</em></strong></h4><p>C\u2019est un outil qui convient bien aux perfectionnistes et aux procrastinateurs. Il vous lib\u00e8re de l\u2019injonction de perfection en vous autorisant \u00e0 r\u00e9aliser un \u00ab\u2009brouillon\u2009\u00bb (traduction litt\u00e9rale de ce mot anglais).</p><p>La plupart du temps, vos commanditaires seront heureux de recevoir un <em>draft</em> et de le discuter avec vous. N\u2019h\u00e9sitez donc pas \u00e0 le leur proposer et \u00e0 vous accorder sur le niveau du document (plus ou moins exploratoire ou termin\u00e9).</p><p>Dans un premier temps, donc, ne pensez plus au livrable, mais seulement au <em>draft</em>\u00a0: celui-ci devient votre objectif prioritaire. Laissez-vous emporter par votre intuition et votre cr\u00e9ativit\u00e9\u2009; r\u00e9digez ou dessinez sans crainte d\u2019\u00e9chouer ou de mal faire (laissez les coquilles et les fautes).</p><p>Progressivement, vont se d\u00e9gager naturellement quelques id\u00e9es-forces que vous allez lier et commencer \u00e0 organiser \u00e0 chaud. \u00c0 pr\u00e9sent, corrigez votre document et le <em>draft</em> est pr\u00eat\u2009! Servez-le \u00e0 vos commanditaires pour avoir des commentaires constructifs, feedbacks qui vous serviront \u00e0 finaliser le livrable et vous feront gagner un temps pr\u00e9cieux.</p><h4><strong>Outil\u00a021. La production des dossiers de fond</strong></h4><p>\u00ab\u2009Rien ne sert de courir, il faut partir \u00e0 point\u2009\u00bb, non\u2009? Eh bien, c\u2019est l\u2019id\u00e9e de cet outil, qui vous aidera \u00e0 g\u00e9rer votre \u00e9nergie et votre cr\u00e9ativit\u00e9 pour remettre des travaux (articles, \u00e9tudes, etc.) qui demandent un investissement au long cours. En vous pr\u00e9parant progressivement \u00e0 la t\u00e2che \u00e0 accomplir, votre cerveau travaillera pour vous inconsciemment\u2009!</p><p>Voici les points d\u00e9gag\u00e9s par <strong>Pascale B\u00e9lorgey</strong> pour mettre en \u0153uvre cette technique\u00a0:</p><ul><li>Notez vos id\u00e9es au fil de l\u2019eau (dans des dossiers d\u00e9di\u00e9s)\u2009;</li>\n<li>Visualisez le r\u00e9sultat final (de fa\u00e7on positive, en ayant une image claire du destinataire et des besoins)\u2009;</li>\n<li>D\u00e9coupez le travail en sous-objectifs (homog\u00e8nes et atteignables en 1\u00a0h 30 max)\u2009;</li>\n<li>Planifiez vos s\u00e9quences de r\u00e9flexion (lors de vos \u00ab\u2009pics\u2009\u00bb et la veille au soir)\u2009;</li>\n<li>Pr\u00e9parez-vous la veille pour \u00eatre efficace (en visualisant l\u2019objectif et en ordonnant votre bureau)\u2009;</li>\n<li>Isolez-vous pour rester concentr\u00e9\u2009;</li>\n<li>D\u00e9marrez sans attendre (utilisez pour cela l\u2019outil\u00a020)\u2009;</li>\n<li>Pr\u00e9parez la s\u00e9quence suivante (savourez l\u2019objectif r\u00e9alis\u00e9 et passez au suivant, ou planifiez un moment pour terminer ce que vous \u00e9tiez en train de faire). (Source\u00a0: La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle, p.\u00a061)</li>\n</ul><h4><strong>Outil\u00a022. La recherche d\u2019information</strong></h4><p>Comment rechercher l\u2019information pertinente\u2009? \u00c0 l\u2019\u00e8re d\u2019internet, la question a pris une actualit\u00e9 nouvelle. Mais restons pour l\u2019instant dans des consid\u00e9rations g\u00e9n\u00e9rales. Voici quelques conseils de l\u2019auteure pour devenir plus efficace et plus efficient dans ce domaine.</p><ul><li>Avoir un but bien d\u00e9termin\u00e9\u00a0: ne pas partir \u00e0 l\u2019aveuglette, mais savoir ce que vous cherchez, quelles sont les principales sources fiables et les mots-cl\u00e9s \u00e0 utiliser.</li>\n<li>Trier \u00ab\u2009en gros\u2009\u00bb\u00a0: survoler les documents pour d\u00e9celer s\u2019ils ont un int\u00e9r\u00eat pour vous ou non. Si vous s\u00e9lectionnez l\u2019un d\u2019entre eux, conservez-le (dans vos favoris, par exemple) afin de le lire plus tard.</li>\n<li>R\u00e9aliser une premi\u00e8re synth\u00e8se\u00a0: \u00e0 partir d\u2019une lecture grossi\u00e8re, mais attentive des titres et des articulations de chaque discours, vous pourrez d\u00e9gager les id\u00e9es cl\u00e9s et les r\u00e9sumer (\u00e0 l\u2019aide d\u2019une carte mentale, par exemple).</li>\n<li>Lire \u00ab\u2009dans le d\u00e9tail\u2009\u00bb\u00a0: les textes qui vous int\u00e9ressent le plus m\u00e9ritent toute votre concentration (prenez des notes).</li>\n<li>Croiser les sources\u00a0: les informations retenues n\u2019en seront que plus fiables.</li>\n<li>Cibler\u00a0: v\u00e9rifiez certaines informations essentielles \u00e0 partir de mots-cl\u00e9s, d\u2019un chiffre ou d\u2019une image.</li>\n<li>Limiter votre recherche dans le temps\u00a0: d\u00e9terminer d\u00e8s le d\u00e9part un \u00ab\u2009budget temps\u2009\u00bb \u00e0 utiliser pour la recherche et r\u00e9sistez \u00e0 l\u2019envie d\u2019\u00eatre exhaustif.</li>\n</ul><h4><strong>Outil\u00a023. La gestion de la procrastination</strong></h4><p>Pas toujours facile de s\u2019y mettre\u2009! All\u00e9gez le poids des t\u00e2ches permet de diminuer les \u00e9motions n\u00e9gatives (anxi\u00e9t\u00e9, d\u00e9go\u00fbt) associ\u00e9es \u00e0 la procrastination. Mais il existe d\u2019autres trucs et astuces. En voici quelques-unes.</p><ul><li>Analyser l\u2019origine du probl\u00e8me\u00a0: d\u00e9go\u00fbt, anxi\u00e9t\u00e9\u2009? Autre\u2026</li>\n<li>Commencer petit\u00a0: r\u00e9alisez une t\u00e2che simple, puis <a href=\"https://des-livres-pour-changer-de-vie.com/petites-habitudes-grandes-reussites/\" target=\"_blank\" rel=\"noopener\">avancer petit pas par petit pas</a>.</li>\n<li>Transformer le d\u00e9go\u00fbt en amusement\u00a0: lancez-vous des d\u00e9fis ou rendez le travail plus visuel et color\u00e9, par exemple.</li>\n<li>Se r\u00e9compenser\u00a0: apr\u00e8s chaque s\u00e9ance de travail (quelle que soit sa taille), accordez-vous une pause, rayez la ligne dans votre <em>to do list</em>, profitez d\u2019un commentaire positif d\u2019un coll\u00e8gue\u2026</li>\n<li>\u00catre bienveillant avec soi-m\u00eame\u00a0: n\u2019ajoutez pas la culpabilit\u00e9 aux autres \u00e9motions n\u00e9gatives.</li>\n<li>Supprimer les t\u00e2ches v\u00e9ritablement inutiles.</li>\n<li>Se donner des t\u00e2ches n\u00e9gatives telles que \u00ab\u2009ne pas aller sur internet\u2009\u00bb.</li>\n</ul><p>Parfois, vous remettrez certaines choses au lendemain. N\u2019en faites pas toute une histoire. Vous avez parfois besoin de souffler et c\u2019est tr\u00e8s bien ainsi.</p><h4><strong>Outil\u00a024. Les pr\u00e9f\u00e9rences personnelles</strong></h4><blockquote>\n<p>\u00ab\u2009Plus nous travaillons en respectant nos pr\u00e9f\u00e9rences, plus nous sommes efficaces et performants. Cet outil est utile pour cr\u00e9er les conditions de notre efficacit\u00e9 en g\u00e9n\u00e9ral. Il est un bon antidote \u00e0 la procrastination des t\u00e2ches qui nous semblent ennuyeuses.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>, p.\u00a069)</p>\n</blockquote><p>Veillez \u00e0\u00a0:</p><ul><li>Respecter votre environnement de travail pr\u00e9f\u00e9r\u00e9\u00a0: en groupe, seul, chez vous, au bureau, etc.</li>\n<li>Respecter votre perception pr\u00e9f\u00e9r\u00e9e, c\u2019est-\u00e0-dire votre mode naturel de r\u00e9solution des probl\u00e8mes\u00a0: plus \u00e9motif ou plus imaginatif, plus logique ou plus normatif, etc.</li>\n<li>Nourrir vos besoins psychologiques pour vous motiver\u00a0: r\u00e9alisez les t\u00e2ches qui vous plaisent en premier, octroyez-vous des r\u00e9compenses, etc.</li>\n</ul><p>N\u2019h\u00e9sitez pas \u00e0 consulter l\u2019ouvrage pour en savoir un peu plus sur les 6\u00a0types de personnalit\u00e9s d\u00e9velopp\u00e9s par Taibi Kahler (mod\u00e8le Process Com\u00ae)\u00a0: empathique, travaillomane, pers\u00e9v\u00e9rant, rebelle, r\u00eaveur, promoteur.</p><h4><strong>Outil\u00a025. Le t\u00e9l\u00e9travail en alternance</strong></h4><p>C\u2019est une possibilit\u00e9 qui nous est de plus en plus offerte \u2014 voire, parfois, impos\u00e9e. <a href=\"https://blogueur-pro.net/travail-a-domicile-4-regles-pour-etre-plus-productif\" target=\"_blank\" rel=\"noopener\" class=\"external\">Comment g\u00e9rer au mieux le travail \u00e0 la maison</a> ou devant l\u2019\u00e9cran d\u2019ordinateur (car le t\u00e9l\u00e9travail peut tr\u00e8s bien s\u2019effectuer hors de chez soi, dans un espace collaboratif de travail, par exemple).</p><p>T\u00e9l\u00e9travailler exige de bien se pr\u00e9parer en amont (s\u2019assurer d\u2019avoir tout le mat\u00e9riel disponible sous la main), de savoir ce que l\u2019on va r\u00e9aliser et de ne pas se laisser distraire. Vous devrez sans doute adapter la cadence en fonction des demandes de l\u2019entreprise ou des exigences du travail.</p><p>Par ailleurs, indiquez clairement aux autres membres de votre \u00e9quipe que vous \u00eates en t\u00e9l\u00e9travail pour qu\u2019ils puissent agir en cons\u00e9quence. Assurez-vous de ne pas manquer de rendez-vous important et proposer, lorsque c\u2019est possible, d\u2019y participer \u00e0 distance.</p><p>Prenez des pauses r\u00e9guli\u00e8res. Veillez aussi \u00e0 ne pas vous couper des moments informels pass\u00e9s avec les coll\u00e8gues, qui vous permettent de garder contact avec la culture de l\u2019organisation et de socialiser.</p><h4><strong>Outil\u00a026. Le sentiment d\u2019efficacit\u00e9 personnelle</strong></h4><blockquote>\n<p>\u00ab\u2009L\u2019efficacit\u00e9 est un cercle vertueux. Plus nous cultivons notre sentiment d\u2019efficacit\u00e9 personnelle, plus nous sommes sereins face au travail \u00e0 accomplir. Et la s\u00e9r\u00e9nit\u00e9 nous rend efficaces. Albert Bandura, psychologue canadien connu pour son concept d\u2019auto-efficacit\u00e9, a relev\u00e9 quatre facteurs contribuant au sentiment d\u2019efficacit\u00e9 personnelle\u00a0:</p>\n</blockquote><ul><li>\n<blockquote>\n<p>Les exp\u00e9riences actives de ma\u00eetrise\u2009;</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>Les exp\u00e9riences vicariantes\u2009;</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>[Celles] de persuasion verbale\u2009;</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p>L\u2019\u00e9tat psychique et \u00e9motionnel.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>, p.\u00a074)</p>\n</blockquote>\n</li>\n</ul><p>Les premi\u00e8res sont li\u00e9es aux \u00e9checs et aux r\u00e9ussites accept\u00e9es et dig\u00e9r\u00e9es. En faisant r\u00e9guli\u00e8rement le bilan de ce que vous accomplissez, vous augmentez ces exp\u00e9riences actives de ma\u00eetrise.</p><p>Les deuxi\u00e8mes insistent sur la comparaison\u00a0: qu\u2019avez-vous fait mieux ou moins bien qu\u2019un autre\u2009? Retirez-en une fiert\u00e9 ou un apprentissage, en n\u2019ayant pas peur de demander \u00e0 celui qui fait mieux comment il l\u2019a fait. Copiez les personnes qui excellent plut\u00f4t que de vous laisser d\u00e9courager par elles\u2009!</p><p>Les troisi\u00e8mes jouent sur les retours positifs ou n\u00e9gatifs vis-\u00e0-vis de vos prestations. Sollicitez-les et apprenez \u00e0 les interpr\u00e9ter de fa\u00e7on \u00e0 enrichir votre sentiment d\u2019efficacit\u00e9 personnelle (en en retirant de la fiert\u00e9 ou un apprentissage, donc).</p><h3><strong>Dossier\u00a03. Travailler efficacement ensemble</strong></h3><p><img class=\"aligncenter size-full wp-image-24873 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/Travailler-en-equipe-e1633894388841.jpg?is-pending-load=1\" alt=\"Travailler efficacement ensemble\" width=\"600\" height=\"450\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-24873\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/Travailler-en-equipe-e1633894388841.jpg\" alt=\"Travailler efficacement ensemble\" width=\"600\" height=\"450\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4><strong>Outil\u00a027. Les niveaux de synergie</strong></h4><p><strong>5\u00a0niveaux</strong> peuvent \u00eatre d\u00e9gag\u00e9s. Ceux-ci servent avant tout \u00e0 se rep\u00e9rer et \u00e0 faire des propositions pour am\u00e9liorer la coop\u00e9ration au sein des \u00e9quipes. Quels sont-ils\u2009?</p><ul><li>-1 = du chacun pour soi.</li>\n<li>0 = des demandes honor\u00e9es.</li>\n<li>1 = de la vision commune.</li>\n<li>2 = de l\u2019efficacit\u00e9 collective.</li>\n<li>3 = de l\u2019\u00e9quipe performante.</li>\n</ul><p>Le passage entre chaque niveau s\u2019effectue en fonction d\u2019objectifs particuliers\u00a0:</p><ul><li>Respecter les engagements et reconna\u00eetre le travail de chacun permet de passer du niveau\u00a0-1 au niveau\u00a00.</li>\n<li>Avoir un but commun et se r\u00e9partir clairement les choses \u00e0 faire vous fera sauter du niveau\u00a00 au niveau\u00a01.</li>\n<li>Cr\u00e9er des m\u00e9thodes pour gagner du temps et r\u00e9soudre ensemble les probl\u00e8mes vous m\u00e8nera directement au niveau\u00a02.</li>\n<li>Avoir un \u00e9tat d\u2019esprit flexible vous permettra d\u2019accueillir avec souplesse les changements et d\u2019atteindre le niveau\u00a03\u2009!</li>\n</ul><p>La d\u00e9marche est globalement la m\u00eame, qu\u2019il s\u2019agisse de fonder une \u00e9quipe enti\u00e8re ou de cr\u00e9er une relation avec une personne en particulier. L\u2019important est d\u2019y aller progressivement, une \u00e9tape apr\u00e8s l\u2019autre (sans en sauter une seule).</p><h4><strong>Outil\u00a028. Les 7\u00a0cl\u00e9s de la coop\u00e9ration</strong></h4><blockquote>\n<p>\u00ab\u2009La coop\u00e9ration ne se d\u00e9cr\u00e8te pas. Elle se construit pas \u00e0 pas dans la sinc\u00e9rit\u00e9 et le respect mutuel. Elle exige de nous que nous soyons conscients de ce que nous produisons \u00e0 tout moment dans la relation. Et que nous fassions le choix de coop\u00e9rer malgr\u00e9 les difficult\u00e9s rencontr\u00e9es \u2014 ou \u00e0 cause d\u2019elles. Les 7\u00a0cl\u00e9s de compr\u00e9hension nous guident pour aborder la relation dans un \u00e9tat d\u2019esprit susceptible de favoriser la coop\u00e9ration chez nos partenaires professionnels malgr\u00e9 les difficult\u00e9s \u2014 et surtout pour les r\u00e9soudre ensemble.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>, p.\u00a082)</p>\n</blockquote><p>Voici les <strong>7\u00a0cl\u00e9s de la coop\u00e9ration</strong>, les 4\u00a0premi\u00e8res sont li\u00e9es \u00e0 la conscience et les trois suivantes \u00e0 la disponibilit\u00e9\u00a0:</p><ol><li>L\u2019authenticit\u00e9\u2009;</li>\n<li>L\u2019objectivit\u00e9\u2009;</li>\n<li>Le don\u2009;</li>\n<li>L\u2019initiative\u2009;</li>\n<li>La posture\u2009;</li>\n<li>L\u2019empathie\u2009;</li>\n<li>Le processus.</li>\n</ol><h4><strong>Outil\u00a029. La posture ++</strong></h4><p>Voici un outil issu de l\u2019analyse transactionnelle. Elle permet de prendre du recul sur une situation d\u2019interaction et de la recadrer.</p><p>Pour mettre en \u0153uvre ce type d\u2019analyse, commencez par analyser votre propre \u00e9tat d\u2019esprit, puis celui de l\u2019autre. \u00cates-vous plut\u00f4t bien ou mal dispos\u00e9 \u00e0 l\u2019\u00e9gard de votre interlocuteur\u2009? Et celui-ci, que pense-t-il du contact, \u00e0 votre avis\u2009?</p><p>\u00c0 partir de cette r\u00e9flexion, vous disposez d\u2019une sorte de \u00ab\u2009boussole\u2009\u00bb pour vous orienter. <strong>Quatre postures</strong> sont possibles\u00a0:</p><ul><li>Le contact est au point mort (\u2013)\u2009;</li>\n<li>Vous vous sentez sup\u00e9rieur \u00e0 l\u2019autre et vous lui imposez votre opinion (+-)\u2009;</li>\n<li>\u00c0 l\u2019inverse, vous vous sentez en inf\u00e9riorit\u00e9 et n\u2019osez pas dire ce que vous pensez (-+)\u2009;</li>\n<li>Vous pouvez trouver une solution, car vous vous situez l\u2019un et l\u2019autre sur un pied d\u2019\u00e9gale l\u00e9gitimit\u00e9 (++).</li>\n</ul><p>En cherchant \u00e0 incarner sinc\u00e8rement, d\u00e8s le d\u00e9part, une posture ++, vous inviterez naturellement votre interlocuteur \u00e0 \u00ab\u2009changer de signe\u2009\u00bb et \u00e0 se mettre en mode ++ lui aussi. Faites preuve de tact et de confiance en vous (en utilisant \u00e9ventuellement la pens\u00e9e positive). Souvenez-vous aussi des <a href=\"https://des-livres-pour-changer-de-vie.com/les-quatre-accords-tolteques/\" target=\"_blank\" rel=\"noopener\">quatre accords tolt\u00e8ques\u2009!</a></p><h4><strong>Outil\u00a030. Les engagements mutuels</strong></h4><p>La confiance s\u2019instaure progressivement. Pour se faire, il faut s\u2019engager vis-\u00e0-vis de l\u2019autre et recevoir en retour un engagement similaire. Cela concerne aussi tous les aspects des \u00e9changes au sein de l\u2019entreprise. Voici quelques r\u00e8gles pour construire des engagements mutuels\u00a0:</p><ul><li><strong>Soyez r\u00e9aliste</strong>, ne promettez pas l\u2019impossible\u2009;</li>\n<li><strong>N\u00e9gociez</strong> si on vous en demande trop, tout en gardant \u00e0 l\u2019esprit les besoins de l\u2019interlocuteur\u2009;</li>\n<li><strong>Invitez-le \u00e0 s\u2019engager</strong> en retour, en lui demandant de vous tenir inform\u00e9 de l\u2019\u00e9volution du projet, par exemple\u2009;</li>\n<li><strong>Respectez votre engagement</strong> ou anticipez un d\u00e9lai en pr\u00e9venant d\u2019une difficult\u00e9 qui survient.</li>\n</ul><h4><strong>Outil\u00a031. Le <em>feedback</em> constructif</strong></h4><p>Les <em>feedbacks</em> n\u00e9gatifs peuvent \u00eatre tourn\u00e9s en apprentissages. Mais il vaut mieux privil\u00e9gier les critiques constructives qui renforcent la <a href=\"https://des-livres-pour-changer-de-vie.com/le-pouvoir-de-la-confiance-en-soi/\" target=\"_blank\" rel=\"noopener\">confiance en soi</a> de l\u2019interlocuteur et le motive \u00e0 continuer son travail.</p><p>Les remerciements sont bien s\u00fbr bienvenus, lorsque vous recevez de quelqu\u2019un un livrable ou m\u00eame apr\u00e8s lui avoir propos\u00e9 votre critique (vous le remerciez alors pour son \u00e9coute). Si la critique est n\u00e9cessaire, commencez par \u00e9voquer un \u00e9l\u00e9ment positif, puis proportionnez vos remarques aux enjeux (au niveau de synergie et au niveau d\u2019importance de l\u2019erreur et du travail).</p><p>R\u00e9agissez \u00e0 chaud, de fa\u00e7on bienveillante et sinc\u00e8re. Accueilliez \u00e0 votre tour les critiques de fa\u00e7on positive en demeurant dans une posture ++.</p><h4><strong>Outil\u00a032. Le but commun</strong></h4><p>Le but commun est un outil langagier qui vise \u00e0 mettre l\u2019accent sur les traits d\u2019union qui rendent possible et souhaitable la coop\u00e9ration. Parlez en utilisant le \u00ab\u2009nous\u2009\u00bb, plut\u00f4t que le \u00ab\u2009je\u2009\u00bb et le \u00ab\u2009tu\u2009\u00bb\u2009; placez-vous aussi dans une logique du \u00ab\u2009et\u2009\u00bb (voire du \u00ab\u2009oui et\u2009\u00bb) plut\u00f4t que du \u00ab\u2009ou\u2009\u00bb (et du \u00ab\u2009oui, mais\u2009\u00bb).</p><p>Cette fa\u00e7on de communiquer permet d\u2019orienter l\u2019esprit sur la recherche de solutions communes, \u00e0 partir des exigences et des besoins de chacun. Une fois l\u2019accord obtenu, vous pouvez vous r\u00e9partir les t\u00e2ches. L\u2019ambiance de travail en sera nettement am\u00e9lior\u00e9e\u2009!</p><h4><strong>Outil\u00a033. La proposition d\u2019arbitrage en cas de blocage</strong></h4><p>Il se peut toutefois qu\u2019une situation demeure bloqu\u00e9e. Que faire, dans ce cas\u2009? Eh bien, il est encore possible de faire appel \u00e0 une instance d\u2019arbitrage, c\u2019est-\u00e0-dire \u00e0 un tiers qui va prendre de la distance pour nous.</p><p>Cela exigera de partir du constat qu\u2019il existe bel et bien un d\u00e9saccord, puis de proposer l\u2019arbitrage \u00e0 l\u2019autorit\u00e9 comp\u00e9tente. Il sera utile de faire r\u00e9diger par les parties prenantes une demande d\u2019arbitrage d\u00e9taill\u00e9e qui permettra aux arbitres sollicit\u00e9s de clore le cas.</p><p>Adoptez une posture constructive et calme, m\u00eame si l\u2019arbitre ne conclut pas en votre faveur. Vous aurez au moins la satisfaction d\u2019avoir d\u00e9nou\u00e9 le probl\u00e8me.</p><h4><strong>Outil\u00a034. Les emails efficaces</strong></h4><p>Vous n\u2019\u00eates pas le seul \u00e0 recevoir beaucoup d\u2019emails professionnels. Nous sommes tous dans ce cas\u2009! C\u2019est bien pour cela qu\u2019il importe d\u2019apprendre \u00e0 r\u00e9diger des mails efficaces qui facilitent le travail de votre destinataire. Comment\u2009? Voici quelques conseils propos\u00e9s par Pascale B\u00e9lorgey.</p><ul><li><strong>S\u00e9lection du destinataire\u00a0</strong>: choisissez le ou les destinataires pertinents pour vos emails, r\u00e9ponses et mises en copie.</li>\n<li><strong>Pr\u00e9cision et concision\u00a0du titre</strong>\u00a0: faites court, mais complet, en commen\u00e7ant par l\u2019information principale.</li>\n<li><strong>Accroche</strong>\u00a0: adoptez un ton personnalis\u00e9 et expliquez directement pourquoi votre destinataire est concern\u00e9.</li>\n<li><strong>D\u00e9veloppement</strong>\u00a0: \u00e9crivez des phrases courtes, soyez clair et synth\u00e9tique, tout en veillant \u00e0 donner toutes les informations utiles.</li>\n<li><strong>Conclusion</strong>\u00a0: rappelez quelle est l\u2019action attendue et personnalisez la fin du mail.</li>\n</ul><p>\u00c0 prendre en compte\u00a0: si vous devez traiter un conflit, pr\u00e9f\u00e9rez la voie t\u00e9l\u00e9phonique ou le rendez-vous direct.</p><h4><strong>Outil\u00a035. La proposition d\u2019un nouveau fonctionnement</strong></h4><blockquote>\n<p>\u00ab\u2009Ce n\u2019est pas dans l\u2019urgence d\u2019un livrable \u00e0 rendre que nous pouvons n\u00e9gocier nos m\u00e9thodes de travail. Plus la relation est tendue, plus cet entretien demande de pr\u00e9paration\u00a0: trouver les points d\u2019appui positifs, exposer les faits de fa\u00e7on neutre pour que notre partenaire de travail ne se sente pas accus\u00e9, clarifier ce que nous pouvons lui demander \u00e0 minima qui semble compatible avec son fonctionnement actuel\u2026 Car c\u2019est en l\u2019amenant \u00e0 coop\u00e9rer dans le processus de recherche de solution que nous pourrons mettre en place un fonctionnement p\u00e9renne.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>, p.\u00a0100)</p>\n</blockquote><p>En r\u00e9sum\u00e9, ne br\u00fblez pas ces \u00e9tapes\u00a0:</p><ol><li>D\u00e9cider du bon moment\u2009;</li>\n<li>Dire ce qui va bien\u2009;</li>\n<li>Affirmer vos besoins\u00a0et vos contraintes\u2009;</li>\n<li>\u00catre \u00e0 l\u2019\u00e9coute des besoins et contraintes de votre partenaire\u2009;</li>\n<li>Formuler un diagnostic commun\u2009;</li>\n<li>Rechercher ensemble une solution\u2009;</li>\n<li>Remercier votre partenaire pour son engagement.</li>\n</ol><h4><strong>Outil\u00a036. La n\u00e9gociation gagnant-gagnant</strong></h4><p>Pour compl\u00e9ter le point pr\u00e9c\u00e9dent, vous pouvez vous inspirer de cet outil\u00a0: il serait dommage de passer \u00e0 c\u00f4t\u00e9 de l\u2019occasion de maximiser le b\u00e9n\u00e9fice de chaque partie. Plus g\u00e9n\u00e9ralement, cet outil s\u2019applique \u00e0 toute situation de d\u00e9saccord.</p><p>En voici la recette et les principaux ingr\u00e9dients\u00a0:</p><ol><li>Se pr\u00e9parer est essentiel pour pouvoir exposer vos arguments et \u00e9ventuellement obtenir plus\u2009;</li>\n<li>D\u00e9clarer que vous \u00eates l\u00e0 pour trouver une solution (posture ++)\u2009;</li>\n<li>N\u00e9gocier en prenant en compte les besoins des deux parties\u2009;</li>\n<li>N\u00e9gocier en montrant en quoi certaines demandes sont inaccessibles, mais en mettant l\u2019interlocuteur au d\u00e9fi de trouver une solution et en faisant preuve d\u2019ouverture pour arriver \u00e0 un accord\u2009;</li>\n<li>Finaliser celui-ci en r\u00e9sumant les principaux points qui ont \u00e9t\u00e9 atteints (envoyer un mail \u00e0 toutes les personnes int\u00e9ress\u00e9es).</li>\n</ol><h4><strong>Outil\u00a037. La r\u00e9union productive</strong></h4><p>\u00c0 la fin de ce type de r\u00e9union, chacun saura ce qu\u2019il aura \u00e0 faire, parce que l\u2019\u00e9nergie du groupe aura \u00e9t\u00e9 concentr\u00e9e sur un objectif concret et les t\u00e2ches auront \u00e9t\u00e9 r\u00e9parties. Elle se compose de <strong>trois phases</strong>\u00a0:</p><ol><li><strong>Le lancement\u00a0</strong>= annonce d\u2019un objectif concret et commun qu\u2019il s\u2019agira de r\u00e9aliser (par exemple, une augmentation des ventes de 10\u00a0%)\u2009;</li>\n<li><strong>La production</strong>\u00a0= maintien de la focalisation des \u00e9quipes autour de l\u2019objectif en cours de traitement\u2009;</li>\n<li><strong>La concr\u00e9tisation</strong>\u00a0= d\u00e9cision sur les actions \u00e0 entreprendre et des r\u00f4les (finalisation du livrable, responsable du suivi, notamment).</li>\n</ol><p>Si l\u2019objectif est trop grand, r\u00e9duisez-le. Il doit pouvoir \u00ab\u2009tenir\u2009\u00bb dans le temps imparti pour la r\u00e9union.</p><h4><strong>Outil\u00a038. Les m\u00e9thodes de r\u00e9solution de probl\u00e8mes</strong></h4><p>En cas de probl\u00e8me important, mieux vaut conserver la t\u00eate froide. Il importe de ne pas se m\u00e9prendre sur ce qui est en jeu, ce qui conduirait in\u00e9vitablement \u00e0 une mauvaise prise de d\u00e9cision. Les m\u00e9thodes de r\u00e9solution des probl\u00e8mes sont utiles, car elles ralentissent et rationalisent la situation, nous permettant ainsi d\u2019y voir plus clair.</p><p>Commencez par poser le probl\u00e8me de fa\u00e7on objective, c\u2019est-\u00e0-dire en listant ce sur quoi il porte, qui est concern\u00e9, ce qui a d\u00e9j\u00e0 \u00e9t\u00e9 tent\u00e9, ce \u00e0 quoi l\u2019on veut arriver (l\u2019objectif concret), les ressources et comp\u00e9tences qui vous manquent.</p><p>Si vous \u00eates face \u00e0 une urgence, vous pouvez trouver une solution provisoire afin d\u2019endiguer le probl\u00e8me pour un temps d\u00e9termin\u00e9 qui vous permettra de trouver une solution durable.</p><p>Prenez soin d\u2019\u00e9tudier les causes du probl\u00e8me en utilisant plusieurs m\u00e9thodes (les cartes mentales et les Post-its\u2122, les 5 pourquoi, la loi de Pareto).</p><p>Trouvez des solutions. Selon cette <a href=\"https://des-livres-pour-changer-de-vie.com/le-principe-80-20/\" target=\"_blank\" rel=\"noopener\">loi de Pareto</a>, 20\u00a0% des causes r\u00e9soudront 80\u00a0% du probl\u00e8me. D\u2019o\u00f9 l\u2019importance de bien analyser les causes en amont. D\u00e9signez des personnes pour s\u2019atteler \u00e0 la t\u00e2che.</p><p>Finalement, gardez trace de ce qui s\u2019est pass\u00e9\u00a0: mesurez et, \u00e9ventuellement, utilisez les solutions trouv\u00e9es pour dresser des axes d\u2019am\u00e9lioration dans d\u2019autres secteurs de votre activit\u00e9.</p><p>Pr\u00e9f\u00e9rez plut\u00f4t un groupe avec des profils divers pour enrichir votre recherche de causes et de solutions.</p><h4><strong>Outil\u00a039. La r\u00e9union de <em>brainstorming</em></strong></h4><p>Cet outil est assez connu. Pourtant, lorsqu\u2019on pense <em>brainstorming</em> (parfois traduit par remue-m\u00e9ninges), on oublie parfois l\u2019une de ces facettes\u00a0: la pens\u00e9e critique, qui vient en compl\u00e9ment de la pens\u00e9e cr\u00e9ative. Gr\u00e2ce \u00e0 cette m\u00e9thode, vous d\u00e9velopperez en commun des id\u00e9es nouvelles qui vous aideront \u00e0 r\u00e9soudre des probl\u00e8mes. Comment l\u2019utiliser\u2009?</p><p>Commencez par cadrer la r\u00e9union en proposant une \u00ab\u2009question d\u00e9fi\u2009\u00bb \u00e0 laquelle chacun tentera de r\u00e9pondre. Poursuivez ensuite par la production d\u2019id\u00e9es (phase de divergence). La r\u00e8gle en est simple\u00a0:</p><ul><li><strong>C</strong>\u00a0= censure interdite\u2009;</li>\n<li><strong>Q</strong> = quantit\u00e9 exig\u00e9e\u2009;</li>\n<li><strong>F</strong> = farfelu bienvenu\u2009;</li>\n<li><strong>D</strong>= d\u00e9multiplication encourag\u00e9e (rebonds, d\u00e9formations, etc.).</li>\n</ul><p>G\u00e9rez cette phase en recentrant si n\u00e9cessaire, mais sans exercer de pression. Ensuite, invitez les participants \u00e0 s\u00e9lectionner des id\u00e9es (phase de convergence). Questionnez-les sur les raisons de leurs choix (\u00e9limination ou conservation) et hi\u00e9rarchisez les id\u00e9es.</p><h3><strong>Dossier\u00a04. D\u00e9velopper sa valeur ajout\u00e9e</strong></h3><p><img class=\"aligncenter wp-image-24874 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/Trouver-sa-valeur.jpg?is-pending-load=1\" alt=\"D\u00e9velopper sa valeur ajout\u00e9e\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter wp-image-24874\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/Trouver-sa-valeur.jpg\" alt=\"D\u00e9velopper sa valeur ajout\u00e9e\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4><strong>Outil\u00a040. L\u2019orientation client</strong></h4><blockquote>\n<p>\u00ab\u2009Que nous soyons ou non en contact direct avec le client, c\u2019est toujours pour lui que nous travaillons. L\u2019orientation client permet \u00e0 toute la cha\u00eene client-fournisseur de l\u2019entreprise d\u2019\u00eatre efficace pour r\u00e9pondre aux 4\u00a0attentes essentielles\u00a0:</p>\n</blockquote><ul><li>\n<blockquote>\n<p><strong>La qualit\u00e9</strong>\u00a0: celle des produits et services qu\u2019il ach\u00e8te, mais aussi son exp\u00e9rience de la marque au sens large, du premier au dernier contact.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p><strong>La r\u00e9activit\u00e9</strong> en cas de probl\u00e8me.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p><strong>Une certaine flexibilit\u00e9</strong> pour acc\u00e9der \u00e0 des demandes \u201chors catalogue\u201d ou \u201chors process\u201d.</p>\n</blockquote>\n</li>\n<li>\n<blockquote>\n<p><strong>Une relation personnalis\u00e9e</strong> qui lui permettre de se sentir reconnu.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>, p.\u00a0114)</p>\n</blockquote>\n</li>\n</ul><h4><strong>Outil\u00a041. La prestation enthousiasmante</strong></h4><p>Qu\u2019est-ce qu\u2019une prestation enthousiasmante, sinon une prestation qui d\u00e9passe les attentes du client\u2009? Pourquoi devriez-vous fournir ce type de prestation, et quand\u2009?</p><p>Vous pourrez offrir un tel suppl\u00e9ment \u00e0 votre client lorsque vous aurez au pr\u00e9alable rempli une s\u00e9rie de conditions initiales et implicites (le minimum attendu, en quelque sorte) et que les attentes explicites auront \u00e9galement \u00e9t\u00e9 atteintes, assurant ainsi la parfaite satisfaction du client. La prestation enthousiasmante cr\u00e9e une heureuse surprise\u00a0ou du moins, un petit plus qui fait du client un potentiel ambassadeur enthousiaste de votre enseigne.</p><p>Attention\u00a0: ce petit plus ne doit pas \u00eatre un gadget, il doit \u00eatre v\u00e9ritablement utile au client (prenez le temps de bien clarifier ses attentes). Par ailleurs, si ce service devient d\u00e9sormais la norme, il faudra penser \u00e0 vous renouveler de temps \u00e0 autre.</p><h4><strong>Outil\u00a042. L\u2019exploitation des incidents</strong></h4><p>On ne parle pas ici des incidents li\u00e9s \u00e0 la s\u00e9curit\u00e9, mais de ceux de l\u2019activit\u00e9 courante qui pourraient concerner les clients ou les relations au sein de l\u2019entreprise. Ce type d\u2019incident devient une opportunit\u00e9 d\u00e8s l\u2019instant o\u00f9 l\u2019on \u00e9tudie et o\u00f9 l\u2019on y cherche un apprentissage. Alors, comment op\u00e9rer la transformation\u2009?</p><p>Premi\u00e8rement, ne niez pas la situation\u2009; acceptez-la avec le plus de s\u00e9r\u00e9nit\u00e9 possible.</p><p>Deuxi\u00e8mement, montrez que vous \u00eates int\u00e9ress\u00e9 \u00e0 la recherche d\u2019une solution et que vous comprenez le probl\u00e8me v\u00e9cu par l\u2019autre.</p><p>Troisi\u00e8mement, trouvez une solution \u2014 peut-\u00eatre pas la solution parfaite, mais une solution acceptable pour le moment, ou annoncez un d\u00e9lai si vous ne pouvez r\u00e9soudre le probl\u00e8me imm\u00e9diatement. Quatri\u00e8mement, traitez le probl\u00e8me en profondeur pour qu\u2019il ne se reproduise plus.</p><h4><strong>Outil\u00a043. L\u2019esprit pionnier face aux changements</strong></h4><p>Le changement, le progr\u00e8s, l\u2019initiative sont des mots qui parcourent notre quotidien et qui deviennent souvent des injonctions. Et, de fait, de nombreux changements surviennent. Comment les accompagner\u2009?</p><p>Diff\u00e9rentes attitudes existent\u00a0: vous pouvez vous opposer ou \u00eatre sceptique (vous \u00eates plut\u00f4t \u00ab\u2009contre\u2009\u00bb), ou \u00eatre attentiste, voire pionnier (vous \u00eates alors plut\u00f4t \u00ab\u2009pour\u2009\u00bb). L\u2019attentiste attend un d\u00e9clic, tandis que le pionnier est moteur.</p><p>Pour <strong>devenir un pionnier</strong>, c\u2019est-\u00e0-dire \u00eatre une force de changement, apprenez \u00e0 g\u00e9rer vos \u00e9motions n\u00e9gatives face \u00e0 la modification de vos habitudes. Utilisez votre raison pour comprendre objectivement ce qu\u2019une modification entra\u00eenerait pour l\u2019entreprise.</p><p>Prenez les devants et proposez de r\u00e9aliser des tests pour mettre en \u0153uvre le changement (n\u00e9cessaire ou sugg\u00e9r\u00e9). Puis, faites un retour sur exp\u00e9rience avec les personnes impliqu\u00e9es et tirez-en les enseignements pour les tests suivants ou pour son application. Il importe que chacun puisse exprimer honn\u00eatement ses doutes.</p><p>En cours de route, vous devrez certainement motiver les attentistes, rassurer les sceptiques et aider les opposants \u00e0 s\u2019exprimer. Mais vous serez finalement \u00e0 la t\u00eate d\u2019un groupe de pionniers qui vous suivra, et vous n\u2019en serez que plus reconnu par les autres membres de l\u2019entreprise.</p><h4><strong>Outil\u00a044. L\u2019esprit d\u2019initiative</strong></h4><p>De fa\u00e7on similaire, il s\u2019agit d\u2019agir de fa\u00e7on proactive afin d\u2019\u00e9viter les risques et de saisir les opportunit\u00e9s. Il s\u2019agit d\u2019une attitude \u00e0 adopter au quotidien (\u00e0 la diff\u00e9rence de l\u2019outil\u00a047 qui concerne les innovations de rupture).</p><p>Soyez \u00e0 l\u2019aff\u00fbt et posez-vous des questions \u00e0 partir de vos exp\u00e9riences pass\u00e9es. Que se passerait-il si\u2026\u2009? Qu\u2019est-ce qui ne fonctionne pas quand\u2026\u2009? Comment gagner en productivit\u00e9 lorsque\u2026\u2009?</p><p>Ne partez pas t\u00eate baiss\u00e9e, mais \u00e9valuez les risques et les b\u00e9n\u00e9fices \u00e0 changer le statu quo. Si vous pensez pouvoir agir, foncez et prenez les r\u00eanes de la r\u00e9alisation du changement\u2009!</p><h4><strong>Outil\u00a045. L\u2019am\u00e9lioration continue</strong></h4><p>Comment avoir un bon \u00e9tat d\u2019esprit\u00a0? Comme son nom l\u2019indique, il s\u2019agit de progresser lentement, mais s\u00fbrement.\u00a0 Voici ces <strong>4\u00a0\u00e9tapes</strong> \u00e0 prendre en compte\u00a0:</p><ul><li><strong>Planifiez</strong> (<em>plan</em>)\u00a0= avoir un objectif de progr\u00e8s\u2009;</li>\n<li><strong>Faites</strong> (<em>do</em>) = r\u00e9alisez ce que vous avez programm\u00e9\u2009;</li>\n<li><strong>V\u00e9rifiez</strong> (<em>check</em>) = mesurez vos r\u00e9sultats\u2009;</li>\n<li><strong>Agissez</strong> (<em>act</em>) = stabilisez le progr\u00e8s et continuez \u00e0 avancer.</li>\n</ul><h4><strong>Outil\u00a046. La d\u00e9marche lean</strong></h4><p>Comme l\u2019outil pr\u00e9c\u00e9dent, il s\u2019agit \u00e9galement d\u2019une forme d\u2019am\u00e9lioration quotidienne, mais qui fonctionne par \u00e9limination progressive des formes de gaspillage (en mati\u00e8re de surproduction, d\u2019attentes, de transports, d\u2019\u00e9tapes inutiles, de stocks, de mouvements inutiles, de corrections ou de retouches), plut\u00f4t que par ajout.</p><p>Posez-vous notamment les questions suivantes\u00a0:</p><ul><li>Quelle est la source du gaspillage\u2009?</li>\n<li>Comment l\u2019\u00e9liminer\u2009?</li>\n<li>Comment rationaliser l\u2019existant, c\u2019est-\u00e0-dire le ranger mieux\u2009?</li>\n<li>De quelle fa\u00e7on rendre cette am\u00e9lioration accessible \u00e0 tous au sein de l\u2019entreprise\u2009?</li>\n</ul><p>D\u00e9sencombrer avec r\u00e9gularit\u00e9 vous permet d\u2019avoir l\u2019esprit plus clair. Attention, toutefois, lorsque vous \u00ab\u2009jetez\u2009\u00bb quelque chose, \u00e0 v\u00e9rifier que cela n\u2019\u00e9tait pas utile \u00e0 d\u2019autres.</p><h4><strong>Outil\u00a047. La d\u00e9marche d\u2019innovation individuelle</strong></h4><p>Innover, c\u2019est s\u2019autoriser \u00e0 \u00e9chouer, en ayant l\u2019ambition de cr\u00e9er une rupture. Cela ne r\u00e9ussit pas toujours, mais peut vous amener loin. Choisir une logique d\u2019innovation, c\u2019est s\u2019engager en faveur du changement.</p><p>En soi, la proc\u00e9dure reste sensiblement la m\u00eame que pour les outils pr\u00e9c\u00e9dents, \u00e0 savoir\u00a0: identifier un objectif et s\u2019y tenir, analyser le probl\u00e8me et trouver des id\u00e9es pour le r\u00e9soudre de fa\u00e7on originale, tester et tirer les enseignements de ces exp\u00e9riences. Sauf qu\u2019ici, l\u2019enjeu est plus grand et votre cr\u00e9ativit\u00e9 est mise \u00e0 plus rude \u00e9preuve\u2009!</p><h4><strong>Outil\u00a048. L\u2019avocat de l\u2019ange</strong></h4><p>\u00ab\u2009Ce que j\u2019aime dans ton id\u00e9e, c\u2019est\u2026\u2009\u00bb Plut\u00f4t que de critiquer, il est possible de trouver les \u00ab\u2009p\u00e9pites\u2009\u00bb \u00e9nonc\u00e9es par l\u2019autre. Cela permet de multiplier les perspectives et les chances de trouver de bonnes id\u00e9es en faisant fructifier la moindre prise de parole et en limitant la g\u00eane ou la peur. Pour devenir un avocat de l\u2019ange, suivez ces conseils de <strong>Pascale B\u00e9lorgey</strong>\u00a0:</p><ul><li>Relevez uniquement le positif\u2009;</li>\n<li>Renforcez la valeur de l\u2019id\u00e9e\u2009;</li>\n<li>Rendez \u00e0 C\u00e9sar ce qui appartient \u00e0 C\u00e9sar.</li>\n</ul><p>Vous pouvez appliquer cette m\u00e9thode \u00e0 vous-m\u00eame\u2009! L\u2019important, c\u2019est qu\u2019elle devienne une fa\u00e7on naturelle d\u2019\u00e9changer. Bien s\u00fbr, agissez de cette fa\u00e7on si vous croyez \u00e0 une id\u00e9e, et non simplement pour faire plaisir \u00e0 votre coll\u00e8gue ou \u00e0 votre sup\u00e9rieur.</p><h4><strong>Outil\u00a049. La transformation d\u2019une contrainte en valeur</strong></h4><p>Vous pouvez changer et vous pouvez surtout profiter d\u2019une obligation ou d\u2019une contrainte venue de l\u2019ext\u00e9rieur pour en faire quelque chose de positif\u2009! Il suffit d\u2019un peu d\u2019entra\u00eenement et d\u2019un peu d\u2019imagination.</p><p>Commencez par explorer votre g\u00eane\u00a0: quelles sont les valeurs que la contrainte met \u00e0 mal\u2009? Votre conviction est-elle simplement l\u00e0 par habitude ou est-elle valable\u2009? Peut-\u00eatre que oui. Posez alors ce que Edward de\u00a0Bono, p\u00e8re de la pens\u00e9e lat\u00e9rale, a nomm\u00e9 l\u2019op\u00e9ration de provocation\u00a0: imaginez-vous dans un avenir o\u00f9 la contrainte a \u00e9t\u00e9 totalement acquise.</p><p>Le pr\u00e9sent ressemble alors \u00e0 un pass\u00e9 r\u00e9volu. Comment vous sentez-vous\u2009? Cette situation peut lib\u00e9rer votre pouvoir de transformation. Peu \u00e0 peu, habituez-vous \u00e0 cette id\u00e9e et faites-en quelque chose que, d\u00e9sormais, vous d\u00e9fendez bec et ongles.</p><p>Vous \u00eates maintenant pr\u00eat pour <a href=\"https://des-livres-pour-changer-de-vie.com/laissez-courir-les-elephants/\" target=\"_blank\" rel=\"noopener\">lib\u00e9rer votre cr\u00e9ativit\u00e9</a>\u00a0: comment feriez-vous pour r\u00e9unir ce futur imagin\u00e9 avec le pr\u00e9sent o\u00f9 le changement n\u2019existe pas encore\u2009? Par exemple\u00a0: comment feriez-vous pour aider \u00e0 l\u2019installation des visioconf\u00e9rences, alors qu\u2019au d\u00e9but vous vous y opposiez\u2009?</p><h4><strong>Outil\u00a050. La s\u00e9rendipit\u00e9</strong></h4><blockquote>\n<p>\u00ab\u2009La s\u00e9rendipit\u00e9 suppose [\u2026] un esprit observateur et ouvert aux \u201csignes\u201d, en m\u00eame temps qu\u2019une capacit\u00e9 \u00e0 tisser des liens entre une d\u00e9couverte et l\u2019exploitation qui peut en \u00eatre faite pour r\u00e9soudre des difficult\u00e9s, alimenter des projets en cours ou guider nos d\u00e9cisions personnelles.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>, p.\u00a0138)</p>\n</blockquote><p>Mais comment l\u2019accueillir\u00a0et l\u2019apprivoiser\u2009? Souvenez-vous des nombreuses fois o\u00f9 vos divagations vous ont men\u00e9 dans un lieu fertile. Existe-t-il des points communs entre ces situations\u2009? De fa\u00e7on plus g\u00e9n\u00e9rale, ouvrez vos sens et devenez plus curieux, plus attentif aux d\u00e9tails. Lorsqu\u2019une petite (ou une grosse) p\u00e9pite surgit, ne la rejetez pas, mais inspectez-la et int\u00e9grez-la \u00e0 votre travail.</p><p>Il ne s\u2019agit pas, \u00e9videmment, de convertir en procrastination l\u2019attention \u00e0 l\u2019inattendu. N\u2019allez pas en profiter pour naviguer sans but sur internet pendant des heures, dans l\u2019espoir de finaliser votre travail\u2009!</p><h4><strong>Outil\u00a051. L\u2019organisation de la veille professionnelle</strong></h4><p>La veille pourra vous aider \u00e0 rester attentif et surtout, au courant, des \u00e9volutions de votre domaine de comp\u00e9tences. En suivant r\u00e9guli\u00e8rement des fils d\u2019actualit\u00e9, vous serez aussi plus \u00e0 m\u00eame de faire preuve de cr\u00e9ativit\u00e9 et de trouver \u2014 par s\u00e9rendipit\u00e9 \u2014 de bonnes id\u00e9es. Pour une veille r\u00e9ussie, il convient de\u00a0:</p><ul><li>Choisir des axes de veille, c\u2019est-\u00e0-dire d\u2019\u00eatre s\u00e9lectif et organis\u00e9\u2009;</li>\n<li>S\u00e9lectionner ses sources, en privil\u00e9giant les meilleurs m\u00e9dias ou experts\u2009;</li>\n<li>Agr\u00e9ger les flux RSS et cr\u00e9er un tableau de bord pratique\u2009;</li>\n<li>Consulter vos flux \u00e0 des heures r\u00e9guli\u00e8res\u2009;</li>\n<li>Traiter les donn\u00e9es int\u00e9ressantes (curation de contenu, partages sur les r\u00e9seaux sociaux, etc.).</li>\n</ul><p>Attention \u00e0 votre rituel\u00a0: <strong>pas plus de 30\u00a0minutes par jour</strong>, de pr\u00e9f\u00e9rence en heures creuses.</p><h3><strong>Dossier\u00a05. \u00c9tendre son influence</strong></h3><p><img class=\"aligncenter size-full wp-image-24875 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/Etendre-son-influence-e1633894506116.jpg?is-pending-load=1\" alt=\"Etendre son influence pour \u00eatre plus efficace\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-24875\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/Etendre-son-influence-e1633894506116.jpg\" alt=\"Etendre son influence pour \u00eatre plus efficace\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4><strong>Outil\u00a052. La pr\u00e9sentation d\u2019une id\u00e9e innovante</strong></h4><p>Une pr\u00e9sentation convaincante de votre id\u00e9e est le meilleur moyen de trouver des alli\u00e9s. Pour r\u00e9ussir, suivez ces quelques conseils propos\u00e9s par l\u2019auteure de <em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>\u00a0:</p><ul><li>Racontez l\u2019\u00ab\u2009histoire\u2009\u00bb de l\u2019id\u00e9e\u2009;</li>\n<li>D\u00e9crivez ce qui ne change pas\u2009;</li>\n<li>Valorisez les b\u00e9n\u00e9fices de l\u2019innovation\u2009;</li>\n<li>Rendez l\u2019innovation concr\u00e8te\u00a0(\u00e0 l\u2019aide d\u2019exemples).</li>\n</ul><p>Simplifiez votre pr\u00e9sentation pour qu\u2019elle soit ais\u00e9e facile \u00e0 suivre et \u00e0 d\u00e9velopper. Acceptez de pr\u00e9senter un projet qui n\u2019est pas encore abouti et accueillez les questions avec bienveillance. Celles-ci sont le signe que vos interlocuteurs sont entr\u00e9s dans un processus d\u2019appropriation, c\u2019est-\u00e0-dire d\u2019acceptation progressive.</p><h4><strong>Outil\u00a053. Le <em>doodling</em> ou <em>visual thinking</em></strong></h4><p>Pour aider les personnes qui sont dot\u00e9es d\u2019une m\u00e9moire visuelle (environ 60\u00a0%\u00a0de la population), il est utile de recourir \u00e0 des sch\u00e9mas ou des pr\u00e9sentations graphiques. Les deux techniques pr\u00e9sent\u00e9es ici sont l\u00e0 pour \u00e7a\u2009!</p><p>Pour se faire comprendre ais\u00e9ment \u00e0 l\u2019aide d\u2019images, il vous faut d\u2019abord cr\u00e9er une sorte d\u2019alphabet visuel (des pictogrammes, des id\u00e9ogrammes, des \u00e9mojis, des bonhommes b\u00e2tons, des formes et des graphiques, etc. \u00c0 partir de lui, vous pourrez transformer votre message en sch\u00e9ma ou en bande dessin\u00e9e, par exemple.</p><p>Le must\u00a0: dessiner vous-m\u00eame lorsque vous \u00eates en train de pr\u00e9senter oralement\u2009! Vous retiendrez d\u2019autant mieux l\u2019attention de vos interlocuteurs et ils m\u00e9moriseront beaucoup mieux vos id\u00e9es.</p><p>Prenez soin \u00e0 conserver les m\u00eames codes (images, couleurs) d\u2019une mission \u00e0 l\u2019autre, cela vous facilitera la t\u00e2che. Soyez cr\u00e9atif, mais sobre.</p><h4><strong>Outil\u00a054. Le test \u00e0 petite \u00e9chelle</strong></h4><blockquote>\n<p>\u00ab\u2009L\u2019innovation peut faire peur. Elle risque de d\u00e9ranger ceux qui seront amen\u00e9s \u00e0 la d\u00e9ployer, parce qu\u2019elle change les rep\u00e8res. Elle est regard\u00e9e avec circonspection par les d\u00e9cideurs qui h\u00e9sitent \u00e0 investir sans garantie de rentabilit\u00e9. Le test \u00e0 petite \u00e9chelle engage peu \u00e9conomiquement. R\u00e9alis\u00e9 avec des pionniers, il est peu co\u00fbteux en \u00e9nergie. Mais son impact psychologique est fort. Car il apporte la preuve, s\u2019il se solde par un succ\u00e8s, que l\u2019innovation est non seulement possible, mais b\u00e9n\u00e9fique. Et s\u2019il n\u2019est pas concluant, au moins l\u2019innovation sera-t-elle abandonn\u00e9e sans regret.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>, p.\u00a0148)</p>\n</blockquote><p>Assurez-vous de\u00a0:</p><ul><li>Faire le bon casting\u2009;</li>\n<li>Bien organiser le test\u2009;</li>\n<li>Le laisser se d\u00e9rouler sans heurts\u2009;</li>\n<li>\u00c9valuer la qualit\u00e9 du test et son r\u00e9sultat\u2009;</li>\n<li>Exploiter le test pour d\u00e9cider de la suite.</li>\n</ul><p>Assurez-vous que tous (clients, coll\u00e8gues, d\u00e9cideurs) soient bien au courant qu\u2019il s\u2019agit d\u2019un test, et non d\u2019une d\u00e9monstration conclusive.</p><h4><strong>Outil\u00a055. L\u2019expos\u00e9 percutant</strong></h4><p>En lien avec les outils pr\u00e9sent\u00e9s ci-dessus, voici quelques recommandations compl\u00e9mentaires pour accro\u00eetre vos chances de succ\u00e8s lors de pr\u00e9sentations orales (pr\u00e9sentation d\u2019un produit, d\u2019un bilan, d\u2019une m\u00e9thode, d\u2019une id\u00e9e innovante, etc.). Cette technique fonctionne aussi \u00e0 l\u2019\u00e9crit, d\u2019ailleurs\u2009!</p><ol><li><strong>Introduction</strong>\u00a0: accrocher le public.</li>\n<li><strong>D\u00e9veloppement\u00a0</strong>: raconter une histoire simple et structur\u00e9e.</li>\n<li><strong>Exemples</strong>\u00a0: \u00e0 donner au cours du d\u00e9veloppement.</li>\n<li><strong>Conclusion</strong>\u00a0: engager le public (comment peut-il participer\u2009?).</li>\n</ol><p>N\u2019oubliez pas votre public cible et ce que vous attendez de lui. Autrement dit, fixez-vous un objectif\u00a0: quel r\u00e9sultat \u2014 impressions positives, financement, accord, etc. \u2014 voulez-vous atteindre \u00e0 l\u2019issue de la pr\u00e9sentation\u2009? Restez disponible et ouvert aux questions.</p><h4><strong>Outil\u00a056. L\u2019orientation transverse</strong></h4><p>S\u2019int\u00e9resser aux autres, m\u00eame \u00e0 ceux qui ne font pas partie de nos domaines d\u2019expertise, est toujours riche en enseignements et fertile. C\u2019est une d\u00e9marche de curiosit\u00e9 et d\u2019ouverture qui a toute sa place en entreprise. L\u2019orientation transverse, comme on l\u2019appelle ici, permet de cr\u00e9er de nouveaux projets, de r\u00e9soudre des probl\u00e8mes ou de relever des d\u00e9fis.</p><p>Vous pouvez agir simplement dans ce sens en prenant l\u2019habitude d\u2019\u00e9couter de fa\u00e7on approfondie vos partenaires professionnels, lors de tous vos \u00e9changes (formels et informels) et en ayant le r\u00e9flexe de les associer \u00e0 vos initiatives.</p><p>La g\u00e9n\u00e9rosit\u00e9 est g\u00e9n\u00e9ralement tr\u00e8s appr\u00e9ci\u00e9e. Non seulement vous invitez les autres \u00e0 vous rejoindre, mais vous leur offrez \u00e9galement des informations qui pourraient \u00eatre pertinentes pour leurs propres missions.</p><p>Enfin, n\u2019h\u00e9sitez pas \u00e0 donner votre opinion et \u00e0 les remercier, \u00e0 les cr\u00e9diter lorsqu\u2019ils vous aident ou vous donnent des id\u00e9es, etc. Toutes ces actions, si elles sont r\u00e9alis\u00e9es de fa\u00e7on honn\u00eate, renforcent la confiance et le respect mutuels.</p><h4><strong>Outil\u00a057. La puissance du don</strong></h4><p>La g\u00e9n\u00e9rosit\u00e9 fait partie de cette \u00ab\u2009logique du don\u2009\u00bb, comme les sociologues l\u2019appellent. C\u2019est une ressource tout \u00e0 fait puissante, dans la mesure o\u00f9 elle g\u00e9n\u00e8re davantage de lien social\u2009; un bien pr\u00e9cieux au sein de l\u2019entreprise.</p><p>Vous pouvez ne pas en avoir conscience, mais vous avez beaucoup \u00e0 offrir. R\u00e9fl\u00e9chissez-y un instant. Vous pouvez notamment faire b\u00e9n\u00e9ficier les autres de votre expertise, de vos feedbacks positifs, de l\u2019information r\u00e9colt\u00e9e, etc. Vraiment, la liste est loin de s\u2019arr\u00eater l\u00e0\u2009!</p><p>Ce que vous donnerez, donnez-le sans attendre de retour, simplement pour cr\u00e9er ce lien social et ce climat bienveillant.</p><p>Les souvenirs de ce que vous avez vous-m\u00eame re\u00e7u, ainsi que des moments o\u00f9 vous avez donn\u00e9, pourront \u00e9ventuellement vous permettre d\u2019ancrer profond\u00e9ment en vous cette attitude b\u00e9n\u00e9fique.</p><p>Certes, il se peut qu\u2019il soit parfois impossible de donner, car la culture de comp\u00e9tition l\u2019emp\u00eache (ou le secret). Soyez attentif \u00e0 ces circonstances limitantes, ainsi qu\u2019aux moments o\u00f9 le don risque de mettre mal \u00e0 l\u2019aise ou de donner l\u2019impression d\u2019\u00eatre redevable.</p><h4><strong>Outil\u00a058. Le mod\u00e8le des leaders</strong></h4><p>Qu\u2019est-ce qu\u2019un leader\u00a0? Il ne contr\u00f4le pas n\u00e9cessairement, mais stimule, dynamise et cherche \u00e0 amener les autres \u00e0 d\u00e9velopper leur cr\u00e9ativit\u00e9 et leur autonomie. D\u2019autre part, il cherche aussi \u00e0 cr\u00e9er un esprit d\u2019\u00e9quipe et de partage entre les pairs et les pionniers.</p><p>Voici les <strong>caract\u00e9ristiques</strong> d\u2019un bon leader ici r\u00e9sum\u00e9es\u00a0:</p><ul><li>\u00catre ouvert et curieux\u2009;</li>\n<li>D\u00e9velopper sa vision\u2009;</li>\n<li>\u00c9laborer des objectifs innovants\u2009;</li>\n<li>Agir\u2009;</li>\n<li>Susciter la motivation\u2009;</li>\n<li>Communiquer \u00e0 propos des r\u00e9ussites collectives\u2009;</li>\n<li>D\u00e9velopper l\u2019apprenance (accompagnement et transfert d\u2019exp\u00e9rience).</li>\n</ul><h4><strong>Outil\u00a059. L\u2019exemplarit\u00e9</strong></h4><blockquote>\n<p>\u00ab\u2009Donner l\u2019exemple n\u2019est pas le principal moyen d\u2019influencer les autres. C\u2019est le seul moyen.\u2009\u00bb (Albert Schweitzer)</p>\n</blockquote><p>Comment donner l\u2019exemple\u2009? D\u2019abord en disant ce que vous allez faire, ensuite en le faisant, puis en affirmant que vous l\u2019avez fait et en aidant, finalement, les autres \u00e0 le faire. Oui, mais est-ce si facile\u2009?</p><p>Voici quelques astuces compl\u00e9mentaires.</p><ul><li>Parler d\u2019exemplarit\u00e9 ne suffit pas\u2009! Il faut imp\u00e9rativement agir dans le sens voulu. C\u2019est cela qu\u2019on appelle aussi la congruence\u00a0: l\u2019accord entre vos valeurs, vos comp\u00e9tences et vos actes.</li>\n<li>Exemplarit\u00e9 ne signifie pas super-h\u00e9ro\u00efsme\u2009! Vous avez vos failles, et il est bon de les admettre, m\u00eame publiquement. Vous aiderez ainsi les autres \u00e0 se rapprocher de vous et de vos objectifs.</li>\n<li>Agir oui, mais pas parfaitement, donc\u2026 Cela est impossible, de toute fa\u00e7on. Acceptez vos limites, mais aussi les contraintes ext\u00e9rieures. \u00catre r\u00e9aliste est synonyme de cr\u00e9dibilit\u00e9 aux yeux de vos interlocuteurs.</li>\n</ul><h4><strong>Outil\u00a060. Le positionnement personnel sur les r\u00e9seaux sociaux</strong></h4><p>Se faire conna\u00eetre sur les r\u00e9seaux sociaux n\u2019est pas une si simple affaire. IL s\u2019agit d\u2019avoir une intention claire et de cr\u00e9er un profil coh\u00e9rent avec celle-ci et avec nos valeurs.</p><p>Lorsque vous cr\u00e9ez votre page principale ou lorsque vous \u00e9crivez (postez), vous devez \u00eatre pr\u00e9cis\u00a0: votre lecteur doit comprendre d\u00e8s le titre (de votre profil ou de votre post) et le pitch (l\u2019introduction, qui figure par exemple comme \u00ab\u2009R\u00e9sum\u00e9\u2009\u00bb sur LinkedIn) ce que vous voulez transmettre comme message.</p><p>Compl\u00e9ter son profil avec des images (photo de vous, graphiques, etc.) est souvent une bonne id\u00e9e. Faites relire votre page personnelle \u00e0 quelques proches pour vous assurer qu\u2019ils comprennent vos intentions et votre \u00ab\u2009ligne\u2009\u00bb.</p><p>L\u2019activit\u00e9 est un autre point cl\u00e9. Vous devrez penser \u00e0 mettre \u00e0 jour votre profil, mais aussi \u00e0 publier de temps \u00e0 autre du contenu pour ne pas \u00eatre oubli\u00e9.</p><h4><strong>Outil\u00a061. L\u2019utilisation des r\u00e9seaux sociaux</strong></h4><blockquote>\n<p>\u00ab\u2009Une pr\u00e9sence active sur les r\u00e9seaux sociaux permet d\u2019\u00eatre mieux rep\u00e9r\u00e9 par r\u00e9f\u00e9rencement naturel et de fid\u00e9liser des <em>followers</em>. LinkedIn ou Viadeo permettent d\u2019avoir une pr\u00e9sence active. D\u2019autres r\u00e9seaux sociaux peuvent \u00eatre compl\u00e9mentaires.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>, p.\u00a0164)</p>\n</blockquote><p>Voici les <strong>6\u00a0conseils cl\u00e9s de Pascale B\u00e9rgoley</strong> pour vous faire une place sur les r\u00e9seaux\u00a0:</p><ol><li>\u00c9tablissez des contacts cibl\u00e9s\u2009;</li>\n<li>Prenez soin de votre r\u00e9seau\u2009;</li>\n<li>Publiez, soyez g\u00e9n\u00e9reux en contenu\u2009;</li>\n<li>Osez demander des services\u2009;</li>\n<li>Soyez s\u00e9lectif au moment d\u2019accepter de nouveaux contacts\u2009;</li>\n<li>Pour vos publications, appliquez la r\u00e8gle des 70-20-10, c\u2019est-\u00e0-dire 70 % sur votre expertise, 20 % pour l\u2019entretien du lien social et 10 % dans un but promotionnel.</li>\n</ol><h3><strong>Dossier\u00a06. Exprimer tout son potentiel</strong></h3><p><img class=\"aligncenter size-full wp-image-24876 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/Exprimer-son-potentiel-e1633894547936.jpg?is-pending-load=1\" alt=\"Exprimer tout son potentiel\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-24876\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/Exprimer-son-potentiel-e1633894547936.jpg\" alt=\"Exprimer tout son potentiel\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h4><strong>Outil\u00a062. Le style professionnel personnel</strong></h4><p>Nous avons tous des proc\u00e9dures \u00e0 suivre, mais sommes tous diff\u00e9rents\u2009! Cela signifie que nous pouvons les adapter \u00e0 notre style, \u00e0 nos fa\u00e7ons de faire. Lorsque nous travaillons, nous pouvons faire preuve de cr\u00e9ativit\u00e9 et de personnalit\u00e9. Sans cela, d\u2019ailleurs, nous risquerions de nous appauvrir et d\u2019appauvrir ce que nous offrons aux autres. Pour affirmer son style, voici quelques r\u00e8gles.</p><ul><li><strong>Avoir un \u00ab\u2009ADN\u2009\u00bb personnel clair</strong>\u00a0: quelles sont vos valeurs\u2009? Ce qui a le plus de sens \u00e0 vos yeux\u2009? Qu\u2019est-ce qui vous diff\u00e9rencie et fait de vous un expert dans tel ou tel domaine\u2009?</li>\n<li><strong>Int\u00e9grer vos sp\u00e9cificit\u00e9s \u00e0 vos missions\u00a0</strong>: comment r\u00e9interpr\u00e9ter ce qui vous est demand\u00e9\u00a0de faire\u2009? Comment, ensuite, mettre en \u0153uvre cette mission r\u00e9interpr\u00e9t\u00e9e\u2009?</li>\n<li><strong>Assumer</strong>\u00a0: votre style vous appartient et vous n\u2019avez pas \u00e0 en rougir. Montrez-vous tel que vous \u00eates et faites-en un atout.</li>\n</ul><p>Tout le monde change et modifie ses priorit\u00e9s. Il est possible que vous changiez de valeurs, voire que votre mission elle-m\u00eame ne vous satisfasse plus du tout. Dans ce dernier cas, envisager une reconversion (voir l\u2019outil\u00a064) peut \u00eatre bienvenu.</p><h4><strong>Outil\u00a063. L\u2019exploitation professionnelle des talents personnels</strong></h4><p>De fa\u00e7on parall\u00e8le \u00e0 note style, nous avons tous des talents ou des aptitudes personnelles qui sont parfois laiss\u00e9es de c\u00f4t\u00e9 dans le cadre professionnel. Mais pourquoi ne pas essayer d\u2019en utiliser quelques-uns au travail\u2009? Il se peut que certaines qualit\u00e9s apportent un vrai plus \u00e0 la r\u00e9alisation quotidienne de vos missions.</p><p>Commencez par les rep\u00e9rer, puis r\u00e9fl\u00e9chissez \u00e0 la mani\u00e8re de les transposer dans le cadre de vos t\u00e2ches. Quelles sont les comp\u00e9tences qui pourraient \u00eatre mises \u00e0 profit\u00a0dans la sph\u00e8re professionnelle\u2009? D\u00e8s qu\u2019une occasion se pr\u00e9sente, n\u2019h\u00e9sitez pas \u00e0 faire savoir \u00e0 vos compagnons de travail quels sont <a href=\"https://des-livres-pour-changer-de-vie.com/le-talent-code/\" target=\"_blank\" rel=\"noopener\">vos talents \u00ab\u2009cach\u00e9s\u2009\u00bb</a> et proposez-vous pour rendre service \u00e0 la collectivit\u00e9.</p><h4><strong>Outil\u00a064. La reconversion professionnelle</strong></h4><blockquote>\n<p>\u00ab\u2009Il arrive que le m\u00e9tier que nous exer\u00e7ons soit le fruit d\u2019un chemin que nous n\u2019avons pas r\u00e9ellement choisi. Nous remplissons notre mission avec professionnalisme, mais nous ne sommes pas parfaitement \u00e9panouis. Nous sentons que notre voie est ailleurs. La reconversion professionnelle nous permet de nous aligner avec nos aspirations profondes. L\u2019apprentissage sera peut-\u00eatre long et le chemin sem\u00e9 d\u2019embuches. Mais nous avons des atouts, un r\u00e9seau qui peut nous aider\u2026 et notre passion. Car nous savons que notre \u00e9panouissement personnel est au bout du chemin.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>, p.\u00a0172)</p>\n</blockquote><p>Sauter le pas n\u00e9cessite d\u2019avoir les id\u00e9es claires et de se poser les bonnes questions, telles que celles-ci\u00a0: quel talent d\u00e9velopper\u2009? Quelles aspirations rencontrer\u2009? Quelle empreinte laisser\u2009? Dans quel environnement travailler\u2009? Que ne surtout pas faire\u2009?</p><p>Mais encore\u00a0: quels sont vos atouts\u2009? Nous parlons ici en termes de comp\u00e9tences, d\u2019aptitudes, mais aussi de r\u00e9seau (outil\u00a061). Ce r\u00e9seau est susceptible de vous donner des renseignements, de vous aider \u00e0 trouver un stage ou un poste, de trouver une formation, etc.</p><p>Une fois ce cheminement effectu\u00e9, pr\u00e9parez-vous \u00e0 quitter votre travail actuel. Visez la transparence vis-\u00e0-vis de votre entreprise et transmettez, si n\u00e9cessaire, vos comp\u00e9tences \u00e0 la personne qui vous remplacera. Puis\u2026 Lancez-vous\u2009!</p><h4><strong>Outil\u00a065. L\u2019apprentissage <em>On the Job</em></strong></h4><p>Vous avez constamment besoin d\u2019apprendre. Il y a toujours une chose que vous ignorez et dont la connaissance vous sera utile pour effectuer votre mission. Lorsque vous butez devant un probl\u00e8me, vous avez naturellement tendance \u00e0 aller \u00e0 la recherche de l\u2019information, \u00e0 poser des questions\u2026 Bref \u00e0 apprendre. Cet outil formalise cette tendance inn\u00e9e.</p><p>En voici <strong>les principales \u00e9tapes</strong>, d\u00e9taill\u00e9es par l\u2019auteure dans <em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>\u00a0:</p><ul><li>\u00catre confront\u00e9 \u00e0 un probl\u00e8me concret\u2009;</li>\n<li>Choisir un mode d\u2019apprentissage\u2009;</li>\n<li>Demander l\u2019aide d\u2019un mentor (ou le faire soi-m\u00eame)\u2009;</li>\n<li>Apprendre (en testant, en s\u2019accordant le droit \u00e0 l\u2019erreur)\u2009;</li>\n<li>Mod\u00e9liser son apprentissage (en imaginant une m\u00e9thode)\u2009;</li>\n<li><a href=\"https://des-livres-pour-changer-de-vie.com/top-200-citations-de-motivation-pour-rester-super-motive/\" target=\"_blank\" rel=\"noopener\">Entretenir sa motivation</a> (la v\u00f4tre, et pourquoi pas celle de votre organisation, en \u00e9changeant au sujet de votre nouvelle m\u00e9thode).</li>\n</ul><h4><strong>Outil\u00a066. La demande de <em>feedback</em></strong></h4><p>Nous en avons d\u00e9j\u00e0 parl\u00e9 plusieurs fois, mais voici, de fa\u00e7on claire et synth\u00e9tique, un petit rappel des principaux \u00e9l\u00e9ments \u00e0 conserver \u00e0 l\u2019esprit\u00a0:</p><ul><li>Expliquez votre demande \u00e0 l\u2019interlocuteur\u2009;</li>\n<li>Posez deux questions (une question ouverte et une question ferm\u00e9e)\u2009;</li>\n<li>Accueillez les <em>feedbacks</em> positifs comme les <em>feedbacks</em> n\u00e9gatifs (sans les contester et en vous demandant ce que vous pouvez en faire)\u2009;</li>\n<li>Relativisez les <em>feedbacks</em> maladroits (parfois trop charg\u00e9s en propositions) en remerciant votre interlocuteur et en cherchant la balance entre le positif et le n\u00e9gatif.</li>\n</ul><h4><strong>Outil\u00a067. La formation continue</strong></h4><p>C\u2019est une dynamique tr\u00e8s proche de l\u2019outil\u00a065. L\u2019id\u00e9e principale consiste ici \u00e0 faire le point chaque ann\u00e9e\u00a0: o\u00f9 en suis-je\u2009? Qu\u2019ai-je appris\u2009? Qu\u2019aimerais-je apprendre l\u2019ann\u00e9e prochaine\u2009? Avec l\u2019objectif, bien s\u00fbr, de continuer \u00e0 apprendre.</p><p>Allez-y progressivement\u00a0: il ne sert \u00e0 rien de vouloir acqu\u00e9rir toutes les comp\u00e9tences souhait\u00e9es d\u2019un seul coup. Vous vous \u00e9puiseriez et \u00e9choueriez certainement. Faites le tri, puis avancez pas \u00e0 pas, en privil\u00e9giant ce que vous pouvez faire maintenant et en restant concentr\u00e9 sur la t\u00e2che en cours.</p><p>Il existe aujourd\u2019hui bien des sources d\u2019apprentissage\u00a0: des livres, aux MOOCs, en passant par le <em>social learning</em> et les formations plus classiques. Choisissez le parcours qui vous convient et qui correspond \u00e0 ce que vous avez d\u00e9cid\u00e9 d\u2019entreprendre.</p><p>Incr\u00e9mentez vos nouveaux savoirs et savoir-faire dans vos pratiques quotidiennes. N\u2019oubliez pas, par ailleurs, d\u2019en faire part aux autres, notamment sur les r\u00e9seaux sociaux.</p><h4><strong>Outil\u00a068. L\u2019utilisation des \u00e9motions</strong></h4><p>Les refouler\u2009? C\u2019est souvent ce qu\u2019il advient dans un contexte professionnel. C\u2019est peut-\u00eatre une erreur, car les \u00e9motions, si elles sont bien canalis\u00e9es, peuvent vous rendre plus conscient, plus agile et plus juste. Comment apprendre \u00e0 se lier \u00e0 ces pr\u00e9cieuses ressources\u2009?</p><p>Tout d\u2019abord, accueillez ce qui se passe en vous. Ne cherchez pas d\u2019embl\u00e9e \u00e0 r\u00e9primer vos sentiments. Si elles apparaissent, c\u2019est pour quelque chose. Cherchez plut\u00f4t \u00e0 d\u00e9coder ce qu\u2019elles d\u00e9signent (un besoin, une valeur, un danger, etc.).</p><p>Utilisez ensuite leur \u00e9nergie (vous poussent-elles \u00e0 demander quelque chose, \u00e0 fuir, \u00e0 vous opposer, etc.) pour prendre une d\u00e9cision et l\u2019exprimer. Certes, ne le faites pas en un \u00e9clair, mais apr\u00e8s ce moment d\u2019analyse et de mise \u00e0 distance. Parfois, il vous faudra m\u00eame attendre quelque peu pour laisser retomber l\u2019\u00e9motion et n\u2019en garder que l\u2019information utile (ne pas \u00e9crire un mail sous le coup de la col\u00e8re, par exemple).</p><p>Verbaliser une \u00e9motion vous permettra de la g\u00e9rer. Ne cherchez pas de coupables, mais parlez plut\u00f4t de vos besoins ou de ce que l\u2019\u00e9motion \u00e9veille en vous. \u00c0 l\u2019inverse, en agissant avec empathie, vous permettrez \u00e0 l\u2019autre d\u2019exprimer un fort ressenti.</p><h4><strong>Outil\u00a069. Le d\u00e9veloppement de l\u2019intuition</strong></h4><blockquote>\n<p>\u00ab\u2009L\u2019intuition se d\u00e9finit comme une connaissance directe et imm\u00e9diate de la v\u00e9rit\u00e9, sans l\u2019aide du raisonnement. Dans notre soci\u00e9t\u00e9 occidentale, o\u00f9 la rationalit\u00e9 est \u00e0 la base de l\u2019\u00e9ducation, ce ph\u00e9nom\u00e8ne difficilement explicable souffre de pr\u00e9jug\u00e9s. Notre confiance dans notre intuition s\u2019en trouve limit\u00e9e. Le d\u00e9veloppement de l\u2019intuition est une r\u00e9appropriation de nos capacit\u00e9s intuitives naturelles. En apprenant \u00e0 reconna\u00eetre les manifestations de notre intuition et \u00e0 \u00e9couter les messages bienveillants qu\u2019elle v\u00e9hicule, nous d\u00e9veloppons notre potentiel personnel.\u2009\u00bb (<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle</em>, p.\u00a0182)</p>\n</blockquote><p>Une fois lib\u00e9r\u00e9 des pr\u00e9jug\u00e9s qui lui sont li\u00e9s, vous pourrez profiter de l\u2019intuition. Mais quelles sont <strong>ses manifestations\u2009</strong>?</p><ul><li>Les impressions\u00a0(un ressenti)\u2009;</li>\n<li>Les impulsions (une action corporelle plus forte que votre volont\u00e9)\u2009;</li>\n<li>Les messages ou les images\u00a0(qui apparaissent sans crier gare dans votre esprit)\u2009;</li>\n<li>Les illuminations (une id\u00e9e fulgurante)\u2009;</li>\n<li>Les pressentiments (une certitude fugace sur ce qui vient)\u2009;</li>\n<li>La t\u00e9l\u00e9pathie (une pens\u00e9e commune, au m\u00eame moment).</li>\n</ul><p>D\u00e9veloppez votre 7<sup>e</sup>\u00a0sens progressivement, en \u00e9coutant ces manifestations et en vous rappelant les fois o\u00f9 cela a fonctionn\u00e9. Vous pourriez par exemple pratiquer le <a href=\"https://des-livres-pour-changer-de-vie.com/au-coeur-de-la-tourmente-la-pleine-conscience/\" target=\"_blank\" rel=\"noopener\"><em>mindfulness</em></a> pour vous disposer favorablement \u00e0 son \u00e9gard.</p><h4><strong>Outil\u00a070. Les pages du matin</strong></h4><p>C\u2019est une technique inspir\u00e9e du livre <a href=\"https://des-livres-pour-changer-de-vie.com/liberez-votre-creativite/\" target=\"_blank\" rel=\"noopener\"><em>Lib\u00e9rez votre cr\u00e9ativit\u00e9</em></a>, de Julia Cameron. Elle s\u2019applique non seulement aux blocages cr\u00e9atifs, mais aussi au d\u00e9veloppement de soi. Comment mettre en place cette m\u00e9thode\u2009?</p><p>Rien de plus simple. Programmez votre r\u00e9veil 45\u00a0minutes plus t\u00f4t et passez ce temps libre \u00e0 \u00e9crire. Il n\u2019y a aucun objectif qualitatif \u00e0 redouter, puisqu\u2019il suffit d\u2019\u00e9crire d\u2019un seul jet un certain nombre de pages (plus ou moins le m\u00eame, sur ce m\u00eame temps). Le mot-cl\u00e9\u00a0: la r\u00e9gularit\u00e9.</p><p>Des \u00e9l\u00e9ments plus ou moins importants couvriront ces pages. Avec des feutres de couleur, commencez \u00e0 trier l\u2019essentiel de l\u2019accessoire. Vous d\u00e9couvrirez que votre esprit r\u00e9sout par lui-m\u00eame des probl\u00e8mes ou exprime votre voix int\u00e9rieure\u2026 Soyez \u00e0 l\u2019\u00e9coute\u2009!</p><p>Accordez-vous ce rituel, le matin, \u00e0 l\u2019abri des regards indiscrets et des tentations.</p><h4><strong>Outil\u00a071. La r\u00e9alisation des r\u00eaves personnels</strong></h4><p>Au-del\u00e0 du travail, il y a la vie, non\u2009? Tous les outils de ce dossier\u00a06 vont dans ce sens. C\u2019est en marchant vers votre \u00e9toile, aid\u00e9 de votre boussole int\u00e9rieure, que vous pourrez vous \u00e9panouir au mieux, personnellement <em>et</em> professionnellement.</p><p>Voici <strong>les conseils de Pascale B\u00e9lorgey</strong> \u00e0 ce sujet\u00a0:</p><ul><li><strong>Boussole int\u00e9rieure</strong> = \u00e9coutez vos \u00e9motions, votre intuition\u2009;</li>\n<li><strong>Bonnes personnes</strong> = entourez-vous de personnes encourageantes ou n\u2019en parlez pas\u2009;</li>\n<li><strong>Petits pas</strong> = connectez-vous r\u00e9guli\u00e8rement \u00e0 votre projet, m\u00eame s\u2019il n\u2019est pas encore enti\u00e8rement clarifi\u00e9 (cela se fera en cours de route)\u2009;</li>\n<li><strong>Opportunit\u00e9s</strong>\u00a0= soyez attentif \u00e0 ce qui se propose \u00e0 vous (rencontres, etc.)\u2009;</li>\n<li><strong>Aide</strong> = sortez de votre bulle pour exposer vos id\u00e9es \u00e0 ceux qui peuvent vous accompagner\u2009;</li>\n<li><strong>Obstacles</strong> = la cr\u00e9ation d\u2019un projet de vie requiert de la pers\u00e9v\u00e9rance\u2009;</li>\n<li><strong>Succ\u00e8s</strong> = savourez-les avec joie, en utilisant la force qu\u2019ils vous donnent pour continuer \u00e0 avancer\u2009;</li>\n<li><strong>Route \u00e0 suivre</strong>\u00a0= quelle est la prochaine \u00e9tape\u2009? \u00c9coutez votre boussole int\u00e9rieure\u2009!</li>\n</ul><p><img class=\"aligncenter size-full wp-image-24877 jetpack-lazy-image\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/S-organiser-e1633894601601.jpg?is-pending-load=1\" alt=\"Etre plus efficace au travail\" width=\"600\" height=\"400\" srcset=\"\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img class=\"aligncenter size-full wp-image-24877\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/S-organiser-e1633894601601.jpg\" alt=\"Etre plus efficace au travail\" width=\"600\" height=\"400\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><h2><strong>Conclusion sur \u00ab\u2009<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle\u2009\u00bb</em> de Pascale B\u00e9lorgey\u00a0:</strong></h2><h3><strong>Un livre \u00e0 garder avec soi et \u00e0 consulter fr\u00e9quemment</strong></h3><p>Le format de ce livre est tr\u00e8s pratique. Vous pouvez aller et venir dans chaque dossier tr\u00e8s facilement. Chaque outil est pr\u00e9sent\u00e9 sur une double page, avec, \u00e0 gauche, un bref r\u00e9sum\u00e9 accompagn\u00e9 d\u2019un dessin et, \u00e0 droite, le d\u00e9tail et la m\u00e9thodologie.</p><p>En fonction de vos int\u00e9r\u00eats du moment (d\u00e9veloppement personnel, communication avec les \u00e9quipes, organisation, etc.), vous trouverez un, deux ou trois outils pertinents \u00e0 tester directement. C\u2019est vraiment pourquoi il m\u00e9rite de rester pr\u00e8s de vous\u00a0: vous le consulterez \u00e0 chaque fois que vous chercherez un moyen de vous am\u00e9liorer dans votre travail quotidien.</p><h3><strong>Ce qu\u2019il faut retenir de \u00ab\u2009<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle\u2009\u00bb</em> de Pascale B\u00e9lorgey\u00a0:</strong></h3><p>Il y a 71\u00a0outils dans cet ouvrage\u00a0: difficile, donc, d\u2019en faire le tour en un mot\u2009! Toutefois, si vous avez lu cette chronique jusqu\u2019ici, vous aurez remarqu\u00e9 que Pascale B\u00e9lrogey met en avant une vision sensible, intuitive, empathique, bienveillante du travail. Ici, toutes ces caract\u00e9ristiques fonctionnent main dans la main avec la performance, l\u2019efficacit\u00e9 et la rationalit\u00e9.</p><p><em>Points\u00a0<strong>forts</strong>\u00a0:</em></p><ul><li>Un format tr\u00e8s pratique et tr\u00e8s clair\u2009;</li>\n<li>Des outils dans diff\u00e9rents domaines d\u2019int\u00e9r\u00eat (de l\u2019organisation au d\u00e9veloppement personnel)\u2009;</li>\n<li>Une \u00e9criture synth\u00e9tique et des dessins tr\u00e8s sympathiques, qui permettent de fixer rapidement l\u2019id\u00e9e-force de l\u2019outil.</li>\n</ul><p><em>Point\u00a0<strong>faible</strong>\u00a0:</em></p><ul><li>Quelques outils peuvent paraitre redondants, mais, dans l\u2019ensemble, ils se compl\u00e8tent plut\u00f4t qu\u2019ils ne se superposent \u00e0 proprement parler.</li>\n</ul><p>Ma note\u00a0:</p><p><img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" />\u00a0<img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" />\u00a0<img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /><img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /><img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /><img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /><img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /><img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image5.png\" alt=\"image\" width=\"25\" height=\"37\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /><img class=\"jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https://des-livres-pour-changer-de-vie.com//wp-content/uploads/2008/10/image4.png\" alt=\"image\" width=\"25\" height=\"24\" border=\"0\" data-lazy-loaded=\"1\" referrerpolicy=\"no-referrer\" /></p><p class=\"c7\">Avez-vous lu le livre de Pascale B\u00e9lorgey \u00ab\u2009<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle\u2009\u00bb\u2009</em>? Combien le notez-vous\u2009?</p><p class=\"c7\"><img width=\"16\" height=\"16\" id=\"rating_24864_1\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif?is-pending-load=1\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" srcset=\"\" class=\"jetpack-lazy-image c11\" referrerpolicy=\"no-referrer\" /></p><noscript>\n<p><img width=\"16\" height=\"16\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" title=\"M\u00e9diocre - Aucun int\u00e9r\u00eat\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n</noscript><p><img width=\"16\" height=\"16\" id=\"rating_24864_2\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Passable - Un ou deux passages int\u00e9ressants\" title=\"Passable - Un ou deux passages int\u00e9ressants\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24864_3\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Moyen - Quelques bonnes id\u00e9es\" title=\"Moyen - Quelques bonnes id\u00e9es\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24864_4\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" title=\"Bon - A chang\u00e9 ma vie sur un aspect bien pr\u00e9cis !\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n\n<p><img width=\"16\" height=\"16\" id=\"rating_24864_5\" src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/stars_crystal/rating_off.gif\" alt=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" title=\"Tr\u00e8s bon - A compl\u00e8tement chang\u00e9 ma vie !\" class=\"c11\" referrerpolicy=\"no-referrer\" /></p>\n(Pas encore de Note)<br />\n<p><img src=\"https://des-livres-pour-changer-de-vie.com/wp-content/plugins/wp-postratings/images/loading.gif\" width=\"16\" height=\"16\" class=\"post-ratings-image\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\nLoading...<p class=\"c7\"><a href=\"https://amzn.to/3F7Xm3N\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin de lire plus de commentaires sur le livre</a>\u00a0de Pascale B\u00e9lorgey \u00ab\u2009<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle\u2009\u00bb</em></p><p class=\"c7\"><a href=\"https://amzn.to/3e5RT1g\" target=\"_blank\" rel=\"noopener\" class=\"external\">Visitez Amazon afin d\u2019acheter le livre\u00a0</a>de Pascale B\u00e9lorgey \u00ab\u2009<em>La bo\u00eete \u00e0 outils de l\u2019efficacit\u00e9 professionnelle\u2009\u00bb</em></p>",
    "created_at": "2022-05-02T07:43:22+00:00",
    "updated_at": "2022-05-02T07:43:49+00:00",
    "published_at": "2022-04-14T15:00:47+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 60,
    "domain_name": "des-livres-pour-changer-de-vie.com",
    "preview_picture": "https://des-livres-pour-changer-de-vie.com/wp-content/uploads/2021/10/la-boite-a-outils-de-lefficacite-professionnelle-pascale-belorgey-e1639798373893.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["books", "productivit\u00e9"],
    "is_public": false,
    "id": 13,
    "title": "Morning Notes - Gianni Bergandi",
    "url": "https://giannibergandi.com/morningnotes/",
    "content": "<div class=\"et_pb_section et_pb_section_0 et_section_regular\">\n<div class=\"et_pb_row et_pb_row_0 et_pb_column et_pb_column_4_4 et_pb_column_0 et_pb_css_mix_blend_mode_passthrough et-last-child et_pb_module et_pb_text et_pb_text_0 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<h1 class=\"c1\">Morning Notes</h1>\n<p>Les Morning Notes sont des <strong>fiches PDF</strong>, d\u2019une page, qui rassemblent mes <strong>5 id\u00e9es favorites</strong> des livres que j\u2019ai lus.</p>\n<p>Elles sont \u00e0 la base de tout mon projet : quand j\u2019ai commenc\u00e9, en 2016, \u00e0 lire plusieurs livres par semaine, j\u2019ai ressenti le besoin de <strong>synth\u00e9tiser</strong> tout ce que j\u2019apprenais.\u00a0J\u2019ai alors d\u00e9cid\u00e9 de rassembler <strong>l\u2019essentiel</strong> de mes notes dans de petites fiches que je pourrais tr\u00e8s facilement partager.</p>\n<p>Voici par exemple, celle du livre <strong><a href=\"http://giannibergandi.com/wp-content/uploads/2017/01/Sleep-Smarter.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">Sleep Smarter, de Shawn Stevenson</a></strong>.</p>\n<p>Si tu descends un peu plus bas, tu trouveras toutes les notes des livres que j\u2019ai \u00e9crites.</p>\n<p>Aujourd\u2019hui, j\u2019ai d\u00e9j\u00e0 r\u00e9dig\u00e9 <strong>plus d\u2019une centaine de Morning Notes</strong>,\u00a0que je mets \u00e0 disposition, dans un google drive d\u00e9di\u00e9.</p>\n<p>L\u2019acc\u00e8s \u00e0 ce google drive est uniquement <strong>r\u00e9serv\u00e9 \u00e0 ma liste de contact priv\u00e9s</strong>.</p>\n<p><strong><a href=\"https://giannibergandi.com/emails-prives-gratuits/\">Tu peux, si tu le souhaites, t\u2019y inscrire en cliquant juste ici.</a>\u00a0</strong></p>\n</div>\n<div class=\"et_pb_row et_pb_row_1 et_pb_column et_pb_column_4_4 et_pb_column_1 et_pb_css_mix_blend_mode_passthrough et-last-child et_pb_module et_pb_divider et_pb_divider_0 et_pb_divider_position_ et_pb_space\">\n<div class=\"et_pb_row et_pb_row_2 et_pb_column et_pb_column_4_4 et_pb_column_2 et_pb_css_mix_blend_mode_passthrough et-last-child et_pb_module et_pb_number_counter et_pb_number_counter_0 et_pb_text_align_center et_pb_bg_layout_light et_pb_with_title\">\n<div class=\"percent\">\n<h3 class=\"title\">Morning Notes au 01/12/20</h3>\n</div>\n<div class=\"et_pb_row et_pb_row_3 et_pb_column et_pb_column_4_4 et_pb_column_3 et_pb_css_mix_blend_mode_passthrough et-last-child et_pb_module et_pb_text et_pb_text_1 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<p>Pour aller plus loin, tu trouveras ci-dessous <strong>une page d\u00e9di\u00e9e \u00e0 chaque livre que j\u2019ai d\u00e9cortiqu\u00e9</strong>. Pour t\u2019aider, ces livres sont tout d\u2019abord class\u00e9s par cat\u00e9gories. Tu trouveras la liste compl\u00e8te en bas de page.</p>\n<h2 class=\"c2\">Fiches de livres par cat\u00e9gories :</h2>\n</div>\n</div>\n<div class=\"et_pb_section et_pb_section_1 et_section_regular\">\n<div class=\"et_pb_row et_pb_row_4\">\n<div class=\"et_pb_column et_pb_column_1_3 et_pb_column_4 et_pb_css_mix_blend_mode_passthrough et_pb_module et_pb_text et_pb_text_2 et_pb_text_align_center et_pb_bg_layout_light et_pb_text_inner\">\n<p><strong>CROISSANCE PERSO</strong></p>\n<p><a href=\"https://giannibergandi.com/comment-se-fixer-des-objectifs/\">Objectifs</a></p>\n<p>Habitudes</p>\n<p>Apprentissage</p>\n<p>Sens de la vie</p>\n</div>\n<div class=\"et_pb_column et_pb_column_1_3 et_pb_column_5 et_pb_css_mix_blend_mode_passthrough et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_center et_pb_bg_layout_light et_pb_text_inner\">\n<p><strong>MINDSET</strong></p>\n<p>R\u00e9silience</p>\n<p>Leadership</p>\n<p>Cr\u00e9ativit\u00e9</p>\n<p><a href=\"https://giannibergandi.com/comment-vaincre-le-perfectionnisme/\">Perfectionnisme</a></p>\n</div>\n<div class=\"et_pb_column et_pb_column_1_3 et_pb_column_6 et_pb_css_mix_blend_mode_passthrough et-last-child et_pb_module et_pb_text et_pb_text_4 et_pb_text_align_center et_pb_bg_layout_light et_pb_text_inner\">\n<p><strong>PRODUCTIVIT\u00c9</strong></p>\n<p>Efficacit\u00e9</p>\n<p>Addiction Digitale</p>\n<p><a href=\"https://giannibergandi.com/comment-vaincre-la-procrastination/\">Procrastination</a></p>\n<p>Autodiscipline</p>\n</div>\n</div>\n<div class=\"et_pb_row et_pb_row_5\">\n<div class=\"et_pb_column et_pb_column_1_3 et_pb_column_7 et_pb_css_mix_blend_mode_passthrough et_pb_module et_pb_text et_pb_text_5 et_pb_text_align_center et_pb_bg_layout_light et_pb_text_inner\">\n<p><strong>PHILOSOPHIE</strong></p>\n<p>Bonheur</p>\n<p><a href=\"https://giannibergandi.com/vivre-le-stoicisme-au-21eme-siecle/\">Sto\u00efcisme</a></p>\n<p>Sagesse Antique</p>\n<p>Sagesse Moderne</p>\n</div>\n<div class=\"et_pb_column et_pb_column_1_3 et_pb_column_8 et_pb_css_mix_blend_mode_passthrough et_pb_module et_pb_text et_pb_text_6 et_pb_text_align_center et_pb_bg_layout_light et_pb_text_inner\">\n<p><strong>SANT\u00c9</strong></p>\n<p>Activit\u00e9 physique</p>\n<p>Nutrition</p>\n<p><a href=\"https://giannibergandi.com/comment-mieux-dormir/\">Sommeil</a></p>\n<p>M\u00e9ditation</p>\n</div>\n</div>\n</div>\n<div class=\"et_pb_section et_pb_section_2 et_section_regular\">\n<div class=\"et_pb_row et_pb_row_6 et_pb_column et_pb_column_4_4 et_pb_column_10 et_pb_css_mix_blend_mode_passthrough et-last-child\">\n<div class=\"et_pb_module et_pb_divider et_pb_divider_1 et_pb_divider_position_ et_pb_space\">\n<div class=\"et_pb_module et_pb_text et_pb_text_7 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<h1 class=\"c1\">Liste de tous les livres, class\u00e9s par auteur</h1>\n<p>Voici la liste de tous les livres dont tu pourras trouver une fiche. Derri\u00e8re chaque liens, tu trouveras mon avis sur le livre, quelques citations ainsi que mes <strong>5 id\u00e9es favorites</strong>.\u00a0</p>\n<p><strong>La liste est class\u00e9e par ordre alphab\u00e9tique du nom de l\u2019auteur.</strong></p>\n</div>\n</div>\n<div class=\"et_pb_row et_pb_row_7 et_pb_column et_pb_column_4_4 et_pb_column_11 et_pb_css_mix_blend_mode_passthrough et-last-child et_pb_module et_pb_text et_pb_text_8 et_pb_text_align_left et_pb_bg_layout_light et_pb_text_inner\">\n<p><a href=\"https://giannibergandi.com/comment-devenir-un-optimiste-contagieux-shawn-achor/\">Comment devenir un optimiste contagieux, Shawn Achor</a></p>\n<p><a href=\"https://giannibergandi.com/se-changer-changer-le-monde-christophe-andre/\">Se changer, changer le monde, Christophe Andr\u00e9, John Kabat-Zinn, Pierre Rabhi, Matthieu Ricard</a></p>\n<p><a href=\"https://giannibergandi.com/lart-daller-a-lessentiel-leo-babauta/\">L\u2019art d\u2019aller \u00e0 l\u2019essentiel, L\u00e9o Babauta</a></p>\n<p><a href=\"https://giannibergandi.com/with-winning-in-mind-lanny-bassham/\">With Winning In Mind, Lanny Bassham</a></p>\n<p><a href=\"https://giannibergandi.com/lapprentissage-de-limperfection-tal-ben-shahar/\">L\u2019apprentissage de l\u2019imperfection, Tal Ben-Shahar</a></p>\n<p><a href=\"https://giannibergandi.com/happier-tal-ben-shahar/\">L\u2019apprentissage du bonheur (Happier), Tal Ben-Shahar</a></p>\n<p><a href=\"https://giannibergandi.com/le-dhammapada-bouddha/\">Dhammapada, Bouddha</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/21-jours-sans-se-plaindre-will-bowen/\">21 jours sans se plaindre, Will Bowen</a></p>\n<p><a href=\"https://giannibergandi.com/six-pillars-of-self-esteem-nathaniel-branden/\">The 6 Pillar of Self Esteem, Nathaniel Branden</a></p>\n<p><a href=\"https://giannibergandi.com/how-we-learn-benedict-carey/\">How We Learn, Benedict Carey</a></p>\n<p><a href=\"https://giannibergandi.com/comment-se-faire-des-amis-dale-carnegie/\">Comment se faire des amis, Dale Carnegie</a></p>\n<p><a href=\"https://giannibergandi.com/comment-trouver-le-leader-en-vous-dale-carnegie/\">Comment trouver le leader en vous, Dale Carnegie</a>\u00a0(page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/how-to-stop-worrying-and-start-living-dale-carnegie/\">How to Stop Worrying and Start Living, Dale Carnegie</a></p>\n<p><a href=\"https://giannibergandi.com/les-langages-de-lamour-gary-chapman/\">Les langages de l\u2019amour, Gary Chapman</a></p>\n<p><a href=\"https://giannibergandi.com/50-positives-habits-michael-chapman/\">50 Positives Habits, Michael Chapman</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/les-7-lois-spirituelles-du-vrai-bonheur-deepak-chopra/\">Les 7 lois spirituelles du vrai bonheur, Dr Deepak Chopra</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/les-sept-lois-spirituelles-du-succes-deepak-chopra\">Les 7 lois spirituelles du succ\u00e8s, Dr Deepak Chopra</a></p>\n<p><a href=\"https://giannibergandi.com/lalchimiste-paulo-coelho/\">L\u2019alchimiste, Paulo Coelho</a></p>\n<p><a href=\"https://giannibergandi.com/manuel-du-guerrier-de-la-lumiere-paulo-coelho/\">Manuel du guerrier de la lumi\u00e8re, Paulo Coelho</a></p>\n<p><a href=\"https://giannibergandi.com/les-7-habitudes-de-ceux-qui-realisent-tout-ce-quils-entreprennent-stephen-covey/\">Les 7 habitudes de ceux qui r\u00e9ussissent tout ce qu\u2019ils entreprennent, Stephen R. Covey</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/flow-mihaly-csikszentmihaly/\">Flow, Mihaly Csikszentmihalyi</a></p>\n<p><a href=\"https://giannibergandi.com/devenir-remarquable-valentin-decker/\">Devenir Remarquable \u00e0 l\u2019air du num\u00e9rique, Valentin Decker</a></p>\n<p><a href=\"https://giannibergandi.com/the-millionaire-fastlane-mj-demarco/\">The Millionaire Fastlane, MJ DeMarco</a></p>\n<p><a href=\"https://giannibergandi.com/grit-angela-duckworth/\">Grit, Angela Duckworth</a></p>\n<p><a href=\"https://giannibergandi.com/smarter-faster-better-charles-duhigg/\">Smarter Better Faster, Charles Duhigg</a></p>\n<p><a href=\"https://giannibergandi.com/le-pouvoir-des-habitudes-charles-duhigg/\">Le Pouvoir des Habitudes, Charles Duhigg</a></p>\n<p><a href=\"https://giannibergandi.com/miracle-morning-hal-elrod/\">Miracle Morning, Hal Elrod</a></p>\n<p><a href=\"https://giannibergandi.com/thanks-robert-emmons/\">Thanks, Robert A. Emmons</a></p>\n<p><a href=\"https://giannibergandi.com/le-charme-discret-de-lintestin-giulia-enders/\">Le charme discret de l\u2019intestin, Giulia Enders</a></p>\n<p><a href=\"https://giannibergandi.com/manuel-epictete/\">Manuel, \u00c9pict\u00e8te</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/mans-search-for-meaning-viktor-frankl/\">Man\u2019s Search For Meaning, Viktor E. Frankl</a></p>\n<p><a href=\"https://giannibergandi.com/rework-jason-fried-david-hansson/\">Rework, Jason Fried &amp; David Heinemeier Hansson</a></p>\n<p><a href=\"https://giannibergandi.com/the-inner-game-of-tennis-timothy-gallwey\">The Inner Game of Tennis, W. Timothy Gallwey\u00a0</a></p>\n<p><a href=\"https://giannibergandi.com/ikigai-garcia-miralles/\">Ikiga\u00ef, Hector Garcia &amp; Francesc Miralles</a></p>\n<p><a href=\"https://giannibergandi.com/manage-your-day-to-day-jocelyn-kglei/\">Manage Your Day-to-day, Jocelyn K. Glei</a></p>\n<p><a href=\"https://giannibergandi.com/maximize-your-potential-jocelyn-kglei\">Maximize Your Potential, Jocelyn K. Glei</a></p>\n<p><a href=\"https://giannibergandi.com/unsubscribe-jocelyn-kglei\">Unsubscribe, Jocelyn K. Glei</a></p>\n<p><a href=\"https://giannibergandi.com/100-euros-pour-lancer-son-business-chris-guillebeau/\">100 euros pour lancer son business, Chris Guillebeau</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/mini-habits-stephen-guise/\">Mini Habits, Stephen Guise</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/succeed-heidi-grant-halvorson/\">Succeed, Heidi Grant Halvorson</a></p>\n<p><a href=\"https://giannibergandi.com/le-cerveau-de-bouddha-rick-hanson/\">Le cerveau de bouddha, Rick Hanson</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/effet-cumule-darren-hardy/\">L\u2019effet cumul\u00e9, Darren Hardy</a></p>\n<p><a href=\"https://giannibergandi.com/comment-je-suis-devenu-10-plus-heureux-dan-harris/\">Comment je suis devenu 10% plus heureux, Dan Harris</a></p>\n<p><a href=\"https://giannibergandi.com/le-piege-du-bonheur-russ-harris/\">The Happiness Trap, Russ Harris</a></p>\n<p><a href=\"https://giannibergandi.com/it-starts-with-food-dallas-melissa-hartwig/\">It Starts With Food, Dallas &amp; Melissa Hartwig</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/les-secrets-dun-esprit-millionnaire-t-harv-eker/\">Les secrets d\u2019un esprit millionnaire, T. Harv Eker</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/vous-pouvez-changer-votre-vie-louise-hay/\">Vous pouvez changer votre vie, Louise L. Hay</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/reflechissez-et-devenez-riche-napoleon-hill\">R\u00e9fl\u00e9chissez et Devenez riche, Napoleon Hill</a></p>\n<p><a href=\"https://giannibergandi.com/the-obstacle-is-the-way-ryan-holiday/\">The Obstacle is the Way, Ryan Holiday</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/la-revolution-du-sommeil-arianna-huffington/\">La r\u00e9volution du sommeil, Ariana Huffington</a></p>\n<p><a href=\"https://giannibergandi.com/zero-dechet-bea-johnson/\">Z\u00e9ro D\u00e9chet, B\u00e9a Johnson</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/ou-tu-vas-tu-es-jon-kabat-zinn/\">O\u00f9 tu vas, tu es, John Kabat-Zinn</a></p>\n<p><a href=\"https://giannibergandi.com/the-one-thing-keller-papasan/\">The One Thing, Gary Keller &amp; Jay Papasan</a></p>\n<p><a href=\"https://giannibergandi.com/pere-riche-pere-pauvre-robert-kiyosaki/\">P\u00e8re Riche, P\u00e8re Pauvre, Robert T. Kiyosaki</a></p>\n<p><a href=\"https://giannibergandi.com/le-principe-80-20-richard-koch\">Le principe 80/20, Richard Koch</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/la-magie-du-rangement-marie-kondo/\">La magie du rangement, Marie Kondo</a></p>\n<p><a href=\"https://giannibergandi.com/petit-traite-de-vie-interieure-frederic-lenoir/\">Petit trait\u00e9 de vie int\u00e9rieure, Fr\u00e9d\u00e9ric Lenoir</a></p>\n<p><a href=\"https://giannibergandi.com/mastery-george-leonard/\">Mastery, George Leonard</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/comment-etre-heureux-et-le-rester-sonja-lyubomirsky/\">Comment \u00eatre heureux et le rester, Sonja Lyubomirksy</a></p>\n<p><a href=\"https://giannibergandi.com/quest-ce-qui-nous-rend-vraiment-heureux-sonja-lyubomirsky/\">Qu\u2019est-ce qui nous rend vraiment heureux, Sonja Lyubomirksy</a></p>\n<p><a href=\"https://giannibergandi.com/power-sleep-james-maas/\">Power Sleep, Dr James B. Maas</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/17-anti-procrastination-hacks-dominic-mann/\">17 Anti-procrastination Hacks, Dominik Mann</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/pensees-pour-moi-meme-marc-aurele/\">Pens\u00e9es pour moi-m\u00eame, Marc-Aur\u00e8le</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/lart-subtil-de-sen-foutre-mark-manson/\">L\u2019art subtil de s\u2019en foutre, Mark Manson</a></p>\n<p><a href=\"https://giannibergandi.com/les-10-regles-dor-de-la-sante-bertil-marklund/\">Les 10 r\u00e8gles d\u2019or de la sant\u00e9, Dr Bertil Marklund</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/une-memoire-infaillible-sebastien-martinez/\">Une m\u00e9moire infaillible, S\u00e9bastien Martinez</a></p>\n<p><a href=\"https://giannibergandi.com/the-willpower-instinct-kelly-mcgonigal/\">The WillPower Instinct, Kelly McGonigal</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/anxiety-free-patrick-mckeown\">Anxiety Free, Patrick McKeown</a></p>\n<p><a href=\"https://giannibergandi.com/make-your-bed-william-mcraven/\">Make Your Bed, William H. McRaven</a></p>\n<p><a href=\"https://giannibergandi.com/take-a-nap-change-your-life-sara-mednick/\">Take a Nap, Change your Life, Dr Sara Mednick</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/et-si-on-arretait-dempoisonner-nos-enfants-erwann-mentheour/\">Et si on arr\u00eatait d\u2019empoisonner nos enfants, Erwann Menth\u00e9our</a></p>\n<p><a href=\"https://giannibergandi.com/et-si-on-arretait-de-se-mentir-erwann-mentheour/\">Et si on arr\u00eatait de se mentir, Erwann Menth\u00e9our</a></p>\n<p><a href=\"https://giannibergandi.com/deep-work-cal-newport/\">Deep Work, Cal Newport</a></p>\n<p><a href=\"https://giannibergandi.com/how-to-become-a-straight-a-student-cal-newport/\">How to Become a Straight-A Student, Cal Newport</a></p>\n<p><a href=\"https://giannibergandi.com/ainsi-parlait-zarathoustra-nietzsche/\">Ainsi parlait Zarathoustra, Nietzsche</a></p>\n<p><a href=\"https://giannibergandi.com/the-happiness-equation-neil-pasricha/\">The Happiness Equation, Neil Pasricha</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/la-confiance-en-soi-charles-pepin/\">La confiance en soi, Charles P\u00e9pin</a></p>\n<p><a href=\"https://giannibergandi.com/les-vertus-de-lechec-charles-pepin/\">Les vertus de l\u2019\u00e9chec, Charles P\u00e9pin</a></p>\n<p><a href=\"https://giannibergandi.com/la-verite-sur-ce-qui-nous-motive-daniel-pink/\">La v\u00e9rit\u00e9 sur ce qui nous motive, Daniel H. Pink</a></p>\n<p><a href=\"https://giannibergandi.com/when-daniel-pink/\">When, Daniel H. Pink</a></p>\n<p><a href=\"https://giannibergandi.com/food-rules-michael-pollan/\">Food Rules, Michael Pollan</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/solving-the-procrastination-puzzle-timothy-pychyl/\">Solving the Procrastination Puzzle, Timothy Pychyl</a></p>\n<p><a href=\"https://giannibergandi.com/are-you-fully-charged-tom-rath/\">Are you Fully Charged, Tom Rath</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/eat-move-sleep-tom-rath/\">Eat Move Sleep, Tom Rath</a></p>\n<p><a href=\"https://giannibergandi.com/constructive-living-david-reynolds/\">Constructive Living, David K. Reynolds</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/lart-de-la-meditation-matthieu-ricard/\">L\u2019art de la m\u00e9ditation, Matthieu Ricard</a></p>\n<p><a href=\"https://giannibergandi.com/les-onze-lois-de-la-reussite-anthony-robbins/\">Les 11 lois de la r\u00e9ussite, Anthony Robbins</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/the-5-second-rule-mel-robbins/\">The 5 Second Rule, Mel Robbins</a></p>\n<p><a href=\"https://giannibergandi.com/tout-le-monde-na-pas-eu-la-chance-de-rater-ses-etudes-olivier-roland/\">Tout le monde n\u2019a pas eu la chance d\u2019arr\u00eater ses \u00e9tudes, Olivier Roland</a></p>\n<p><a href=\"https://giannibergandi.com/les-quatre-accords-tolteques-don-miguel-ruiz/\">Les 4 accords Tolt\u00e8ques, Don Miguel Ruiz</a></p>\n<p><a href=\"https://giannibergandi.com/heureux-comme-un-danois-malene-rydahl/\">Heureux comme un Danois, Malene Rydahl</a></p>\n<p><a href=\"https://giannibergandi.com/lexistentialisme-est-un-humanisme-jean-paul-sartre/\">L\u2019existentialisme est un humanisme, Jean-Paul Sartre</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/la-magie-de-voir-grand-david-schwartz/\">La magie de voir grand, David J. Schwartz</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/lettres-a-lucilius-seneque/\">Lettres \u00e0 Lucilius, S\u00e9n\u00e8que</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/sur-la-brievete-de-la-vie-seneque/\">Sur la brievet\u00e9 de la vie, S\u00e9n\u00e8que</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/le-moine-qui-vendit-sa-ferrari-robin-sharma/\">Le moine qui vendit sa Ferrari, Robin Sharma</a></p>\n<p><a href=\"https://giannibergandi.com/start-with-why-simon-sinek/\">Start With Why, Simon Sinek</a></p>\n<p><a href=\"https://giannibergandi.com/lait-mensonges-et-propagande-thierry-souccar/\">Lait, mensonges et propagande, Thierry Souccar</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/la-methode-tools-stutz-michels/\">La m\u00e9thode Tools, Phil Stutz &amp; Barry Michels</a></p>\n<p><a href=\"https://giannibergandi.com/the-procrastination-equation-piers-steel/\">The Procrastination Equation, Peers Steel</a></p>\n<p><a href=\"https://giannibergandi.com/sleep-smarter-shawn-stevenson/\">Sleep Smarter, Shawn Stevenson</a></p>\n<p><a href=\"https://giannibergandi.com/black-box-thinking-matthew-syed/\">Black Box Thinking, Matthew Syed</a></p>\n<p><a href=\"https://giannibergandi.com/le-pouvoir-du-moment-present-eckhart-tolle/\">Le pouvoir du moment pr\u00e9sent, Eckhart Tolle</a></p>\n<p><a href=\"https://giannibergandi.com/the-creative-habit-twyla-tharp\">The Creative Habit, Twyla Tharp</a></p>\n<p><a href=\"https://giannibergandi.com/avalez-le-crapaud-brian-tracy/\">Avalez le crapaud, Brian Tracy</a></p>\n<p><a href=\"https://giannibergandi.com/superhuman-by-habit-tynan/\">Superhuman By Habit, Tynan</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/what-the-most-successful-people-do-before-breakfast-laura-vanderkam/\">What the most successful people do before Breakfast, Laura Vanderkam</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/gluten-julien-venesson/\">Gluten, Julien Venesson</a></p>\n<p><a href=\"https://giannibergandi.com/sitting-kills-moving-heals-joan-vernikos/\">Sitting Kills, Moving Heals, Dr Joan Vernikos</a></p>\n<p><a href=\"https://giannibergandi.com/le-livre-du-hygge-meik-wiking/\">Le livre du Hygge, Meik Wiking</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/wooden-john-wooden/\">Wooden, John Wooden</a> (page bient\u00f4t termin\u00e9e)</p>\n<p><a href=\"https://giannibergandi.com/bored-and-brilliant-manoush-zomorodi/\">Bored and Brilliant, Manoush Zomorodi</a> (page bient\u00f4t termin\u00e9e)</p>\n</div>\n</div>\n</div></div></div>",
    "created_at": "2022-03-05T12:23:50+00:00",
    "updated_at": "2022-03-05T12:24:32+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr_FR",
    "reading_time": 5,
    "domain_name": "giannibergandi.com",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": [],
    "is_public": false,
    "id": 11,
    "title": "Naked Blade - Manual of Samurai Swordsmanship : Monika Budo Stuff : Free Download, Borrow, and Streaming : Internet Archive",
    "url": "https://archive.org/details/NakedBladeManualOfSamuraiSwordsmanshipByToshishiroObata/page/n5/mode/2up",
    "content": "<div><form class=\"form\" role=\"form\" action=\"action\">\n<p><label for=\"embedcodehereWP\">EMBED (for wordpress.com hosted blogs and archive.org item &lt;description&gt; tags)</label> \n<textarea id=\"embedcodehereWP\" class=\"form-control textarea-invert-readonly\" rows=\"3\" readonly=\"readonly\" cols=\"50\">[archiveorg NakedBladeManualOfSamuraiSwordsmanshipByToshishiroObata width=560 height=384 frameborder=0 webkitallowfullscreen=true mozallowfullscreen=true]</textarea></p>\n</form></div><p>Want more? <a href=\"https://archive.org/help/audio.php?identifier=NakedBladeManualOfSamuraiSwordsmanshipByToshishiroObata\">Advanced embedding details, examples, and help</a>!</p>",
    "created_at": "2022-02-05T12:11:12+00:00",
    "updated_at": "2022-02-05T12:11:12+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "language": "en",
    "reading_time": 0,
    "domain_name": "archive.org",
    "preview_picture": "https://archive.org/services/img/NakedBladeManualOfSamuraiSwordsmanshipByToshishiroObata",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "tutorial", "keras"],
    "is_public": false,
    "id": 10,
    "title": "Tutorial Keras : exemple de deep learning avec Keras et Python",
    "url": "https://www.ionos.fr/digitalguide/sites-internet/developpement-web/keras-tutorial/",
    "content": "<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333017\"><p>Keras est une <strong>biblioth\u00e8que open source pour la cr\u00e9ation d\u2019applications de deep learning</strong>. Keras est \u00e9crit en Python et fournit une interface commune pour diff\u00e9rents backends de deep learning tels que <a href=\"https://www.tensorflow.org/\" title=\"TensorFlow\" target=\"_blank\">TensorFlow</a> et Theano. Le <a href=\"https://www.ionos.fr/digitalguide/sites-internet/developpement-web/keras-tutorial/web-marketing/search-engine-marketing/deep-learning/\" title=\"Deep Learning\">Deep Learning</a> fait partie du machine learning et se base sur les <a href=\"https://www.ionos.fr/digitalguide/sites-internet/developpement-web/keras-tutorial/web-marketing/search-engine-marketing/quest-ce-quun-reseau-neuronal-artificiel/\" title=\"Qu&#x2019;est-ce qu&#x2019;un r&#xe9;seau neuronal artificiel ?\">r\u00e9seau de neurones artificiels</a>.</p><p>Keras vise \u00e0 simplifier l\u2019entr\u00e9e dans le deep learning. Au cours de ce tutoriel Keras, nous expliquerons, \u00e0 l\u2019aide d\u2019un exemple simple, comment fonctionne cette biblioth\u00e8que.</p></div>\n<div id=\"c333065\" class=\"frame frame-default frame-type-shortcut frame-layout-0 frame frame-default frame-type-fluidcontent_content frame-layout-0 container cta-container rosw col-sm-8 cta-over-box-dg c2 col-sm-9 cta-content-box cta-wo-img\"><p>Finies les interruptions d'activit\u00e9 co\u00fbteuses ! Sauvegardez facilement les donn\u00e9es de votre entreprise et b\u00e9n\u00e9ficiez d'un conseiller personnel.</p><div class=\"col-sm-12 cta-checkmarks cta-checkmarks-wo-img\"><div class=\"col-sm-4 cta-mark cta-checkmarks-img\"><img src=\"https://www.ionos.fr/digitalguide/sites-internet/developpement-web/keras-tutorial/typo3conf/ext/cip_calltoaction/Resources/Public/Icons/Content/ionos-checkmark.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /><em>Simple</em></div><div class=\"col-sm-4 cta-mark cta-checkmarks-img\"><img src=\"https://www.ionos.fr/digitalguide/sites-internet/developpement-web/keras-tutorial/typo3conf/ext/cip_calltoaction/Resources/Public/Icons/Content/ionos-checkmark.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /><em>S\u00fbr</em></div><div class=\"col-sm-4 cta-mark cta-checkmarks-img\"><img src=\"https://www.ionos.fr/digitalguide/sites-internet/developpement-web/keras-tutorial/typo3conf/ext/cip_calltoaction/Resources/Public/Icons/Content/ionos-checkmark.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /><em>Int\u00e9gr\u00e9</em></div></div></div>\n<div id=\"c333019\"><h2 class=\"blue\">Pr\u00e9parer son syst\u00e8me avant d\u2019utiliser Keras</h2><div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\"><p>La meilleure fa\u00e7on de pr\u00e9parer votre syst\u00e8me \u00e0 l\u2019utilisation de Keras est <strong>d\u2019installer le logiciel</strong><a href=\"https://www.anaconda.com/\" title=\"Site Web d&#x2019;Anaconda\" target=\"_blank\" class=\"external-link-window\"><strong>Anaconda</strong></a>. Il s\u2019agit d\u2019une plateforme gratuite pour la data science. Livr\u00e9e avec une installation Python3, elle contient des biblioth\u00e8ques et des outils utiles.</p></div></div>\n<div id=\"c333020\"><h3>Installer Anaconda et Python</h3><div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\"><p>Les explications et le code ci-dessous se r\u00e9f\u00e8rent \u00e0 <strong>macOS.</strong> En principe, le code devrait \u00e9galement fonctionner sous d\u2019autres syst\u00e8mes d\u2019exploitation. Cependant, vous devrez peut-\u00eatre faire quelques ajustements, surtout si vous utilisez Windows.</p><p>Si vous \u00eates familier avec la ligne de commande et que vous avez install\u00e9 <strong>le logiciel Homebrew gratuit pour la gestion des paquets sur votre Mac</strong>, utilisez-le pour installer Anaconda. Pour ce faire, ouvrez une ligne de commande (\u00ab\u00a0Terminal.App\u00a0\u00bb sur le Mac), copiez la ligne de code suivante dans Terminal et ex\u00e9cutez-la\u00a0:</p></div></div>\n<div id=\"c333021\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">brew cask install anaconda</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333022\"><p>Si vous ne connaissez pas Homebrew, ou si vous souhaitez <strong>installer Anaconda sous Windows ou Linux</strong>, veuillez t\u00e9l\u00e9charger le package d\u2019installation adapt\u00e9 \u00e0 votre syst\u00e8me \u00e0 partir de la page suivante : <a href=\"https://www.anaconda.com/products/individual\" title=\"Anaconda &#x2013; &#xe9;dition Individual\" target=\"_blank\" class=\"external-link-window\">version \u00ab\u00a0Individual\u00a0\u00bb d\u2019Anaconda</a>.</p></div>\n<div id=\"c333023\"><h3>Tester l\u2019installation d\u2019Anaconda et Python</h3><div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\"><p>Pour vous assurer que <strong>Anaconda et Python sont correctement install\u00e9s</strong>, ex\u00e9cutez les commandes suivantes sur la ligne de commande :</p><p><strong>Pour afficher la version du gestionnaire de paquets Conda\u00a0:</strong></p></div></div>\n<div id=\"c333024\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">conda \u2013version</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333025\"><p><strong>Pour afficher la version de l\u2019interpr\u00e9teur Python\u00a0:</strong></p></div>\n<div id=\"c333026\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">python --version</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333027\"><p>Si vous recevez le message d\u2019erreur \u00ab\u00a0Command not found\u00a0\u00bb pendant la frappe, vous <strong>devrez peut-\u00eatre d\u00e9finir le chemin d\u2019acc\u00e8s aux binaires d\u2019Anaconda</strong>. Lisez la section suivante pour en savoir plus. Si les tests ont fonctionn\u00e9, sautez cette \u00e9tape.</p></div>\n<div id=\"c333028\"><h3>Cr\u00e9er le chemin pour les binaires d\u2019Anaconda</h3><div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\"><p>La variable d\u2019environnement \"PATH\" contient des informations sur l\u2019emplacement de c<strong>ertains utilitaires dans le syst\u00e8me de fichiers</strong>. Dans la variable d\u2019environnement, les chemins sont s\u00e9par\u00e9s par un double point. Vous pouvez ajouter d\u2019autres chemins, pr\u00e9sent\u00e9s ici pour la version 3 d\u2019Anaconda :</p></div></div>\n<div id=\"c333029\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">export PATH=/usr/local/anaconda3/bin:\"$PATH\"</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333030\"><p>Vous devez <strong>stocker cette ligne de code dans votre syst\u00e8me</strong> pour que le chemin soit r\u00e9ellement actif. Selon le syst\u00e8me et le shell utilis\u00e9 (bash, zsh, etc.), le fichier dans lequel la modification est effectu\u00e9e diff\u00e8re. Nous le montrons ici \u00e0 titre d\u2019exemple pour Bash sous macOS.</p><p>Ex\u00e9cutez les lignes de code suivantes sur la ligne de commande pour ajuster la variable de chemin dans le fichier \".bash_profile\"</p><p><strong>Chemin variable pour \u00e9tendre l\u2019installation Anaconda</strong></p></div>\n<div id=\"c333031\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">echo -n 'export PATH=/usr/local/anaconda3/bin:\"$PATH\"' &gt;&gt; \"$HOME/.bash_profile\"</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333032\"><p><strong>T\u00e9l\u00e9charger le fichier .bash_profile</strong></p></div>\n<div id=\"c333033\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">source \"$HOME/.bash_profile\"</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333035\"><p>R\u00e9p\u00e9tez ensuite les tests :</p><p><strong>Affichage de la version du gestionnaire du paquet Conda</strong></p></div>\n<div id=\"c333036\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">conda &amp;#x2013;version</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333037\"><p><strong>Afficher la version de l\u2019interpr\u00e9teur Python</strong></p></div>\n<div id=\"c333038\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">python --version</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333039\"><p>Vous devriez maintenant voir les num\u00e9ros de version. Si c\u2019est le cas, vous pouvez continuer \u00e0 suivre les \u00e9tapes suivantes.</p></div>\n<div id=\"c333040\"><h2 class=\"blue\">Mettre \u00e0 jour son installation Anaconda et Python</h2><div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\"><p>Avant de commencer un nouveau projet, il est <strong>conseill\u00e9 de mettre \u00e0 jour les biblioth\u00e8ques sous-jacentes</strong>. La plateforme Anaconda est livr\u00e9e avec le gestionnaire de paquets \u00ab\u00a0conda\u00a0\u00bb. Utilisez les commandes conda suivantes pour appliquer les mises \u00e0 jour disponibles :</p><p><strong>Installation de mises \u00e0 jour pour le gestionnaire de paquets Conda</strong></p></div></div>\n<div id=\"c333041\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">conda update conda</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333042\"><p><strong>Installer les mises \u00e0 jour Anaconda</strong></p></div>\n<div id=\"c333043\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">conda update anaconda</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333044\"><p>V\u00e9rifiez les num\u00e9ros de version des paquets Keras Deep Learning install\u00e9s</p><p>Keras est \u00e9crit en Python et s\u2019appuie sur une vari\u00e9t\u00e9 d\u2019autres modules Python. Ex\u00e9cutez le bloc de code suivant sur la ligne de commande pour afficher les num\u00e9ros de version des <strong>logiciels de deep learning de Keras les plus couramment utilis\u00e9s</strong> :</p></div>\n<div id=\"c333045\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">python &lt;&lt; EOF\nprint()\n# scipy\nimport scipy\nprint(\u2018scipy: %s\u2019 % scipy.__version__)\n# numpy\nimport numpy\nprint(\u2018numpy: %s\u2019 % numpy.__version__)\n# matplotlib\nimport matplotlib\nprint(\u2018matplotlib: %s\u2019 % matplotlib.__version__)\n# pandas\nimport pandas\nprint(\u2018pandas: %s\u2019 % pandas.__version__)\n# statsmodels\nimport statsmodels\nprint(\u2018statsmodels: %s\u2019 % statsmodels.__version__)\n# scikit-learn\nimport sklearn\nprint(\u2018sklearn: %s\u2019 % sklearn.__version__)\nprint()\nEOF</pre></div>\n<div id=\"c333046\"><h3>Installer Keras sur son syst\u00e8me</h3><div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\"><p>Apr\u00e8s avoir pr\u00e9par\u00e9 le syst\u00e8me, <strong>il s\u2019agit maintenant d\u2019installer Keras</strong>. Pour ce faire, ex\u00e9cutez les lignes de code suivantes sur la ligne de commande :</p><p><strong>Installer TensorFlow</strong></p></div></div>\n<div id=\"c333047\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">pip install tensorflow</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333048\"><p><strong>Installer Keras</strong></p></div>\n<div id=\"c333049\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">pip install keras</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333050\"><p>Comme pr\u00e9c\u00e9demment, <strong>v\u00e9rifiez ensuite la version de Keras install\u00e9e</strong>. Utilisez pour cela la ligne de code suivante :</p></div>\n<div id=\"c333051\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">python -c \"import keras; print(keras.__version__)\"</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333052\"><p>Si l\u2019installation de Keras remonte \u00e0 un certain temps, vous devez <strong>v\u00e9rifier les mises \u00e0 jour disponibles et les installer.</strong> La ligne de code suivante le fait pour vous. Copiez-le comme d\u2019habitude, et ex\u00e9cutez le code sur la ligne de commande :</p></div>\n<div id=\"c333053\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">pip install --upgrade keras</pre></div>\n<div id=\"c333054\"><h2 class=\"blue\">Exemple de deep learning facile avec Keras</h2><div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\"><p>L\u2019\u00e9quipe Keras a publi\u00e9 une <a href=\"https://github.com/keras-team/keras/tree/tf-2/examples\" title=\"Exemples Keras sur GitHub\" target=\"_blank\">liste d\u2019exemples Keras</a> avec licence gratuite sur GitHub. Nous traiterons les <a href=\"https://github.com/ShawDa/Keras-examples/blob/master/mnist_cnn.py\" title=\"Exemples sur GitHub\" target=\"_blank\" class=\"link-external-blank\">exemples \u2018mnist_cnn.py\u2019</a> pour illustrer ce tutoriel Keras. Le code cr\u00e9e un\u00a0\u00ab\u00a0<strong>convolutional Neural Network\u00a0\u00bb</strong> (CNN ou ConvNet) et le forme sur les donn\u00e9es de formation.</p><p>Pour les donn\u00e9es de formation et de test, le script de l\u2019exemple Keras utilise l\u2019ensemble de donn\u00e9es de MNIST. Il s\u2019agit d\u2019une importante collection de petites images de 28 x 28 pixels chacune. Chaque image contient un num\u00e9ro \u00e9crit \u00e0 la main. <strong>L\u2019ensemble de donn\u00e9es MNIST est la norme pour la reconnaissance des formes</strong> et est livr\u00e9 avec Keras.</p><p>Si vous \u00eates curieux, vous pouvez consulter les <strong>donn\u00e9es relatives \u00e0 la formation et aux tests</strong>. Pour ce faire, copiez le bloc de code suivant et ex\u00e9cutez-le sur la ligne de commande. Chaque fois que vous l\u2019ex\u00e9cuterez, vous verrez l\u2019un des \u00e9crans de formation.</p></div></div>\n<div id=\"c333055\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">python &lt;&lt; EOF\n# T\u00e9l\u00e9charger Keras \nimport keras\n# T\u00e9l\u00e9charger les donn\u00e9es de formation et de test MNIST \nfrom keras.datasets import mnist\n# T\u00e9l\u00e9charger la biblioth\u00e8que pour la pr\u00e9sentation graphique \nimport matplotlib.pyplot as plt\n# T\u00e9l\u00e9charger la fonction de s\u00e9lection al\u00e9atoire des images\nfrom random import randint\n# T\u00e9l\u00e9charger les ensembles de donn\u00e9es \n(train_images, train_labels), (test_images, test_labels) = mnist.load_data()\n# Afficher les images \nplt.figure()\nplt.imshow(train_images[randint(1, len(train_images) - 1)])\nplt.grid(False)\nplt.show()\nEOF</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333056\"><p>Dans ce qui suit, nous allons apprendre au r\u00e9seau de neurones \u00e0 attribuer correctement les nombres manuscrits. <strong>La formation du r\u00e9seau est exigeante sur le plan informatique</strong>. Ne soyez donc pas surpris si votre ordinateur cesse de fonctionner correctement, c\u2019est normal. Si vous utilisez un appareil mobile, assurez-vous que la batterie est suffisamment charg\u00e9e ou branchez l\u2019appareil.</p><p>Nous allons d\u2019abord <strong>cr\u00e9er un dossier de test sur le bureau, puis passer \u00e0 ce dossier et y cr\u00e9er un script Python vide.</strong> Utilisez les lignes de code suivantes ; copiez-les et ex\u00e9cutez-les sur la ligne de commande :</p><p><strong>Pour cr\u00e9er un dossier \u00ab\u00a0keras-test\u00a0\u00bb sur le bureau</strong></p></div>\n<div id=\"c333057\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">mkdir \"$HOME/Desktop/keras-test/\" &amp;&amp; cd \"$HOME/Desktop/keras-test/\"</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333058\"><p><strong>Pour cr\u00e9er un script Python vide</strong></p></div>\n<div id=\"c333059\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">touch keras-test.py</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333060\"><p>Ensuite, vous devez copier le script dans le fichier \u00ab\u00a0keras-test.py\u00a0\u00bb et le sauvegarder.</p><p>Une fois le dossier test cr\u00e9\u00e9, l\u2019\u00e9tape suivante consiste \u00e0 <strong>cr\u00e9er le script d\u2019exemple Keras.</strong> Pour ce faire, copiez le code \u00e0 la fin de cet article et collez-le dans un document texte vide. Enregistrez le document dans le dossier \u00ab\u00a0keras-test\u00a0\u00bb qui vient d\u2019\u00eatre cr\u00e9\u00e9 sur le bureau dans le fichier \u00ab\u00a0keras-test.py\u00a0\u00bb jusqu\u2019\u00e0 pr\u00e9sent vide. Enfin, pour ex\u00e9cuter le script d\u2019exemple Keras \u00e0 l\u2019aide de l\u2019interpr\u00e9teur Python, entrez les lignes de code suivantes sur la ligne de commande :</p></div>\n<div id=\"c333061\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\">cd \"$HOME/Desktop/keras-test/\" &amp;&amp; python keras-test.py</pre></div>\n<div class=\"text-row ce-textpic ce-center ce-above ce-bodytext\" id=\"c333062\"><p>Vous devriez maintenant voir quelques informations sur le statut. Ensuite, <strong>le script commencera \u00e0 former ConvNet</strong>, en vous montrant les progr\u00e8s r\u00e9alis\u00e9s \u00e0 chaque \u00e9poque. Apr\u00e8s l\u2019ex\u00e9cution du script, ConvNet est form\u00e9 et disponible pour la classification des nombres manuscrits.</p></div>\n<div id=\"c333064\" class=\"frame frame-default frame-type-fs_code_snippet frame-layout-0\"><pre class=\"language-mixed\"># Enregistrez le code dans le fichier \u00ab keras-test.py \u00bb dans le dossier \u00ab keras-test \u00bb\nfrom __future__ import print_function\n# T\u00e9l\u00e9charger Keras \nimport keras\n# T\u00e9l\u00e9charger les dossiers de formation et de test MNIST\nfrom keras.datasets import mnist\n# T\u00e9l\u00e9charger le mod\u00e8le s\u00e9quentiel \nfrom keras.models import Sequential\n# T\u00e9l\u00e9charger les couches des cellules neuronales \nfrom keras.layers import Dense, Dropout, Flatten\nfrom keras.layers import Conv2D, MaxPooling2D\nfrom keras import backend as K\n# Nombre de caract\u00e9ristiques de donn\u00e9es diff\u00e9rentes : chiffres 0-9\nnum_classes = 10\n# Nombre de laissez-passer pour la formation du r\u00e9seau de neurones\nepochs = 12\n# Nombre de donn\u00e9es utilis\u00e9es lors d\u2019un passage\nbatch_size = 128\n# Dimensions des images d\u2019entr\u00e9e (28 x 28 pixels par image)\nimg_rows, img_cols = 28, 28\n# T\u00e9l\u00e9charger les formations et les tests \n(train_images, train_labels), (test_images, test_labels) = mnist.load_data()\nif K.image_data_format() == \u2018channels_first\u2019:\n    train_images = train_images.reshape(train_images.shape[0], 1, img_rows, img_cols)\n    test_images = test_images.reshape(test_images.shape[0], 1, img_rows, img_cols)\n    input_shape = (1, img_rows, img_cols)\nelse:\n    train_images = train_images.reshape(train_images.shape[0], img_rows, img_cols, 1)\n    test_images = test_images.reshape(test_images.shape[0], img_rows, img_cols, 1)\n    input_shape = (img_rows, img_cols, 1)\n# D\u00e9finir le type de donn\u00e9es en nombre d\u00e9cimal \ntrain_images = train_images.astype(\u2018float32\u2019)\ntest_images = test_images.astype(\u2018float32\u2019)\n# Normaliser les donn\u00e9es des images\ntrain_images /= 255\ntest_images /= 255\nprint(\u2018train_images shape:\u2019, train_images.shape)\nprint(train_images.shape[0], \u2018train samples\u2019)\nprint(test_images.shape[0], \u2018test samples\u2019)\n# Convertir les vecteurs de classe en matrices de classe binaires\ntrain_labels = keras.utils.to_categorical(train_labels, num_classes)\ntest_labels = keras.utils.to_categorical(test_labels, num_classes)\n# Cr\u00e9er un mod\u00e8le\nmodel = Sequential()\n# Ajouter des couches au mod\u00e8le\nmodel.add(Conv2D(32, kernel_size=(3, 3),\n                 activation=\u2018relu\u2019,\n                 input_shape=input_shape))\nmodel.add(Conv2D(64, (3, 3), activation=\u2018relu\u2019))\nmodel.add(MaxPooling2D(pool_size=(2, 2)))\nmodel.add(Dropout(0.25))\nmodel.add(Flatten())\nmodel.add(Dense(128, activation=\u2018relu\u2019))\nmodel.add(Dropout(0.5))\nmodel.add(Dense(num_classes, activation=\u2018softmax\u2019))\n# Compiler le mod\u00e8le\nmodel.compile(loss=keras.losses.categorical_crossentropy,\n              optimizer=keras.optimizers.Adadelta(),\n              metrics=[\u2018accuracy\u2019])\n# Former le mod\u00e8le\nmodel.fit(train_images, train_labels,\n          batch_size=batch_size,\n          epochs=epochs,\n          verbose=1,\n          validation_data=(test_images, test_labels))\n# \u00c9valuer le mod\u00e8le\nscore = model.evaluate(test_images, test_labels, verbose=0)\nprint(\u2018Test loss:\u2019, score[0])\nprint(\u2018Test accuracy:\u2019, score[1])</pre></div>",
    "created_at": "2022-01-24T20:22:06+00:00",
    "updated_at": "2022-01-24T20:22:24+00:00",
    "published_by": [""],
    "annotations": [],
    "mimetype": "text/html",
    "language": "fr",
    "reading_time": 9,
    "domain_name": "www.ionos.fr",
    "preview_picture": "https://www.ionos.fr/digitalguide/fileadmin/DigitalGuide/Teaser/pair-programming-t.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "tutorial", "pyspark"],
    "is_public": false,
    "id": 9,
    "title": "PySpark Tutorial For Beginners | Python Examples \u2014 Spark by {Examples}",
    "url": "https://sparkbyexamples.com/pyspark-tutorial/",
    "content": "<h2>Spark with Python (PySpark) Tutorial For Beginners</h2>\n<p>In this PySpark Tutorial (Spark with Python) with examples, you will learn what is PySpark? it\u2019s features, advantages, modules, packages, and how to use RDD &amp; DataFrame with sample examples in Python code.</p>\n<p>Every sample example explained here is tested in our development environment and is available at\u00a0<a href=\"https://github.com/spark-examples/pyspark-examples/\">PySpark Examples Github project</a>\u00a0for reference.</p>\n<p>All Spark examples provided in this PySpark (Spark with Python) tutorial is basic, simple, and easy to practice for beginners who are enthusiastic to learn PySpark and advance your career in BigData and <a href=\"https://en.wikipedia.org/wiki/Machine_learning\">Machine Learning</a>.</p>\n<p><strong>Note:</strong> In case if you can\u2019t find the PySpark examples you are looking for on this tutorial page, I would recommend using the Search option from the menu bar to find your tutorial and sample example code. There are hundreds of tutorials in <a href=\"https://sparkbyexamples.com/\">Spark</a>, Scala, PySpark, and Python on this website you can learn from.</p>\n<p>If you are working with smaller Dataset and doesn\u2019t have Spark cluster, still you wanted to get benefits similar to Spark DataFrame, you can use <a href=\"https://sparkbyexamples.com/pandas/pandas-dataframe-tutorial-beginners-guide/\">Python pandas DataFrames</a>. Main difference is pandas DataFrame\u2019s are not distributed and runs on single node.</p>\n<ul><li><a href=\"#what-is-pyspark\">What is PySpark</a>\n<ul><li><a href=\"#introduction\">Introduction</a></li>\n<li><a href=\"#uses-pyspark\">Who uses PySpark</a></li>\n<li><a href=\"#features\">Features</a></li>\n<li><a href=\"#advantages\">Advantages</a></li>\n</ul></li>\n<li><a href=\"#architecture\">PySpark Architecture</a></li>\n<li><a href=\"https://sparkbyexamples.com/wp-admin/post.php?post=7205&amp;action=edit#cluster-manager\">Cluster Manager Types</a></li>\n<li><a href=\"#modules-packages\">Modules and Packages</a></li>\n<li><a href=\"#pyspark-installation\">PySpark Installation on windows</a></li>\n<li><a href=\"#spyder-ide\">Spyder IDE &amp; Jupyter Notebook</a></li>\n<li><a href=\"#rdd\">PySpark RDD</a>\n<ul><li><a href=\"#rdd-creation\">RDD creation</a></li>\n<li><a href=\"#rdd-operations\">RDD operations</a></li>\n</ul></li>\n<li><a href=\"#pyspark-dataframe\">PySpark DataFrame</a>\n<ul><li><a href=\"#pandas\">Is PySpark faster than pandas?</a></li>\n<li><a href=\"#dataframe-creation\">DataFrame creation</a></li>\n<li><a href=\"#dataframe-creation\">DataFrame Operations</a></li>\n<li><a href=\"#external-data-sources\">DataFrame external data sources</a></li>\n<li><a href=\"#file-formats\">Supported file formats</a></li>\n</ul></li>\n<li><a href=\"#pyspark-sql\">PySpark SQL</a></li>\n<li><a href=\"#pyspark-streaming\">PySpark Streaming</a>\n<ul><li><a href=\"#tcp-socket\">Streaming from TCP Socket</a></li>\n<li><a href=\"#kafka\">Streaming from Kafka</a></li>\n</ul></li>\n<li><a href=\"#pyspark-graphframes\">PySpark GraphFrames</a>\n<ul><li><a href=\"#graphx-graphframes\">GraphX vs GraphFrames</a></li>\n</ul></li>\n</ul><h2 id=\"what-is-pyspark\">What is PySpark?</h2>\n<p>Before we jump into the PySpark tutorial, first, let\u2019s understand what is PySpark and how it is related to Python? who uses PySpark and it\u2019s advantages.</p>\n<p>PySpark is a Spark library written in Python to run Python application using Apache Spark capabilities, using PySpark we can run applications parallelly on the distributed cluster (multiple nodes).</p>\n<p>In other words, PySpark is a Python API for Apache Spark. Apache Spark is an analytical processing engine for large scale powerful distributed data processing and machine learning applications.</p>\n<figure class=\"wp-block-image size-large\"><p><img width=\"1024\" height=\"164\" alt=\"What is PySpark\" data-srcset=\"https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/What-is-PySpark.png?w=1024&amp;ssl=1 1024w, https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/What-is-PySpark.png?resize=300%2C48&amp;ssl=1 300w, https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/What-is-PySpark.png?resize=768%2C123&amp;ssl=1 768w\" data-recalc-dims=\"1\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" class=\"wp-image-7858 lazyload\" src=\"https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/What-is-PySpark.png?resize=1024%2C164&amp;ssl=1\" referrerpolicy=\"no-referrer\" /></p>\n<noscript>\n<p><img width=\"1024\" height=\"164\" src=\"https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/What-is-PySpark.png?resize=1024%2C164&amp;ssl=1\" alt=\"What is PySpark\" class=\"wp-image-7858\" srcset=\"https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/What-is-PySpark.png?w=1024&amp;ssl=1 1024w, https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/What-is-PySpark.png?resize=300%2C48&amp;ssl=1 300w, https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/What-is-PySpark.png?resize=768%2C123&amp;ssl=1 768w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<figcaption>source: <a href=\"https://databricks.com/\" target=\"_blank\" rel=\"noreferrer noopener\">https://databricks.com/</a></figcaption></figure><p>Spark basically written in Scala and later on due to its industry adaptation it\u2019s API PySpark released for Python using Py4J. <code>Py4J</code> is a Java library that is integrated within PySpark and allows python to dynamically interface with JVM objects, hence to run PySpark you also need Java to be installed along with Python, and Apache Spark.</p>\n<p>Additionally, For the development, you can use <a href=\"https://www.anaconda.com/\">Anaconda distribution</a> (widely used in the Machine Learning community) which comes with a lot of useful tools like <a href=\"https://www.spyder-ide.org/\">Spyder IDE</a>, <a href=\"https://jupyter.org/\">Jupyter notebook</a> to run PySpark applications.</p>\n<p>In real-time, PySpark has used a lot in the machine learning &amp; Data scientists community; thanks to vast python machine learning libraries. Spark runs operations on billions and trillions of data on distributed clusters 100 times faster than the traditional python applications.</p>\n<h3 id=\"uses-pyspark\">Who uses PySpark?</h3>\n<p>PySpark is very well used in Data Science and Machine Learning community as there are many widely used data science libraries written in Python including NumPy, TensorFlow. Also used due to its efficient processing of large datasets. PySpark has been used by many organizations like Walmart, Trivago, Sanofi, Runtastic, and many more.</p>\n<h3 id=\"features\">Features</h3>\n<p>Following are the main features of PySpark.</p>\n<figure class=\"wp-block-image size-large\"><p><img width=\"960\" height=\"720\" alt=\"PySpark Features\" data-srcset=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-features.png?w=960&amp;ssl=1 960w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-features.png?resize=300%2C225&amp;ssl=1 300w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-features.png?resize=768%2C576&amp;ssl=1 768w\" data-recalc-dims=\"1\" data-sizes=\"(max-width: 960px) 100vw, 960px\" class=\"wp-image-7863 lazyload\" src=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-features.png?resize=960%2C720&amp;ssl=1\" referrerpolicy=\"no-referrer\" /></p>\n<noscript>\n<p><img width=\"960\" height=\"720\" src=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-features.png?resize=960%2C720&amp;ssl=1\" alt=\"PySpark Features\" class=\"wp-image-7863\" srcset=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-features.png?w=960&amp;ssl=1 960w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-features.png?resize=300%2C225&amp;ssl=1 300w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-features.png?resize=768%2C576&amp;ssl=1 768w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<figcaption>PySpark Features</figcaption></figure><ul><li>In-memory computation</li>\n<li>Distributed processing using parallelize</li>\n<li>Can be used with many cluster managers (Spark, Yarn, Mesos e.t.c)</li>\n<li>Fault-tolerant</li>\n<li>Immutable</li>\n<li>Lazy evaluation</li>\n<li>Cache &amp; persistence</li>\n<li>Inbuild-optimization when using DataFrames</li>\n<li>Supports ANSI SQL</li>\n</ul><h3 id=\"advantages\">Advantages of PySpark</h3>\n<ul><li>PySpark is a general-purpose, in-memory, distributed processing engine that allows you to process data efficiently in a distributed fashion.</li>\n<li>Applications running on PySpark are 100x faster than traditional systems.</li>\n<li>You will get great benefits using PySpark for data ingestion pipelines.</li>\n<li>Using PySpark we can process data from Hadoop HDFS, AWS S3, and many file systems.</li>\n<li>PySpark also is used to process real-time data using Streaming and Kafka.</li>\n<li>Using PySpark streaming you can also stream files from the file system and also stream from the socket.</li>\n<li>PySpark natively has machine learning and graph libraries.</li>\n</ul><h2 id=\"architecture\">PySpark Architecture</h2>\n<p>Apache Spark works in a master-slave architecture where the master is called \u201cDriver\u201d and slaves are called \u201cWorkers\u201d. When you run a Spark application, Spark Driver creates a context that is an entry point to your application, and all operations (transformations and actions) are executed on worker nodes, and the resources are managed by Cluster Manager.</p>\n<figure class=\"wp-block-image size-large\"><p><img width=\"596\" height=\"286\" alt=\"spark architecture\" data-srcset=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/02/spark-cluster-overview.png?w=596&amp;ssl=1 596w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/02/spark-cluster-overview.png?resize=300%2C144&amp;ssl=1 300w\" data-recalc-dims=\"1\" data-sizes=\"(max-width: 596px) 100vw, 596px\" class=\"wp-image-5811 lazyload\" src=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/02/spark-cluster-overview.png?resize=596%2C286&amp;ssl=1\" referrerpolicy=\"no-referrer\" /></p>\n<noscript>\n<p><img width=\"596\" height=\"286\" src=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/02/spark-cluster-overview.png?resize=596%2C286&amp;ssl=1\" alt=\"spark architecture\" class=\"wp-image-5811\" srcset=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/02/spark-cluster-overview.png?w=596&amp;ssl=1 596w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/02/spark-cluster-overview.png?resize=300%2C144&amp;ssl=1 300w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<figcaption>source: <a href=\"https://spark.apache.org/\">https://spark.apache.org/</a></figcaption></figure><h2 id=\"cluster-manager\">Cluster Manager Types</h2>\n<p>As of writing this Spark with Python (PySpark) tutorial, Spark supports below cluster managers:</p>\n<ul><li><a href=\"https://spark.apache.org/docs/latest/spark-standalone.html\">Standalone</a>\u00a0\u2013 a simple cluster manager included with Spark that makes it easy to set up a cluster.</li>\n<li><a href=\"https://spark.apache.org/docs/latest/running-on-mesos.html\">Apache Mesos</a>\u00a0\u2013 Mesons is a Cluster manager that can also run Hadoop MapReduce and PySpark applications.</li>\n<li><a href=\"https://spark.apache.org/docs/latest/running-on-yarn.html\">Hadoop YARN</a>\u00a0\u2013 the resource manager in Hadoop 2. This is mostly used, cluster manager.</li>\n<li><a href=\"https://spark.apache.org/docs/latest/running-on-kubernetes.html\">Kubernetes</a>\u00a0\u2013 an open-source system for automating deployment, scaling, and management of containerized applications.</li>\n</ul><p>local \u2013 which is not really a cluster manager but still I wanted to mention as we use \u201clocal\u201d for <code>master()</code> in order to run Spark on your laptop/computer.</p>\n<h2 id=\"modules-packages\">PySpark Modules &amp; Packages</h2>\n<figure class=\"wp-block-image size-large\"><p><img width=\"1024\" height=\"576\" alt=\"modules and packages\" data-srcset=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-modules-features.png?resize=1024%2C576&amp;ssl=1 1024w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-modules-features.png?resize=300%2C169&amp;ssl=1 300w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-modules-features.png?resize=768%2C432&amp;ssl=1 768w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-modules-features.png?w=1280&amp;ssl=1 1280w\" data-recalc-dims=\"1\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" class=\"wp-image-7864 lazyload\" src=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-modules-features.png?resize=1024%2C576&amp;ssl=1\" referrerpolicy=\"no-referrer\" /></p>\n<noscript>\n<p><img width=\"1024\" height=\"576\" src=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-modules-features.png?resize=1024%2C576&amp;ssl=1\" alt=\"modules and packages\" class=\"wp-image-7864\" srcset=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-modules-features.png?resize=1024%2C576&amp;ssl=1 1024w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-modules-features.png?resize=300%2C169&amp;ssl=1 300w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-modules-features.png?resize=768%2C432&amp;ssl=1 768w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-modules-features.png?w=1280&amp;ssl=1 1280w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<figcaption>Modules &amp; packages</figcaption></figure><ul><li>PySpark RDD (<a href=\"https://spark.apache.org/docs/latest/api/python/pyspark.html#pyspark.RDD\">pyspark.RDD</a>)</li>\n<li>PySpark DataFrame and SQL (<a href=\"https://spark.apache.org/docs/latest/api/python/pyspark.sql.html\">pyspark.sql</a>)</li>\n<li>PySpark Streaming (<a href=\"https://spark.apache.org/docs/latest/api/python/pyspark.streaming.html\">pyspark.streaming</a>)</li>\n<li>PySpark MLib (<a href=\"https://spark.apache.org/docs/latest/api/python/pyspark.ml.html\">pyspark.ml</a>, <a href=\"https://spark.apache.org/docs/latest/api/python/pyspark.mllib.html\">pyspark.mllib</a>)</li>\n<li>PySpark GraphFrames (<a href=\"https://graphframes.github.io/graphframes/docs/_site/index.html\">GraphFrames</a>)</li>\n<li>PySpark Resource (<a href=\"https://spark.apache.org/docs/latest/api/python/pyspark.resource.html\">pyspark.resource</a>) It\u2019s new in PySpark 3.0</li>\n</ul><figure class=\"wp-block-image size-large\"><p><img width=\"1018\" height=\"572\" alt=\"Spark Modules and components\" data-srcset=\"https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/02/spark-components-1.jpg?w=1018&amp;ssl=1 1018w, https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/02/spark-components-1.jpg?resize=300%2C169&amp;ssl=1 300w, https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/02/spark-components-1.jpg?resize=768%2C432&amp;ssl=1 768w\" data-recalc-dims=\"1\" data-sizes=\"(max-width: 1018px) 100vw, 1018px\" class=\"wp-image-5813 lazyload\" src=\"https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/02/spark-components-1.jpg?resize=1018%2C572&amp;ssl=1\" referrerpolicy=\"no-referrer\" /></p>\n<noscript>\n<p><img width=\"1018\" height=\"572\" src=\"https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/02/spark-components-1.jpg?resize=1018%2C572&amp;ssl=1\" alt=\"Spark Modules and components\" class=\"wp-image-5813\" srcset=\"https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/02/spark-components-1.jpg?w=1018&amp;ssl=1 1018w, https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/02/spark-components-1.jpg?resize=300%2C169&amp;ssl=1 300w, https://i1.wp.com/sparkbyexamples.com/wp-content/uploads/2020/02/spark-components-1.jpg?resize=768%2C432&amp;ssl=1 768w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></p>\n</noscript></figure><p>Besides these, if you wanted to use third-party libraries, you can find them at <a href=\"https://spark-packages.org/\">https://spark-packages.org/</a> . This page is kind of a repository of all Spark third-party libraries.</p>\n<h2 id=\"pyspark-installation\">PySpark Installation</h2>\n<p>In order to run PySpark examples mentioned in this tutorial, you need to have Python, Spark and it\u2019s needed tools to be installed on your computer. Since most developers use Windows for development, I will explain how to install PySpark on windows.</p>\n<h4>Install Python or Anaconda distribution</h4>\n<p>Download and install either Python from <a href=\"https://www.python.org/downloads/windows/\">Python.org</a> or <a href=\"https://www.anaconda.com/\">Anaconda distribution</a> which includes Python, Spyder IDE, and Jupyter notebook. I would recommend using Anaconda as it\u2019s popular and used by the Machine Learning &amp; Data science community. Follow instructions to <a href=\"https://sparkbyexamples.com/python/install-anaconda-jupyter-notebook/\">Install Anaconda Distribution and Jupyter Notebook</a>.</p>\n<h4><strong>Install Java 8</strong></h4>\n<p>To run PySpark application, you would need Java 8 or later version hence download the Java version from <a href=\"https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\">Oracle</a> and install it on your system.</p>\n<p>Post installation, set <code>JAVA_HOME</code> and <code>PATH</code> variable.</p>\n<pre class=\"language-python\">\nJAVA_HOME = C:\\Program Files\\Java\\jdk1.8.0_201\nPATH = %PATH%;C:\\Program Files\\Java\\jdk1.8.0_201\\bin\n</pre>\n<h4><strong>Install Apache Spark</strong></h4>\n<p>Download Apache spark by accessing <a href=\"https://spark.apache.org/downloads.html\">Spark Download</a> page and select the link from \u201cDownload Spark (point 3)\u201d. If you wanted to use a different version of Spark &amp; Hadoop, select the one you wanted from drop downs and the link on point 3 changes to the selected version and provides you with an updated link to download.</p>\n<figure class=\"wp-block-image size-large\"><p><img width=\"565\" height=\"148\" alt=\"Pyspark installation\" data-srcset=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-installation.jpg?w=565&amp;ssl=1 565w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-installation.jpg?resize=300%2C79&amp;ssl=1 300w\" data-recalc-dims=\"1\" data-sizes=\"(max-width: 565px) 100vw, 565px\" class=\"wp-image-7886 lazyload\" src=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-installation.jpg?resize=565%2C148&amp;ssl=1\" referrerpolicy=\"no-referrer\" /></p>\n<noscript>\n<p><img width=\"565\" height=\"148\" src=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-installation.jpg?resize=565%2C148&amp;ssl=1\" alt=\"Pyspark installation\" class=\"wp-image-7886\" srcset=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-installation.jpg?w=565&amp;ssl=1 565w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-installation.jpg?resize=300%2C79&amp;ssl=1 300w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></p>\n</noscript></figure><p>After download, untar the binary using <a href=\"https://www.7-zip.org/download.html\">7zip</a> and copy the underlying folder <code>spark-3.0.0-bin-hadoop2.7</code> to <code>c:\\apps</code></p>\n<p>Now set the following environment variables.</p>\n<pre class=\"language-python\">\nSPARK_HOME  = C:\\apps\\spark-3.0.0-bin-hadoop2.7\nHADOOP_HOME = C:\\apps\\spark-3.0.0-bin-hadoop2.7\nPATH=%PATH%;C:\\apps\\spark-3.0.0-bin-hadoop2.7\\bin\n</pre>\n<h4>Setup winutils.exe</h4>\n<p>Download wunutils.exe file from <a href=\"https://github.com/steveloughran/winutils/blob/master/hadoop-2.7.1/bin/winutils.exe\">winutils</a>, and copy it to <code>%SPARK_HOME%\\bin</code> folder. Winutils are different for each Hadoop version hence download the right version from <a href=\"https://github.com/steveloughran/winutils\">https://github.com/steveloughran/winutils</a></p>\n<h4>PySpark shell</h4>\n<p>Now open command prompt and type <code>pyspark</code> command to run PySpark shell. You should see something like below.</p>\n<figure class=\"wp-block-image size-large\"><p><img width=\"668\" height=\"127\" alt=\"pyspark shell tutorial\" data-srcset=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-shell.jpg?w=668&amp;ssl=1 668w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-shell.jpg?resize=300%2C57&amp;ssl=1 300w\" data-recalc-dims=\"1\" data-sizes=\"(max-width: 668px) 100vw, 668px\" class=\"wp-image-7887 lazyload\" src=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-shell.jpg?resize=668%2C127&amp;ssl=1\" referrerpolicy=\"no-referrer\" /></p>\n<noscript>\n<p><img width=\"668\" height=\"127\" src=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-shell.jpg?resize=668%2C127&amp;ssl=1\" alt=\"pyspark shell tutorial\" class=\"wp-image-7887\" srcset=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-shell.jpg?w=668&amp;ssl=1 668w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-shell.jpg?resize=300%2C57&amp;ssl=1 300w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></p>\n</noscript></figure><p>Spark-shell also creates a <a href=\"https://sparkbyexamples.com/spark/spark-web-ui-understanding/\">Spark context web UI</a> and by default, it can access from <a href=\"http://localhost:4041\">http://localhost:4041</a>.</p>\n<h3>Spark Web UI</h3>\n<p>Apache Spark provides a suite of Web UIs (Jobs,\u00a0Stages,\u00a0Tasks,\u00a0Storage,\u00a0Environment,\u00a0Executors, and\u00a0SQL) to <a href=\"https://sparkbyexamples.com/spark/spark-web-ui-understanding/\">monitor the status of your Spark application</a>, resource consumption of Spark cluster, and Spark configurations. On Spark Web UI, you can see <a href=\"https://sparkbyexamples.com/spark/spark-web-ui-understanding/\">how the operations are executed</a>.</p>\n<figure class=\"wp-block-image size-large\"><p><img width=\"755\" height=\"501\" alt=\"Spark Web UI\" data-srcset=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-web-ui.png?w=755&amp;ssl=1 755w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-web-ui.png?resize=300%2C199&amp;ssl=1 300w\" data-recalc-dims=\"1\" data-sizes=\"(max-width: 755px) 100vw, 755px\" class=\"wp-image-8069 lazyload\" src=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-web-ui.png?resize=755%2C501&amp;ssl=1\" referrerpolicy=\"no-referrer\" /></p>\n<noscript>\n<p><img width=\"755\" height=\"501\" src=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-web-ui.png?resize=755%2C501&amp;ssl=1\" alt=\"Spark Web UI\" class=\"wp-image-8069\" srcset=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-web-ui.png?w=755&amp;ssl=1 755w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-web-ui.png?resize=300%2C199&amp;ssl=1 300w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<figcaption>Spark Web UI</figcaption></figure><h2 id=\"spark-history-server\">Spark History Server</h2>\n<p>Spark History servers, keep a log of all Spark application you <a href=\"https://sparkbyexamples.com/spark/spark-submit-command/\">submit by spark-submit</a>, spark-shell. before you start, first you need to set the below config on <code>spark-defaults.conf</code></p>\n<pre class=\"language-scala\">\nspark.eventLog.enabled true\nspark.history.fs.logDirectory file:///c:/logs/path\n</pre>\n<p>Now, start <a href=\"https://sparkbyexamples.com/spark/spark-history-server-to-monitor-applications/\">spark history server</a> on Linux or mac by running.</p>\n<pre class=\"language-scala\">\n$SPARK_HOME/sbin/start-history-server.sh\n</pre>\n<p>If you are running Spark on windows, you can start the history server by starting the below command.</p>\n<pre class=\"language-scala\">\n$SPARK_HOME/bin/spark-class.cmd org.apache.spark.deploy.history.HistoryServer\n</pre>\n<figure class=\"wp-block-image size-large\"><p><img width=\"1024\" height=\"465\" alt=\"spark history server\" data-srcset=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-history-server-1.png?resize=1024%2C465&amp;ssl=1 1024w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-history-server-1.png?resize=300%2C136&amp;ssl=1 300w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-history-server-1.png?resize=768%2C349&amp;ssl=1 768w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-history-server-1.png?w=1232&amp;ssl=1 1232w\" data-recalc-dims=\"1\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" class=\"wp-image-8557 lazyload\" src=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-history-server-1.png?resize=1024%2C465&amp;ssl=1\" referrerpolicy=\"no-referrer\" /></p>\n<noscript>\n<p><img width=\"1024\" height=\"465\" src=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-history-server-1.png?resize=1024%2C465&amp;ssl=1\" alt=\"spark history server\" class=\"wp-image-8557\" srcset=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-history-server-1.png?resize=1024%2C465&amp;ssl=1 1024w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-history-server-1.png?resize=300%2C136&amp;ssl=1 300w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-history-server-1.png?resize=768%2C349&amp;ssl=1 768w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/spark-history-server-1.png?w=1232&amp;ssl=1 1232w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<figcaption>Spark History Server</figcaption></figure><p>By clicking on each App ID, you will get the details of the application in <a href=\"https://sparkbyexamples.com/spark/spark-web-ui-understanding/\">PySpark web UI</a>.</p>\n<h2 id=\"spyder-ide\">Spyder IDE &amp; Jupyter Notebook</h2>\n<p>To write PySpark applications, you would need an IDE, there are 10\u2019s of IDE to work with and I choose to use <a href=\"https://sparkbyexamples.com/pyspark/setup-and-run-pyspark-on-spyder-ide/\">Spyder IDE</a> and Jupyter notebook. If you have not installed Spyder IDE and Jupyter notebook along with Anaconda distribution, install these before you proceed.</p>\n<p>Now, set the following environment variable.</p>\n<pre class=\"language-python\">\nPYTHONPATH =&gt; %SPARK_HOME%/python;$SPARK_HOME/python/lib/py4j-0.10.9-src.zip;%PYTHONPATH%\n</pre>\n<p>Now open Spyder IDE and create a new file with below simple PySpark program and run it. You should see 5 in output.</p>\n<figure class=\"wp-block-image size-large\"><p><img width=\"776\" height=\"383\" alt=\"spyder ide\" data-srcset=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-spyder.jpg?w=776&amp;ssl=1 776w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-spyder.jpg?resize=300%2C148&amp;ssl=1 300w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-spyder.jpg?resize=768%2C379&amp;ssl=1 768w\" data-recalc-dims=\"1\" data-sizes=\"(max-width: 776px) 100vw, 776px\" class=\"wp-image-7888 lazyload\" src=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-spyder.jpg?resize=776%2C383&amp;ssl=1\" referrerpolicy=\"no-referrer\" /></p>\n<noscript>\n<p><img width=\"776\" height=\"383\" src=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-spyder.jpg?resize=776%2C383&amp;ssl=1\" alt=\"spyder ide\" class=\"wp-image-7888\" srcset=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-spyder.jpg?w=776&amp;ssl=1 776w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-spyder.jpg?resize=300%2C148&amp;ssl=1 300w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-spyder.jpg?resize=768%2C379&amp;ssl=1 768w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<figcaption>PySpark application running on Spyder IDE</figcaption></figure><p>Now let\u2019s start the Jupyter Notebook</p>\n<figure class=\"wp-block-image size-large\"><p><img width=\"1024\" height=\"327\" alt=\"jupyter install\" data-srcset=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-jupyter.png?resize=1024%2C327&amp;ssl=1 1024w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-jupyter.png?resize=300%2C96&amp;ssl=1 300w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-jupyter.png?resize=768%2C245&amp;ssl=1 768w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-jupyter.png?w=1450&amp;ssl=1 1450w\" data-recalc-dims=\"1\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" class=\"wp-image-8565 lazyload\" src=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-jupyter.png?resize=1024%2C327&amp;ssl=1\" referrerpolicy=\"no-referrer\" /></p>\n<noscript>\n<p><img width=\"1024\" height=\"327\" src=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-jupyter.png?resize=1024%2C327&amp;ssl=1\" alt=\"jupyter install\" class=\"wp-image-8565\" srcset=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-jupyter.png?resize=1024%2C327&amp;ssl=1 1024w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-jupyter.png?resize=300%2C96&amp;ssl=1 300w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-jupyter.png?resize=768%2C245&amp;ssl=1 768w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/pyspark-jupyter.png?w=1450&amp;ssl=1 1450w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<figcaption>PySpark statements running on Jupyter Interface</figcaption></figure><h2 id=\"rdd\">PySpark RDD \u2013 Resilient Distributed Dataset</h2>\n<p>In this section of the PySpark tutorial, I will introduce the RDD and explains how to create them and use its transformation and action operations with examples. Here is the <a href=\"https://sparkbyexamples.com/pyspark-rdd/\">full article on PySpark RDD</a> in case if you wanted to learn more of and get your fundamentals strong.</p>\n<p><a href=\"https://sparkbyexamples.com/pyspark-rdd/\">PySpark RDD (Resilient Distributed Dataset)</a>\u00a0is a fundamental data structure of PySpark that is fault-tolerant, immutable distributed collections of objects, which means once you create an RDD you cannot change it. Each dataset in RDD is divided into logical partitions, which can be computed on different nodes of the cluster.</p>\n<h3 id=\"rdd-creation\">RDD Creation\u00a0</h3>\n<p>In order to create an RDD, first, you need to create a <a href=\"https://sparkbyexamples.com/pyspark/pyspark-what-is-sparksession/\">SparkSession which is an entry point to the PySpark application</a>. SparkSession can be created using a <code>builder()</code> or <code>newSession()</code> methods of the SparkSession.</p>\n<p>Spark session internally creates a <code>sparkContext</code> variable of <code>SparkContext</code>. You can create multiple SparkSession objects but only one SparkContext per JVM. In case if you want to create another new SparkContext you should stop existing Sparkcontext (using\u00a0<code>stop()</code>) before creating a new one.</p>\n<pre class=\"language-python\">\nspark = SparkSession.builder()\n      .master(\"local[1]\")\n      .appName(\"SparkByExamples.com\")\n      .getOrCreate()  \n</pre>\n<h4>using parallelize()</h4>\n<p>SparkContext has several functions to use with RDDs. For example, it\u2019s <code>parallelize()</code> method is used to create an RDD from a list.</p>\n<pre class=\"language-python\">\n#Create RDD from parallelize    \ndataList = [(\"Java\", 20000), (\"Python\", 100000), (\"Scala\", 3000)]\nrdd=spark.sparkContext.parallelize(dataList)\n</pre>\n<h4>using textFile()</h4>\n<p>RDD can also be created from a text file using <code>textFile()</code> function of the SparkContext.</p>\n<pre class=\"language-python\">\n//Create RDD from external Data source\nrdd2 = spark.sparkContext.textFile(\"/path/textFile.txt\")\n</pre>\n<p>Once you have an RDD, you can perform transformation and action operations. Any operation you perform on RDD runs in parallel.</p>\n<h3 id=\"rdd-operations\">RDD Operations</h3>\n<p>On PySpark RDD, you can perform two kinds of operations.</p>\n<p><strong>RDD transformations \u2013</strong>\u00a0Transformations are lazy operations. When you run a transformation(for example update), instead of updating a current RDD, these operations return another RDD.</p>\n<p><strong>RDD\u00a0actions</strong>\u00a0\u2013\u00a0operations that trigger computation and return RDD values to the driver.</p>\n<h4>RDD Transformations</h4>\n<p><a href=\"https://sparkbyexamples.com/apache-spark-rdd/spark-rdd-transformations/\">Transformations on Spark RDD</a>\u00a0returns another RDD and transformations are lazy meaning they don\u2019t execute until you call an action on RDD. Some transformations on RDD\u2019s are\u00a0<code>flatMap()</code>,\u00a0<code>map()</code>,\u00a0<code>reduceByKey()</code>,\u00a0<code>filter()</code>,\u00a0<code>sortByKey()</code>\u00a0and return new RDD instead of updating the current.</p>\n<h4>RDD Actions</h4>\n<p><a href=\"https://sparkbyexamples.com/apache-spark-rdd/spark-rdd-actions/\">RDD Action operation</a> returns the\u00a0values from an RDD to a driver node. In other words, any RDD function that returns non RDD[T] is considered as an action.\u00a0</p>\n<p>Some actions on RDD\u2019s are <code>count()</code>, <code>collect()</code>, <code>first()</code>, <code>max()</code>, <code>reduce()</code> and more.</p>\n<h2 id=\"pyspark-dataframe\">PySpark DataFrame</h2>\n<p>DataFrame definition is very well explained by Databricks hence I do not want to define it again and confuse you. Below is the definition I took it from Databricks.</p>\n<blockquote class=\"wp-block-quote\">\n<p>DataFrame is a distributed collection of data organized into named columns. It is conceptually equivalent to a table in a relational database or a data frame in R/Python, but\u00a0with richer optimizations under the hood. DataFrames can be constructed from a wide array of sources such as structured data files, tables in Hive, external databases, or existing RDDs.</p>\n<p><cite>\u2013 Databricks</cite></p>\n</blockquote>\n<p>If you are coming from a Python background I would assume you already know what Pandas DataFrame is; PySpark DataFrame is mostly similar to Pandas DataFrame with exception PySpark DataFrames are distributed in the cluster (meaning the data in DataFrame\u2019s are stored in different machines in a cluster) and any operations in PySpark executes in parallel on all machines whereas Panda Dataframe stores and operates on a single machine.</p>\n<p>If you have no Python background, I would recommend you learn some basics on Python before you proceeding this Spark tutorial. For now, just know that data in PySpark DataFrame\u2019s are stored in different machines in a cluster.</p>\n<h3 id=\"pandas\">Is PySpark faster than pandas?</h3>\n<p>Due to parallel execution on all cores on multiple machines, PySpark runs operations faster then pandas. In other words, <a href=\"https://sparkbyexamples.com/pandas/pandas-dataframe-tutorial-beginners-guide/\">pandas DataFrames</a> run operations on a single node whereas PySpark runs on multiple machines. To know more read at <a href=\"http://And%20also%20read%20more%20on%20pandas%20vs%20PySpark%20differences%20with%20Examples\">pandas DataFrame vs PySpark Differences with Examples</a>.</p>\n<h3 id=\"dataframe-creation\">DataFrame creation</h3>\n<p>Simplest way to create an DataFrame is from a Python list of data. DataFrame can also be created from an RDD and by reading a files from several sources.</p>\n<h4>using createDataFrame()</h4>\n<p>By using <code>createDataFrame()</code> function of the SparkSession you can create a DataFrame.</p>\n<pre class=\"language-python\">\ndata = [('James','','Smith','1991-04-01','M',3000),\n  ('Michael','Rose','','2000-05-19','M',4000),\n  ('Robert','','Williams','1978-09-05','M',4000),\n  ('Maria','Anne','Jones','1967-12-01','F',4000),\n  ('Jen','Mary','Brown','1980-02-17','F',-1)\n]\ncolumns = [\"firstname\",\"middlename\",\"lastname\",\"dob\",\"gender\",\"salary\"]\ndf = spark.createDataFrame(data=data, schema = columns)\n</pre>\n<p>Since DataFrame\u2019s are structure format which contains names and column, we can get the schema of the DataFrame using <code>df.printSchema()</code></p>\n<pre class=\"language-python\">\ndata = [('James','','Smith','1991-04-01','M',3000),\n  ('Michael','Rose','','2000-05-19','M',4000),\n  ('Robert','','Williams','1978-09-05','M',4000),\n  ('Maria','Anne','Jones','1967-12-01','F',4000),\n  ('Jen','Mary','Brown','1980-02-17','F',-1)\n]\ncolumns = [\"firstname\",\"middlename\",\"lastname\",\"dob\",\"gender\",\"salary\"]\ndf = spark.createDataFrame(data=data, schema = columns)\n</pre>\n<p><code>df.show()</code> shows the 20 elements from the DataFrame.</p>\n<pre class=\"language-python\">\n+---------+----------+--------+----------+------+------+\n|firstname|middlename|lastname|dob       |gender|salary|\n+---------+----------+--------+----------+------+------+\n|James    |          |Smith   |1991-04-01|M     |3000  |\n|Michael  |Rose      |        |2000-05-19|M     |4000  |\n|Robert   |          |Williams|1978-09-05|M     |4000  |\n|Maria    |Anne      |Jones   |1967-12-01|F     |4000  |\n|Jen      |Mary      |Brown   |1980-02-17|F     |-1    |\n+---------+----------+--------+----------+------+------+\n</pre>\n<h3 id=\"dataframe-operations\">DataFrame operations</h3>\n<p>Like RDD, DataFrame also has operations like Transformations and Actions.</p>\n<h3 id=\"external-data-sources\">DataFrame from external data sources</h3>\n<p>In realtime applications, DataFrame\u2019s are created from external sources like files from the local system, HDFS, S3 Azure, HBase, MySQL table e.t.c. Below is an example of how to read a csv file from a local system.</p>\n<pre class=\"language-python\">\ndf = spark.read.csv(\"/tmp/resources/zipcodes.csv\")\ndf.printSchema()\n</pre>\n<h3 id=\"file-formats\">Supported file formats</h3>\n<p>DataFrame has a rich set of API which supports reading and writing several file formats</p>\n<ul><li>csv</li>\n<li>text</li>\n<li>Avro</li>\n<li>Parquet</li>\n<li>tsv</li>\n<li>xml and many more</li>\n</ul><h2>DataFrame Examples</h2>\n<p>In this section of the PySpark Tutorial, you will find several Spark examples written in Python that help in your projects.</p>\n<h2 id=\"pyspark-sql\">PySpark SQL Tutorial</h2>\n<p><code>PySpark SQL</code>\u00a0is one of the most used Py<strong>Spark</strong>\u00a0modules which is used for processing structured columnar data format. Once you have a DataFrame created, you can interact with the data by using SQL syntax.</p>\n<p>In other words, Spark SQL brings native RAW SQL queries on Spark meaning you can run traditional ANSI SQL\u2019s on Spark Dataframe, in the later section of this PySpark SQL tutorial, you will learn in details using SQL <code>select</code>, <code>where</code>, <code>group by</code>, <code>join</code>, <code>union</code> e.t.c</p>\n<p>In order to use SQL, first, create a temporary table on DataFrame using <code>createOrReplaceTempView()</code> function. Once created, this table can be accessed throughout the SparkSession using <code>sql()</code> and it will be dropped along with your SparkContext termination.</p>\n<p>Use <code>sql()</code> method of the SparkSession object to run the query and this method returns a new DataFrame.</p>\n<pre class=\"language-python\">\ndf.createOrReplaceTempView(\"PERSON_DATA\")\ndf2 = spark.sql(\"SELECT * from PERSON_DATA\")\ndf2.printSchema()\ndf2.show()\n</pre>\n<p>Let\u2019s see another pyspark example using <code>group by</code>.</p>\n<pre class=\"language-python\">\ngroupDF = spark.sql(\"SELECT gender, count(*) from PERSON_DATA group by gender\")\ngroupDF.show()\n</pre>\n<p>This yields the below output</p>\n<pre class=\"language-python\">\n+------+--------+\n|gender|count(1)|\n+------+--------+\n|     F|       2|\n|     M|       3|\n+------+--------+\n</pre>\n<p>Similarly you can run any traditional SQL queries on DataFrame\u2019s using PySpark SQL.</p>\n<h2 id=\"pyspark-streaming\">PySpark Streaming Tutorial</h2>\n<p>PySpark Streaming is a scalable, high-throughput, fault-tolerant streaming processing system that supports both batch and streaming workloads. It is used to process real-time data from sources like file system folder, TCP socket, <a href=\"https://aws.amazon.com/s3/\">S3</a>, <a href=\"https://kafka.apache.org/\">Kafka</a>, <a href=\"https://en.wikipedia.org/wiki/Apache_Flume\">Flume</a>, <a href=\"https://developer.twitter.com/en/docs/tutorials/consuming-streaming-data\">Twitter</a>, and <a href=\"https://aws.amazon.com/kinesis/\">Amazon Kinesis</a> to name a few. The processed data can be pushed to databases, Kafka, live dashboards e.t.c</p>\n<figure class=\"wp-block-image size-large is-resized\"><p><img alt=\"pyspark streaming tutorial\" width=\"580\" height=\"216\" data-srcset=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/streaming-arch.png?resize=1024%2C383&amp;ssl=1 1024w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/streaming-arch.png?resize=300%2C112&amp;ssl=1 300w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/streaming-arch.png?resize=768%2C287&amp;ssl=1 768w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/streaming-arch.png?w=1172&amp;ssl=1 1172w\" data-recalc-dims=\"1\" data-sizes=\"(max-width: 580px) 100vw, 580px\" class=\"wp-image-7875 lazyload\" src=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/streaming-arch.png?resize=580%2C216&amp;ssl=1\" referrerpolicy=\"no-referrer\" /></p>\n<noscript>\n<p><img src=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/streaming-arch.png?resize=580%2C216&amp;ssl=1\" alt=\"pyspark streaming tutorial\" class=\"wp-image-7875\" width=\"580\" height=\"216\" srcset=\"https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/streaming-arch.png?resize=1024%2C383&amp;ssl=1 1024w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/streaming-arch.png?resize=300%2C112&amp;ssl=1 300w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/streaming-arch.png?resize=768%2C287&amp;ssl=1 768w, https://i0.wp.com/sparkbyexamples.com/wp-content/uploads/2020/08/streaming-arch.png?w=1172&amp;ssl=1 1172w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></p>\n</noscript>\n<figcaption>source: <a href=\"https://spark.apache.org/\">https://spark.apache.org/</a></figcaption></figure><h3 id=\"tcp-socket\">Streaming from TCP Socket</h3>\n<p>Use\u00a0<code>readStream.format(\"socket\")</code>\u00a0from Spark session object to read data from the socket and provide options host and port where you want to stream data from.</p>\n<pre class=\"language-python\">\ndf = spark.readStream\n      .format(\"socket\")\n      .option(\"host\",\"localhost\")\n      .option(\"port\",\"9090\")\n      .load()\n</pre>\n<p>Spark reads the data from socket and represents it in a \u201cvalue\u201d column of DataFrame.\u00a0<code>df.printSchema()</code>\u00a0outputs</p>\n<pre class=\"language-python\">\nroot\n |-- value: string (nullable = true)\n</pre>\n<p>After processing, you can stream the DataFrame to console. In real-time, we ideally stream it to either Kafka, database e.t.c</p>\n<pre class=\"language-python\">\nquery = count.writeStream\n      .format(\"console\")\n      .outputMode(\"complete\")\n      .start()\n      .awaitTermination()\n</pre>\n<h3 id=\"kafka\">Streaming from Kafka</h3>\n<p>Using <a href=\"https://sparkbyexamples.com/spark/spark-streaming-from-kafka-topic/\">Spark Streaming we can read from Kafka topic and write to Kafka</a> topic in TEXT, CSV, <a href=\"https://avro.apache.org/\">AVRO</a> and JSON formats</p>\n<figure class=\"wp-block-image size-large\"><p><img width=\"1024\" height=\"454\" alt=\"pySpark streaming kafka\" data-srcset=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2019/03/spark-structured-streaming-kafka.png?resize=1024%2C454&amp;ssl=1 1024w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2019/03/spark-structured-streaming-kafka.png?resize=300%2C133&amp;ssl=1 300w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2019/03/spark-structured-streaming-kafka.png?resize=768%2C340&amp;ssl=1 768w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2019/03/spark-structured-streaming-kafka.png?w=1404&amp;ssl=1 1404w\" data-recalc-dims=\"1\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" class=\"wp-image-2226 lazyload\" src=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2019/03/spark-structured-streaming-kafka.png?resize=1024%2C454&amp;ssl=1\" referrerpolicy=\"no-referrer\" /></p>\n<noscript>\n<p><img width=\"1024\" height=\"454\" src=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2019/03/spark-structured-streaming-kafka.png?resize=1024%2C454&amp;ssl=1\" alt=\"pySpark streaming kafka\" class=\"wp-image-2226\" srcset=\"https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2019/03/spark-structured-streaming-kafka.png?resize=1024%2C454&amp;ssl=1 1024w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2019/03/spark-structured-streaming-kafka.png?resize=300%2C133&amp;ssl=1 300w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2019/03/spark-structured-streaming-kafka.png?resize=768%2C340&amp;ssl=1 768w, https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2019/03/spark-structured-streaming-kafka.png?w=1404&amp;ssl=1 1404w\" data-recalc-dims=\"1\" referrerpolicy=\"no-referrer\" /></p>\n</noscript></figure><pre class=\"language-python\">\ndf = spark.readStream\n        .format(\"kafka\")\n        .option(\"kafka.bootstrap.servers\", \"192.168.1.100:9092\")\n        .option(\"subscribe\", \"json_topic\")\n        .option(\"startingOffsets\", \"earliest\") // From starting\n        .load()\n</pre>\n<p>Below pyspark example, writes message to another topic in Kafka using <code>writeStream()</code></p>\n<pre class=\"language-python\">\ndf.selectExpr(\"CAST(id AS STRING) AS key\", \"to_json(struct(*)) AS value\")\n   .writeStream\n   .format(\"kafka\")\n   .outputMode(\"append\")\n   .option(\"kafka.bootstrap.servers\", \"192.168.1.100:9092\")\n   .option(\"topic\", \"josn_data_topic\")\n   .start()\n   .awaitTermination()\n</pre>\n<h2>PySpark MLlib</h2>\n<p>In this section, I will cover pyspark examples by using MLlib library.</p>\n<h2 id=\"pyspark-graphframes\">PySpark GraphFrames</h2>\n<p>PySpark GraphFrames are <a href=\"https://sparkbyexamples.com/spark/spark-3-0-features-with-examples-part-i/\">introduced in Spark 3.0</a> version to support Graphs on DataFrame\u2019s. Prior to 3.0, Spark has GraphX library which ideally runs on RDD and loses all Data Frame capabilities.</p>\n<figure class=\"wp-block-pullquote\"><blockquote>\n<p>GraphFrames is a package for Apache Spark which provides DataFrame-based Graphs. It provides high-level APIs in Scala, Java, and Python. It aims to provide both the functionality of GraphX and extended functionality taking advantage of Spark DataFrames. This extended functionality includes motif finding, DataFrame-based serialization, and highly expressive graph queries.</p>\n<p><cite>\u2013 <a href=\"https://graphframes.github.io/\">graphframes.github.io</a></cite></p>\n</blockquote>\n</figure><h3 id=\"graphx-graphframes\">Difference between GraphX and GraphFrame</h3>\n<p>GraphX works on RDDs where as GraphFrames works with DataFrames.</p>\n<h2>References</h2>\n<p>Below are some of the articles/tutorials I\u2019ve referred.</p>\n<ul><li><a href=\"https://spark.apache.org/docs/latest/api/python/pyspark.html\">https://spark.apache.org/docs/latest/api/python/pyspark.html</a></li>\n<li><a href=\"https://spark.apache.org/docs/latest/rdd-programming-guide.html\">https://spark.apache.org/docs/latest/rdd-programming-guide.html</a></li>\n</ul>",
    "created_at": "2022-01-24T20:17:59+00:00",
    "updated_at": "2022-01-24T20:18:18+00:00",
    "published_by": [""],
    "annotations": [],
    "mimetype": "text/html",
    "language": "en_US",
    "reading_time": 15,
    "domain_name": "sparkbyexamples.com",
    "preview_picture": "https://i2.wp.com/sparkbyexamples.com/wp-content/uploads/2020/07/pyspark-tutorial-scaled.jpg?fit=2560%2C1709&ssl=1",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "tensorflow"],
    "is_public": false,
    "id": 7,
    "title": "TensorFlow Tutorial For Beginners",
    "url": "https://www.datacamp.com/community/tutorials/tensorflow-tutorial",
    "content": "<p><img src=\"http://res.cloudinary.com/dyd911kmh/image/upload/f_auto,q_auto:best/v1508153389/Tensorflow-tutorial_eueeae.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\n<p>Deep learning is a subfield of machine learning that is a set of algorithms that is inspired by the structure and function of the brain.</p>\n<p>TensorFlow is the second machine learning framework that Google created and used to design, build, and train deep learning models. You can use the TensorFlow library do to numerical computations, which in itself doesn\u2019t seem all too special, but these computations are done with data flow graphs. In these graphs, nodes represent mathematical operations, while the edges represent the data, which usually are multidimensional data arrays or tensors, that are communicated between these edges.</p>\n<p>You see? The name \u201cTensorFlow\u201d is derived from the operations which neural networks perform on multidimensional data arrays or tensors! It\u2019s literally a flow of tensors. For now, this is all you need to know about tensors, but you\u2019ll go deeper into this in the next sections!</p>\n<p>Today\u2019s TensorFlow tutorial for beginners will introduce you to performing deep learning in an interactive way:</p>\n<div id=\"scoped-content\"><p>Download the notebook of this tutorial <a href=\"https://github.com/datacamp/datacamp-community-tutorials\">here</a>.</p><p>Also, you could be interested in a course on <a href=\"https://www.datacamp.com/courses/deep-learning-in-python\">Deep Learning in Python</a>, DataCamp's <a href=\"https://www.datacamp.com/community/tutorials/deep-learning-python\">Keras tutorial</a> or the <a href=\"https://www.datacamp.com/community/tutorials/keras-r-deep-learning\">keras with R tutorial</a>.</p><h2 id=\"tensors\">Introducing Tensors</h2><p>To understand tensors well, it\u2019s good to have some working knowledge of linear algebra and vector calculus. You already read in the introduction that tensors are implemented in TensorFlow as multidimensional data arrays, but some more introduction is maybe needed in order to completely grasp tensors and their use in machine learning.</p><div class=\"section level3\" id=\"plane-vectors\"><h3>Plane Vectors</h3><p>Before you go into plane vectors, it\u2019s a good idea to shortly revise the concept of \u201cvectors\u201d; Vectors are special types of matrices, which are rectangular arrays of numbers. Because vectors are ordered collections of numbers, they are often seen as column matrices: they have just one column and a certain number of rows. In other terms, you could also consider vectors as scalar magnitudes that have been given a direction.</p><p><strong>Remember</strong>: an example of a scalar is \u201c5 meters\u201d or \u201c60 m/sec\u201d, while a vector is, for example, \u201c5 meters north\u201d or \u201c60 m/sec East\u201d. The difference between these two is obviously that the vector has a direction. Nevertheless, these examples that you have seen up until now might seem far off from the vectors that you might encounter when you\u2019re working with machine learning problems. This is normal; The length of a mathematical vector is a pure number: it is absolute. The direction, on the other hand, is relative: it is measured relative to some reference direction and has units of radians or degrees. You usually assume that the direction is positive and in counterclockwise rotation from the reference direction.</p><div class=\"figure\"><img src=\"https://s3.amazonaws.com/assets.datacamp.com/blog_assets/TensorFlow+Tutorial/content_plane_vector.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /></div><p>Visually, of course, you represent vectors as arrows, as you can see in the picture above. This means that you can consider vectors also as arrows that have direction and length. The direction is indicated by the arrow\u2019s head, while the length is indicated by the length of the arrow.</p><p>So what about plane vectors then?</p><p>Plane vectors are the most straightforward setup of tensors. They are much like regular vectors as you have seen above, with the sole difference that they find themselves in a vector space. To understand this better, let\u2019s start with an example: you have a vector that is <em>2 X 1</em>. This means that the vector belongs to the set of real numbers that come paired two at a time. Or, stated differently, they are part of two-space. In such cases, you can represent vectors on the coordinate <em>(x,y)</em> plane with arrows or rays.</p><p>Working from this coordinate plane in a standard position where vectors have their endpoint at the origin <em>(0,0)</em>, you can derive the <em>x</em> coordinate by looking at the first row of the vector, while you\u2019ll find the <em>y</em> coordinate in the second row. Of course, this standard position doesn\u2019t always need to be maintained: vectors can move parallel to themselves in the plane without experiencing changes.</p><p><strong>Note</strong> that similarly, for vectors that are of size <em>3 X 1</em>, you talk about the three-space. You can represent the vector as a three-dimensional figure with arrows pointing to positions in the vectors pace: they are drawn on the standard <em>x</em>, <em>y</em> and <em>z</em> axes.</p><p>It\u2019s nice to have these vectors and to represent them on the coordinate plane, but in essence, you have these vectors so that you can perform operations on them and one thing that can help you in doing this is by expressing your vectors as bases or unit vectors.</p><p>Unit vectors are vectors with a magnitude of one. You\u2019ll often recognize the unit vector by a lowercase letter with a circumflex, or \u201chat\u201d. Unit vectors will come in convenient if you want to express a 2-D or 3-D vector as a sum of two or three orthogonal components, such as the x\u2212 and y\u2212axes, or the z\u2212axis.</p><p>And when you are talking about expressing one vector, for example, as sums of components, you\u2019ll see that you\u2019re talking about component vectors, which are two or more vectors whose sum is that given vector.</p><p><strong>Tip</strong>: watch <a href=\"https://www.youtube.com/watch?v=f5liqUk0ZTw\">this video</a>, which explains what tensors are with the help of simple household objects!</p></div><div class=\"section level3\"><h3>Tensors</h3><p>Next to plane vectors, also covectors and linear operators are two other cases that all three together have one thing in common: they are specific cases of tensors. You still remember how a vector was characterized in the previous section as scalar magnitudes that have been given a direction. A tensor, then, is the mathematical representation of a physical entity that may be characterized by magnitude and <em>multiple</em> directions.</p><p>And, just like you represent a scalar with a single number and a vector with a sequence of three numbers in a 3-dimensional space, for example, a tensor can be represented by an array of 3R numbers in a 3-dimensional space.</p><p>The \u201cR\u201d in this notation represents the rank of the tensor: this means that in a 3-dimensional space, a second-rank tensor can be represented by 3 to the power of 2 or 9 numbers. In an N-dimensional space, scalars will still require only one number, while vectors will require N numbers, and tensors will require N^R numbers. This explains why you often hear that scalars are tensors of rank 0: since they have no direction, you can represent them with one number.</p><p>With this in mind, it\u2019s relatively easy to recognize scalars, vectors, and tensors and to set them apart: scalars can be represented by a single number, vectors by an ordered set of numbers, and tensors by an array of numbers.</p><p>What makes tensors so unique is the combination of components and basis vectors: basis vectors transform one way between reference frames and the components transform in just such a way as to keep the combination between components and basis vectors the same.</p></div><h2 id=\"install\">Installing TensorFlow</h2><p>Now that you know more about TensorFlow, it\u2019s time to get started and install the library. Here, it\u2019s good to know that TensorFlow provides APIs for Python, C++, Haskell, Java, Go, Rust, and there\u2019s also a third-party package for R called <code class=\"lang-python\">tensorflow</code>.</p><p><strong>Tip</strong>: if you want to know more about deep learning packages in R, consider checking out DataCamp\u2019s <a href=\"https://www.datacamp.com/community/tutorials/keras-r-deep-learning\">keras: Deep Learning in R Tutorial</a>.</p><p>In this tutorial, you will download a version of TensorFlow that will enable you to write the code for your deep learning project in Python. On the <a href=\"https://www.tensorflow.org/install/\">TensorFlow installation webpage</a>, you\u2019ll see some of the most common ways and latest instructions to install TensorFlow using <code class=\"lang-python\">virtualenv</code>, <code class=\"lang-python\">pip</code>, Docker and lastly, there are also some of the other ways of installing TensorFlow on your personal computer.</p><p><strong>Note</strong> You can also install TensorFlow with Conda if you\u2019re working on Windows. However, since the installation of TensorFlow is community supported, it\u2019s best to check the <a href=\"https://www.tensorflow.org/install/install_windows\">official installation instructions</a>.</p><p>Now that you have gone through the installation process, it\u2019s time to double check that you have installed TensorFlow correctly by importing it into your workspace under the alias <code class=\"lang-python\">tf</code>:</p><pre class=\"lang-python\">import tensorflow as tf</pre><p><strong>Note</strong> that the alias that you used in the line of code above is sort of a convention - It\u2019s used to ensure that you remain consistent with other developers that are using TensorFlow in data science projects on the one hand, and with open-source TensorFlow projects on the other hand.</p><h2 id=\"basics\">Getting Started With TensorFlow: Basics</h2><p>You\u2019ll generally write TensorFlow programs, which you run as a chunk; This is at first sight kind of contradictory when you\u2019re working with Python. However, if you would like, you can also use TensorFlow\u2019s Interactive Session, which you can use to work more interactively with the library. This is especially handy when you\u2019re used to working with IPython.</p><p>For this tutorial, you\u2019ll focus on the second option: this will help you to get kickstarted with deep learning in TensorFlow. But before you go any further into this, let\u2019s first try out some minor stuff before you start with the heavy lifting.</p><p>First, import the <code class=\"lang-python\">tensorflow</code> library under the alias <code class=\"lang-python\">tf</code>, as you have seen in the previous section. Then initialize two variables that are actually constants. Pass an array of four numbers to the <code class=\"lang-python\">constant()</code> function.</p><p><strong>Note</strong> that you could potentially also pass in an integer, but that more often than not, you\u2019ll find yourself working with arrays. As you saw in the introduction, tensors are all about arrays! So make sure that you pass in an array :) Next, you can use <code class=\"lang-python\">multiply()</code> to multiply your two variables. Store the result in the <code class=\"lang-python\">result</code> variable. Lastly, print out the <code class=\"lang-python\">result</code> with the help of the <code class=\"lang-python\">print()</code> function.</p><p>eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgSW1wb3J0IGB0ZW5zb3JmbG93YFxuaW1wb3J0IHRlbnNvcmZsb3cgYXMgdGZcblxuIyBJbml0aWFsaXplIHR3byBjb25zdGFudHNcbngxID0gdGYuY29uc3RhbnQoWzEsMiwzLDRdKVxueDIgPSB0Zi5jb25zdGFudChbNSw2LDcsOF0pXG5cbiMgTXVsdGlwbHlcbnJlc3VsdCA9IHRmLm11bHRpcGx5KHgxLCB4MilcblxuIyBQcmludCB0aGUgcmVzdWx0XG5wcmludChyZXN1bHQpIn0=</p><p><strong>Note</strong> that you have defined constants in the DataCamp Light code chunk above. However, there are two other types of values that you can potentially use, namely <a href=\"https://www.tensorflow.org/api_docs/python/tf/placeholder\">placeholders</a>, which are values that are unassigned and that will be initialized by the session when you run it. Like the name already gave away, it\u2019s just a placeholder for a tensor that will always be fed when the session is run; There are also <a href=\"https://www.tensorflow.org/api_docs/python/tf/Variable\">Variables</a>, which are values that can change. The constants, as you might have already gathered, are values that don\u2019t change.</p><p>The result of the lines of code is an abstract tensor in the computation graph. However, contrary to what you might expect, the <code class=\"lang-python\">result</code> doesn\u2019t actually get calculated. It just defined the model, but no process ran to calculate the result. You can see this in the print-out: there\u2019s not really a result that you want to see (namely, 30). This means that TensorFlow has a lazy evaluation!</p><p>However, if you do want to see the result, you have to run this code in an interactive session. You can do this in a few ways, as is demonstrated in the DataCamp Light code chunks below:</p><p>eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgSW1wb3J0IGB0ZW5zb3JmbG93YCBcbmltcG9ydCB0ZW5zb3JmbG93IGFzIHRmXG5cbiMgSW5pdGlhbGl6ZSB0d28gY29uc3RhbnRzXG54MSA9IHRmLmNvbnN0YW50KFsxLDIsMyw0XSlcbngyID0gdGYuY29uc3RhbnQoWzUsNiw3LDhdKVxuXG4jIE11bHRpcGx5XG5yZXN1bHQgPSB0Zi5tdWx0aXBseSh4MSwgeDIpXG5cbiMgSW50aWFsaXplIHRoZSBTZXNzaW9uXG5zZXNzID0gdGYuU2Vzc2lvbigpXG5cbiMgUHJpbnQgdGhlIHJlc3VsdFxucHJpbnQoc2Vzcy5ydW4ocmVzdWx0KSlcblxuIyBDbG9zZSB0aGUgc2Vzc2lvblxuc2Vzcy5jbG9zZSgpIn0=</p><p><strong>Note</strong> that you can also use the following lines of code to start up an interactive Session, run the <code class=\"lang-python\">result</code> and close the Session automatically again after printing the <code class=\"lang-python\">output</code>:</p><p>eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgSW1wb3J0IGB0ZW5zb3JmbG93YFxuaW1wb3J0IHRlbnNvcmZsb3cgYXMgdGZcblxuIyBJbml0aWFsaXplIHR3byBjb25zdGFudHNcbngxID0gdGYuY29uc3RhbnQoWzEsMiwzLDRdKVxueDIgPSB0Zi5jb25zdGFudChbNSw2LDcsOF0pXG5cbiMgTXVsdGlwbHlcbnJlc3VsdCA9IHRmLm11bHRpcGx5KHgxLCB4MilcblxuIyBJbml0aWFsaXplIFNlc3Npb24gYW5kIHJ1biBgcmVzdWx0YFxud2l0aCB0Zi5TZXNzaW9uKCkgYXMgc2VzczpcbiAgb3V0cHV0ID0gc2Vzcy5ydW4ocmVzdWx0KVxuICBwcmludChvdXRwdXQpIn0=</p><p>In the code chunks above you have just defined a default Session, but it\u2019s also good to know that you can pass in options as well. You can, for example, specify the <code class=\"lang-python\">config</code> argument and then use the <code class=\"lang-python\">ConfigProto</code> protocol buffer to add configuration options for your session.</p><p>For example, if you add</p><pre class=\"lang-python\">config=tf.ConfigProto(log_device_placement=True)</pre><p>to your Session, you make sure that you log the GPU or CPU device that is assigned to an operation. You will then get information which devices are used in the session for each operation. You could use the following configuration session also, for example, when you use soft constraints for the device placement:</p><pre class=\"lang-python\">config=tf.ConfigProto(allow_soft_placement=True)</pre><p>Now that you\u2019ve got TensorFlow installed and imported into your workspace and you\u2019ve gone through the basics of working with this package, it\u2019s time to leave this aside for a moment and turn your attention to your data. Just like always, you\u2019ll first take your time to explore and understand your data better before you start modeling your neural network.</p></div>\n<h2>Belgian Traffic Signs: Background</h2>\n<p>Even though traffic is a topic that is generally known amongst you all, it doesn\u2019t hurt going briefly over the observations that are included in this dataset to see if you understand everything before you start. In essence, in this section, you\u2019ll get up to speed with the domain knowledge that you need to have to go further with this tutorial.</p>\n<p>Of course, because I\u2019m Belgian, I\u2019ll make sure you\u2019ll also get some anecdotes :)</p>\n<ul><li>Belgian traffic signs are usually in Dutch and French. This is good to know, but for the dataset that you\u2019ll be working with, it\u2019s not too important!</li>\n<li>There are six categories of traffic signs in Belgium: warning signs, priority signs, prohibitory signs, mandatory signs, signs related to parking and standing still on the road and, lastly, designatory signs.</li>\n<li>On January 1st, 2017, more than 30,000 traffic signs were removed from Belgian roads. These were all prohibitory signs relating to speed.</li>\n<li>Talking about removal, the overwhelming presence of traffic signs has been an ongoing discussion in Belgium (and by extension, the entire European Union).</li>\n</ul>\n<h2 id=\"explore\">Loading And Exploring The Data</h2>\n<p>Now that you have gathered some more background information, it\u2019s time to download the dataset <a href=\"http://btsd.ethz.ch/shareddata/\">here</a>. You should get the two zip files listed next to \"BelgiumTS for Classification (cropped images), which are called \"BelgiumTSC_Training\" and \"BelgiumTSC_Testing\".</p>\n<p><strong>Tip</strong>: if you have downloaded the files or will do so after completing this tutorial, take a look at the folder structure of the data that you\u2019ve downloaded! You\u2019ll see that the testing, as well as the training data folders, contain 61 subfolders, which are the 62 types of traffic signs that you\u2019ll use for classification in this tutorial. Additionally, you\u2019ll find that the files have the file extension <code class=\"lang-python\">.ppm</code> or Portable Pixmap Format. You have downloaded images of the traffic signs!</p>\n<p>Let\u2019s get started with importing the data into your workspace. Let\u2019s start with the lines of code that appear below the User-Defined Function (UDF) <code class=\"lang-python\">load_data()</code>:</p>\n<ul><li>First, set your <code class=\"lang-python\">ROOT_PATH</code>. This path is the one where you have made the directory with your training and test data.</li>\n<li>Next, you can add the specific paths to your <code class=\"lang-python\">ROOT_PATH</code> with the help of the <code class=\"lang-python\">join()</code> function. You store these two specific paths in <code class=\"lang-python\">train_data_directory</code> and <code class=\"lang-python\">test_data_directory</code>.</li>\n<li>You see that after, you can call the <code class=\"lang-python\">load_data()</code> function and pass in the <code class=\"lang-python\">train_data_directory</code> to it.</li>\n<li>Now, the <code class=\"lang-python\">load_data()</code> function itself starts off by gathering all the subdirectories that are present in the <code class=\"lang-python\">train_data_directory</code>; It does so with the help of list comprehension, which is quite a natural way of constructing lists - it basically says that, if you find something in the <code class=\"lang-python\">train_data_directory</code>, you\u2019ll double check whether this is a directory, and if it is one, you\u2019ll add it to your list. <strong>Remember</strong> that each subdirectory represents a label.</li>\n<li>Next, you have to loop through the subdirectories. You first initialize two lists, <code class=\"lang-python\">labels</code> and <code class=\"lang-python\">images</code>. Next, you gather the paths of the subdirectories and the file names of the images that are stored in these subdirectories. After, you can collect the data in the two lists with the help of the <code class=\"lang-python\">append()</code> function.</li>\n</ul><pre class=\"lang-python\">def load_data(data_directory):\n    directories = [d for d in os.listdir(data_directory) \n                   if os.path.isdir(os.path.join(data_directory, d))]\n    labels = []\n    images = []\n    for d in directories:\n        label_directory = os.path.join(data_directory, d)\n        file_names = [os.path.join(label_directory, f) \n                      for f in os.listdir(label_directory) \n                      if f.endswith(\".ppm\")]\n        for f in file_names:\n            images.append(skimage.data.imread(f))\n            labels.append(int(d))\n    return images, labels\nROOT_PATH = \"/your/root/path\"\ntrain_data_directory = os.path.join(ROOT_PATH, \"TrafficSigns/Training\")\ntest_data_directory = os.path.join(ROOT_PATH, \"TrafficSigns/Testing\")\nimages, labels = load_data(train_data_directory)</pre>\n<p><strong>Note</strong> that in the above code chunk, the training and test data are located in folders named \"Training\" and \"Testing\", which are both subdirectories of another directory \"TrafficSigns\". On a local machine, this could look something like \"/Users/Name/Downloads/TrafficSigns\", with then two subfolders called \"Training\" and \"Testing\".</p>\n<p><strong>Tip</strong>: review how to write functions in Python with DataCamp's <a href=\"https://www.datacamp.com/community/tutorials/functions-python-tutorial\">Python Functions Tutorial</a>.</p>\n<div class=\"section level3\" id=\"traffic-sign-statistics\"><h3>Traffic Sign Statistics</h3><p>With your data loaded in, it\u2019s time for some data inspection! You can start with a pretty simple analysis with the help of the <code class=\"lang-python\">ndim</code> and <code class=\"lang-python\">size</code> attributes of the <code class=\"lang-python\">images</code> array:</p><p>Note that the <code class=\"lang-python\">images</code> and <code class=\"lang-python\">labels</code> variables are lists, so you might need to use <code class=\"lang-python\">np.array()</code> to convert the variables to an array in your own workspace. This has been done for you here!</p><p>eyJsYW5ndWFnZSI6InB5dGhvbiIsInByZV9leGVyY2lzZV9jb2RlIjoiaW1wb3J0IG51bXB5IGFzIG5wXG5pbXBvcnQgaW9cbmltcG9ydCB1cmxsaWJcbnVybF9pbWdzID0gXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vYXNzZXRzLmRhdGFjYW1wLmNvbS9ibG9nX2Fzc2V0cy9pbWFnZXMubnB6XCJcbmltZ3MgPSBucC5sb2FkKGlvLkJ5dGVzSU8odXJsbGliLnJlcXVlc3QudXJsb3Blbih1cmxfaW1ncykucmVhZCgpKSlcbmltYWdlcyA9IGltZ3NbXCJhcnJfMFwiXSIsInNhbXBsZSI6IiMgUHJpbnQgdGhlIGBpbWFnZXNgIGRpbWVuc2lvbnNcbnByaW50KGltYWdlcy5uZGltKVxuXG4jIFByaW50IHRoZSBudW1iZXIgb2YgYGltYWdlc2AncyBlbGVtZW50c1xucHJpbnQoaW1hZ2VzLnNpemUpXG5cbiMgUHJpbnQgdGhlIGZpcnN0IGluc3RhbmNlIG9mIGBpbWFnZXNgXG5pbWFnZXNbMF0ifQ==</p><p><strong>Note</strong> that the <code class=\"lang-python\">images[0]</code> that you printed out is, in fact, one single image that is represented by arrays in arrays! This might seem counterintuitive at first, but it\u2019s something that you\u2019ll get used to as you go further into working with images in machine learning or deep learning applications.</p><p>Next, you can also take a small look at the <code class=\"lang-python\">labels</code>, but you shouldn\u2019t see too many surprises at this point:</p><p>eyJsYW5ndWFnZSI6InB5dGhvbiIsInByZV9leGVyY2lzZV9jb2RlIjoiaW1wb3J0IG51bXB5IGFzIG5wXG5pbXBvcnQgaW9cbmltcG9ydCB1cmxsaWJcbnVybF9sYWJlbHMgPSBcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9hc3NldHMuZGF0YWNhbXAuY29tL2Jsb2dfYXNzZXRzL2xhYmVscy50eHRcIlxucmF3X2xhYmVscyA9IHVybGxpYi5yZXF1ZXN0LnVybG9wZW4odXJsX2xhYmVscylcbmxhYmVscyA9IG5wLmxvYWR0eHQocmF3X2xhYmVscywgZGVsaW1pdGVyPVwiLFwiKSIsInNhbXBsZSI6IiMgUHJpbnQgdGhlIGBsYWJlbHNgIGRpbWVuc2lvbnNcbnByaW50KGxhYmVscy5uZGltKVxuXG4jIFByaW50IHRoZSBudW1iZXIgb2YgYGxhYmVsc2AncyBlbGVtZW50c1xucHJpbnQobGFiZWxzLnNpemUpXG5cbiMgQ291bnQgdGhlIG51bWJlciBvZiBsYWJlbHNcbnByaW50KGxlbihzZXQobGFiZWxzKSkpIn0=</p><p>These numbers already give you some insights into how successful your import was and the exact size of your data. At first sight, everything has been executed the way you expected it to, and you see that the size of the array is considerable if you take into account that you\u2019re dealing with arrays within arrays.</p><p><strong>Tip</strong> try adding the following attributes to your arrays to get more information about the memory layout, the length of one array element in bytes and the total consumed bytes by the array\u2019s elements with the <code class=\"lang-python\">flags</code>, <code class=\"lang-python\">itemsize</code>, and <code class=\"lang-python\">nbytes</code> attributes. You can test this out in the IPython console in the DataCamp Light chunk above!</p><p>Next, you can also take a look at the distribution of the traffic signs:</p><p>eyJsYW5ndWFnZSI6InB5dGhvbiIsInByZV9leGVyY2lzZV9jb2RlIjoiaW1wb3J0IG51bXB5IGFzIG5wXG5pbXBvcnQgdXJsbGliXG51cmxfbGFiZWxzID0gXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vYXNzZXRzLmRhdGFjYW1wLmNvbS9ibG9nX2Fzc2V0cy9sYWJlbHMudHh0XCJcbnJhd19sYWJlbHMgPSB1cmxsaWIucmVxdWVzdC51cmxvcGVuKHVybF9sYWJlbHMpXG5sYWJlbHMgPSBucC5sb2FkdHh0KHJhd19sYWJlbHMsIGRlbGltaXRlcj1cIixcIikiLCJzYW1wbGUiOiIjIEltcG9ydCB0aGUgYHB5cGxvdGAgbW9kdWxlXG5pbXBvcnQgbWF0cGxvdGxpYi5weXBsb3QgYXMgcGx0IFxuXG4jIE1ha2UgYSBoaXN0b2dyYW0gd2l0aCA2MiBiaW5zIG9mIHRoZSBgbGFiZWxzYCBkYXRhXG5wbHQuaGlzdChsYWJlbHMsIDYyKVxuXG4jIFNob3cgdGhlIHBsb3RcbnBsdC5zaG93KCkifQ==</p><p>Awesome job! Now let\u2019s take a closer look at the histogram that you made!</p><br /><div class=\"figure\"><img src=\"http://community.datacamp.com.s3.amazonaws.com/community/production/ckeditor_assets/pictures/656/content_traffic_signs2.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /></div><p>You clearly see that not all types of traffic signs are equally represented in the dataset. This is something that you\u2019ll deal with later when you\u2019re manipulating the data before you start modeling your neural network.</p><p>At first sight, you see that there are labels that are more heavily present in the dataset than others: the labels 22, 32, 38, and 61 definitely jump out. At this point, it\u2019s nice to keep this in mind, but you\u2019ll definitely go further into this in the next section!</p></div>\n<div class=\"section level3\" id=\"visualizing-the-traffic-signs\"><h3>Visualizing The Traffic Signs</h3><p>The previous, small analyses or checks have already given you some idea of the data that you\u2019re working with, but when your data mostly consists of images, the step that you should take to explore your data is by visualizing it.</p><p>Let\u2019s check out some random traffic signs:</p><ul><li>First, make sure that you import the <code class=\"lang-python\">pyplot</code> module of the <code class=\"lang-python\">matplotlib</code> package under the common alias <code class=\"lang-python\">plt</code>.</li>\n<li>Then, you\u2019re going to make a list with 4 random numbers. These will be used to select traffic signs from the <code class=\"lang-python\">images</code> array that you have just inspected in the previous section. In this case, you go for <code class=\"lang-python\">300</code>, <code class=\"lang-python\">2250</code>, <code class=\"lang-python\">3650</code> and <code class=\"lang-python\">4000</code>.</li>\n<li>Next, you\u2019ll say that for every element in the length of that list, so from 0 to 4, you\u2019re going to create subplots without axes (so that they don\u2019t go running with all the attention and your focus is solely on the images!). In these subplots, you\u2019re going to show a specific image from the <code class=\"lang-python\">images</code> array that is in accordance with the number at the index <code class=\"lang-python\">i</code>. In the first loop, you\u2019ll pass <code class=\"lang-python\">300</code> to <code class=\"lang-python\">images[]</code>, in the second round <code class=\"lang-python\">2250</code>, and so on. Lastly, you\u2019ll adjust the subplots so that there\u2019s enough width in between them.</li>\n<li>The last thing that remains is to show your plot with the help of the <code class=\"lang-python\">show()</code> function!</li>\n</ul><p>There you go:</p><pre class=\"lang-python\"># Import the `pyplot` module of `matplotlib`\nimport matplotlib.pyplot as plt\n# Determine the (random) indexes of the images that you want to see \ntraffic_signs = [300, 2250, 3650, 4000]\n# Fill out the subplots with the random images that you defined \nfor i in range(len(traffic_signs)):\n    plt.subplot(1, 4, i+1)\n    plt.axis('off')\n    plt.imshow(images[traffic_signs[i]])\n    plt.subplots_adjust(wspace=0.5)\nplt.show()</pre><p>As you guessed by the 62 labels that are included in this dataset, the signs are different from each other.</p><p>But what else do you notice? Take another close look at the images below:</p><br /><div class=\"figure\"><img src=\"http://community.datacamp.com.s3.amazonaws.com/community/production/ckeditor_assets/pictures/657/content_traffic_signs1.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /></div><p>These four images are not of the same size!</p><p>You can obviously toy around with the numbers that are contained in the <code class=\"lang-python\">traffic_signs</code> list and follow up more thoroughly on this observation, but be as it may, this is an important observation which you will need to take into account when you start working more towards manipulating your data so that you can feed it to the neural network.</p><p>Let\u2019s confirm the hypothesis of the differing sizes by printing the shape, the minimum and maximum values of the specific images that you have included into the subplots.</p><p>The code below heavily resembles the one that you used to create the above plot, but differs in the fact that here, you\u2019ll alternate sizes and images instead of plotting just the images next to each other:</p><pre class=\"lang-python\"># Import `matplotlib`\nimport matplotlib.pyplot as plt\n# Determine the (random) indexes of the images\ntraffic_signs = [300, 2250, 3650, 4000]\n# Fill out the subplots with the random images and add shape, min and max values\nfor i in range(len(traffic_signs)):\n    plt.subplot(1, 4, i+1)\n    plt.axis('off')\n    plt.imshow(images[traffic_signs[i]])\n    plt.subplots_adjust(wspace=0.5)\n    plt.show()\n    print(\"shape: {0}, min: {1}, max: {2}\".format(images[traffic_signs[i]].shape, \n                                                  images[traffic_signs[i]].min(), \n                                                  images[traffic_signs[i]].max()))</pre><p><strong>Note</strong> how you use the <code class=\"lang-python\">format()</code> method on the string <code class=\"lang-python\">\"shape: {0}, min: {1}, max: {2}\"</code> to fill out the arguments <code class=\"lang-python\">{0}</code>, <code class=\"lang-python\">{1}</code>, and <code class=\"lang-python\">{2}</code> that you defined.</p><br /><div class=\"figure\"><img src=\"http://community.datacamp.com.s3.amazonaws.com/community/production/ckeditor_assets/pictures/658/content_traffic_signs5.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /></div><p>Now that you have seen loose images, you might also want to revisit the histogram that you printed out in the first steps of your data exploration; You can easily do this by plotting an overview of all the 62 classes and one image that belongs to each class:</p><pre class=\"lang-python\"># Import the `pyplot` module as `plt`\nimport matplotlib.pyplot as plt \n# Get the unique labels \nunique_labels = set(labels)\n# Initialize the figure\nplt.figure(figsize=(15, 15))\n# Set a counter\ni = 1\n# For each unique label,\nfor label in unique_labels:\n    # You pick the first image for each label\n    image = images[labels.index(label)]\n    # Define 64 subplots \n    plt.subplot(8, 8, i)\n    # Don't include axes\n    plt.axis('off')\n    # Add a title to each subplot \n    plt.title(\"Label {0} ({1})\".format(label, labels.count(label)))\n    # Add 1 to the counter\n    i += 1\n    # And you plot this first image \n    plt.imshow(image)\n# Show the plot\nplt.show()</pre><p><strong>Note</strong> that even though you define 64 subplots, not all of them will show images (as there are only 62 labels!). Note also that again, you don\u2019t include any axes to make sure that the readers\u2019 attention doesn\u2019t dwell far from the main topic: the traffic signs!</p><br /><div class=\"figure\"><img src=\"http://community.datacamp.com.s3.amazonaws.com/community/production/ckeditor_assets/pictures/659/content_traffic_signs3.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /></div><p>As you mostly guessed in the histogram above, there are considerably more traffic signs with labels 22, 32, 38, and 61. This hypothesis is now confirmed in this plot: you see that there are 375 instances with label 22, 316 instances with label 32, 285 instances with label 38 and, lastly, 282 instances with label 61.</p><p>One of the most interesting questions that you could ask yourself now is whether there\u2019s a connection between all of these instances - maybe all of them are designatory signs?</p><p>Let\u2019s take a closer look: you see that label 22 and 32 are prohibitory signs, but that labels 38 and 61 are designatory and a prioritory signs, respectively. This means that there\u2019s not an immediate connection between these four, except for the fact that half of the signs that have a substantial presence in the dataset is of the prohibitory kind.</p></div>\n<div class=\"c2\"><a target=\"&#x201c;_blank&#x201d;\" href=\"https://www.datacamp.com/learn/python/\"><img src=\"https://res.cloudinary.com/dyd911kmh/image/upload/f_auto,q_auto:best/v1583330891/python_3_qgciu1.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /></a></div>\n<h2 id=\"manipulate\">Feature Extraction</h2>\n<p>Now that you have thoroughly explored your data, it\u2019s time to get your hands dirty! Let\u2019s recap briefly what you discovered to make sure that you don\u2019t forget any steps in the manipulation:</p>\n<ul><li>The size of the images was unequal;</li>\n<li>There are 62 labels or target values (as your labels start at 0 and end at 61);</li>\n<li>The distribution of the traffic sign values is pretty unequal; There wasn\u2019t really any connection between the signs that were heavily present in the dataset.</li>\n</ul><p>Now that you have a clear idea of what you need to improve, you can start with manipulating your data in such a way that it\u2019s ready to be fed to the neural network or whichever model you want to feed it too. Let\u2019s start first with extracting some features - you\u2019ll rescale the images, and you\u2019ll convert the images that are held in the <code class=\"lang-python\">images</code> array to grayscale. You\u2019ll do this color conversion mainly because the color matters less in classification questions like the one you\u2019re trying to answer now. For detection, however, the color does play a big part! So in those cases, it\u2019s not needed to do that conversion!</p>\n<div class=\"section level4\" id=\"rescaling-images\"><h4>Rescaling Images</h4><p>To tackle the differing image sizes, you\u2019re going to rescale the images; You can easily do this with the help of the <code class=\"lang-python\">skimage</code> or Scikit-Image library, which is a collection of algorithms for image processing.</p><p>In this case, the <code class=\"lang-python\">transform</code> module will come in handy, as it offers you a <code class=\"lang-python\">resize()</code> function; You\u2019ll see that you make use of list comprehension (again!) to resize each image to 28 by 28 pixels. Once again, you see that the way you actually form the list: for every image that you find in the <code class=\"lang-python\">images</code> array, you\u2019ll perform the transformation operation that you borrow from the <code class=\"lang-python\">skimage</code> library. Finally, you store the result in the <code class=\"lang-python\">images28</code> variable:</p><pre class=\"lang-python\"># Import the `transform` module from `skimage`\nfrom skimage import transform \n# Rescale the images in the `images` array\nimages28 = [transform.resize(image, (28, 28)) for image in images]</pre><p>This was fairly easy wasn\u2019t it?</p><p><strong>Note</strong> that the images are now four-dimensional: if you convert <code class=\"lang-python\">images28</code> to an array and if you concatenate the attribute <code class=\"lang-python\">shape</code> to it, you\u2019ll see that the printout tells you that <code class=\"lang-python\">images28</code>\u2019s dimensions are <code class=\"lang-python\">(4575, 28, 28, 3)</code>. The images are 784-dimensional (because your images are 28 by 28 pixels).</p><p>You can check the result of the rescaling operation by re-using the code that you used above to plot the 4 random images with the help of the <code class=\"lang-python\">traffic_signs</code> variable. Just don\u2019t forget to change all references to <code class=\"lang-python\">images</code> to <code class=\"lang-python\">images28</code>.</p><p>Check out the result here:</p><br /><div class=\"figure\"><img src=\"https://s3.amazonaws.com/assets.datacamp.com/blog_assets/TensorFlow+Tutorial/content_traffic_signs6.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /></div><p><strong>Note</strong> that because you rescaled, your <code class=\"lang-python\">min</code> and <code class=\"lang-python\">max</code> values have also changed; They seem to be all in the same ranges now, which is really great because then you don\u2019t necessarily need to normalize your data!</p></div>\n<div class=\"section level4\" id=\"image-conversion-to-grayscale\"><h4>Image Conversion to Grayscale</h4><p>As said in the introduction to this section of the tutorial, the color in the pictures matters less when you\u2019re trying to answer a classification question. That\u2019s why you\u2019ll also go through the trouble of converting the images to grayscale.</p><p><strong>Note</strong>, however, that you can also test out on your own what would happen to the final results of your model if you don\u2019t follow through with this specific step.</p><p>Just like with the rescaling, you can again count on the Scikit-Image library to help you out; In this case, it\u2019s the <code class=\"lang-python\">color</code> module with its <code class=\"lang-python\">rgb2gray()</code> function that you need to use to get where you need to be.</p><p>That\u2019s going to be nice and easy!</p><p>However, don\u2019t forget to convert the <code class=\"lang-python\">images28</code> variable back to an array, as the <code class=\"lang-python\">rgb2gray()</code> function does expect an array as an argument.</p><pre class=\"lang-python\"># Import `rgb2gray` from `skimage.color`\nfrom skimage.color import rgb2gray\n# Convert `images28` to an array\nimages28 = np.array(images28)\n# Convert `images28` to grayscale\nimages28 = rgb2gray(images28)</pre><p>Double check the result of your grayscale conversion by plotting some of the images; Here, you can again re-use and slightly adapt some of the code to show the adjusted images:</p><pre class=\"lang-python\">import matplotlib.pyplot as plt\ntraffic_signs = [300, 2250, 3650, 4000]\nfor i in range(len(traffic_signs)):\n    plt.subplot(1, 4, i+1)\n    plt.axis('off')\n    plt.imshow(images28[traffic_signs[i]], cmap=\"gray\")\n    plt.subplots_adjust(wspace=0.5)\n# Show the plot\nplt.show()</pre><p><strong>Note</strong> that you indeed have to specify the color map or <code class=\"lang-python\">cmap</code> and set it to <code class=\"lang-python\">\"gray\"</code> to plot the images in grayscale. That is because <code class=\"lang-python\">imshow()</code> by default uses, by default, a heatmap-like color map. Read more <a href=\"https://stackoverflow.com/questions/39805697/skimage-why-does-rgb2gray-from-skimage-color-result-in-a-colored-image\">here</a>.</p><br /><div class=\"figure\"><img src=\"http://community.datacamp.com.s3.amazonaws.com/community/production/ckeditor_assets/pictures/661/content_traffic_signs4.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /></div><p><strong>Tip</strong>: since you have been re-using this function quite a bit in this tutorial, you might look into how you can make it into a function :)</p><p>These two steps are very basic ones; Other operations that you could have tried out on your data include data augmentation (rotating, blurring, shifting, changing brightness,\u2026). If you want, you could also set up an entire pipeline of data manipulation operations through which you send your images.</p></div>\n<h2>Deep Learning With TensorFlow</h2>\n<p>Now that you have explored and manipulated your data, it\u2019s time to construct your neural network architecture with the help of the TensorFlow package!</p>\n<h3 id=\"model\">Modeling The Neural Network</h3>\n<p>Just like you might have done with Keras, it\u2019s time to build up your neural network, layer by layer.</p>\n<p>If you haven\u2019t done so already, import <code class=\"lang-python\">tensorflow</code> into your workspace under the conventional alias <code class=\"lang-python\">tf</code>. Then, you can initialize the Graph with the help of <code class=\"lang-python\">Graph()</code>. You use this function to define the computation. <strong>Note</strong> that with the Graph, you don\u2019t compute anything, because it doesn\u2019t hold any values. It just defines the operations that you want to be running later.</p>\n<p>In this case, you set up a default context with the help of <code class=\"lang-python\">as_default()</code>, which returns a context manager that makes this specific Graph the default graph. You use this method if you want to create multiple graphs in the same process: with this function, you have a global default graph to which all operations will be added if you don\u2019t explicitly create a new graph.</p>\n<p>Next, you\u2019re ready to add operations to your graph. As you might remember from working with Keras, you build up your model, and then in compiling it, you define a loss function, an optimizer, and a metric. This now all happens in one step when you work with TensorFlow:</p>\n<ul><li>First, you define placeholders for inputs and labels because you won\u2019t put in the \u201creal\u201d data yet. <strong>Remember</strong> that placeholders are values that are unassigned and that will be initialized by the session when you run it. So when you finally run the session, these placeholders will get the values of your dataset that you pass in the <code class=\"lang-python\">run()</code> function!</li>\n<li>Then, you build up the network. You first start by flattening the input with the help of the <code class=\"lang-python\">flatten()</code> function, which will give you an array of shape <code class=\"lang-python\">[None, 784]</code> instead of the <code class=\"lang-python\">[None, 28, 28]</code>, which is the shape of your grayscale images.</li>\n<li>After you have flattened the input, you construct a fully connected layer that generates logits of size <code class=\"lang-python\">[None, 62]</code>. Logits is the function operates on the unscaled output of previous layers, and that uses the relative scale to understand the units is linear.</li>\n<li>With the multi-layer perceptron built out, you can define the loss function. The choice for a loss function depends on the task that you have at hand: in this case, you make use of</li>\n</ul><pre class=\"lang-python\">sparse_softmax_cross_entropy_with_logits()</pre>\n<p>This computes sparse softmax cross entropy between logits and labels. In other words, it measures the probability error in discrete classification tasks in which the classes are mutually exclusive. This means that each entry is in exactly one class. Here, a traffic sign can only have one single label. <strong>Remember</strong> that, while regression is used to predict continuous values, classification is used to predict discrete values or classes of data points. You wrap this function with <code class=\"lang-python\">reduce_mean()</code>, which computes the mean of elements across dimensions of a tensor.You also want to define a training optimizer; Some of the most popular optimization algorithms used are the Stochastic Gradient Descent (SGD), ADAM and RMSprop. Depending on whichever algorithm you choose, you\u2019ll need to tune certain parameters, such as learning rate or momentum. In this case, you pick the ADAM optimizer, for which you define the learning rate at <code class=\"lang-python\">0.001</code>.Lastly, you initialize the operations to execute before going over to the training.</p>\n<pre class=\"lang-python\"># Import `tensorflow` \nimport tensorflow as tf \n# Initialize placeholders \nx = tf.placeholder(dtype = tf.float32, shape = [None, 28, 28])\ny = tf.placeholder(dtype = tf.int32, shape = [None])\n# Flatten the input data\nimages_flat = tf.contrib.layers.flatten(x)\n# Fully connected layer \nlogits = tf.contrib.layers.fully_connected(images_flat, 62, tf.nn.relu)\n# Define a loss function\nloss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(labels = y, \n                                                                    logits = logits))\n# Define an optimizer \ntrain_op = tf.train.AdamOptimizer(learning_rate=0.001).minimize(loss)\n# Convert logits to label indexes\ncorrect_pred = tf.argmax(logits, 1)\n# Define an accuracy metric\naccuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))</pre>\n<p>You have now successfully created your first neural network with TensorFlow!</p>\n<p>If you want, you can also print out the values of (most of) the variables to get a quick recap or checkup of what you have just coded up:</p>\n<pre class=\"lang-python\">print(\"images_flat: \", images_flat)\nprint(\"logits: \", logits)\nprint(\"loss: \", loss)\nprint(\"predicted_labels: \", correct_pred)</pre>\n<p><strong>Tip</strong>: if you see an error like \u201c<code class=\"lang-python\">module 'pandas' has no attribute 'computation'</code>\u201d, consider upgrading the packages <code class=\"lang-python\">dask</code> by running <code class=\"lang-python\">pip install --upgrade dask</code> in your command line. See <a href=\"https://stackoverflow.com/questions/43833081/attributeerror-module-object-has-no-attribute-computation\">this StackOverflow post</a> for more information.</p>\n<h3 id=\"train\">Running The Neural Network</h3>\n<p>Now that you have built up your model layer by layer, it\u2019s time to actually run it! To do this, you first need to initialize a session with the help of <code class=\"lang-python\">Session()</code> to which you can pass your <code class=\"lang-python\">graph</code> that you defined in the previous section. Next, you can run the session with <code class=\"lang-python\">run()</code>, to which you pass the initialized operations in the form of the <code class=\"lang-python\">init</code> variable that you also defined in the previous section.</p>\n<p>Next, you can use this initialized session to start epochs or training loops. In this case, you pick <code class=\"lang-python\">201</code> because you want to be able to register the last <code class=\"lang-python\">loss_value</code>; In the loop, you run the session with the training optimizer and the loss (or accuracy) metric that you defined in the previous section. You also pass a <code class=\"lang-python\">feed_dict</code> argument, with which you feed data to the model. After every 10 epochs, you\u2019ll get a log that gives you more insights into the loss or cost of the model.</p>\n<p>As you have seen in the section on the TensorFlow basics, there is no need to close the session manually; this is done for you. However, if you want to try out a different setup, you probably will need to do so with <code class=\"lang-python\">sess.close()</code> if you have defined your session as <code class=\"lang-python\">sess</code>, like in the code chunk below:</p>\n<pre class=\"lang-python\">tf.set_random_seed(1234)\nsess = tf.Session()\nsess.run(tf.global_variables_initializer())\nfor i in range(201):\n        print('EPOCH', i)\n        _, accuracy_val = sess.run([train_op, accuracy], feed_dict={x: images28, y: labels})\n        if i % 10 == 0:\n            print(\"Loss: \", loss)\n        print('DONE WITH EPOCH')</pre>\n<p><strong>Remember</strong> that you can also run the following piece of code, but that one will immediately close the session afterward, just like you saw in the introduction of this tutorial:</p>\n<pre class=\"lang-python\">tf.set_random_seed(1234)\nwith tf.Session() as sess:\n    sess.run(tf.global_variables_initializer())\n    for i in range(201):\n        _, loss_value = sess.run([train_op, loss], feed_dict={x: images28, y: labels})\n        if i % 10 == 0:\n            print(\"Loss: \", loss)</pre>\n<p><strong>Note</strong> that you make use of <code class=\"lang-python\">global_variables_initializer()</code> because the <code class=\"lang-python\">initialize_all_variables()</code> function is deprecated.</p>\n<p>You have now successfully trained your model! That wasn\u2019t too hard, was it?</p>\n<h3 id=\"evaluate\">Evaluating Your Neural Network</h3>\n<p>You\u2019re not entirely there yet; You still need to evaluate your neural network. In this case, you can already try to get a glimpse of well your model performs by picking 10 random images and by comparing the predicted labels with the real labels.</p>\n<p>You can first print them out, but why not use <code class=\"lang-python\">matplotlib</code> to plot the traffic signs themselves and make a visual comparison?</p>\n<pre class=\"lang-python\"># Import `matplotlib`\nimport matplotlib.pyplot as plt\nimport random\n# Pick 10 random images\nsample_indexes = random.sample(range(len(images28)), 10)\nsample_images = [images28[i] for i in sample_indexes]\nsample_labels = [labels[i] for i in sample_indexes]\n# Run the \"correct_pred\" operation\npredicted = sess.run([correct_pred], feed_dict={x: sample_images})[0]\n# Print the real and predicted labels\nprint(sample_labels)\nprint(predicted)\n# Display the predictions and the ground truth visually.\nfig = plt.figure(figsize=(10, 10))\nfor i in range(len(sample_images)):\n    truth = sample_labels[i]\n    prediction = predicted[i]\n    plt.subplot(5, 2,1+i)\n    plt.axis('off')\n    color='green' if truth == prediction else 'red'\n    plt.text(40, 10, \"Truth:        {0}\\nPrediction: {1}\".format(truth, prediction), \n             fontsize=12, color=color)\n    plt.imshow(sample_images[i],  cmap=\"gray\")\nplt.show()\n</pre>\n<div class=\"figure\"><img src=\"http://community.datacamp.com.s3.amazonaws.com/community/production/ckeditor_assets/pictures/662/content_traffic_signs8.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /></div>\n<p>However, only looking at random images don\u2019t give you many insights into how well your model actually performs. That\u2019s why you\u2019ll load in the test data.</p>\n<p><strong>Note</strong> that you make use of the <code class=\"lang-python\">load_data()</code> function, which you defined at the start of this tutorial.</p>\n<pre class=\"lang-python\"># Import `skimage`\nfrom skimage import transform\n# Load the test data\ntest_images, test_labels = load_data(test_data_directory)\n# Transform the images to 28 by 28 pixels\ntest_images28 = [transform.resize(image, (28, 28)) for image in test_images]\n# Convert to grayscale\nfrom skimage.color import rgb2gray\ntest_images28 = rgb2gray(np.array(test_images28))\n# Run predictions against the full test set.\npredicted = sess.run([correct_pred], feed_dict={x: test_images28})[0]\n# Calculate correct matches \nmatch_count = sum([int(y == y_) for y, y_ in zip(test_labels, predicted)])\n# Calculate the accuracy\naccuracy = match_count / len(test_labels)\n# Print the accuracy\nprint(\"Accuracy: {:.3f}\".format(accuracy))</pre>\n<p><strong>Remember</strong> to close off the session with <code class=\"lang-python\">sess.close()</code> in case you didn't use the <code class=\"lang-python\">with tf.Session() as sess:</code> to start your TensorFlow session.</p>\n<h2 id=\"further\">Where To Go Next?</h2>\n<p>If you want to continue working with this dataset and the model that you have put together in this tutorial, try out the following things:</p>\n<ul><li>Apply regularized LDA on the data before you feed it to your model. This is a suggestion that comes from <a href=\"http://btsd.ethz.ch/shareddata/publications/Mathias-IJCNN-2013.pdf\">one of the original papers</a>, written by the researchers that gathered and analyzed this dataset.</li>\n<li>You could also, as said in the tutorial itself, also look at some other data augmentation operations that you can perform on the traffic sign images. Additionally, you could also try to tweak this network further; The one that you have created now was fairly simple.</li>\n<li>Early stopping: Keep track of the training and testing error while you train the neural network. Stop training when both errors go down and then suddenly go back up - this is a sign that the neural network has started to overfit the training data.</li>\n<li>Play around with the optimizers.</li>\n</ul><p>Make sure to check out the <a href=\"https://www.manning.com/books/machine-learning-with-tensorflow\">Machine Learning With TensorFlow</a> book, written by Nishant Shukla.</p>\n<p><strong>Tip</strong> also check out the <a href=\"http://playground.tensorflow.org/#activation=tanh&amp;batchSize=10&amp;dataset=circle&amp;regDataset=reg-plane&amp;learningRate=0.03&amp;regularizationRate=0&amp;noise=0&amp;networkShape=4,2&amp;seed=0.90110&amp;showTestData=false&amp;discretize=false&amp;percTrainData=50&amp;x=true&amp;y=true&amp;xTimesY=false&amp;xSquared=false&amp;ySquared=false&amp;cosX=false&amp;sinX=false&amp;cosY=false&amp;sinY=false&amp;collectStats=false&amp;problem=classification&amp;initZero=false&amp;hideText=false\">TensorFlow Playground</a> and the <a href=\"https://www.tensorflow.org/get_started/summaries_and_tensorboard\">TensorBoard</a>.</p>\n<p>If you want to keep on working with images, definitely check out DataCamp\u2019s <a href=\"https://www.datacamp.com/community/tutorials/machine-learning-python\">scikit-learn tutorial</a>, which tackles the MNIST dataset with the help of PCA, K-Means and Support Vector Machines (SVMs). Or take a look at other tutorials such as <a href=\"https://github.com/waleedka/traffic-signs-tensorflow/blob/master/notebook1.ipynb\">this one</a> that uses the Belgian traffic signs dataset.</p>",
    "created_at": "2022-01-24T20:10:46+00:00",
    "updated_at": "2022-01-24T20:11:03+00:00",
    "published_by": [""],
    "annotations": [],
    "mimetype": "text/html",
    "reading_time": 33,
    "domain_name": "www.datacamp.com",
    "preview_picture": "https://cdn.datacamp.com/community/logos/medium/placeholder.jpg",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "tutorial", "sklearn"],
    "is_public": false,
    "id": 6,
    "title": "An introduction to machine learning with scikit-learn",
    "url": "https://scikit-learn.org/stable/tutorial/basic/tutorial.html",
    "content": "<div class=\"topic\"><p class=\"topic-title\">Section contents</p><p>In this section, we introduce the <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Machine_learning\">machine learning</a> vocabulary that we use throughout scikit-learn and give a simple learning example.</p></div><section id=\"machine-learning-the-problem-setting\"><h2>Machine learning: the problem setting</h2><p>In general, a learning problem considers a set of n <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Sample_(statistics)\">samples</a> of data and then tries to predict properties of unknown data. If each sample is more than a single number and, for instance, a multi-dimensional entry (aka <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Multivariate_random_variable\">multivariate</a> data), it is said to have several attributes or <strong>features</strong>.</p><p>Learning problems fall into a few categories:</p><blockquote>\n<div><ul><li>\n<p><a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Supervised_learning\">supervised learning</a>, in which the data comes with additional attributes that we want to predict (<a class=\"reference internal\" href=\"https://scikit-learn.org/stable/supervised_learning.html#supervised-learning\">Click here</a> to go to the scikit-learn supervised learning page).This problem can be either:</p>\n<blockquote>\n<div><ul class=\"simple\"><li>\n<p><a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Classification_in_machine_learning\">classification</a>: samples belong to two or more classes and we want to learn from already labeled data how to predict the class of unlabeled data. An example of a classification problem would be handwritten digit recognition, in which the aim is to assign each input vector to one of a finite number of discrete categories. Another way to think of classification is as a discrete (as opposed to continuous) form of supervised learning where one has a limited number of categories and for each of the n samples provided, one is to try to label them with the correct category or class.</p>\n</li>\n<li>\n<p><a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Regression_analysis\">regression</a>: if the desired output consists of one or more continuous variables, then the task is called <em>regression</em>. An example of a regression problem would be the prediction of the length of a salmon as a function of its age and weight.</p>\n</li>\n</ul></div>\n</blockquote>\n</li>\n<li>\n<p><a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Unsupervised_learning\">unsupervised learning</a>, in which the training data consists of a set of input vectors x without any corresponding target values. The goal in such problems may be to discover groups of similar examples within the data, where it is called <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Cluster_analysis\">clustering</a>, or to determine the distribution of data within the input space, known as <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Density_estimation\">density estimation</a>, or to project the data from a high-dimensional space down to two or three dimensions for the purpose of <em>visualization</em> (<a class=\"reference internal\" href=\"https://scikit-learn.org/stable/unsupervised_learning.html#unsupervised-learning\">Click here</a> to go to the Scikit-Learn unsupervised learning page).</p>\n</li>\n</ul></div>\n</blockquote><div class=\"topic\"><p class=\"topic-title\">Training set and testing set</p><p>Machine learning is about learning some properties of a data set and then testing those properties against another data set. A common practice in machine learning is to evaluate an algorithm by splitting a data set into two. We call one of those sets the <strong>training set</strong>, on which we learn some properties; we call the other set the <strong>testing set</strong>, on which we test the learned properties.</p></div></section><section id=\"loading-an-example-dataset\"><h2>Loading an example dataset</h2><p><code class=\"docutils literal notranslate\">scikit-learn</code> comes with a few standard datasets, for instance the <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Iris_flower_data_set\">iris</a> and <a class=\"reference external\" href=\"https://archive.ics.uci.edu/ml/datasets/Pen-Based+Recognition+of+Handwritten+Digits\">digits</a> datasets for classification and the <a class=\"reference external\" href=\"https://www4.stat.ncsu.edu/~boos/var.select/diabetes.html\">diabetes dataset</a> for regression.</p><p>In the following, we start a Python interpreter from our shell and then load the <code class=\"docutils literal notranslate\">iris</code> and <code class=\"docutils literal notranslate\">digits</code> datasets. Our notational convention is that <code class=\"docutils literal notranslate\">$</code> denotes the shell prompt while <code class=\"docutils literal notranslate\">&gt;&gt;&gt;</code> denotes the Python interpreter prompt:</p><div class=\"highlight-default notranslate highlight\"><pre>$ python\n&gt;&gt;&gt; from sklearn import datasets\n&gt;&gt;&gt; iris = datasets.load_iris()\n&gt;&gt;&gt; digits = datasets.load_digits()\n</pre></div><p>A dataset is a dictionary-like object that holds all the data and some metadata about the data. This data is stored in the <code class=\"docutils literal notranslate\">.data</code> member, which is a <code class=\"docutils literal notranslate\">n_samples, n_features</code> array. In the case of supervised problem, one or more response variables are stored in the <code class=\"docutils literal notranslate\">.target</code> member. More details on the different datasets can be found in the <a class=\"reference internal\" href=\"https://scikit-learn.org/stable/datasets.html#datasets\">dedicated section</a>.</p><p>For instance, in the case of the digits dataset, <code class=\"docutils literal notranslate\">digits.data</code> gives access to the features that can be used to classify the digits samples:</p><div class=\"highlight-default notranslate highlight\"><pre>&gt;&gt;&gt; print(digits.data)\n[[ 0.   0.   5. ...   0.   0.   0.]\n [ 0.   0.   0. ...  10.   0.   0.]\n [ 0.   0.   0. ...  16.   9.   0.]\n ...\n [ 0.   0.   1. ...   6.   0.   0.]\n [ 0.   0.   2. ...  12.   0.   0.]\n [ 0.   0.  10. ...  12.   1.   0.]]\n</pre></div><p>and <code class=\"docutils literal notranslate\">digits.target</code> gives the ground truth for the digit dataset, that is the number corresponding to each digit image that we are trying to learn:</p><div class=\"highlight-default notranslate highlight\"><pre>&gt;&gt;&gt; digits.target\narray([0, 1, 2, ..., 8, 9, 8])\n</pre></div><div class=\"topic\"><p class=\"topic-title\">Shape of the data arrays</p><p>The data is always a 2D array, shape <code class=\"docutils literal notranslate\">(n_samples, n_features)</code>, although the original data may have had a different shape. In the case of the digits, each original sample is an image of shape <code class=\"docutils literal notranslate\">(8, 8)</code> and can be accessed using:</p><div class=\"highlight-default notranslate highlight\"><pre>&gt;&gt;&gt; digits.images[0]\narray([[  0.,   0.,   5.,  13.,   9.,   1.,   0.,   0.],\n       [  0.,   0.,  13.,  15.,  10.,  15.,   5.,   0.],\n       [  0.,   3.,  15.,   2.,   0.,  11.,   8.,   0.],\n       [  0.,   4.,  12.,   0.,   0.,   8.,   8.,   0.],\n       [  0.,   5.,   8.,   0.,   0.,   9.,   8.,   0.],\n       [  0.,   4.,  11.,   0.,   1.,  12.,   7.,   0.],\n       [  0.,   2.,  14.,   5.,  10.,  12.,   0.,   0.],\n       [  0.,   0.,   6.,  13.,  10.,   0.,   0.,   0.]])\n</pre></div><p>The <a class=\"reference internal\" href=\"https://scikit-learn.org/stable/auto_examples/classification/plot_digits_classification.html#sphx-glr-auto-examples-classification-plot-digits-classification-py\">simple example on this dataset</a> illustrates how starting from the original problem one can shape the data for consumption in scikit-learn.</p></div><div class=\"topic\"><p class=\"topic-title\">Loading from external datasets</p><p>To load from an external dataset, please refer to <a class=\"reference internal\" href=\"https://scikit-learn.org/stable/datasets/loading_other_datasets.html#external-datasets\">loading external datasets</a>.</p></div></section><section id=\"learning-and-predicting\"><h2>Learning and predicting</h2><p>In the case of the digits dataset, the task is to predict, given an image, which digit it represents. We are given samples of each of the 10 possible classes (the digits zero through nine) on which we <em>fit</em> an <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Estimator\">estimator</a> to be able to <em>predict</em> the classes to which unseen samples belong.</p><p>In scikit-learn, an estimator for classification is a Python object that implements the methods <code class=\"docutils literal notranslate\">fit(X, y)</code> and <code class=\"docutils literal notranslate\">predict(T)</code>.</p><p>An example of an estimator is the class <code class=\"docutils literal notranslate\">sklearn.svm.SVC</code>, which implements <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/Support_vector_machine\">support vector classification</a>. The estimator\u2019s constructor takes as arguments the model\u2019s parameters.</p><p>For now, we will consider the estimator as a black box:</p><div class=\"highlight-default notranslate highlight\"><pre>&gt;&gt;&gt; from sklearn import svm\n&gt;&gt;&gt; clf = svm.SVC(gamma=0.001, C=100.)\n</pre></div><div class=\"topic\"><p class=\"topic-title\">Choosing the parameters of the model</p><p>In this example, we set the value of <code class=\"docutils literal notranslate\">gamma</code> manually. To find good values for these parameters, we can use tools such as <a class=\"reference internal\" href=\"https://scikit-learn.org/stable/modules/grid_search.html#grid-search\">grid search</a> and <a class=\"reference internal\" href=\"https://scikit-learn.org/stable/modules/cross_validation.html#cross-validation\">cross validation</a>.</p></div><p>The <code class=\"docutils literal notranslate\">clf</code> (for classifier) estimator instance is first fitted to the model; that is, it must <em>learn</em> from the model. This is done by passing our training set to the <code class=\"docutils literal notranslate\">fit</code> method. For the training set, we\u2019ll use all the images from our dataset, except for the last image, which we\u2019ll reserve for our predicting. We select the training set with the <code class=\"docutils literal notranslate\">[:-1]</code> Python syntax, which produces a new array that contains all but the last item from <code class=\"docutils literal notranslate\">digits.data</code>:</p><div class=\"highlight-default notranslate highlight\"><pre>&gt;&gt;&gt; clf.fit(digits.data[:-1], digits.target[:-1])\nSVC(C=100.0, gamma=0.001)\n</pre></div><p>Now you can <em>predict</em> new values. In this case, you\u2019ll predict using the last image from <code class=\"docutils literal notranslate\">digits.data</code>. By predicting, you\u2019ll determine the image from the training set that best matches the last image.</p><div class=\"doctest highlight-default notranslate highlight\"><pre>&gt;&gt;&gt; clf.predict(digits.data[-1:])\narray([8])\n</pre></div><p>The corresponding image is:</p><a class=\"reference external image-reference\" href=\"https://scikit-learn.org/stable/auto_examples/datasets/plot_digits_last_image.html\"><img alt=\"../../_images/sphx_glr_plot_digits_last_image_001.png\" class=\"align-center c1\" src=\"https://scikit-learn.org/stable/_images/sphx_glr_plot_digits_last_image_001.png\" referrerpolicy=\"no-referrer\" /></a><p>As you can see, it is a challenging task: after all, the images are of poor resolution. Do you agree with the classifier?</p><p>A complete example of this classification problem is available as an example that you can run and study: <a class=\"reference internal\" href=\"https://scikit-learn.org/stable/auto_examples/classification/plot_digits_classification.html#sphx-glr-auto-examples-classification-plot-digits-classification-py\">Recognizing hand-written digits</a>.</p></section><section id=\"conventions\"><h2>Conventions</h2><p>scikit-learn estimators follow certain rules to make their behavior more predictive. These are described in more detail in the <a class=\"reference internal\" href=\"https://scikit-learn.org/stable/glossary.html#glossary\">Glossary of Common Terms and API Elements</a>.</p><section id=\"type-casting\"><h3>Type casting</h3><p>Unless otherwise specified, input will be cast to <code class=\"docutils literal notranslate\">float64</code>:</p><div class=\"highlight-default notranslate highlight\"><pre>&gt;&gt;&gt; import numpy as np\n&gt;&gt;&gt; from sklearn import random_projection\n&gt;&gt;&gt; rng = np.random.RandomState(0)\n&gt;&gt;&gt; X = rng.rand(10, 2000)\n&gt;&gt;&gt; X = np.array(X, dtype='float32')\n&gt;&gt;&gt; X.dtype\ndtype('float32')\n&gt;&gt;&gt; transformer = random_projection.GaussianRandomProjection()\n&gt;&gt;&gt; X_new = transformer.fit_transform(X)\n&gt;&gt;&gt; X_new.dtype\ndtype('float64')\n</pre></div><p>In this example, <code class=\"docutils literal notranslate\">X</code> is <code class=\"docutils literal notranslate\">float32</code>, which is cast to <code class=\"docutils literal notranslate\">float64</code> by <code class=\"docutils literal notranslate\">fit_transform(X)</code>.</p><p>Regression targets are cast to <code class=\"docutils literal notranslate\">float64</code> and classification targets are maintained:</p><div class=\"highlight-default notranslate highlight\"><pre>&gt;&gt;&gt; from sklearn import datasets\n&gt;&gt;&gt; from sklearn.svm import SVC\n&gt;&gt;&gt; iris = datasets.load_iris()\n&gt;&gt;&gt; clf = SVC()\n&gt;&gt;&gt; clf.fit(iris.data, iris.target)\nSVC()\n&gt;&gt;&gt; list(clf.predict(iris.data[:3]))\n[0, 0, 0]\n&gt;&gt;&gt; clf.fit(iris.data, iris.target_names[iris.target])\nSVC()\n&gt;&gt;&gt; list(clf.predict(iris.data[:3]))\n['setosa', 'setosa', 'setosa']\n</pre></div><p>Here, the first <code class=\"docutils literal notranslate\">predict()</code> returns an integer array, since <code class=\"docutils literal notranslate\">iris.target</code> (an integer array) was used in <code class=\"docutils literal notranslate\">fit</code>. The second <code class=\"docutils literal notranslate\">predict()</code> returns a string array, since <code class=\"docutils literal notranslate\">iris.target_names</code> was for fitting.</p></section><section id=\"refitting-and-updating-parameters\"><h3>Refitting and updating parameters</h3><p>Hyper-parameters of an estimator can be updated after it has been constructed via the <a class=\"reference internal\" href=\"https://scikit-learn.org/stable/glossary.html#term-set_params\">set_params()</a> method. Calling <code class=\"docutils literal notranslate\">fit()</code> more than once will overwrite what was learned by any previous <code class=\"docutils literal notranslate\">fit()</code>:</p><div class=\"highlight-default notranslate highlight\"><pre>&gt;&gt;&gt; import numpy as np\n&gt;&gt;&gt; from sklearn.datasets import load_iris\n&gt;&gt;&gt; from sklearn.svm import SVC\n&gt;&gt;&gt; X, y = load_iris(return_X_y=True)\n&gt;&gt;&gt; clf = SVC()\n&gt;&gt;&gt; clf.set_params(kernel='linear').fit(X, y)\nSVC(kernel='linear')\n&gt;&gt;&gt; clf.predict(X[:5])\narray([0, 0, 0, 0, 0])\n&gt;&gt;&gt; clf.set_params(kernel='rbf').fit(X, y)\nSVC()\n&gt;&gt;&gt; clf.predict(X[:5])\narray([0, 0, 0, 0, 0])\n</pre></div><p>Here, the default kernel <code class=\"docutils literal notranslate\">rbf</code> is first changed to <code class=\"docutils literal notranslate\">linear</code> via <a class=\"reference internal\" href=\"https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC.set_params\" title=\"sklearn.svm.SVC.set_params\"><code class=\"xref py py-func docutils literal notranslate\">SVC.set_params()</code></a> after the estimator has been constructed, and changed back to <code class=\"docutils literal notranslate\">rbf</code> to refit the estimator and to make a second prediction.</p></section><section id=\"multiclass-vs-multilabel-fitting\"><h3>Multiclass vs. multilabel fitting</h3><p>When using <a class=\"reference internal\" href=\"https://scikit-learn.org/stable/modules/classes.html#module-sklearn.multiclass\" title=\"sklearn.multiclass\"><code class=\"xref py py-class docutils literal notranslate\">multiclass classifiers</code></a>, the learning and prediction task that is performed is dependent on the format of the target data fit upon:</p><div class=\"highlight-default notranslate highlight\"><pre>&gt;&gt;&gt; from sklearn.svm import SVC\n&gt;&gt;&gt; from sklearn.multiclass import OneVsRestClassifier\n&gt;&gt;&gt; from sklearn.preprocessing import LabelBinarizer\n&gt;&gt;&gt; X = [[1, 2], [2, 4], [4, 5], [3, 2], [3, 1]]\n&gt;&gt;&gt; y = [0, 0, 1, 1, 2]\n&gt;&gt;&gt; classif = OneVsRestClassifier(estimator=SVC(random_state=0))\n&gt;&gt;&gt; classif.fit(X, y).predict(X)\narray([0, 0, 1, 1, 2])\n</pre></div><p>In the above case, the classifier is fit on a 1d array of multiclass labels and the <code class=\"docutils literal notranslate\">predict()</code> method therefore provides corresponding multiclass predictions. It is also possible to fit upon a 2d array of binary label indicators:</p><div class=\"highlight-default notranslate highlight\"><pre>&gt;&gt;&gt; y = LabelBinarizer().fit_transform(y)\n&gt;&gt;&gt; classif.fit(X, y).predict(X)\narray([[1, 0, 0],\n       [1, 0, 0],\n       [0, 1, 0],\n       [0, 0, 0],\n       [0, 0, 0]])\n</pre></div><p>Here, the classifier is <code class=\"docutils literal notranslate\">fit()</code> on a 2d binary label representation of <code class=\"docutils literal notranslate\">y</code>, using the <a class=\"reference internal\" href=\"https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelBinarizer.html#sklearn.preprocessing.LabelBinarizer\" title=\"sklearn.preprocessing.LabelBinarizer\"><code class=\"xref py py-class docutils literal notranslate\">LabelBinarizer</code></a>. In this case <code class=\"docutils literal notranslate\">predict()</code> returns a 2d array representing the corresponding multilabel predictions.</p><p>Note that the fourth and fifth instances returned all zeroes, indicating that they matched none of the three labels <code class=\"docutils literal notranslate\">fit</code> upon. With multilabel outputs, it is similarly possible for an instance to be assigned multiple labels:</p><div class=\"highlight-default notranslate highlight\"><pre>&gt;&gt;&gt; from sklearn.preprocessing import MultiLabelBinarizer\n&gt;&gt;&gt; y = [[0, 1], [0, 2], [1, 3], [0, 2, 3], [2, 4]]\n&gt;&gt;&gt; y = MultiLabelBinarizer().fit_transform(y)\n&gt;&gt;&gt; classif.fit(X, y).predict(X)\narray([[1, 1, 0, 0, 0],\n       [1, 0, 1, 0, 0],\n       [0, 1, 0, 1, 0],\n       [1, 0, 1, 0, 0],\n       [1, 0, 1, 0, 0]])\n</pre></div><p>In this case, the classifier is fit upon instances each assigned multiple labels. The <a class=\"reference internal\" href=\"https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.MultiLabelBinarizer.html#sklearn.preprocessing.MultiLabelBinarizer\" title=\"sklearn.preprocessing.MultiLabelBinarizer\"><code class=\"xref py py-class docutils literal notranslate\">MultiLabelBinarizer</code></a> is used to binarize the 2d array of multilabels to <code class=\"docutils literal notranslate\">fit</code> upon. As a result, <code class=\"docutils literal notranslate\">predict()</code> returns a 2d array with multiple predicted labels for each instance.</p></section></section>",
    "created_at": "2022-01-24T20:09:28+00:00",
    "updated_at": "2022-01-24T20:09:50+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "reading_time": 9,
    "domain_name": "scikit-learn.org",
    "preview_picture": "https://scikit-learn/_images/sphx_glr_plot_digits_last_image_001.png",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "tutorial", "bokeh"],
    "is_public": false,
    "id": 5,
    "title": "Python Bokeh tutorial - Interactive Data Visualization with Bokeh - GeeksforGeeks",
    "url": "https://www.geeksforgeeks.org/python-bokeh-tutorial-interactive-data-visualization-with-bokeh/",
    "content": "<p class=\"c5\"><a href=\"https://www.geeksforgeeks.org/introduction-to-bokeh-in-python/\"><strong>Python Bokeh</strong></a> is a Data Visualization library that provides interactive charts and plots. Bokeh renders its plots using HTML and JavaScript that uses modern web browsers for presenting elegant, concise construction of novel graphics with high-level interactivity.\u00a0</p><p><strong>Features of Bokeh:</strong></p><ul><li><strong>Flexibility:</strong> Bokeh can be used for common plotting requirements and for custom and complex use-cases.</li>\n<li><strong>Productivity:</strong> Its interaction with other popular Pydata tools (such as Pandas and Jupyter notebook) is very easy.</li>\n<li><strong>Interactivity:</strong> It creates interactive plots that change with the user interaction.</li>\n<li><strong>Powerful:</strong> Generation of visualizations for specialized use-cases can be done by adding JavaScript.</li>\n<li><strong>Shareable:</strong> Visual data are shareable. They can also be rendered in Jupyter notebooks.</li>\n<li><strong>Open source:</strong> Bokeh is an open-source project.</li>\n</ul><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210219160041/PythonBokehmin.jpg\" alt=\"Python Bokeh Tutorial\" referrerpolicy=\"no-referrer\" /></p><p class=\"c5\">This tutorial aims at providing insight to Bokeh using well-explained concepts and examples with the help of a huge dataset. So let\u2019s dive deep into the Bokeh and learn all it from basic to advance.</p><p><strong>Table Of Content</strong><br />\u00a0</p><blockquote>\n<ul><li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Installation\">Installation</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Interfaces\">Bokeh Interfaces \u2013 Basic Concepts of Bokeh</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Getting\">Getting Started</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Annotations\">Annotations and Legends</a>\u00a0\n<ul><li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Legends\">Customizing Legends</a>\u00a0<br />\u00a0</li>\n</ul></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Plotting\">Plotting Different Types of Plots</a>\u00a0\n<ul><li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Bar\">Bar Plot</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Scatter\">Scatter Plot</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Patch\">Patch Plot</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Area\">Area Plot</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Pie\">Pie Chart</a></li>\n</ul></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Creating\">Creating Different Shapes</a>\u00a0\n<ul><li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Circle\">Circle</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Oval\">Oval</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Triangle\">Triangle</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Rectangle\">Rectangle</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Polygon\">Polygon</a></li>\n</ul></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Plotting\">Plotting Multiple Plots</a>\u00a0\n<ul><li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Vertical\">Vertical Layouts</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Horizontal\">Horizontal Layout</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Grid\">Grid Layout</a></li>\n</ul></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Interactive\">Interactive Data Visualization</a>\u00a0\n<ul><li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Configuring\">Configuring Plot Tools</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Interactive2\">Interactive Legends</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Widgets\">Adding Widgets to the Plot</a></li>\n</ul></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Glyphs\">Creating Different Types of Glyphs</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Data\">Visualizing Different Types of Data</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#More\">More Topics on Bokeh</a></li>\n</ul></blockquote><h2 class=\"c6\">Installation</h2><p class=\"c5\">Bokeh is supported by <strong>CPython 3.6 and older</strong> with both standard distribution and anaconda distribution. Bokeh package has the following dependencies.</p><p><strong>1. Required Dependencies</strong></p><ul><li>PyYAML&gt;=3.10</li>\n<li>python-dateutil&gt;=2.1</li>\n<li>Jinja2&gt;=2.7</li>\n<li>numpy&gt;=1.11.3</li>\n<li>pillow&gt;=4.0</li>\n<li>packaging&gt;=16.8</li>\n<li>tornado&gt;=5</li>\n<li>typing_extensions &gt;=3.7.4</li>\n</ul><p><strong>2. Optional Dependencies</strong></p><ul><li>Jupyter</li>\n<li>NodeJS</li>\n<li>NetworkX</li>\n<li>Pandas</li>\n<li>psutil</li>\n<li>Selenium, GeckoDriver, Firefox</li>\n<li>Sphinx</li>\n</ul><p>Bokeh can be installed using both conda package manager and pip. To install it using conda type the below command in the terminal.</p><pre>conda install bokeh</pre><p>This will install all the dependencies. If all the dependencies are installed then you can install the bokeh from PyPI using pip. Type the below command in the terminal.</p><pre>pip install bokeh</pre><p>Refer to the below article to get detailed information about the installation of Bokeh.</p><h2 class=\"c6\">Bokeh Interfaces \u2013 Basic Concepts of Bokeh</h2><p class=\"c5\">Bokeh is simple to use as it provides a simple interface to the data scientists who do not want to be distracted by its implementation and also provides a detailed interface to developers and software engineers who may want more control over the Bokeh to create more sophisticated features. To do this Bokeh follows the layered approach.\u00a0</p><h3 class=\"c7\">Bokeh.models</h3><p class=\"c5\">This class is the Python Library for Bokeh that contains model classes that handle the JSON data created by Bokeh\u2019s JavaScript library (BokehJS). Most of the models are very basic consisting of very few attributes or no methods.</p><h3 class=\"c7\">bokeh.plotting</h3><p class=\"c5\">This is the mid-level interface that provides <a href=\"https://www.geeksforgeeks.org/matplotlib-tutorial/\"><strong>Matplotlib</strong></a> or <strong>MATLAB</strong> like features for plotting. It deals with the data that is to be plotted and creating the valid axes, grids, and tools. The main class of this interface is the <strong>Figure</strong> class.</p><h2 class=\"c6\">Getting Started</h2><p class=\"c5\">After the installation and learning about the basic concepts of Bokeh let\u2019s create a simple plot.</p><p class=\"c5\"><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number5 index4 alt2\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Line Graph\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">]</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">y</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">5</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">1</code><code class=\"plain\">]</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">graph.line(x, y)</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210208185539/bokehtutorialsimpleplot.png\" alt=\"Bokeh Tutorial simple plot\" referrerpolicy=\"no-referrer\" /></p><p>In the above example, we have created a simple Plot with the Title as <strong>Bokeh Line Graph.</strong> If you are using Jupyter then the output will be created in a new tab in the browser.</p><h2 class=\"c6\">Annotations and Legends</h2><p class=\"c5\"><strong>Annotations</strong> are the supplemental information such as <strong>titles, legends, arrows</strong>, etc that can be added to the graphs. In the above example, we have already seen how to add the titles to the graph. In this section, we will see about the legends.</p><p class=\"c5\">Adding legends to your figures can help to properly describe and define them. Hence, giving more clarity. Legends in Bokeh are simple to implement. They can be basic, automatically grouped, manually mentioned, explicitly indexed, and also interactive.</p><p class=\"c5\"><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number5 index4 alt2\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Line Graph\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">]</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">y</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">5</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">1</code><code class=\"plain\">]</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">graph.line(x, x, legend_label</code><code class=\"keyword\">=</code><code class=\"string\">\"Line 1\"</code><code class=\"plain\">)</code></div><div class=\"line number16 index15 alt1\"><code class=\"plain\">graph.line(y, x, legend_label</code><code class=\"keyword\">=</code><code class=\"string\">\"Line 2\"</code><code class=\"plain\">,</code></div><div class=\"line number17 index16 alt2\"><code class=\"plain\">line_color</code><code class=\"keyword\">=</code><code class=\"string\">\"green\"</code><code class=\"plain\">)</code></div><div class=\"line number20 index19 alt1\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210208190521/Bokehtutorialannotationsandlegends.png\" alt=\"Bokeh tutorial annotations and legends\" referrerpolicy=\"no-referrer\" /></p><p>In the above example, we have plotted two different lines with a legend that simply states that which is line 1 and which is line 2. The color in the legends is also differentiated by the color.</p><p>Refer to the below articles to get detailed information about the annotations and legends</p><h3>Customizing Legends</h3><p class=\"c5\">Legends in Bokeh can be customized using the following properties.</p><figure class=\"table\"><table><thead><tr><th>Property</th>\n<th>Description</th>\n</tr></thead><tbody><tr><td>legend.label_text_font\u00a0</td>\n<td>change default label font to specified font name</td>\n</tr><tr><td>legend.label_text_font_size\u00a0</td>\n<td>font size in points</td>\n</tr><tr><td>legend.location\u00a0</td>\n<td>set the label at specified location.</td>\n</tr><tr><td>legend.title\u00a0</td>\n<td>set title for legend label\u00a0</td>\n</tr><tr><td>legend.orientation\u00a0</td>\n<td>set to horizontal (default) or vertical</td>\n</tr><tr><td>legend.clicking_policy\u00a0</td>\n<td>specify what should happen when legend is clicked</td>\n</tr></tbody></table></figure><p><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number5 index4 alt2\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Line Graph\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">]</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">y</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">5</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">1</code><code class=\"plain\">]</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">graph.line(x, x, legend_label</code><code class=\"keyword\">=</code><code class=\"string\">\"Line 1\"</code><code class=\"plain\">)</code></div><div class=\"line number16 index15 alt1\"><code class=\"plain\">graph.line(y, x, legend_label</code><code class=\"keyword\">=</code><code class=\"string\">\"Line 2\"</code><code class=\"plain\">,</code></div><div class=\"line number17 index16 alt2\"><code class=\"plain\">line_color</code><code class=\"keyword\">=</code><code class=\"string\">\"green\"</code><code class=\"plain\">)</code></div><div class=\"line number19 index18 alt2\"><code class=\"plain\">graph.legend.title</code><code class=\"keyword\">=</code><code class=\"string\">\"Title of the legend\"</code></div><div class=\"line number20 index19 alt1\"><code class=\"plain\">graph.legend.location</code><code class=\"keyword\">=</code><code class=\"string\">\"top_left\"</code></div><div class=\"line number21 index20 alt2\"><code class=\"plain\">graph.legend.label_text_font_size</code><code class=\"keyword\">=</code><code class=\"string\">\"17pt\"</code></div><div class=\"line number24 index23 alt1\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210210163252/bokehtutorialcustomizelegend.png\" alt=\"bokeh tutorial customize legend\" referrerpolicy=\"no-referrer\" /></p><h2 class=\"c6\">Plotting Different Types of Plots</h2><p class=\"c5\"><strong>Glyphs</strong> in Bokeh terminology means the basic building blocks of the Bokeh plots such as lines, rectangles, squares, etc. Bokeh plots are created using the <strong>bokeh.plotting</strong> interface which uses a default set of tools and styles.</p><h3 class=\"c7\">Line Plot</h3><p class=\"c5\"><a href=\"https://www.geeksforgeeks.org/python-bokeh-plotting-a-line-graph/\"><strong>Line charts</strong></a> are used to represent the relation between two data X and Y on a different axis. A line plot can be created using the line() method of the plotting module.</p><p class=\"c5\"><strong>Syntax:</strong></p><blockquote>\n<p class=\"c5\">line(parameters)</p>\n</blockquote><p class=\"c5\"><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number5 index4 alt2\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Line Graph\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">]</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">y</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">5</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">1</code><code class=\"plain\">]</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">graph.line(x, y)</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210208192936/bokehtutoriallineplot.png\" alt=\"bokeh tutorial line plot\" referrerpolicy=\"no-referrer\" /></p><p>Refer to the below articles to get detailed information about the line plots.</p><h3>Bar Plot</h3><p class=\"c5\"><strong>Bar plot or Bar chart</strong> is a graph that represents the category of data with rectangular bars with lengths and heights that is proportional to the values which they represent. It can be of two types horizontal bars and vertical bars. Each can be created using the <strong>hbar()</strong> and <strong>vbar()</strong> functions of the plotting interface respectively.</p><p class=\"c5\"><strong>Syntax:</strong></p><blockquote>\n<p class=\"c5\">hbar(parameters)</p>\n<p class=\"c5\">vbar(parameters)</p>\n</blockquote><p class=\"c5\"><strong>Example 1:</strong> Creating horizontal bars.</p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number5 index4 alt2\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Bar Graph\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">]</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">y</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">]\u00a0</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">height</code><code class=\"keyword\">=</code><code class=\"value\">0.5</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">graph.hbar(x, right</code><code class=\"keyword\">=</code><code class=\"plain\">y, height</code><code class=\"keyword\">=</code><code class=\"plain\">height)</code></div><div class=\"line number18 index17 alt1\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210208194150/bokehtutorialhbar.png\" alt=\"bokeh tutorial hbar\" referrerpolicy=\"no-referrer\" /></p><p><strong>Example 2:</strong> Creating the vertical bars</p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number5 index4 alt2\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Bar Graph\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">]</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">y</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">]\u00a0</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">width</code><code class=\"keyword\">=</code><code class=\"value\">0.5</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">graph.vbar(x, top</code><code class=\"keyword\">=</code><code class=\"plain\">y, width</code><code class=\"keyword\">=</code><code class=\"plain\">width)</code></div><div class=\"line number18 index17 alt1\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210208194408/bokehtutorialvbar.png\" alt=\"bokeh tutorial vbar\" referrerpolicy=\"no-referrer\" /></p><p>Refer to the below articles to get detailed information about the bar charts.</p><h3>Scatter Plot</h3><p>A <strong>scatter plot</strong> is a set of dotted points to represent individual pieces of data in the horizontal and vertical axis. A graph in which the values of two variables are plotted along X-axis and Y-axis, the pattern of the resulting points reveals a correlation between them. It can be plotted using the <strong>scatter()</strong> method of the plotting module.</p><p><strong>Syntax:</strong></p><pre>scatter(parameters)</pre><p><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.palettes</code><code class=\"keyword\">import</code><code class=\"plain\">magma</code></div><div class=\"line number4 index3 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">random</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Scatter Graph\"</code><code class=\"plain\">)</code></div><div class=\"line number11 index10 alt2\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[n</code><code class=\"keyword\">for</code><code class=\"plain\">n</code><code class=\"keyword\">in</code><code class=\"plain\">(</code><code class=\"value\">256</code><code class=\"plain\">)]</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">y</code><code class=\"keyword\">=</code><code class=\"plain\">[random.random()</code><code class=\"keyword\">+</code><code class=\"value\">1</code><code class=\"keyword\">for</code><code class=\"plain\">n</code><code class=\"keyword\">in</code><code class=\"plain\">(</code><code class=\"value\">256</code><code class=\"plain\">)]</code></div><div class=\"line number16 index15 alt1\"><code class=\"plain\">graph.scatter(x, y)</code></div><div class=\"line number19 index18 alt2\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210209180742/bokehtutorialscatterplot.png\" alt=\"bokeh tutorial scatter plot\" referrerpolicy=\"no-referrer\" /></p><p>Refer to the below articles to get detailed information about the scatter plots.</p><h3>Patch Plot</h3><p class=\"c5\"><strong>Patch Plot</strong> shades a region of area to show a group having same properties. It can be created using the <strong>patch()</strong> method of the plotting module.</p><p class=\"c5\"><strong>Syntax:</strong></p><blockquote>\n<p>patch(parameters)</p>\n</blockquote><p><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.palettes</code><code class=\"keyword\">import</code><code class=\"plain\">magma</code></div><div class=\"line number4 index3 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">random</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Patch Plo\"</code><code class=\"plain\">)</code></div><div class=\"line number11 index10 alt2\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[n</code><code class=\"keyword\">for</code><code class=\"plain\">n</code><code class=\"keyword\">in</code><code class=\"plain\">(</code><code class=\"value\">256</code><code class=\"plain\">)]</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">y</code><code class=\"keyword\">=</code><code class=\"plain\">[random.random()</code><code class=\"keyword\">+</code><code class=\"value\">1</code><code class=\"keyword\">for</code><code class=\"plain\">n</code><code class=\"keyword\">in</code><code class=\"plain\">(</code><code class=\"value\">256</code><code class=\"plain\">)]</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">graph.patch(x, y)</code></div><div class=\"line number18 index17 alt1\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210209182138/patchplotbokehtutorial.png\" alt=\"patch plot bokeh tutorial\" referrerpolicy=\"no-referrer\" /></p><p>Refer to the below articles to get detailed information about the Patch Plot.</p><h3>Area Plot</h3><p><strong>Area plots</strong> are defined as the filled regions between two series that share a common areas. Bokeh Figure class has two methods which are \u2013 <strong>varea(), harea()</strong></p><p><strong>Syntax:</strong></p><blockquote>\n<p>varea(x, y1, y2, **kwargs)</p>\n<p>harea(x1, x2, y, **kwargs)</p>\n</blockquote><p><strong>Example 1:</strong> Creating vertical area plot</p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">numpy as np</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number5 index4 alt2\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">]</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">y1</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">]</code></div><div class=\"line number7 index6 alt2\"><code class=\"plain\">y2</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">6</code><code class=\"plain\">]</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">p</code><code class=\"keyword\">=</code><code class=\"plain\">figure(plot_width</code><code class=\"keyword\">=</code><code class=\"value\">300</code><code class=\"plain\">, plot_height</code><code class=\"keyword\">=</code><code class=\"value\">300</code><code class=\"plain\">)</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">p.varea(x</code><code class=\"keyword\">=</code><code class=\"plain\">x, y1</code><code class=\"keyword\">=</code><code class=\"plain\">y1, y2</code><code class=\"keyword\">=</code><code class=\"plain\">y2,fill_color</code><code class=\"keyword\">=</code><code class=\"string\">\"green\"</code><code class=\"plain\">)</code></div><div class=\"line number14 index13 alt1\"><code class=\"plain\">show(p)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20200618231309/varea.JPG\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p><p><strong>Example 2:</strong> Creating horizontal area plot</p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">numpy as np</code></div><div class=\"line number4 index3 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">y</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">]</code></div><div class=\"line number7 index6 alt2\"><code class=\"plain\">x1</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">]</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">x2</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">6</code><code class=\"plain\">]</code></div><div class=\"line number10 index9 alt1\"><code class=\"plain\">p</code><code class=\"keyword\">=</code><code class=\"plain\">figure(plot_width</code><code class=\"keyword\">=</code><code class=\"value\">300</code><code class=\"plain\">, plot_height</code><code class=\"keyword\">=</code><code class=\"value\">300</code><code class=\"plain\">)</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">p.harea(x1</code><code class=\"keyword\">=</code><code class=\"plain\">x1, x2</code><code class=\"keyword\">=</code><code class=\"plain\">x2, y</code><code class=\"keyword\">=</code><code class=\"plain\">y,fill_color</code><code class=\"keyword\">=</code><code class=\"string\">\"green\"</code><code class=\"plain\">)</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">show(p)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20200618231307/harea.JPG\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p><p>Refer to the below articles to get detailed information about the area charts</p><h3>Pie Chart</h3><p class=\"c5\">Bokeh Does not provide a direct method to plot the Pie Chart. It can be created using the <a href=\"https://www.geeksforgeeks.org/python-bokeh-plotting-wedges-on-a-graph/\"><strong>wedge()</strong></a> method. In the wedge() function, the primary parameters are the x and y coordinates of the wedge, the radius, the start_angle and the end_angle of the wedge. In order to plot the wedges in such a way that they look like a pie chart, the x, y, and radius parameters of all the wedges will be the same. We will only adjust the start_angle and the end_angle.</p><p class=\"c5\"><strong>Syntax:</strong></p><blockquote>\n<p class=\"c5\">wedge(parameters)</p>\n</blockquote><p class=\"c5\"><strong>Example:</strong>\u00a0</p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number5 index4 alt2\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Wedge Graph\"</code><code class=\"plain\">)</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">radius</code><code class=\"keyword\">=</code><code class=\"value\">15</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">start_angle</code><code class=\"keyword\">=</code><code class=\"value\">1</code></div><div class=\"line number18 index17 alt1\"><code class=\"plain\">end_angle</code><code class=\"keyword\">=</code><code class=\"value\">2</code></div><div class=\"line number21 index20 alt2\"><code class=\"plain\">graph.wedge(x, y, radius</code><code class=\"keyword\">=</code><code class=\"plain\">radius,</code></div><div class=\"line number22 index21 alt1\"><code class=\"plain\">start_angle</code><code class=\"keyword\">=</code><code class=\"plain\">start_angle,</code></div><div class=\"line number23 index22 alt2\"><code class=\"plain\">end_angle</code><code class=\"keyword\">=</code><code class=\"plain\">end_angle)</code></div><div class=\"line number26 index25 alt1\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20200706011148/bokeh-wedge-default.png\" alt=\"Bokeh Tutorial Pie chart\" referrerpolicy=\"no-referrer\" /></p><p>Refer to the below articles to get detailed information about the pie charts.</p><h2 class=\"c6\">Creating Different Shapes</h2><p class=\"c5\">The Figure class in Bokeh allows us create vectorised glyphs of different shapes such as circle, rectangle, oval, polygon, etc. Let\u2019s discuss them in detail.</p><h3 class=\"c7\">Circle</h3><p>Bokeh Figure class following methods to draw circle glyphs which are given below:</p><ul><li><a href=\"https://www.geeksforgeeks.org/bokeh-plotting-figure-circle-function-in-python/\"><strong>circle()</strong></a>method is a used to add a circle glyph to the figure and needs x and y coordinates of its center.</li>\n<li><a href=\"https://www.geeksforgeeks.org/bokeh-plotting-figure-circle_cross-function-in-python/\"><strong>circle_cross()</strong></a>method is a used to add a circle glyph with a \u2018+\u2019 cross through the center to the figure and needs x and y coordinates of its center.</li>\n<li><a href=\"https://www.geeksforgeeks.org/bokeh-plotting-figure-circle_x-function-in-python/\"><strong>circle_x()</strong></a>method is a used to add a circle glyph with a \u2018X\u2019 cross through the center. to the figure and needs x and y coordinates of its center.</li>\n</ul><p><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">numpy as np</code></div><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number5 index4 alt2\"><code class=\"plain\">plot</code><code class=\"keyword\">=</code><code class=\"plain\">figure(plot_width</code><code class=\"keyword\">=</code><code class=\"value\">300</code><code class=\"plain\">, plot_height</code><code class=\"keyword\">=</code><code class=\"value\">300</code><code class=\"plain\">)</code></div><div class=\"line number7 index6 alt2\"><code class=\"plain\">plot.circle(x</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">], y</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">7</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">], size</code><code class=\"keyword\">=</code><code class=\"value\">20</code><code class=\"plain\">)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">show(plot)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210209201208/bokehtutorialcircle.png\" alt=\"bokeh tutorial circle\" referrerpolicy=\"no-referrer\" /></p><p>Refer to the below articles to get detailed information about the circle glyphs</p><h3>Oval</h3><p><strong>oval()</strong> method can be used to plot ovals on the graph.</p><p><strong>Syntax:</strong></p><blockquote>\n<p>oval(parameters)</p>\n</blockquote><p><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Oval Graph\"</code><code class=\"plain\">)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">]</code></div><div class=\"line number10 index9 alt1\"><code class=\"plain\">y</code><code class=\"keyword\">=</code><code class=\"plain\">[i</code><code class=\"keyword\">*</code><code class=\"value\">2</code><code class=\"keyword\">for</code><code class=\"plain\">i</code><code class=\"keyword\">in</code><code class=\"plain\">x]</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">graph.oval(x, y,</code></div><div class=\"line number14 index13 alt1\"><code class=\"plain\">height</code><code class=\"keyword\">=</code><code class=\"value\">0.5</code><code class=\"plain\">,</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">width</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">)</code></div><div class=\"line number18 index17 alt1\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210209201718/boekhtutorialoval.png\" alt=\"boekh tutorial oval\" referrerpolicy=\"no-referrer\" /></p><p>Refer o the below articles to get detailed information about the oval glyphs.</p><h3>Triangle</h3><p class=\"c5\">Triangle can be created using the <strong>triangle()</strong> method.</p><p class=\"c5\"><strong>Syntax:</strong></p><blockquote>\n<p>triangle(parameters)</p>\n</blockquote><p><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Triangle Graph\"</code><code class=\"plain\">)</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">graph.triangle(x, y, size</code><code class=\"keyword\">=</code><code class=\"value\">150</code><code class=\"plain\">)</code></div><div class=\"line number16 index15 alt1\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210209202809/bokehtutorialtriangle.png\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p><p>Refer to the below article to get detailed information about the triangles.</p><h3>Rectangle</h3><p class=\"c5\">Just like circles and ovals rectangle can also be plotted in Bokeh. It can be plotted using the <strong>rect()</strong> method.</p><p class=\"c5\"><strong>Syntax:</strong></p><blockquote>\n<p class=\"c5\">rect(parameters)</p>\n</blockquote><p class=\"c5\"><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Rectangle Graph\"</code><code class=\"plain\">, match_aspect</code><code class=\"keyword\">=</code><code class=\"color1\">True</code><code class=\"plain\">)</code></div><div class=\"line number11 index10 alt2\"><code class=\"plain\">width</code><code class=\"keyword\">=</code><code class=\"value\">10</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">height</code><code class=\"keyword\">=</code><code class=\"value\">5</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">graph.rect(x, y, width, height)</code></div><div class=\"line number18 index17 alt1\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210209202331/bokehtutorialrectanlge.png\" alt=\"bokeh tutorial rectanlge\" referrerpolicy=\"no-referrer\" /></p><h3>Polygon</h3><p>Bokeh can also be used to plot multiple polygons on a graph. Plotting multiple polygons on a graph can be done using the <strong>multi_polygons()</strong> method of the plotting module.</p><p><strong>Syntax:</strong></p><blockquote>\n<p>multi_polygons(parameters)</p>\n</blockquote><p><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Multiple Polygons Graph\"</code><code class=\"plain\">)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">xs</code><code class=\"keyword\">=</code><code class=\"plain\">[[[[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">]]]]</code></div><div class=\"line number10 index9 alt1\"><code class=\"plain\">ys</code><code class=\"keyword\">=</code><code class=\"plain\">[[[[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">1</code><code class=\"plain\">]]]]</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">graph.multi_polygons(xs, ys)</code></div><div class=\"line number16 index15 alt1\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210209203219/bokehtutorialploygon.png\" alt=\"bokeh tutorial ploygon\" referrerpolicy=\"no-referrer\" /></p><p>Refer to the below articles to get detailed information about the polygon glyphs.</p><h2 class=\"c6\">Plotting Multiple Plots</h2><p class=\"c5\">There are several layouts provided by the Bokeh in order to create Multiple Plots. These layouts are:</p><ul><li><strong>Vertical Layout</strong></li>\n<li><strong>Horizontal Layout</strong></li>\n<li><strong>Grid Layout</strong></li>\n</ul><h3><strong>Vertical Layouts</strong></h3><p class=\"c5\">Vertical Layout set all the plots in the vertical fashion and can be created using the <strong>column()</strong> method.</p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.io</code><code class=\"keyword\">import</code><code class=\"plain\">output_file, show</code></div><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.layouts</code><code class=\"keyword\">import</code><code class=\"plain\">column</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">,</code><code class=\"value\">6</code><code class=\"plain\">]</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">y1</code><code class=\"keyword\">=</code><code class=\"plain\">[i</code><code class=\"keyword\">*</code><code class=\"value\">2</code><code class=\"keyword\">for</code><code class=\"plain\">i</code><code class=\"keyword\">in</code><code class=\"plain\">x]</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">y2</code><code class=\"keyword\">=</code><code class=\"plain\">[i</code><code class=\"keyword\">*</code><code class=\"keyword\">*</code><code class=\"value\">2</code><code class=\"keyword\">for</code><code class=\"plain\">i</code><code class=\"keyword\">in</code><code class=\"plain\">x]</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">s1</code><code class=\"keyword\">=</code><code class=\"plain\">figure(width</code><code class=\"keyword\">=</code><code class=\"value\">200</code><code class=\"plain\">, plot_height</code><code class=\"keyword\">=</code><code class=\"value\">200</code><code class=\"plain\">)</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">s1.circle(x, y0, size</code><code class=\"keyword\">=</code><code class=\"value\">10</code><code class=\"plain\">, alpha</code><code class=\"keyword\">=</code><code class=\"value\">0.5</code><code class=\"plain\">)</code></div><div class=\"line number16 index15 alt1\"><code class=\"plain\">s2</code><code class=\"keyword\">=</code><code class=\"plain\">figure(width</code><code class=\"keyword\">=</code><code class=\"value\">200</code><code class=\"plain\">, height</code><code class=\"keyword\">=</code><code class=\"value\">200</code><code class=\"plain\">)</code></div><div class=\"line number17 index16 alt2\"><code class=\"plain\">s2.triangle(x, y1, size</code><code class=\"keyword\">=</code><code class=\"value\">10</code><code class=\"plain\">, alpha</code><code class=\"keyword\">=</code><code class=\"value\">0.5</code><code class=\"plain\">)</code></div><div class=\"line number20 index19 alt1\"><code class=\"plain\">s3</code><code class=\"keyword\">=</code><code class=\"plain\">figure(width</code><code class=\"keyword\">=</code><code class=\"value\">200</code><code class=\"plain\">, height</code><code class=\"keyword\">=</code><code class=\"value\">200</code><code class=\"plain\">)</code></div><div class=\"line number21 index20 alt2\"><code class=\"plain\">s3.square(x, y2, size</code><code class=\"keyword\">=</code><code class=\"value\">10</code><code class=\"plain\">, alpha</code><code class=\"keyword\">=</code><code class=\"value\">0.5</code><code class=\"plain\">)</code></div><div class=\"line number24 index23 alt1\"><code class=\"plain\">p</code><code class=\"keyword\">=</code><code class=\"plain\">column(s1, s2, s3)</code></div><div class=\"line number27 index26 alt2\"><code class=\"plain\">show(p)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210209205340/bokehtutorialcolumn.png\" alt=\"bokeh tutorial column\" referrerpolicy=\"no-referrer\" /></p><h3>Horizontal Layout\u00a0</h3><p class=\"c5\">Horizontal Layout set all the plots in the horizontal fashion. It can be created using the <strong>row()</strong> method.</p><p class=\"c5\"><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.io</code><code class=\"keyword\">import</code><code class=\"plain\">output_file, show</code></div><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.layouts</code><code class=\"keyword\">import</code><code class=\"plain\">row</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">,</code><code class=\"value\">6</code><code class=\"plain\">]</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">y1</code><code class=\"keyword\">=</code><code class=\"plain\">[i</code><code class=\"keyword\">*</code><code class=\"value\">2</code><code class=\"keyword\">for</code><code class=\"plain\">i</code><code class=\"keyword\">in</code><code class=\"plain\">x]</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">y2</code><code class=\"keyword\">=</code><code class=\"plain\">[i</code><code class=\"keyword\">*</code><code class=\"keyword\">*</code><code class=\"value\">2</code><code class=\"keyword\">for</code><code class=\"plain\">i</code><code class=\"keyword\">in</code><code class=\"plain\">x]</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">s1</code><code class=\"keyword\">=</code><code class=\"plain\">figure(width</code><code class=\"keyword\">=</code><code class=\"value\">200</code><code class=\"plain\">, plot_height</code><code class=\"keyword\">=</code><code class=\"value\">200</code><code class=\"plain\">)</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">s1.circle(x, y0, size</code><code class=\"keyword\">=</code><code class=\"value\">10</code><code class=\"plain\">, alpha</code><code class=\"keyword\">=</code><code class=\"value\">0.5</code><code class=\"plain\">)</code></div><div class=\"line number16 index15 alt1\"><code class=\"plain\">s2</code><code class=\"keyword\">=</code><code class=\"plain\">figure(width</code><code class=\"keyword\">=</code><code class=\"value\">200</code><code class=\"plain\">, height</code><code class=\"keyword\">=</code><code class=\"value\">200</code><code class=\"plain\">)</code></div><div class=\"line number17 index16 alt2\"><code class=\"plain\">s2.triangle(x, y1, size</code><code class=\"keyword\">=</code><code class=\"value\">10</code><code class=\"plain\">, alpha</code><code class=\"keyword\">=</code><code class=\"value\">0.5</code><code class=\"plain\">)</code></div><div class=\"line number20 index19 alt1\"><code class=\"plain\">s3</code><code class=\"keyword\">=</code><code class=\"plain\">figure(width</code><code class=\"keyword\">=</code><code class=\"value\">200</code><code class=\"plain\">, height</code><code class=\"keyword\">=</code><code class=\"value\">200</code><code class=\"plain\">)</code></div><div class=\"line number21 index20 alt2\"><code class=\"plain\">s3.square(x, y2, size</code><code class=\"keyword\">=</code><code class=\"value\">10</code><code class=\"plain\">, alpha</code><code class=\"keyword\">=</code><code class=\"value\">0.5</code><code class=\"plain\">)</code></div><div class=\"line number24 index23 alt1\"><code class=\"plain\">p</code><code class=\"keyword\">=</code><code class=\"plain\">row(s1, s2, s3)</code></div><div class=\"line number27 index26 alt2\"><code class=\"plain\">show(p)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210209205822/BokehTutorialroe.png\" alt=\"Bokeh Tutorial roe\" referrerpolicy=\"no-referrer\" /></p><h3>Grid Layout</h3><p><strong>gridplot()</strong> method can be used to arrange all the plots in the grid fashion. we can also pass None to leave a space empty for a plot.</p><p><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.io</code><code class=\"keyword\">import</code><code class=\"plain\">output_file, show</code></div><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.layouts</code><code class=\"keyword\">import</code><code class=\"plain\">gridplot</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">,</code><code class=\"value\">6</code><code class=\"plain\">]</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">y1</code><code class=\"keyword\">=</code><code class=\"plain\">[i</code><code class=\"keyword\">*</code><code class=\"value\">2</code><code class=\"keyword\">for</code><code class=\"plain\">i</code><code class=\"keyword\">in</code><code class=\"plain\">x]</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">y2</code><code class=\"keyword\">=</code><code class=\"plain\">[i</code><code class=\"keyword\">*</code><code class=\"keyword\">*</code><code class=\"value\">2</code><code class=\"keyword\">for</code><code class=\"plain\">i</code><code class=\"keyword\">in</code><code class=\"plain\">x]</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">s1</code><code class=\"keyword\">=</code><code class=\"plain\">figure()</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">s1.circle(x, y0, size</code><code class=\"keyword\">=</code><code class=\"value\">10</code><code class=\"plain\">, alpha</code><code class=\"keyword\">=</code><code class=\"value\">0.5</code><code class=\"plain\">)</code></div><div class=\"line number16 index15 alt1\"><code class=\"plain\">s2</code><code class=\"keyword\">=</code><code class=\"plain\">figure()</code></div><div class=\"line number17 index16 alt2\"><code class=\"plain\">s2.triangle(x, y1, size</code><code class=\"keyword\">=</code><code class=\"value\">10</code><code class=\"plain\">, alpha</code><code class=\"keyword\">=</code><code class=\"value\">0.5</code><code class=\"plain\">)</code></div><div class=\"line number20 index19 alt1\"><code class=\"plain\">s3</code><code class=\"keyword\">=</code><code class=\"plain\">figure()</code></div><div class=\"line number21 index20 alt2\"><code class=\"plain\">s3.square(x, y2, size</code><code class=\"keyword\">=</code><code class=\"value\">10</code><code class=\"plain\">, alpha</code><code class=\"keyword\">=</code><code class=\"value\">0.5</code><code class=\"plain\">)</code></div><div class=\"line number24 index23 alt1\"><code class=\"plain\">p</code><code class=\"keyword\">=</code><code class=\"plain\">gridplot([[s1,</code><code class=\"color1\">None</code><code class=\"plain\">], [s2, s3]], plot_width</code><code class=\"keyword\">=</code><code class=\"value\">200</code><code class=\"plain\">, plot_height</code><code class=\"keyword\">=</code><code class=\"value\">200</code><code class=\"plain\">)</code></div><div class=\"line number27 index26 alt2\"><code class=\"plain\">show(p)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210209210323/Bokehtutorialgrid.png\" alt=\"Bokeh tutorial grid\" referrerpolicy=\"no-referrer\" /></p><h2 class=\"c6\">Interactive Data Visualization</h2><p class=\"c5\">One of the key feature of Bokeh which differentiate it from other visualizing libraries is adding interaction to the Plot. Let\u2019s see various interactions that can be added to the plot.</p><h3>Configuring Plot Tools</h3><p class=\"c5\">In all the above graphs you must have noticed a toolbar that appears mostly at the right of the plot. Bokeh provides us the methods to handle these tools. Tools can be classified into four categories.</p><ul><li class=\"c8\"><strong>Gestures:</strong> These tools handle the gestures such as pan movement. There are three types of gestures:\n<ul><li class=\"c8\">Pan/Drag Tools</li>\n<li class=\"c8\">Click/Tap Tools</li>\n<li class=\"c8\">Scroll/Pinch Tools</li>\n</ul></li>\n<li class=\"c8\"><strong>Actions:</strong> These tools handle when a button is pressed.</li>\n<li class=\"c8\"><strong>Inspectors:</strong> These tools report information or annotate the graph such as \u00a0HoverTool.</li>\n<li class=\"c8\"><strong>Edit Tools:</strong> These are multi gestures tools that can add, delete glyphs from the graph.</li>\n</ul><h3 class=\"c7\">Adjusting the Position of the ToolBar</h3><p class=\"c5\">We can specify the position of the toolbar according to our own needs. It can be done by passing the <strong>toolbar_location</strong> parameter to the <strong>figure()</strong> method. The possible value to this parameter is \u2013\u00a0</p><ul><li><strong>\u201cabove\u201d</strong></li>\n<li><strong>\u201cbelow\u201d</strong></li>\n<li><strong>\u201cleft\u201d</strong></li>\n<li><strong>\u201cright\u201d</strong></li>\n</ul><p><strong>Example:</strong>\u00a0</p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number5 index4 alt2\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh ToolBar\"</code><code class=\"plain\">, toolbar_location</code><code class=\"keyword\">=</code><code class=\"string\">\"below\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">]</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">y</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">]\u00a0</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">width</code><code class=\"keyword\">=</code><code class=\"value\">0.5</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">graph.scatter(x, y)</code></div><div class=\"line number18 index17 alt1\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210209215203/BokehTutorialtoolbar.png\" alt=\"Bokeh Tutorial toolbar\" referrerpolicy=\"no-referrer\" /></p><h3 class=\"c7\"><a href=\"https://www.geeksforgeeks.org/python-bokeh-making-interactive-legends/\">Interactive Legends</a></h3><p class=\"c5\">In the section annotations and legends we have seen the list of all the parameters of the legends, however, we have not discussed the <strong>click_policy</strong> parameter yet. This property makes the legend interactive. There are two types of interactivity \u2013</p><ul><li><strong>Hiding:</strong> Hides the Glyphs.</li>\n<li><strong>Muting:</strong> Hiding the glyph makes it vanish completely, on the other hand, muting the glyph just de-emphasizes the glyph based on the parameters.</li>\n</ul><p><strong>Example 1:</strong> Hiding the legend</p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number5 index4 alt2\"><code class=\"plain\">output_file(</code><code class=\"string\">\"gfg.html\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Hiding Glyphs\"</code><code class=\"plain\">)</code></div><div class=\"line number11 index10 alt2\"><code class=\"plain\">graph.vbar(x</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">, top</code><code class=\"keyword\">=</code><code class=\"value\">5</code><code class=\"plain\">,</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">width</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">, color</code><code class=\"keyword\">=</code><code class=\"string\">\"violet\"</code><code class=\"plain\">,</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">legend_label</code><code class=\"keyword\">=</code><code class=\"string\">\"Violet Bar\"</code><code class=\"plain\">)</code></div><div class=\"line number14 index13 alt1\"><code class=\"plain\">graph.vbar(x</code><code class=\"keyword\">=</code><code class=\"value\">2</code><code class=\"plain\">, top</code><code class=\"keyword\">=</code><code class=\"value\">5</code><code class=\"plain\">,</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">width</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">, color</code><code class=\"keyword\">=</code><code class=\"string\">\"green\"</code><code class=\"plain\">,</code></div><div class=\"line number16 index15 alt1\"><code class=\"plain\">legend_label</code><code class=\"keyword\">=</code><code class=\"string\">\"Green Bar\"</code><code class=\"plain\">)</code></div><div class=\"line number17 index16 alt2\"><code class=\"plain\">graph.vbar(x</code><code class=\"keyword\">=</code><code class=\"value\">3</code><code class=\"plain\">, top</code><code class=\"keyword\">=</code><code class=\"value\">5</code><code class=\"plain\">,</code></div><div class=\"line number18 index17 alt1\"><code class=\"plain\">width</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">, color</code><code class=\"keyword\">=</code><code class=\"string\">\"yellow\"</code><code class=\"plain\">,</code></div><div class=\"line number19 index18 alt2\"><code class=\"plain\">legend_label</code><code class=\"keyword\">=</code><code class=\"string\">\"Yellow Bar\"</code><code class=\"plain\">)</code></div><div class=\"line number20 index19 alt1\"><code class=\"plain\">graph.vbar(x</code><code class=\"keyword\">=</code><code class=\"value\">4</code><code class=\"plain\">, top</code><code class=\"keyword\">=</code><code class=\"value\">5</code><code class=\"plain\">,</code></div><div class=\"line number21 index20 alt2\"><code class=\"plain\">width</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">, color</code><code class=\"keyword\">=</code><code class=\"string\">\"red\"</code><code class=\"plain\">,</code></div><div class=\"line number22 index21 alt1\"><code class=\"plain\">legend_label</code><code class=\"keyword\">=</code><code class=\"string\">\"Red Bar\"</code><code class=\"plain\">)</code></div><div class=\"line number25 index24 alt2\"><code class=\"plain\">graph.legend.click_policy</code><code class=\"keyword\">=</code><code class=\"string\">\"hide\"</code></div><div class=\"line number28 index27 alt1\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210210171603/bokehtutorialhidinglegend.gif\" alt=\"bokeh tutorial hiding legend\" referrerpolicy=\"no-referrer\" /></p><p><strong>Example 2:</strong> Muting the legend</p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number5 index4 alt2\"><code class=\"plain\">output_file(</code><code class=\"string\">\"gfg.html\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">graph</code><code class=\"keyword\">=</code><code class=\"plain\">figure(title</code><code class=\"keyword\">=</code><code class=\"string\">\"Bokeh Hiding Glyphs\"</code><code class=\"plain\">)</code></div><div class=\"line number11 index10 alt2\"><code class=\"plain\">graph.vbar(x</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">, top</code><code class=\"keyword\">=</code><code class=\"value\">5</code><code class=\"plain\">,</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">width</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">, color</code><code class=\"keyword\">=</code><code class=\"string\">\"violet\"</code><code class=\"plain\">,</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">legend_label</code><code class=\"keyword\">=</code><code class=\"string\">\"Violet Bar\"</code><code class=\"plain\">,</code></div><div class=\"line number14 index13 alt1\"><code class=\"plain\">muted_alpha</code><code class=\"keyword\">=</code><code class=\"value\">0.2</code><code class=\"plain\">)</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">graph.vbar(x</code><code class=\"keyword\">=</code><code class=\"value\">2</code><code class=\"plain\">, top</code><code class=\"keyword\">=</code><code class=\"value\">5</code><code class=\"plain\">,</code></div><div class=\"line number16 index15 alt1\"><code class=\"plain\">width</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">, color</code><code class=\"keyword\">=</code><code class=\"string\">\"green\"</code><code class=\"plain\">,</code></div><div class=\"line number17 index16 alt2\"><code class=\"plain\">legend_label</code><code class=\"keyword\">=</code><code class=\"string\">\"Green Bar\"</code><code class=\"plain\">,</code></div><div class=\"line number18 index17 alt1\"><code class=\"plain\">muted_alpha</code><code class=\"keyword\">=</code><code class=\"value\">0.2</code><code class=\"plain\">)</code></div><div class=\"line number19 index18 alt2\"><code class=\"plain\">graph.vbar(x</code><code class=\"keyword\">=</code><code class=\"value\">3</code><code class=\"plain\">, top</code><code class=\"keyword\">=</code><code class=\"value\">5</code><code class=\"plain\">,</code></div><div class=\"line number20 index19 alt1\"><code class=\"plain\">width</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">, color</code><code class=\"keyword\">=</code><code class=\"string\">\"yellow\"</code><code class=\"plain\">,</code></div><div class=\"line number21 index20 alt2\"><code class=\"plain\">legend_label</code><code class=\"keyword\">=</code><code class=\"string\">\"Yellow Bar\"</code><code class=\"plain\">,</code></div><div class=\"line number22 index21 alt1\"><code class=\"plain\">muted_alpha</code><code class=\"keyword\">=</code><code class=\"value\">0.2</code><code class=\"plain\">)</code></div><div class=\"line number23 index22 alt2\"><code class=\"plain\">graph.vbar(x</code><code class=\"keyword\">=</code><code class=\"value\">4</code><code class=\"plain\">, top</code><code class=\"keyword\">=</code><code class=\"value\">5</code><code class=\"plain\">,</code></div><div class=\"line number24 index23 alt1\"><code class=\"plain\">width</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">, color</code><code class=\"keyword\">=</code><code class=\"string\">\"red\"</code><code class=\"plain\">,</code></div><div class=\"line number25 index24 alt2\"><code class=\"plain\">legend_label</code><code class=\"keyword\">=</code><code class=\"string\">\"Red Bar\"</code><code class=\"plain\">,</code></div><div class=\"line number26 index25 alt1\"><code class=\"plain\">muted_alpha</code><code class=\"keyword\">=</code><code class=\"value\">0.2</code><code class=\"plain\">)</code></div><div class=\"line number29 index28 alt2\"><code class=\"plain\">graph.legend.click_policy</code><code class=\"keyword\">=</code><code class=\"string\">\"mute\"</code></div><div class=\"line number32 index31 alt1\"><code class=\"plain\">show(graph)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210210171452/mutinglegendbokeh.gif\" alt=\"bokeh tutorial muting legend\" referrerpolicy=\"no-referrer\" /></p><h3 class=\"c7\">Adding Widgets to the Plot</h3><p class=\"c5\">Bokeh provides GUI features similar to HTML forms like buttons, slider, checkbox, etc. These provide an interactive interface to the plot that allows to change the parameters of the plot, modifying plot data, etc. Let\u2019s see how to use and add some commonly used widgets.\u00a0</p><ul><li class=\"c8\"><strong>Buttons:</strong> This widget adds a simple button widget to the plot. We have to pass a custom JavaScript function to the <strong>CustomJS()</strong> method of the models class.</li>\n</ul><p class=\"c5\"><strong>Syntax:</strong></p><blockquote>\n<p class=\"c5\">Button(label, icon, callback)</p>\n</blockquote><p class=\"c5\"><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.io</code><code class=\"keyword\">import</code><code class=\"plain\">show</code></div><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.models</code><code class=\"keyword\">import</code><code class=\"plain\">Button, CustomJS</code></div><div class=\"line number4 index3 alt1\"><code class=\"plain\">button</code><code class=\"keyword\">=</code><code class=\"plain\">Button(label</code><code class=\"keyword\">=</code><code class=\"string\">\"GFG\"</code><code class=\"plain\">)</code></div><div class=\"line number5 index4 alt2\"><code class=\"plain\">button.js_on_click(CustomJS(</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">code</code><code class=\"keyword\">=</code><code class=\"string\">\"console.log('button: click!', this.toString())\"</code><code class=\"plain\">))</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">show(button)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong>\u00a0</p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210210175740/bokehtutorialbutton.png\" alt=\"bokeh tutorial button\" referrerpolicy=\"no-referrer\" /></p><ul><li><strong>CheckboxGroup:</strong> Adds a standard check box to the plot. Similarly to buttons we have to pass the custom JavaScript function to the CustomJS() method of the models class.</li>\n</ul><p><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.io</code><code class=\"keyword\">import</code><code class=\"plain\">show</code></div><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.models</code><code class=\"keyword\">import</code><code class=\"plain\">CheckboxGroup, CustomJS</code></div><div class=\"line number4 index3 alt1\"><code class=\"plain\">L</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"string\">\"First\"</code><code class=\"plain\">,</code><code class=\"string\">\"Second\"</code><code class=\"plain\">,</code><code class=\"string\">\"Third\"</code><code class=\"plain\">]</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">checkbox_group</code><code class=\"keyword\">=</code><code class=\"plain\">CheckboxGroup(labels</code><code class=\"keyword\">=</code><code class=\"plain\">L, active</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">0</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">])</code></div><div class=\"line number10 index9 alt1\"><code class=\"plain\">checkbox_group.js_on_click(CustomJS(code</code><code class=\"keyword\">=</code></div><div class=\"line number14 index13 alt1\"><code class=\"plain\">show(checkbox_group)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210210180650/bokehtutorialcheckbox.png\" alt=\"Bokeh tutorial check box\" referrerpolicy=\"no-referrer\" /></p><ul><li><strong>RadioGroup:</strong> Adds a simple radio button and accepts a custom JavaScript function.</li>\n</ul><p><strong>Syntax:</strong></p><blockquote>\n<p>RadioGroup(labels, active)</p>\n</blockquote><p><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.io</code><code class=\"keyword\">import</code><code class=\"plain\">show</code></div><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.models</code><code class=\"keyword\">import</code><code class=\"plain\">RadioGroup, CustomJS</code></div><div class=\"line number4 index3 alt1\"><code class=\"plain\">L</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"string\">\"First\"</code><code class=\"plain\">,</code><code class=\"string\">\"Second\"</code><code class=\"plain\">,</code><code class=\"string\">\"Third\"</code><code class=\"plain\">]</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">radio_group</code><code class=\"keyword\">=</code><code class=\"plain\">RadioGroup(labels</code><code class=\"keyword\">=</code><code class=\"plain\">L, active</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">)</code></div><div class=\"line number10 index9 alt1\"><code class=\"plain\">radio_group.js_on_click(CustomJS(code</code><code class=\"keyword\">=</code></div><div class=\"line number14 index13 alt1\"><code class=\"plain\">show(radio_group)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210210181845/bokehtutorialradiobutton.png\" alt=\"Bokeh Tutorial radio button\" referrerpolicy=\"no-referrer\" /></p><ul><li><strong>Sliders:</strong> Adds a slider to the plot. It also needs a custom JavaScript function.</li>\n</ul><p><strong>Syntax:</strong></p><blockquote>\n<p>Slider(start, end, step, value)</p>\n</blockquote><p><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.io</code><code class=\"keyword\">import</code><code class=\"plain\">show</code></div><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.models</code><code class=\"keyword\">import</code><code class=\"plain\">CustomJS, Slider</code></div><div class=\"line number4 index3 alt1\"><code class=\"plain\">slider</code><code class=\"keyword\">=</code><code class=\"plain\">Slider(start</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">, end</code><code class=\"keyword\">=</code><code class=\"value\">20</code><code class=\"plain\">, value</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">, step</code><code class=\"keyword\">=</code><code class=\"value\">2</code><code class=\"plain\">, title</code><code class=\"keyword\">=</code><code class=\"string\">\"Slider\"</code><code class=\"plain\">)</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">slider.js_on_change(</code><code class=\"string\">\"value\"</code><code class=\"plain\">, CustomJS(code</code><code class=\"keyword\">=</code></div><div class=\"line number10 index9 alt1\"><code class=\"plain\">show(slider)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210210182505/bokehtutorialslider.gif\" alt=\"bokeh tutorial slider\" referrerpolicy=\"no-referrer\" /></p><ul><li><strong>DropDown:</strong> Adds a dropdown to the plot and like every other widget it also needs a custom JavaScript function as callback.</li>\n</ul><p><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.io</code><code class=\"keyword\">import</code><code class=\"plain\">show</code></div><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.models</code><code class=\"keyword\">import</code><code class=\"plain\">CustomJS, Dropdown</code></div><div class=\"line number4 index3 alt1\"><code class=\"plain\">menu</code><code class=\"keyword\">=</code><code class=\"plain\">[(</code><code class=\"string\">\"First\"</code><code class=\"plain\">,</code><code class=\"string\">\"First\"</code><code class=\"plain\">), (</code><code class=\"string\">\"Second\"</code><code class=\"plain\">,</code><code class=\"string\">\"Second\"</code><code class=\"plain\">), (</code><code class=\"string\">\"Third\"</code><code class=\"plain\">,</code><code class=\"string\">\"Third\"</code><code class=\"plain\">)]</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">dropdown</code><code class=\"keyword\">=</code><code class=\"plain\">Dropdown(label</code><code class=\"keyword\">=</code><code class=\"string\">\"Dropdown Menu\"</code><code class=\"plain\">, button_type</code><code class=\"keyword\">=</code><code class=\"string\">\"success\"</code><code class=\"plain\">, menu</code><code class=\"keyword\">=</code><code class=\"plain\">menu)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">dropdown.js_on_event(</code><code class=\"string\">\"menu_item_click\"</code><code class=\"plain\">, CustomJS(</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">code</code><code class=\"keyword\">=</code><code class=\"string\">\"console.log('dropdown: ' + this.item, this.toString())\"</code><code class=\"plain\">))</code></div><div class=\"line number11 index10 alt2\"><code class=\"plain\">show(dropdown)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210210190822/bokehtutorialdropdown.gif\" alt=\"bokeh tutorial dropdown\" referrerpolicy=\"no-referrer\" /></p><ul><li><strong>Tab Widget:</strong> Tab Widget adds tabs and each tab show a different plot.</li>\n</ul><p><strong>Example:</strong></p><div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent\"><div class=\"code-block\"><div class=\"code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" style=\"border-spacing: 0px;\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.plotting</code><code class=\"keyword\">import</code><code class=\"plain\">figure, output_file, show</code></div><div class=\"line number2 index1 alt1\"><code class=\"keyword\">from</code><code class=\"plain\">bokeh.models</code><code class=\"keyword\">import</code><code class=\"plain\">Panel, Tabs</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">numpy as np</code></div><div class=\"line number4 index3 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">math</code></div><div class=\"line number7 index6 alt2\"><code class=\"plain\">fig1</code><code class=\"keyword\">=</code><code class=\"plain\">figure(plot_width</code><code class=\"keyword\">=</code><code class=\"value\">300</code><code class=\"plain\">, plot_height</code><code class=\"keyword\">=</code><code class=\"value\">300</code><code class=\"plain\">)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">x</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">1</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">5</code><code class=\"plain\">]</code></div><div class=\"line number10 index9 alt1\"><code class=\"plain\">y</code><code class=\"keyword\">=</code><code class=\"plain\">[</code><code class=\"value\">5</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">3</code><code class=\"plain\">,</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">1</code><code class=\"plain\">]</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">fig1.line(x, y, line_color</code><code class=\"keyword\">=</code><code class=\"string\">'green'</code><code class=\"plain\">)</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">tab1</code><code class=\"keyword\">=</code><code class=\"plain\">Panel(child</code><code class=\"keyword\">=</code><code class=\"plain\">fig1, title</code><code class=\"keyword\">=</code><code class=\"string\">\"Tab 1\"</code><code class=\"plain\">)</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">fig2</code><code class=\"keyword\">=</code><code class=\"plain\">figure(plot_width</code><code class=\"keyword\">=</code><code class=\"value\">300</code><code class=\"plain\">, plot_height</code><code class=\"keyword\">=</code><code class=\"value\">300</code><code class=\"plain\">)</code></div><div class=\"line number17 index16 alt2\"><code class=\"plain\">fig2.line(y, x, line_color</code><code class=\"keyword\">=</code><code class=\"string\">'red'</code><code class=\"plain\">)</code></div><div class=\"line number18 index17 alt1\"><code class=\"plain\">tab2</code><code class=\"keyword\">=</code><code class=\"plain\">Panel(child</code><code class=\"keyword\">=</code><code class=\"plain\">fig2, title</code><code class=\"keyword\">=</code><code class=\"string\">\"Tab 2\"</code><code class=\"plain\">)</code></div><div class=\"line number20 index19 alt1\"><code class=\"plain\">all_tabs</code><code class=\"keyword\">=</code><code class=\"plain\">Tabs(tabs</code><code class=\"keyword\">=</code><code class=\"plain\">[tab1, tab2])</code></div><div class=\"line number22 index21 alt1\"><code class=\"plain\">show(all_tabs)</code></div></div>\n</td>\n</tr></tbody></table></div></div></div></div><p><strong>Output:</strong></p><p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210210191552/bokehtutorialtabs.gif\" alt=\"bokeh tutorial tabs\" referrerpolicy=\"no-referrer\" /></p><h2>Creating Different Types of Glyphs</h2><h2>Visualizing Different Types of Data</h2><h2>More Topics on Bokeh</h2><br />",
    "created_at": "2022-01-24T20:08:44+00:00",
    "updated_at": "2022-01-24T20:08:52+00:00",
    "published_at": "2021-02-19T12:10:46+00:00",
    "annotations": [],
    "mimetype": "text/html",
    "reading_time": 16,
    "domain_name": "www.geeksforgeeks.org",
    "preview_picture": "https://media.geeksforgeeks.org/wp-content/cdn-uploads/gfg_200x200-min.png",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "tutorial", "bokeh"],
    "is_public": false,
    "id": 4,
    "title": "First steps",
    "url": "https://docs.bokeh.org/en/2.4.0/docs/first_steps.html",
    "content": "<div class=\"container-xl row\"><div class=\"d-none d-xl-block col-xl-2 bd-toc toc-item\"><p>On this page</p></div><main class=\"col-12 col-md-9 col-xl-7 py-md-5 pl-md-5 pr-md-4 bd-content\" role=\"main\"><div class=\"section\"><div class=\"section\" id=\"installing-bokeh\"><h2>Installing Bokeh</h2><p>Bokeh is officially supported and tested on Python 3.7 and above (CPython).</p><p>You can install Bokeh with either <code class=\"docutils literal notranslate\">conda</code> or <code class=\"docutils literal notranslate\">pip</code>:</p><div class=\"sphinx-bs container-fluid pb-3 docutils row docutils\"><div class=\"d-flex col-lg-6 col-md-6 col-sm-12 col-xs-12 p-2 docutils card w-100 shadow docutils\"><div class=\"card-body docutils\"><p class=\"card-text\">Use this command to install Bokeh:</p><div class=\"highlight-sh notranslate highlight\"><pre>conda install bokeh\n</pre></div><p class=\"card-text\">Conda requires either <a class=\"reference external\" href=\"https://www.anaconda.com/products/individual#Downloads\">Anaconda</a> or <a class=\"reference external\" href=\"https://docs.conda.io/en/latest/miniconda.html\">Miniconda</a> to be installed on your system.</p></div></div></div><p>For more detailed information on installing and potential problems you might encounter, go to the <a class=\"reference internal\" href=\"https://docs.bokeh.org/en/2.4.0/docs/first_steps/installation.html#installation\">Installation details</a> section.</p></div><div class=\"section\" id=\"first-steps-guides\"><h2>First steps guides</h2><p>Follow these guides to quickly learn about the most important features and capabilities of Bokeh.</p><p>The first steps guides are for anybody who is new to Bokeh. The only prerequisites for using these guides are a basic understanding of Python and a working <a class=\"reference internal\" href=\"#first-steps-installing\">installation</a> of Bokeh.</p><p>The first steps guides include lots of examples that you can copy to your development environment. There are also many links to the more in-depth resources of the <a class=\"reference internal\" href=\"https://docs.bokeh.org/en/2.4.0/docs/user_guide.html#userguide\">user guide</a> and <a class=\"reference internal\" href=\"https://docs.bokeh.org/en/2.4.0/docs/reference.html#refguide\">reference guide</a> in case you want to learn more about any of the topics covered in the first steps guides.</p></div></div>\n<p><a class=\"left-prev\" id=\"prev-link\" href=\"https://docs.bokeh.org/en/2.4.0/index.html\" title=\"previous page\">Bokeh documentation</a> <a class=\"right-next\" id=\"next-link\" href=\"https://docs.bokeh.org/en/2.4.0/docs/first_steps/installation.html\" title=\"next page\">Installation details</a></p>\n</main></div><footer class=\"page-footer p-0\">\n<div class=\"container-fluid p-0 copyright container py-2 row\"><div class=\"col-md-10\"><p class=\"m-0\">Bokeh is a fiscally sponsored project of <a href=\"https://numfocus.org\">NumFOCUS</a>, a nonprofit dedicated to supporting the open-source scientific computing community. Donations help pay for cloud hosting costs, travel, and other project needs.</p><p class=\"m-0\">\u00a92021 Bokeh Contributors. The website content uses the <a href=\"https://github.com/bokeh/demo.bokeh.org/blob/master/LICENSE.txt\">BSD License</a> and is covered by the <a href=\"https://github.com/bokeh/bokeh/blob/master/CODE_OF_CONDUCT.md\">Bokeh Code of Conduct</a>.</p></div><p><a class=\"btn btn-primary\" href=\"https://numfocus.org/donate-to-bokeh\">Donate</a></p></div>\n</footer>",
    "created_at": "2022-01-24T20:08:14+00:00",
    "updated_at": "2022-01-24T20:08:31+00:00",
    "published_by": ["Bokeh Contributors"],
    "annotations": [],
    "mimetype": "text/html",
    "reading_time": 1,
    "domain_name": "docs.bokeh.org",
    "preview_picture": "http://static.bokeh.org/og/logotype-on-hex.png",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "seaborn", "tutorial"],
    "is_public": false,
    "id": 3,
    "title": "Python Seaborn Tutorial - GeeksforGeeks",
    "url": "https://www.geeksforgeeks.org/python-seaborn-tutorial/",
    "content": "<p><strong>Seaborn</strong> is a library mostly used for statistical plotting in Python. It is built on top of Matplotlib and provides beautiful default styles and color palettes to make statistical plots more attractive.</p>\n<p>In this tutorial, we will learn about Python Seaborn from basics to advance using a huge dataset of seaborn basics, concepts, and different graphs that can be plotted.</p>\n<p><strong>Table Of Content</strong><br />\u00a0</p>\n<blockquote>\n<ul><li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Getting\">Getting Started</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Seaborn\">Using Seaborn with Matplotlib</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Customizing\">Customizing Seaborn Plots</a>\u00a0\n<ul><li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Aesthetic\">Changing Figure Aesthetic</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Removal\">Removal of Spines</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Size\">Changing the figure Size</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Scaling\">Scaling the plots</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Temporarily\">Setting the Style Temporarily</a></li>\n</ul></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Color\">Color Palette</a>\u00a0\n<ul><li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Diverging\">Diverging Color Palette</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Sequential\">Sequential Color Palette</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#default\">Setting the default Color Palette</a></li>\n</ul></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Multiple\">Multiple plots with Seaborn</a>\u00a0\n<ul><li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Matplotlib\">Using Matplotlib</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Seaborn\">Using Seaborn</a></li>\n</ul></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Different\">Creating Different Types of Plots</a>\u00a0\n<ul><li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Relational\">Relational Plots</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Categorical\">Categorical Plots</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Distribution\">Distribution Plots</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Regression\">Regression Plots</a></li>\n</ul></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#More\">More Gaphs in Seaborn</a></li>\n<li><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"#Topics\">More Topics on Seaborn</a></li>\n</ul></blockquote>\n<p><a href=\"https://www.geeksforgeeks.org/tag/python-seaborn/\"><strong>Recent articles on Seaborn !!</strong></a></p>\n<h2 class=\"c5\">Getting Started</h2>\n<p class=\"c6\">First of all, let us install Seaborn. Seaborn can be installed using the pip. Type the below command in the terminal.</p>\n<pre>pip install seaborn</pre>\n<p>In the terminal, it will look like this \u2013\u00a0</p>\n<p class=\"c6\">After the installation is completed you will get a successfully installed message at the end of the terminal as shown below.</p>\n<p><strong>Note:</strong> Seaborn has the following dependencies \u2013\u00a0</p>\n<ul><li>Python 2.7 or 3.4+</li>\n<li>numpy</li>\n<li>scipy</li>\n<li>pandas</li>\n<li>matplotlib</li>\n</ul><p class=\"c6\">After the installation let us see an example of a simple plot using Seaborn. We will be plotting a simple line plot using the iris dataset. Iris dataset contains five columns such as Petal Length, Petal Width, Sepal Length, Sepal Width and Species Type. Iris is a flowering plant, the researchers have measured various features of the different iris flowers and recorded them digitally.</p>\n<p><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns\u00a0</code></div><div class=\"line number5 index4 alt2\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)\u00a0</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.lineplot(x</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_length\"</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_width\"</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210118140758/seaborntutorialsimpleplot.png\" alt=\"seaborn tutorial simple plot\" srcset=\"\" width=\"411\" referrerpolicy=\"no-referrer\" /></p>\n<p class=\"c6\">In the above example, a simple line plot is created using the lineplot() method. Do not worry about these functions as we will be discussing them in detail in the below sections. Now after going through a simple example let us see a brief introduction about the Seaborn. Refer to the below articles to get detailed information about the same.</p>\n<p class=\"c6\">In the introduction, you must have read that Seaborn is built on the top of Matplotlib. It means that Seaborn can be used with Matplotlib.\u00a0</p>\n<h2 class=\"c5\">Using Seaborn with Matplotlib</h2>\n<p class=\"c6\">Using both Matplotlib and Seaborn together is a very simple process. We just have to invoke the Seaborn Plotting function as normal, and then we can use Matplotlib\u2019s customization function.</p>\n<p class=\"c6\"><strong>Example 1:</strong> We will be using the above example and will add the title to the plot using the Matplotlib.</p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns\u00a0</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt\u00a0</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)\u00a0</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">sns.lineplot(x</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_length\"</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_width\"</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)\u00a0</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">plt.title(</code><code class=\"string\">'Title using Matplotlib Function'</code><code class=\"plain\">)</code></div><div class=\"line number14 index13 alt1\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210118151105/seaborntutorialusingwithmatplotlib.png\" srcset=\"\" width=\"416\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\n<p><strong>Example 2:</strong> Setting the xlim and ylim</p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns\u00a0</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt\u00a0</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)\u00a0</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">sns.lineplot(x</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_length\"</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_width\"</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)\u00a0</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">plt.xlim(</code><code class=\"value\">5</code><code class=\"plain\">)</code></div><div class=\"line number14 index13 alt1\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210118160040/seaborntutorialusingwithmatplotlib2.png\" alt=\"seaborn tutorial working with matplotlib\" srcset=\"\" width=\"414\" referrerpolicy=\"no-referrer\" /></p>\n<h2 class=\"c5\">Customizing Seaborn Plots</h2>\n<p class=\"c6\">Seaborn comes with some customized themes and a high-level interface for customizing the looks of the graphs. Consider the above example where the default of the Seaborn is used. It still looks nice and pretty but we can customize the graph according to our own needs. So let\u2019s see the styling of plots in detail.</p>\n<h3>Changing Figure Aesthetic</h3>\n<p class=\"c6\"><strong>set_style()</strong> method is used to set the aesthetic of the plot. It means it affects things like the color of the axes, whether the grid is active or not, or other aesthetic elements. There are five themes available in Seaborn.</p>\n<ul><li class=\"c7\">darkgrid</li>\n<li class=\"c7\">whitegrid</li>\n<li class=\"c7\">dark</li>\n<li class=\"c7\">white</li>\n<li class=\"c7\">ticks</li>\n</ul><p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p class=\"c6\">set_style(style=None, rc=None)</p>\n</blockquote>\n<p class=\"c6\"><strong>Example:</strong> Using the dark theme</p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns\u00a0</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt\u00a0</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)\u00a0</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">sns.lineplot(x</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_length\"</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_width\"</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)\u00a0</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">sns.set_style(</code><code class=\"string\">\"dark\"</code><code class=\"plain\">)</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210118163325/seaborntutorialstylingplots.png\" alt=\"seaborn tutorial styling plots\" srcset=\"\" width=\"421\" referrerpolicy=\"no-referrer\" /></p>\n<h3>Removal of Spines</h3>\n<p class=\"c6\">Spines are the lines noting the data boundaries and connecting the axis tick marks. It can be removed using the despine() method.</p>\n<p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p class=\"c6\">sns.despine(left = True)</p>\n</blockquote>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns\u00a0</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt\u00a0</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)\u00a0</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">sns.lineplot(x</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_length\"</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_width\"</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)\u00a0</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">sns.despine()</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210118164030/seaborntutorialremovingspines.png\" alt=\"seaborn tutorial removing spines\" srcset=\"\" width=\"415\" referrerpolicy=\"no-referrer\" /></p>\n<h3>Changing the figure Size</h3>\n<p class=\"c6\">The figure size can be changed using the <a href=\"https://www.geeksforgeeks.org/matplotlib-pyplot-figure-in-python/\"><strong>figure()</strong></a> method of Matplotlib. figure() method creates a new figure of the specified size passed in the <strong>figsize</strong> parameter.</p>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns\u00a0</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt\u00a0</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)\u00a0</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.figure(figsize</code><code class=\"keyword\">=</code><code class=\"plain\">(</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">))</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">sns.lineplot(x</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_length\"</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_width\"</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)\u00a0</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">sns.despine()</code></div><div class=\"line number17 index16 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210118165217/seaborntutorialchangingfiguresize.png\" alt=\"seaborn tutorial changing figure size\" referrerpolicy=\"no-referrer\" /></p>\n<h3>Scaling the plots</h3>\n<p class=\"c6\">It can be done using the set_context() method. It allows us to override default parameters. This affects things like the size of the labels, lines, and other elements of the plot, but not the overall style. The base context is \u201cnotebook\u201d, and the other contexts are \u201cpaper\u201d, \u201ctalk\u201d, and \u201cposter\u201d. font_scale sets the font size.</p>\n<p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p class=\"c6\">set_context(context=None, font_scale=1, rc=None)</p>\n</blockquote>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns\u00a0</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt\u00a0</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)\u00a0</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">sns.lineplot(x</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_length\"</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_width\"</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)\u00a0</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">sns.set_context(</code><code class=\"string\">\"paper\"</code><code class=\"plain\">)</code></div><div class=\"line number14 index13 alt1\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210118172228/seaborntutorialsettingthescale.png\" alt=\"seaborn tutorial setting the scale\" srcset=\"\" width=\"437\" referrerpolicy=\"no-referrer\" /></p>\n<h3>Setting the Style Temporarily</h3>\n<p class=\"c6\">axes_style() method is used to set the style temporarily. It is used along with the <strong>with</strong> statement.</p>\n<p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p class=\"c6\">axes_style(style=None, rc=None)</p>\n</blockquote>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns\u00a0</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt\u00a0</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)\u00a0</code></div><div class=\"line number9 index8 alt2\"><code class=\"keyword\">def</code><code class=\"plain\">plot():</code></div><div class=\"line number10 index9 alt1\"><code class=\"plain\">sns.lineplot(x</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_length\"</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_width\"</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)\u00a0</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">with sns.axes_style(</code><code class=\"string\">'darkgrid'</code><code class=\"plain\">):</code></div><div class=\"line number15 index14 alt2\"><code class=\"plain\">plt.subplot(</code><code class=\"value\">211</code><code class=\"plain\">)</code></div><div class=\"line number16 index15 alt1\"><code class=\"plain\">plot()</code></div><div class=\"line number18 index17 alt1\"><code class=\"plain\">plt.subplot(</code><code class=\"value\">212</code><code class=\"plain\">)</code></div><div class=\"line number19 index18 alt2\"><code class=\"plain\">plot()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210118175259/seaborntutorialtemporarystyle.png\" srcset=\"\" width=\"419\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\n<p>Refer to the below article for detailed information about styling Seaborn Plot.</p>\n<h2 class=\"c5\">Color Palette</h2>\n<p class=\"c6\">Colormaps are used to visualize plots effectively and easily. One might use different sorts of colormaps for different kinds of plots. <strong>color_palette()</strong> method is used to give colors to the plot. Another function <strong>palplot()</strong> is used to deal with the color palettes and plots the color palette as a horizontal array.</p>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns\u00a0</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">palette</code><code class=\"keyword\">=</code><code class=\"plain\">sns.color_palette()</code></div><div class=\"line number10 index9 alt1\"><code class=\"plain\">sns.palplot(palette)</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210118181314/seaborntutorialcolorpalette.png\" srcset=\"\" width=\"595\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\n<h3>Diverging Color Palette</h3>\n<p class=\"c6\">This type of color palette uses two different colors where each color depicts different points ranging from a common point in either direction. Consider a range of -10 to 10 so the value from -10 to 0 takes one color and values from 0 to 10 take another.</p>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns\u00a0</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">palette</code><code class=\"keyword\">=</code><code class=\"plain\">sns.color_palette(</code><code class=\"string\">'PiYG'</code><code class=\"plain\">,</code><code class=\"value\">11</code><code class=\"plain\">)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">sns.palplot(palette)</code></div><div class=\"line number11 index10 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210118182425/seaborntutorialdivergingcolor.png\" alt=\"seaborn tutorial diverging color\" srcset=\"\" width=\"646\" referrerpolicy=\"no-referrer\" /></p>\n<p class=\"c6\">In the above example, we have used an in-built diverging color palette which shows 11 different points of color. The color on the left shows pink color and color on the right shows green color.</p>\n<h3>Sequential Color Palette</h3>\n<p class=\"c6\">A sequential palette is used where the distribution ranges from a lower value to a higher value. To do this add the character \u2018s\u2019 to the color passed in the color palette.</p>\n<p><strong>Example:</strong>\u00a0</p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns\u00a0</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">palette</code><code class=\"keyword\">=</code><code class=\"plain\">sns.color_palette(</code><code class=\"string\">'Greens'</code><code class=\"plain\">,</code><code class=\"value\">11</code><code class=\"plain\">)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">sns.palplot(palette)</code></div><div class=\"line number11 index10 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210118184816/seaborntutorialsequentialcolorpalette.png\" alt=\"seaborn tutorial sequential color palette\" srcset=\"\" width=\"635\" referrerpolicy=\"no-referrer\" /></p>\n<h3>Setting the default Color Palette</h3>\n<p class=\"c6\"><strong>set_palette()</strong> method is used to set the default color palette for all the plots. The arguments for both color_palette() and set_palette() is same. set_palette() changes the default matplotlib parameters.</p>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns\u00a0</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)\u00a0</code></div><div class=\"line number8 index7 alt1\"><code class=\"keyword\">def</code><code class=\"plain\">plot():</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">sns.lineplot(x</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_length\"</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_width\"</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">sns.set_palette(</code><code class=\"string\">'vlag'</code><code class=\"plain\">)</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">plt.subplot(</code><code class=\"value\">211</code><code class=\"plain\">)</code></div><div class=\"line number17 index16 alt2\"><code class=\"plain\">plot()</code></div><div class=\"line number20 index19 alt1\"><code class=\"plain\">sns.set_palette(</code><code class=\"string\">'Accent'</code><code class=\"plain\">)</code></div><div class=\"line number21 index20 alt2\"><code class=\"plain\">plt.subplot(</code><code class=\"value\">212</code><code class=\"plain\">)</code></div><div class=\"line number22 index21 alt1\"><code class=\"plain\">plot()</code></div><div class=\"line number24 index23 alt1\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210118185640/seaborntutorialdefaultpalette.png\" srcset=\"\" width=\"412\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\n<p>Refer to the below article to get detailed information about the color palette.</p>\n<h2 class=\"c5\">Multiple plots with Seaborn</h2>\n<p class=\"c6\">You might have seen multiple plots in the above examples and some of you might have got confused. Don\u2019t worry we will cover multiple plots in this section. Multiple plots in Seaborn can also be created using the Matplotlib as well as Seaborn also provides some functions for the same.</p>\n<h3>Using Matplotlib</h3>\n<p class=\"c6\">Matplotlib provides various functions for plotting subplots. Some of them are <a href=\"https://www.geeksforgeeks.org/matplotlib-figure-figure-add_axes-in-python/\">add_axes()</a>, <a href=\"https://www.geeksforgeeks.org/matplotlib-pyplot-subplot-function-in-python/\">subplot()</a>, and <a href=\"https://www.geeksforgeeks.org/matplotlib-pyplot-subplot2grid-in-python/\">subplot2grid()</a>. Let\u2019s see an example of each function for better understanding.</p>\n<p class=\"c6\"><strong>Example 1:</strong> Using <a href=\"https://www.geeksforgeeks.org/matplotlib-figure-figure-add_axes-in-python/\">add_axes()</a> method</p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number7 index6 alt2\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number9 index8 alt2\"><code class=\"keyword\">def</code><code class=\"plain\">graph():</code></div><div class=\"line number10 index9 alt1\"><code class=\"plain\">sns.lineplot(x</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_length\"</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_width\"</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number14 index13 alt1\"><code class=\"plain\">fig</code><code class=\"keyword\">=</code><code class=\"plain\">plt.figure(figsize</code><code class=\"keyword\">=</code><code class=\"plain\">(</code><code class=\"value\">5</code><code class=\"plain\">,</code><code class=\"value\">4</code><code class=\"plain\">))\u00a0</code></div><div class=\"line number17 index16 alt2\"><code class=\"plain\">ax1</code><code class=\"keyword\">=</code><code class=\"plain\">fig.add_axes([</code><code class=\"value\">0.1</code><code class=\"plain\">,</code><code class=\"value\">0.1</code><code class=\"plain\">,</code><code class=\"value\">0.8</code><code class=\"plain\">,</code><code class=\"value\">0.8</code><code class=\"plain\">])\u00a0</code></div><div class=\"line number20 index19 alt1\"><code class=\"plain\">graph()</code></div><div class=\"line number23 index22 alt2\"><code class=\"plain\">ax2</code><code class=\"keyword\">=</code><code class=\"plain\">fig.add_axes([</code><code class=\"value\">0.5</code><code class=\"plain\">,</code><code class=\"value\">0.5</code><code class=\"plain\">,</code><code class=\"value\">0.3</code><code class=\"plain\">,</code><code class=\"value\">0.3</code><code class=\"plain\">])</code></div><div class=\"line number26 index25 alt1\"><code class=\"plain\">graph()</code></div><div class=\"line number28 index27 alt1\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210119135304/seaborntutorialaddaxes.png\" alt=\"seaborn tutorial add axes\" srcset=\"\" width=\"378\" referrerpolicy=\"no-referrer\" /></p>\n<p><strong>Example 2:</strong> Using<a href=\"https://www.geeksforgeeks.org/matplotlib-pyplot-subplot-function-in-python/\">subplot()</a> method</p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns\u00a0</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)\u00a0</code></div><div class=\"line number8 index7 alt1\"><code class=\"keyword\">def</code><code class=\"plain\">graph():</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">sns.lineplot(x</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_length\"</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_width\"</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">plt.subplot(</code><code class=\"value\">121</code><code class=\"plain\">)</code></div><div class=\"line number14 index13 alt1\"><code class=\"plain\">graph()</code></div><div class=\"line number18 index17 alt1\"><code class=\"plain\">plt.subplot(</code><code class=\"value\">122</code><code class=\"plain\">)</code></div><div class=\"line number19 index18 alt2\"><code class=\"plain\">graph()</code></div><div class=\"line number21 index20 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210119135550/seaborntutorialsubplot.png\" alt=\"seaborn tutorial subplot\" srcset=\"\" width=\"405\" referrerpolicy=\"no-referrer\" /></p>\n<p><strong>Example 3:</strong> Using <a href=\"https://www.geeksforgeeks.org/matplotlib-pyplot-subplot2grid-in-python/\">subplot2grid()</a> method</p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"keyword\">def</code><code class=\"plain\">graph():</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">sns.lineplot(x</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_length\"</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">\"sepal_width\"</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">axes1</code><code class=\"keyword\">=</code><code class=\"plain\">plt.subplot2grid (</code></div><div class=\"line number13 index12 alt2\"><code class=\"plain\">(</code><code class=\"value\">7</code><code class=\"plain\">,</code><code class=\"value\">1</code><code class=\"plain\">), (</code><code class=\"value\">0</code><code class=\"plain\">,</code><code class=\"value\">0</code><code class=\"plain\">), rowspan</code><code class=\"keyword\">=</code><code class=\"value\">2</code><code class=\"plain\">,\u00a0 colspan</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">)\u00a0</code></div><div class=\"line number14 index13 alt1\"><code class=\"plain\">graph()</code></div><div class=\"line number16 index15 alt1\"><code class=\"plain\">axes2</code><code class=\"keyword\">=</code><code class=\"plain\">plt.subplot2grid (</code></div><div class=\"line number17 index16 alt2\"><code class=\"plain\">(</code><code class=\"value\">7</code><code class=\"plain\">,</code><code class=\"value\">1</code><code class=\"plain\">), (</code><code class=\"value\">2</code><code class=\"plain\">,</code><code class=\"value\">0</code><code class=\"plain\">), rowspan</code><code class=\"keyword\">=</code><code class=\"value\">2</code><code class=\"plain\">, colspan</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">)\u00a0</code></div><div class=\"line number18 index17 alt1\"><code class=\"plain\">graph()</code></div><div class=\"line number20 index19 alt1\"><code class=\"plain\">axes3</code><code class=\"keyword\">=</code><code class=\"plain\">plt.subplot2grid (</code></div><div class=\"line number21 index20 alt2\"><code class=\"plain\">(</code><code class=\"value\">7</code><code class=\"plain\">,</code><code class=\"value\">1</code><code class=\"plain\">), (</code><code class=\"value\">4</code><code class=\"plain\">,</code><code class=\"value\">0</code><code class=\"plain\">), rowspan</code><code class=\"keyword\">=</code><code class=\"value\">2</code><code class=\"plain\">, colspan</code><code class=\"keyword\">=</code><code class=\"value\">1</code><code class=\"plain\">)</code></div><div class=\"line number22 index21 alt1\"><code class=\"plain\">graph()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210119135732/seaborntutorialsubplot2grid.png\" srcset=\"\" width=\"403\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\n<h3>Using Seaborn\u00a0</h3>\n<p class=\"c6\">Seaborn also provides some functions for plotting multiple plots. Let\u2019s see them in detail</p>\n<p class=\"c6\"><strong>Method 1:</strong> Using <a href=\"https://www.geeksforgeeks.org/python-seaborn-facetgrid-method/\">FacetGrid()</a> method</p>\n<ul><li>FacetGrid class helps in visualizing distribution of one variable as well as the relationship between multiple variables separately within subsets of your dataset using multiple panels.</li>\n<li>A FacetGrid can be drawn with up to three dimensions ? row, col, and hue. The first two have obvious correspondence with the resulting array of axes; think of the hue variable as a third dimension along a depth axis, where different levels are plotted with different colors.</li>\n<li>FacetGrid object takes a dataframe as input and the names of the variables that will form the row, column, or hue dimensions of the grid. The variables should be categorical and the data at each level of the variable will be used for a facet along that axis.</li>\n</ul><p><strong>Syntax:</strong></p>\n<blockquote>\n<p>seaborn.FacetGrid( data, \\*\\*kwargs)</p>\n</blockquote>\n<p><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">plot</code><code class=\"keyword\">=</code><code class=\"plain\">sns.FacetGrid(data, col</code><code class=\"keyword\">=</code><code class=\"string\">\"species\"</code><code class=\"plain\">)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plot.</code><code class=\"plain\">(plt.plot,</code><code class=\"string\">\"sepal_width\"</code><code class=\"plain\">)</code></div><div class=\"line number11 index10 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210119142058/seaborntutorialfacetgrid.png\" alt=\"seaborn tutorial facetgrid\" srcset=\"https://media.geeksforgeeks.org/wp-content/uploads/20210119142058/seaborntutorialfacetgrid-660x216.png 660w\" width=\"668\" referrerpolicy=\"no-referrer\" /></p>\n<p><strong>Method 2:</strong> Using <a href=\"https://www.geeksforgeeks.org/python-seaborn-pairgrid-method/\">PairGrid()</a> method</p>\n<ul><li>Subplot grid for plotting pairwise relationships in a dataset.</li>\n<li>This class maps each variable in a dataset onto a column and row in a grid of multiple axes. Different axes-level plotting functions can be used to draw bivariate plots in the upper and lower triangles, and the marginal distribution of each variable can be shown on the diagonal.</li>\n<li>It can also represent an additional level of conventionalization with the hue parameter, which plots different subsets of data in different colors. This uses color to resolve elements on a third dimension, but only draws subsets on top of each other and will not tailor the hue parameter for the specific visualization the way that axes-level functions that accept hue will.</li>\n</ul><p><strong>Syntax:</strong></p>\n<blockquote>\n<p>seaborn.PairGrid( data, \\*\\*kwargs)</p>\n</blockquote>\n<p><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"flights\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">plot</code><code class=\"keyword\">=</code><code class=\"plain\">sns.PairGrid(data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plot.</code><code class=\"plain\">(plt.plot)</code></div><div class=\"line number11 index10 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210119145058/seaborntutorialpairgrid.png\" alt=\"seaborn tutorial pairgrid\" srcset=\"\" width=\"382\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to get detailed information about the multiple plots</p>\n<h2 class=\"c5\">Creating Different Types of Plots</h2>\n<h2 class=\"c8\">Relational Plots</h2>\n<p class=\"c6\"><strong>Relational plots</strong> are used for visualizing the statistical relationship between the data points. Visualization is necessary because it allows the human to see trends and patterns in the data. The process of understanding how the variables in the dataset relate each other and their relationships are termed as Statistical analysis. Refer to the below articles for detailed information.</p>\n<p class=\"c6\"><strong>There are different types of Relational Plots. We will discuss each of them in detail \u2013</strong></p>\n<h3 class=\"c9\">Relplot()</h3>\n<p class=\"c6\">This function provides us the access to some other different axes-level functions which shows the relationships between two variables with semantic mappings of subsets. It is plotted using the <strong>relplot()</strong> method.</p>\n<p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p class=\"c6\">seaborn.relplot(x=None, y=None, data=None, **kwargs)\u00a0</p>\n</blockquote>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">sns.relplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'sepal_width'</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">'species'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number11 index10 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210119191304/seaborntutorialrelplot.png\" alt=\"seaborn tutorial relplot\" srcset=\"\" width=\"413\" referrerpolicy=\"no-referrer\" /></p>\n<h3>Scatter Plot</h3>\n<p class=\"c6\">The <strong>scatter plot</strong> is a mainstay of statistical visualization. It depicts the joint distribution of two variables using a cloud of points, where each point represents an observation in the dataset. This depiction allows the eye to infer a substantial amount of information about whether there is any meaningful relationship between them. It is plotted using the <strong>scatterplot()</strong> method.</p>\n<p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p class=\"c6\">seaborn.scatterplot(x=None, y=None, data=None, **kwargs)</p>\n</blockquote>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.scatterplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'sepal_length'</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">'sepal_width'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210119192107/seaborntutorialscatterplot.png\" alt=\"seaborn tutorial scatterplot\" srcset=\"\" width=\"403\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to get detailed information about Scatter plot.</p>\n<h3>Line Plot</h3>\n<p>For certain datasets, you may want to consider changes as a function of time in one variable, or as a similarly continuous variable. In this case, drawing a line-plot is a better option. It is plotted using the <a href=\"https://www.geeksforgeeks.org/seaborn-lineplot-method-in-python/\"><strong>lineplot()</strong></a> method.</p>\n<p><strong>Syntax:</strong></p>\n<blockquote>\n<p>seaborn.lineplot(x=None, y=None, data=None, **kwargs)</p>\n</blockquote>\n<p><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.lineplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'sepal_length'</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">'species'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210119194211/seaborntutoriallineplot.png\" alt=\"seaborn tutorial lineplot\" srcset=\"\" width=\"442\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to get detailed information about line plot.</p>\n<h2>Categorical Plots</h2>\n<p><a href=\"https://www.geeksforgeeks.org/seaborn-categorical-plots/\"><strong>Categorical Plots</strong></a> are used where we have to visualize relationship between two numerical values. A more specialized approach can be used if one of the main variable is <a href=\"https://www.geeksforgeeks.org/exploring-categorical-data/\"><strong>categorical</strong></a>which means such variables that take on a fixed and limited number of possible values.</p>\n<p>Refer to the below articles to get detailed information.</p>\n<p>\u00a0There are various types of categorical plots let\u2019s discuss each one them in detail.</p>\n<h3>Bar Plot</h3>\n<p>A <strong>barplot</strong> is basically used to aggregate the categorical data according to some methods and by default its the mean. It can also be understood as a visualization of the group by action. To use this plot we choose a categorical column for the x axis and a numerical column for the y axis and we see that it creates a plot taking a mean per categorical column. It can be created using the <a href=\"https://www.geeksforgeeks.org/seaborn-barplot-method-in-python/\"><strong>barplot()</strong></a> method.</p>\n<p><strong>Syntax:</strong></p>\n<blockquote>\n<p>barplot([x, y, hue, data, order, hue_order, \u2026])</p>\n</blockquote>\n<p><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.barplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'species'</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">'sepal_length'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210119200703/seabontutorialbarplot.png\" alt=\"seabon tutorial barplot\" srcset=\"\" width=\"403\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below article to get detailed information about the topic.</p>\n<h3>Count Plot</h3>\n<p>A <strong>countplot</strong> basically counts the categories and returns a count of their occurrences. It is one of the most simple plots provided by the seaborn library. It can be created using the <strong>countplot()</strong> method.</p>\n<p><strong>Syntax:</strong></p>\n<blockquote>\n<p>countplot([x, y, hue, data, order, \u2026])</p>\n</blockquote>\n<p><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.countplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'species'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210119215829/Seaborntutorialcountplot.png\" alt=\"Seaborn tutorial countplot\" srcset=\"\" width=\"413\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles t get detailed information about the count plot.</p>\n<h3>Box Plot</h3>\n<p>A <strong>boxplot</strong> is sometimes known as the box and whisker plot.It shows the distribution of the quantitative data that represents the comparisons between variables. boxplot shows the quartiles of the dataset while the whiskers extend to show the rest of the distribution i.e. the dots indicating the presence of outliers. It is created using the <strong>boxplot()</strong> method.</p>\n<p><strong>Syntax:</strong></p>\n<blockquote>\n<p>boxplot([x, y, hue, data, order, hue_order, \u2026])</p>\n</blockquote>\n<p><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.boxplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'species'</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">'sepal_width'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210119220412/seaborntutorialboxplot.png\" alt=\"seaborn tutorial box plot\" srcset=\"\" width=\"412\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to get detailed information about box plot.</p>\n<h3>Violinplot</h3>\n<p class=\"c6\">It is similar to the boxplot except that it provides a higher, more advanced visualization and uses the kernel density estimation to give a better description about the data distribution. It is created using the <strong>violinplot()</strong> method.</p>\n<p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p class=\"c6\">violinplot([x, y, hue, data, order, \u2026]</p>\n</blockquote>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.violinplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'species'</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">'sepal_width'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210119221356/seaborntutorialviolinpot.png\" alt=\"seaborn tutorial violinpot\" srcset=\"\" width=\"416\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to get detailed information about violin plot.</p>\n<h3>Stripplot</h3>\n<p>It basically creates a scatter plot based on the category. It is created using the <strong>stripplot()</strong> method.</p>\n<p><strong>Syntax:</strong></p>\n<blockquote>\n<p>stripplot([x, y, hue, data, order, \u2026])</p>\n</blockquote>\n<p><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.stripplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'species'</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">'sepal_width'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210119221948/seaborntutorialstripplot.png\" alt=\"seaborn tutorial stripplot\" srcset=\"\" width=\"407\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to detailed information about strip plot.</p>\n<h3>Swarmplot</h3>\n<p class=\"c6\"><strong>Swarmplot</strong> is very similar to the stripplot except the fact that the points are adjusted so that they do not overlap.Some people also like combining the idea of a violin plot and a stripplot to form this plot. One drawback to using swarmplot is that sometimes they dont scale well to really large numbers and takes a lot of computation to arrange them. So in case we want to visualize a swarmplot properly we can plot it on top of a violinplot. It is plotted using the <a href=\"https://www.geeksforgeeks.org/python-seaborn-swarmplot-method/\"><strong>swarmplot()</strong></a> method.</p>\n<p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p class=\"c6\">swarmplot([x, y, hue, data, order, \u2026])</p>\n</blockquote>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.swarmplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'species'</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">'sepal_width'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210120104605/seaborntutorialswarmplot.png\" alt=\"seaborn tutorial swarmplot\" srcset=\"\" width=\"410\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to get deyailed information about swarmplot.</p>\n<h3>Factorplot</h3>\n<p><strong>Factorplot</strong> is the most general of all these plots and provides a parameter called kind to choose the kind of plot we want thus saving us from the trouble of writing these plots separately. The kind parameter can be bar, violin, swarm etc. It is plotted using the <a href=\"https://www.geeksforgeeks.org/python-seaborn-factorplot-method/\"><strong>factorplot()</strong></a> method.</p>\n<p><strong>Syntax:</strong></p>\n<blockquote>\n<p>sns.factorplot([x, y, hue, data, row, col, \u2026])</p>\n</blockquote>\n<p><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.factorplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'species'</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">'sepal_width'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210120105259/seaborntutorialfactorplot.png\" alt=\"seaborn tutorial factorplot\" srcset=\"\" width=\"415\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to get dtailed information about the factor plot.</p>\n<h2>Distribution Plots</h2>\n<p class=\"c6\"><strong>Distribution Plots</strong> are used for examining univariate and bivariate distributions meaning such distributions that involve one variable or two discrete variables.</p>\n<p class=\"c6\">Refer to the below article to get detailed informaon about the distribution plots.</p>\n<p>\u00a0There are various types of distribution plots let\u2019s discuss each one them in detail.</p>\n<h3>Histogram</h3>\n<p class=\"c6\">A histogram is basically used to represent data provided in a form of some groups.It is accurate method for the graphical representation of numerical data distribution. It can be plotted using the <strong>histplot()</strong> function.</p>\n<p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p class=\"c6\">histplot(data=None, *, x=None, y=None, hue=None, \u00a0**kwargs)</p>\n</blockquote>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.histplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'species'</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">'sepal_width'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210120165925/seaborntutorialhistogram.png\" alt=\"seaborn tutorial histogram\" srcset=\"\" width=\"410\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to get detailed information about histplot.</p>\n<h3>Distplot</h3>\n<p><strong>Distplot</strong> is used basically for univariant set of observations and visualizes it through a histogram i.e. only one observation and hence we choose one particular column of the dataset. It is potted using the <strong>distplot()</strong> method.</p>\n<p><strong>Syntax:</strong></p>\n<blockquote>\n<p>distplot(a[, bins, hist, kde, rug, fit, \u2026])</p>\n</blockquote>\n<p><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.distplot(data[</code><code class=\"string\">'sepal_width'</code><code class=\"plain\">])</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210120121154/seaborntutorialdistplot.png\" alt=\"seaborn tutorial distplot\" srcset=\"\" width=\"398\" referrerpolicy=\"no-referrer\" /></p>\n<h3>Jointplot</h3>\n<p class=\"c6\">Jointplot is used to draw a plot of two variables with bivariate and univariate graphs. It basically combines two different plots. It is plotted using the <a href=\"https://www.geeksforgeeks.org/python-seaborn-jointplot-method/\"><strong>jointplot()</strong></a> method.</p>\n<p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p class=\"c6\">jointplot(x, y[, data, kind, stat_func, \u2026])</p>\n</blockquote>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.jointplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'species'</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">'sepal_width'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210120122026/seaborntutorialjointplot.png\" alt=\"seaborn tutorial jointplot\" srcset=\"\" width=\"442\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to get detailed information about the topic.</p>\n<h3>Pairplot</h3>\n<p><strong>Pairplot</strong> represents pairwise relation across the entire dataframe and supports an additional argument called hue for categorical separation. What it does basically is create a jointplot between every possible numerical column and takes a while if the dataframe is really huge. It is plotted using the <a href=\"https://www.geeksforgeeks.org/python-seaborn-pairplot-method/\"><strong>pairplot()</strong></a> method.</p>\n<p><strong>Syntax:</strong></p>\n<blockquote>\n<p>pairplot(data[, hue, hue_order, palette, \u2026])</p>\n</blockquote>\n<p><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.pairplot(data</code><code class=\"keyword\">=</code><code class=\"plain\">data, hue</code><code class=\"keyword\">=</code><code class=\"string\">'species'</code><code class=\"plain\">)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210120122658/seaborntutorialpairplot.png\" alt=\"seaborn tutorial pairplot\" srcset=\"https://media.geeksforgeeks.org/wp-content/uploads/20210120122658/seaborntutorialpairplot-660x574.png 660w, https://media.geeksforgeeks.org/wp-content/uploads/20210120122658/seaborntutorialpairplot-768x668.png 768w\" width=\"825\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to get deyailed information about the pairplot.</p>\n<h3>Rugplot</h3>\n<p><strong>Rugplot</strong> plots datapoints in an array as sticks on an axis.Just like a distplot it takes a single column. Instead of drawing a histogram it creates dashes all across the plot. If you compare it with the joinplot you can see that what a jointplot does is that it counts the dashes and shows it as bins. It is plotted using the <strong>rugplot()</strong> method.</p>\n<p><strong>Syntax:</strong></p>\n<blockquote>\n<p>rugplot(a[, height, axis, ax])</p>\n</blockquote>\n<p><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.rugplot(data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210120123252/seaborntutorialrugplot.png\" alt=\"seaborn tutorial rugplot\" srcset=\"\" width=\"409\" referrerpolicy=\"no-referrer\" /></p>\n<h3>KDE Plot</h3>\n<p class=\"c6\"><strong>KDE Plot</strong> described as <strong>Kernel Density Estimate</strong> is used for visualizing the Probability Density of a continuous variable. It depicts the probability density at different values in a continuous variable. We can also plot a single graph for multiple samples which helps in more efficient data visualization.</p>\n<p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p>seaborn.kdeplot(x=None, *, y=None, vertical=False, palette=None, **kwargs)</p>\n</blockquote>\n<p><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"iris\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.kdeplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'sepal_length'</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">'sepal_width'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210120131343/seaborntutorialkdeplot.png\" alt=\"seaborn tutorial kdeplot\" srcset=\"\" width=\"409\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to getdetailed information about the topic.</p>\n<h2>Regression Plots</h2>\n<p class=\"c6\">The <strong>regression plots</strong> are primarily intended to add a visual guide that helps to emphasize patterns in a dataset during exploratory data analyses. Regression plots as the name suggests creates a regression line between two parameters and helps to visualize their linear relationships.</p>\n<p>Refer to the below article to get detailed information about the regression plots.</p>\n<p>there are two main functions that are used to draw linear regression models. These functions are lmplot(), and regplot(), are closely reled to each other. They even share their core functionality.</p>\n<h3>lmplot</h3>\n<p class=\"c6\"><a href=\"https://www.geeksforgeeks.org/python-seaborn-lmplot-method/\"><strong>lmplot()</strong></a> method can be understood as a function that basically creates a linear model plot. It creates a scatter plot with a linear fit on top of it.</p>\n<p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p class=\"c6\">seaborn.lmplot(x, y, data, hue=None, col=None, row=None, **kwargs)</p>\n</blockquote>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"tips\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.lmplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'total_bill'</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">'tip'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210120133324/seaborntutoriallmplot.png\" alt=\"seaborn tutorial lmplot\" srcset=\"\" width=\"384\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to get detailed information about the lmplot.</p>\n<h3>Regplot</h3>\n<p class=\"c6\"><a href=\"https://www.geeksforgeeks.org/python-seaborn-regplot-method/\">regplot()</a> method is also similar to lmplot which creates linear regression model.</p>\n<p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p class=\"c6\">seaborn.regplot( x, \u00a0y, \u00a0data=None, x_estimator=None, **kwargs)</p>\n</blockquote>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"tips\"</code><code class=\"plain\">)</code></div><div class=\"line number8 index7 alt1\"><code class=\"plain\">sns.regplot(x</code><code class=\"keyword\">=</code><code class=\"string\">'total_bill'</code><code class=\"plain\">, y</code><code class=\"keyword\">=</code><code class=\"string\">'tip'</code><code class=\"plain\">, data</code><code class=\"keyword\">=</code><code class=\"plain\">data)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210120134808/seaborntutorialregplot.png\" srcset=\"\" width=\"424\" referrerpolicy=\"no-referrer\" alt=\"image\" /></p>\n<p>Refer to the below articles to get detailed information about regplot.</p>\n<p class=\"c6\"><strong>Note:</strong> The difference between both the function is that regplot accepts the x, y variables in different format inlcuding NumPy arrays, Pandas objects, whereas, the lmplot only accepts the value as strings.</p>\n<h3>Matrix Plots</h3>\n<p class=\"c6\">A <strong>matrix plot</strong> means plotting matrix data where color coded diagrams shows rows data, column data and values. It can shown using the heatmap and clustermap.</p>\n<p>Refer to the below articles to get detailed information about the matrix plots.</p>\n<h3>Heatmap</h3>\n<p class=\"c6\"><strong>Heatmap</strong> is defined as a graphical representation of data using colors to visualize the value of the matrix. In this, to represent more common values or higher activities brighter colors basically reddish colors are used and to represent less common or activity values, darker colors are preferred. it can be plotted using the <strong>heatmap()</strong> function.</p>\n<p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p class=\"c6\">seaborn.heatmap(data, *, vmin=None, vmax=None, cmap=None, center=None, annot_kws=None, linewidths=0, linecolor=\u2019white\u2019, cbar=True, **kwargs)</p>\n</blockquote>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"tips\"</code><code class=\"plain\">)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">tc</code><code class=\"keyword\">=</code><code class=\"plain\">data.corr()</code></div><div class=\"line number11 index10 alt2\"><code class=\"plain\">sns.heatmap(tc)</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210120163847/seaborntutorialheatmap.png\" alt=\"seaborn tutorial heatmap\" srcset=\"\" width=\"369\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to get detailed information about the heatmap.</p>\n<h3>Clustermap</h3>\n<p class=\"c6\">The clustermap() function of seaborn plots the hierarchically-clustered heatmap of the given matrix dataset. <a href=\"https://www.geeksforgeeks.org/clustering-in-machine-learning/\">Clustering</a> simply means grouping data based on relationship among the variables in the data.</p>\n<p class=\"c6\"><strong>Syntax:</strong></p>\n<blockquote>\n<p class=\"c6\">clustermap(data, *, pivot_kws=None, \u00a0**kwargs)</p>\n</blockquote>\n<p class=\"c6\"><strong>Example:</strong></p>\n<div class=\"noIdeBtnDiv responsive-tabs\"><h2 class=\"tabtitle\">Python3</h2><div class=\"tabcontent code-block code-container syntaxhighlighter nogutter\"><table border=\"0\" cellpadding=\"0\" class=\"c1\"><tbody><tr><td class=\"code\">\n<div class=\"container\"><div class=\"line number2 index1 alt1\"><code class=\"keyword\">import</code><code class=\"plain\">seaborn as sns</code></div><div class=\"line number3 index2 alt2\"><code class=\"keyword\">import</code><code class=\"plain\">matplotlib.pyplot as plt</code></div><div class=\"line number6 index5 alt1\"><code class=\"plain\">data</code><code class=\"keyword\">=</code><code class=\"plain\">sns.load_dataset(</code><code class=\"string\">\"tips\"</code><code class=\"plain\">)</code></div><div class=\"line number9 index8 alt2\"><code class=\"plain\">tc</code><code class=\"keyword\">=</code><code class=\"plain\">data.corr()</code></div><div class=\"line number11 index10 alt2\"><code class=\"plain\">sns.clustermap(tc)</code></div><div class=\"line number12 index11 alt1\"><code class=\"plain\">plt.show()</code></div></div>\n</td>\n</tr></tbody></table></div></div>\n<p>\u00a0<br />\u00a0</p>\n<p><strong>Output:</strong></p>\n<p><img src=\"https://media.geeksforgeeks.org/wp-content/uploads/20210120165102/seaborntutoprialclustermap.png\" alt=\"seaborn tutorial clustermap\" srcset=\"https://media.geeksforgeeks.org/wp-content/uploads/20210120165102/seaborntutoprialclustermap-660x641.png 660w\" width=\"746\" referrerpolicy=\"no-referrer\" /></p>\n<p>Refer to the below articles to get detailed information about clustermap.</p>\n<h2>More Gaphs in Seaborn</h2>\n<h2>More Topics on Seaborn</h2>",
    "created_at": "2022-01-24T20:07:23+00:00",
    "updated_at": "2022-01-24T20:18:58+00:00",
    "published_at": "2021-02-08T05:34:22+00:00",
    "published_by": [""],
    "annotations": [],
    "mimetype": "text/html",
    "reading_time": 19,
    "domain_name": "www.geeksforgeeks.org",
    "preview_picture": "https://media.geeksforgeeks.org/wp-content/cdn-uploads/gfg_200x200-min.png",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "seaborn", "tutorial"],
    "is_public": false,
    "id": 2,
    "title": "User guide and tutorial \u2014 seaborn 0.11.2 documentation",
    "url": "https://seaborn.pydata.org/tutorial.html",
    "content": "User guide and tutorial \u2014 seaborn 0.11.2 documentation\n<div class=\"container\"><div class=\"row body col-md-12 content section\"><div class=\"container-fluid row\"><div class=\"panel panel-default\"><p></p><h3 class=\"panel-title\">API overview</h3><div class=\"panel-body row\"><div class=\"col-md-6\"><div class=\"col-md-4\"><a href=\"https://seaborn.pydata.org/tutorial/function_overview.html\"><img src=\"https://seaborn.pydata.org/_images/function_overview_8_0.png\" class=\"img-responsive center-block\" referrerpolicy=\"no-referrer\" alt=\"image\" /></a></div><div class=\"col-md-8 toctree-wrapper compound\"><ul><li class=\"toctree-l1\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/function_overview.html\">Overview of seaborn plotting functions</a>\n<ul><li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/function_overview.html#similar-functions-for-similar-tasks\">Similar functions for similar tasks</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/function_overview.html#figure-level-vs-axes-level-functions\">Figure-level vs. axes-level functions</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/function_overview.html#combining-multiple-views-on-the-data\">Combining multiple views on the data</a></li>\n</ul></li>\n</ul></div></div><div class=\"col-md-6\"><div class=\"col-md-4\"><a href=\"https://seaborn.pydata.org/tutorial/data_structure.html\"><img src=\"https://seaborn.pydata.org/_images/data_structure_19_0.png\" class=\"img-responsive center-block\" referrerpolicy=\"no-referrer\" alt=\"image\" /></a></div><div class=\"col-md-8 toctree-wrapper compound\"><ul><li class=\"toctree-l1\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/data_structure.html\">Data structures accepted by seaborn</a>\n<ul><li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/data_structure.html#long-form-vs-wide-form-data\">Long-form vs. wide-form data</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/data_structure.html#options-for-visualizing-long-form-data\">Options for visualizing long-form data</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/data_structure.html#options-for-visualizing-wide-form-data\">Options for visualizing wide-form data</a></li>\n</ul></li>\n</ul></div></div></div></div><div class=\"row\"><div class=\"col-md-6 panel panel-default\"><p></p><h3 class=\"panel-title\">Plotting functions</h3><div class=\"panel-body\"><div class=\"row\"><div class=\"col-md-4\"><a href=\"https://seaborn.pydata.org/tutorial/relational.html\"><img src=\"https://seaborn.pydata.org/_images/relational_51_0.png\" class=\"img-responsive center-block\" referrerpolicy=\"no-referrer\" alt=\"image\" /></a></div><div class=\"col-md-8 toctree-wrapper compound\"><ul><li class=\"toctree-l1\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/relational.html\">Visualizing statistical relationships</a>\n<ul><li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/relational.html#relating-variables-with-scatter-plots\">Relating variables with scatter plots</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/relational.html#emphasizing-continuity-with-line-plots\">Emphasizing continuity with line plots</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/relational.html#showing-multiple-relationships-with-facets\">Showing multiple relationships with facets</a></li>\n</ul></li>\n</ul></div></div><hr /><div class=\"row\"><div class=\"col-md-4\"><a href=\"https://seaborn.pydata.org/tutorial/distributions.html\"><img src=\"https://seaborn.pydata.org/_images/distributions_66_0.png\" class=\"img-responsive center-block\" referrerpolicy=\"no-referrer\" alt=\"image\" /></a></div><div class=\"col-md-8 toctree-wrapper compound\"><ul><li class=\"toctree-l1\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/distributions.html\">Visualizing distributions of data</a>\n<ul><li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/distributions.html#plotting-univariate-histograms\">Plotting univariate histograms</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/distributions.html#kernel-density-estimation\">Kernel density estimation</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/distributions.html#empirical-cumulative-distributions\">Empirical cumulative distributions</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/distributions.html#visualizing-bivariate-distributions\">Visualizing bivariate distributions</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/distributions.html#distribution-visualization-in-other-settings\">Distribution visualization in other settings</a></li>\n</ul></li>\n</ul></div></div><hr /><div class=\"row\"><div class=\"col-md-4\"><a href=\"https://seaborn.pydata.org/tutorial/categorical.html\"><img src=\"https://seaborn.pydata.org/_images/categorical_36_0.png\" class=\"img-responsive center-block\" referrerpolicy=\"no-referrer\" alt=\"image\" /></a></div><div class=\"col-md-8 toctree-wrapper compound\"><ul><li class=\"toctree-l1\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/categorical.html\">Plotting with categorical data</a>\n<ul><li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/categorical.html#categorical-scatterplots\">Categorical scatterplots</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/categorical.html#distributions-of-observations-within-categories\">Distributions of observations within categories</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/categorical.html#statistical-estimation-within-categories\">Statistical estimation within categories</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/categorical.html#plotting-wide-form-data\">Plotting \u201cwide-form\u201d data</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/categorical.html#showing-multiple-relationships-with-facets\">Showing multiple relationships with facets</a></li>\n</ul></li>\n</ul></div></div><hr /><div class=\"row\"><div class=\"col-md-4\"><a href=\"https://seaborn.pydata.org/tutorial/regression.html\"><img src=\"https://seaborn.pydata.org/_images/regression_37_0.png\" class=\"img-responsive center-block\" referrerpolicy=\"no-referrer\" alt=\"image\" /></a></div><div class=\"col-md-8 toctree-wrapper compound\"><ul><li class=\"toctree-l1\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/regression.html\">Visualizing regression models</a>\n<ul><li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/regression.html#functions-to-draw-linear-regression-models\">Functions to draw linear regression models</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/regression.html#fitting-different-kinds-of-models\">Fitting different kinds of models</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/regression.html#conditioning-on-other-variables\">Conditioning on other variables</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/regression.html#controlling-the-size-and-shape-of-the-plot\">Controlling the size and shape of the plot</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/regression.html#plotting-a-regression-in-other-contexts\">Plotting a regression in other contexts</a></li>\n</ul></li>\n</ul></div></div></div></div><div class=\"col-md-6\"><div class=\"row panel panel-default\"><p></p><h3 class=\"panel-title\">Multi-plot grids</h3><div class=\"panel-body row\"><div class=\"col-md-4\"><a href=\"https://seaborn.pydata.org/tutorial/axis_grids.html\"><img src=\"https://seaborn.pydata.org/_images/axis_grids_46_0.png\" class=\"img-responsive center-block\" referrerpolicy=\"no-referrer\" alt=\"image\" /></a></div><div class=\"col-md-8 toctree-wrapper compound\"><ul><li class=\"toctree-l1\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/axis_grids.html\">Building structured multi-plot grids</a>\n<ul><li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/axis_grids.html#conditional-small-multiples\">Conditional small multiples</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/axis_grids.html#using-custom-functions\">Using custom functions</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/axis_grids.html#plotting-pairwise-data-relationships\">Plotting pairwise data relationships</a></li>\n</ul></li>\n</ul></div></div></div><div class=\"row panel panel-default\"><p></p><h3 class=\"panel-title\">Plot aesthetics</h3><div class=\"panel-body\"><div class=\"row\"><div class=\"col-md-4\"><a href=\"https://seaborn.pydata.org/tutorial/aesthetics.html\"><img src=\"https://seaborn.pydata.org/_images/aesthetics_24_0.png\" class=\"img-responsive center-block\" referrerpolicy=\"no-referrer\" alt=\"image\" /></a></div><div class=\"col-md-8 toctree-wrapper compound\"><ul><li class=\"toctree-l1\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/aesthetics.html\">Controlling figure aesthetics</a>\n<ul><li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/aesthetics.html#seaborn-figure-styles\">Seaborn figure styles</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/aesthetics.html#removing-axes-spines\">Removing axes spines</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/aesthetics.html#temporarily-setting-figure-style\">Temporarily setting figure style</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/aesthetics.html#overriding-elements-of-the-seaborn-styles\">Overriding elements of the seaborn styles</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/aesthetics.html#scaling-plot-elements\">Scaling plot elements</a></li>\n</ul></li>\n</ul></div></div><hr /><div class=\"row\"><div class=\"col-md-4\"><a href=\"https://seaborn.pydata.org/tutorial/color_palettes.html\"><img src=\"https://seaborn.pydata.org/_images/color_palettes_22_0.png\" class=\"img-responsive center-block\" referrerpolicy=\"no-referrer\" alt=\"image\" /></a></div><div class=\"col-md-8 toctree-wrapper compound\"><ul><li class=\"toctree-l1\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/color_palettes.html\">Choosing color palettes</a>\n<ul><li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/color_palettes.html#general-principles-for-using-color-in-plots\">General principles for using color in plots</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/color_palettes.html#tools-for-choosing-color-palettes\">Tools for choosing color palettes</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/color_palettes.html#qualitative-color-palettes\">Qualitative color palettes</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/color_palettes.html#sequential-color-palettes\">Sequential color palettes</a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"https://seaborn.pydata.org/tutorial/color_palettes.html#diverging-color-palettes\">Diverging color palettes</a></li>\n</ul></li>\n</ul></div></div></div></div></div></div></div></div></div>",
    "created_at": "2022-01-24T20:06:59+00:00",
    "updated_at": "2022-01-24T20:07:36+00:00",
    "published_by": [""],
    "annotations": [],
    "mimetype": "text/html",
    "reading_time": 1,
    "domain_name": "seaborn.pydata.org",
    "http_status": "200"
  },
  {
    "is_archived": 0,
    "is_starred": 0,
    "tags": ["python", "seaborn", "tutorial"],
    "is_public": false,
    "id": 1,
    "title": "The Ultimate Python Seaborn Tutorial: Gotta Catch 'Em All",
    "url": "https://elitedatascience.com/python-seaborn-tutorial",
    "content": "<p>In this step-by-step Seaborn tutorial, you\u2019ll learn how to use\u00a0one of Python\u2019s most convenient libraries for data visualization.</p>\n<p>For those who\u2019ve tinkered with\u00a0Matplotlib before, you may have wondered, \u201cwhy does it take me 10 lines of code just to make a decent-looking histogram?\u201d</p>\n<p>Well, if you\u2019re looking for a simpler way to plot\u00a0attractive charts, then you\u2019ll love Seaborn. We\u2019ll walk you through everything you need to know to get started, and we\u2019ll use\u00a0a fun Pok\u00e9mon dataset (which you can download below).</p>\n<h2>Introduction to Seaborn</h2>\n<p>Seaborn provides a high-level interface to\u00a0Matplotlib, a powerful but sometimes unwieldy\u00a0Python visualization\u00a0library.</p>\n<p>On Seaborn\u2019s\u00a0official website, they state:</p>\n<blockquote>\n<p>If matplotlib \u201ctries to make easy things easy and hard things possible\u201d, seaborn tries to make a well-defined set of hard things easy too.</p>\n</blockquote>\n<p>We\u2019ve found this to be a pretty good summary of Seaborn\u2019s strengths. In practice, the \u201cwell-defined set of hard things\u201d includes:</p>\n<ul><li>Using\u00a0default themes that are aesthetically pleasing.</li>\n<li>Setting custom color palettes.</li>\n<li>Making attractive\u00a0statistical plots.</li>\n<li>Easily and flexibly displaying distributions.</li>\n<li>Visualizing information from matrices and DataFrames.</li>\n</ul><p>Those last three points are why\u00a0<strong>Seaborn is our tool of choice for Exploratory Analysis.</strong> It makes it very easy to \u201cget to know\u201d your data quickly and efficiently.</p>\n<p>However, Seaborn is a complement, not a substitute, for Matplotlib. There are some tweaks that still require\u00a0Matplotlib, and we\u2019ll cover how to do that as well.</p>\n<h4><strong>How to Learn Seaborn, the Self-Starter Way:</strong></h4>\n<p>While Seaborn simplifies data visualization in Python, it still has many features. Therefore, the best way to learn Seaborn is to <em>learn by doing</em>.</p>\n<ul id=\"step-graphic-1fbb73e8f0676da726c6d34a4a648521\" class=\"step-graphic-style-1\"><li>1\n<div><p>Each library approaches data visualization differently, so it's important to understand how Seaborn \"thinks about\" the problem.</p></div>\n</li>\n<li>2\n<div><p>Learning in context is the best way to master a new skill quickly.</p></div>\n</li>\n<li>3\n<div><p>Since you've already learned the library's paradigms and had some hands-on practice, you'll easily find what you need.</p></div>\n</li>\n</ul><p>This process\u00a0will give you\u00a0intuition about\u00a0what you can do with\u00a0Seaborn, leaving documentation to serve as further guidance. This is the fastest way to go from zero to proficient.</p>\n<p><strong>A quick tip before\u00a0we begin:</strong></p>\n<p>We tried to make this tutorial as streamlined as possible, which means we won\u2019t\u00a0go into too much detail\u00a0for any one topic. It\u2019s helpful to have the <a href=\"http://seaborn.pydata.org/api.html\" target=\"_blank\" rel=\"noopener noreferrer\">Seaborn documentation</a> open beside you, in case you want to learn more about a feature.</p>\n<h2 id=\"toc\">Seaborn Tutorial Contents</h2>\n<p>Instead of just showing you how to make a bunch of plots, we\u2019re going to walk through the most important paradigms of the Seaborn library. Along the way, we\u2019ll illustrate each\u00a0concept with examples.</p>\n<p><strong>Here are the steps\u00a0we\u2019ll cover in this tutorial:</strong></p>\n<ol><li><a href=\"#step-1\">Installing Seaborn.</a></li>\n<li><a href=\"#step-2\">Importing libraries and dataset.</a></li>\n<li><a href=\"#step-3\">Seaborn\u2019s plotting functions.</a>\n<ul><li>Scatter Plot</li>\n</ul></li>\n<li><a href=\"#step-4\">Customizing with Matplotlib.</a></li>\n<li><a href=\"#step-5\">The role of Pandas.</a>\n<ul><li>Box Plot</li>\n</ul></li>\n<li><a href=\"#step-6\">Seaborn themes.</a>\n<ul><li>Violin Plot</li>\n</ul></li>\n<li><a href=\"#step-7\">Color palettes.</a>\n<ul><li>Swarm Plot</li>\n</ul></li>\n<li><a href=\"#step-8\">Overlaying plots.</a></li>\n<li><a href=\"#step-9\">Putting it all together.</a></li>\n<li><a href=\"#step-10\">Pok\u00e9dex (mini-gallery).</a>\n<ul><li>Heatmap</li>\n<li>Histogram</li>\n<li>Bar Plot</li>\n<li>Factor Plot</li>\n<li>Density Plot</li>\n<li>Joint Distribution Plot</li>\n</ul></li>\n</ol><hr /><h2 id=\"step-1\">Step 1: Installing Seaborn.</h2>\n<p>First, things first: <strong>Let\u2019s. Get. Pumped. Up!</strong></p>\n<iframe width=\"640\" height=\"360\" src=\"https://www.youtube.com/embed/rg6CiPI6h2g?wmode=opaque&amp;showinfo=1&amp;autoplay=0&amp;controls=1&amp;modestbranding=1&amp;vq=&amp;rel=0\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"> </iframe>\n<p>(<em>Yes\u2026 We totally looped that\u00a0while writing this tutorial\u2026</em>)</p>\n<p>Next, make sure you have the following installed on your computer:</p>\n<ul><li>Python 2.7+ or Python 3</li>\n<li>Pandas</li>\n<li>Matplotlib</li>\n<li>Seaborn</li>\n<li>Jupyter Notebook (optional, but recommended)</li>\n</ul><p>We strongly recommend installing the <a href=\"https://www.continuum.io/downloads\" target=\"_blank\" rel=\"noopener noreferrer\">Anaconda Distribution</a>, which comes with all of those packages. Simply follow the instructions on that download page.</p>\n<p>Once you have Anaconda installed, simply start\u00a0Jupyter (either through the command line or the Navigator app) and open a new notebook:</p>\n<div class=\"image-caption c2\"><img alt=\"Jupyter New Notebook\" src=\"https://elitedatascience.com/wp-content/uploads/2017/05/jupyter-new-notebook.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<h2 id=\"step-2\">Step 2: Importing libraries and dataset.</h2>\n<p>Let's start by importing Pandas, which is a great library for managing relational (i.e. table-format) datasets:</p>\n<p>Next, we'll import Matplotlib, which will help us customize our plots\u00a0further.</p>\n<ul><li><strong>Tip:</strong> In Jupyter Notebook, you can also include %matplotlib inline\u00a0to display\u00a0your plots inside your notebook.</li>\n</ul><p>Then,\u00a0we'll import the Seaborn library, which is the star of today's show.</p>\n<p>Now we're ready to import our dataset.</p>\n<ul><li><strong>Tip:</strong> we gave each of our imported libraries an\u00a0<strong>alias</strong>. Later,\u00a0we can invoke Pandas with pd, Matplotlib with plt, and Seaborn with sns.</li>\n</ul><p>Today, we'll be using a cool Pok\u00e9mon dataset (first generation). Here's the free download:</p>\n<p>Once you've downloaded the CSV file, you can import it with Pandas.</p>\n<ul><li><strong>Tip:</strong> The argument\u00a0 index_col=0\u00a0simply means we'll treat the first column of the dataset as the ID column.</li>\n</ul><p>Here's what the dataset looks like:</p>\n<div class=\"image-caption c7\"><img alt=\"Pokemon Dataset Example Observations\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/pokemon-dataset-head.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>As you can see, we have combat stats data for the original 151 (a.k.a best 151) Pok\u00e9mon.</p>\n<h2 id=\"step-3\">Step 3: Seaborn's plotting functions.</h2>\n<p>One of Seaborn's greatest strengths is its diversity of plotting functions.\u00a0For instance, making a\u00a0<strong>scatter plot</strong> is just one line of code using the lmplot()\u00a0function.</p>\n<p>There\u00a0are two ways you can do so.</p>\n<ul><li>The first way (recommended) is to pass your DataFrame to the data=\u00a0argument,\u00a0while passing column names to the axes arguments, x=\u00a0and y=.</li>\n<li>The second way is to directly pass in Series of data to the axes arguments.</li>\n</ul><p>For example, let's compare the Attack and Defense stats for our Pok\u00e9mon:</p>\n<div class=\"image-caption c8\"><img alt=\"Default Scatterplot\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-scatterplot-example.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>By the way, Seaborn doesn't have a dedicated scatter plot function, which is why you see a diagonal\u00a0line. We actually used\u00a0Seaborn's function for fitting and plotting a\u00a0<strong>regression line</strong>.</p>\n<p>Thankfully, each plotting function has\u00a0several useful options that you can set. Here's how we can tweak\u00a0the lmplot():</p>\n<ul><li>First, we'll set fit_reg=False\u00a0to remove the regression line, since we only want a\u00a0scatter plot.</li>\n<li>Then, we'll set hue='Stage'\u00a0to color our points by the Pok\u00e9mon's evolution stage. This\u00a0<strong>hue</strong> argument is very useful\u00a0because it allows you to express a third dimension of information using color.</li>\n</ul><div class=\"image-caption c9\"><img alt=\"Scatterplot with Hue\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-scatterplot-hue.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>Looking better, but we can improve this scatter plot further. For example, all\u00a0of our Pok\u00e9mon have positive\u00a0Attack and\u00a0Defense values, yet\u00a0our <strong>axes limits</strong> fall below zero. Let's see how we can fix that...</p>\n<h2 id=\"step-4\">Step 4: Customizing with Matplotlib.</h2>\n<p>Remember, Seaborn is a high-level interface to Matplotlib. From our experience, Seaborn will get you\u00a0<em>most</em> of the way there, but you'll sometimes need to bring in\u00a0Matplotlib.</p>\n<p>Setting your axes limits is one\u00a0of those times, but\u00a0the process is pretty simple:</p>\n<ol><li>First, invoke your Seaborn plotting function as normal.</li>\n<li>Then, invoke\u00a0Matplotlib's customization functions. In this case, we'll use its ylim()\u00a0and xlim()\u00a0functions.</li>\n</ol><p>Here's our new scatter plot with sensible axes limits:</p>\n<div class=\"image-caption c9\"><img alt=\"Customizing with FacetGrid\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-facetgrid-example.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>For more information on Matplotlib's customization functions, check out its <a href=\"https://matplotlib.org/users/pyplot_tutorial.html\" target=\"_blank\" rel=\"noopener noreferrer\">documentation</a>.</p>\n<h2 id=\"step-5\">Step 5: The role of Pandas.</h2>\n<p>Even though this is a Seaborn tutorial, Pandas actually plays a very important role. You see, Seaborn's plotting functions benefit from a base DataFrame that's\u00a0reasonably formatted.</p>\n<p>For example, let's say we wanted to make a\u00a0<strong>box plot</strong> for our Pok\u00e9mon's combat stats:</p>\n<div class=\"image-caption c10\"><img alt=\"Default Boxplot\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-boxplot-example.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>Well, that's a reasonable start, but there are some columns we'd probably like to remove:</p>\n<ul><li>We can remove the Total since we have\u00a0individual stats.</li>\n<li>We can remove the Stage and Legendary columns because they aren't combat stats.</li>\n</ul><p>In turns out that this isn't easy to do within Seaborn alone. Instead, it's much simpler\u00a0to <strong>pre-format</strong> your DataFrame.</p>\n<p>Let's create a new DataFrame called stats_df\u00a0that only keeps\u00a0the stats columns:</p>\n<div class=\"image-caption c10\"><img alt=\"Boxplot with Preprocessed DataFrame\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-boxplot-preprocess-example.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>It's outside the scope of this tutorial to dive into Pandas, but here's a handy\u00a0<a href=\"http://pandas.pydata.org/pandas-docs/stable/10min.html\" target=\"_blank\" rel=\"noopener noreferrer\">cheat sheet</a>.</p>\n<h2 id=\"step-6\">Step 6: Seaborn themes.</h2>\n<p>Another advantage of Seaborn is that it comes with decent style\u00a0themes right out of the box. The default theme is called\u00a0<em>'darkgrid'</em>.</p>\n<p>Next, we'll change the theme to\u00a0<em>'whitegrid'</em> while making a\u00a0<strong>violin plot</strong>.</p>\n<ul><li>Violin plots are useful\u00a0alternatives to box plots.</li>\n<li>They\u00a0show the distribution (through the thickness of the violin) instead of only the summary statistics.</li>\n</ul><p>For example, we can visualize the distribution of Attack by Pok\u00e9mon's primary type:</p>\n<div class=\"image-caption c11\"><img alt=\"Violin Plot\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-violin-plot-example.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>As you can see, Dragon types\u00a0tend to have higher Attack stats than Ghost types, but they also have greater variance.</p>\n<p>Now, Pok\u00e9mon fans might find something quite jarring about that\u00a0plot:\u00a0<em>The colors are nonsensical.</em> Why is the\u00a0Grass type colored\u00a0pink or the Water type colored\u00a0orange? We must fix this!</p>\n<h2 id=\"step-7\">Step 7: Color palettes.</h2>\n<p>Fortunately, Seaborn allows us to set custom color palettes. We can simply create an ordered\u00a0<strong>Python list</strong> of color hex values.</p>\n<p>Let's use <a href=\"http://bulbapedia.bulbagarden.net/wiki/Category:Type_color_templates\" target=\"_blank\" rel=\"noopener noreferrer\">Bulbapedia</a> to help us create a new color palette:</p>\n<p>Wonderful. Now we can simply use the palette=\u00a0argument to recolor our chart.</p>\n<div class=\"image-caption c11\"><img alt=\"Custom Color Palette\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-violin-plot-color-palette.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>Much better!</p>\n<p>Violin plots are great for visualizing\u00a0distributions. However, since we only have 151 Pok\u00e9mon in our dataset, we may\u00a0want to simply display each point.</p>\n<p>That's where the <strong>swarm plot</strong> comes in. This visualization will show each point, while \"stacking\" those\u00a0with similar values:</p>\n<div class=\"image-caption c11\"><img alt=\"Swarm Plot\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-swarm-plot-example.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>That's handy, but can't we combine\u00a0our swarm plot and the violin plot? After all, they display similar information, right?</p>\n<h2 id=\"step-8\">Step 8: Overlaying plots.</h2>\n<p>The answer is yes.</p>\n<p>It's pretty straightforward to overlay plots using Seaborn, and it works the same way as with\u00a0Matplotlib. Here's what we'll do:</p>\n<ol><li>First, we'll make our figure larger using Matplotlib.</li>\n<li>Then, we'll plot the violin plot. However, we'll set inner=None\u00a0to remove the bars inside the violins.</li>\n<li>Next, we'll plot the swarm plot. This time, we'll make the points black so they pop out more.</li>\n<li>Finally, we'll set a title using Matplotlib.</li>\n</ol><div class=\"image-caption c12\"><img alt=\"Overlaid Swarm and Violin Plots\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/overlaid-swarm-and-violin-plot.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>Awesome, now we have a pretty chart that tells us how Attack values are distributed across different Pok\u00e9mon types. But what it we want to see\u00a0all of the other stats as well?</p>\n<h2 id=\"step-9\">Step 9: Putting it all together.</h2>\n<p>Well, we could certainly repeat that chart for each stat. But we can also combine the\u00a0information into one chart... we just have to do some\u00a0<strong>data wrangling</strong>\u00a0with Pandas beforehand.</p>\n<p>First, here's a reminder of our\u00a0data format:</p>\n<div class=\"image-caption c13\"><img alt=\"Stats DF Head\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/pokemon-stats-df-head.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>As you can see, all\u00a0of our stats are in\u00a0separate columns. Instead, we want to \"melt\" them into one column.</p>\n<p>To do so, we'll use Pandas's melt()\u00a0function. It takes 3 arguments:</p>\n<ul><li>First, the DataFrame to melt.</li>\n<li>Second, ID variables to keep (Pandas will melt all of the other ones).</li>\n<li>Finally, a name for\u00a0the new, melted variable.</li>\n</ul><p>Here's the output:</p>\n<div class=\"image-caption c14\"><img alt=\"Melted DataFrame\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-melted-dataframe-head.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>All 6 of the stat columns have been \"melted\" into one, and the new Stat column indicates the\u00a0original stat (HP, Attack, Defense, Sp. Attack, Sp. Defense, or Speed). For example, it's hard to see here, but Bulbasaur now has 6 rows of data.</p>\n<p>In fact, if you print the shape of these two DataFrames...</p>\n<p>...you'll find that melted_df\u00a0has 6 times the number of rows as stats_df.</p>\n<p>Now we can make a\u00a0swarm plot with melted_df.</p>\n<ul><li>But this time, we're going to set x='Stat'\u00a0and y='value'\u00a0so our swarms are separated by stat.</li>\n<li>Then, we'll set hue='Type 1'\u00a0to color our points by the Pok\u00e9mon type.</li>\n</ul><div class=\"image-caption c15\"><img alt=\"Swarmplot with Melted DataFrame\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/swarmplot-with-melted-df.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>Finally,\u00a0let's make a few final tweaks for a more readable chart:</p>\n<ol><li>Enlarge the plot.</li>\n<li>Separate points by hue using the argument split=True\u00a0.</li>\n<li>Use our custom Pokemon color palette.</li>\n<li>Adjust the y-axis limits to end at 0.</li>\n<li>Place the legend to the right.</li>\n</ol><div class=\"image-caption c16\"><img alt=\"Final Swarmplot\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/ultimate-swarmplot-post-customizations.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>There we go!</p>\n<h2 id=\"step-10\">Step 10: Pok\u00e9dex (mini-gallery).</h2>\n<p>We're going to conclude this tutorial with a few quick-fire data visualizations, just to give you a sense of what's possible with Seaborn.</p>\n<h4>10.1 - Heatmap</h4>\n<p>Heatmaps help you visualize matrix-like data.</p>\n<div class=\"image-caption c17\"><img alt=\"Seaborn Histogram\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-heatmap-example.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<h4>10.2 - Histogram</h4>\n<p>Histograms allow you to plot\u00a0the distributions of numeric variables.</p>\n<div class=\"image-caption c11\"><img alt=\"Seaborn Histogram\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-histogram-example.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<h4>10.3 - Bar Plot</h4>\n<p>Bar plots help\u00a0you visualize the distributions of categorical variables.</p>\n<div class=\"image-caption c18\"><img alt=\"Seaborn Bar Plot\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-bar-plot-example.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<h4>10.4 - Factor Plot</h4>\n<p>Factor plots\u00a0make it easy to separate plots by categorical classes.</p>\n<div class=\"image-caption c19\"><img alt=\"Factor Plot Example\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-factor-plot-example.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<h4>10.5 - Density Plot</h4>\n<p>Density plots display the distribution between two variables.</p>\n<ul><li><strong>Tip:\u00a0</strong>Consider overlaying this with a scatter plot.</li>\n</ul><div class=\"image-caption c20\"><img alt=\"Density Plot\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-density-plot-example.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<h4>10.6 - Joint Distribution Plot</h4>\n<p>Joint distribution plots combine information from scatter plots and histograms to give you detailed information for bi-variate distributions.</p>\n<div class=\"image-caption c21\"><img alt=\"Joint Distribution Plot\" src=\"https://elitedatascience.com/wp-content/uploads/2017/04/seaborn-joint-distribution-plot-example.png\" border=\"0\" class=\"full-width\" referrerpolicy=\"no-referrer\" /></div>\n<p>Congratulations... you've made it to the end of this Python Seaborn tutorial!</p>\n<p>We've just concluded a tour of key Seaborn paradigms and showed you many examples along the way. Feel free to use this page along with\u00a0the <a href=\"http://seaborn.pydata.org/examples/\" target=\"_blank\" rel=\"noopener noreferrer\">official Seaborn gallery</a> as references for your projects going forward.</p>",
    "created_at": "2022-01-24T20:06:09+00:00",
    "updated_at": "2022-01-24T20:19:06+00:00",
    "published_at": "2017-05-02T15:03:35+00:00",
    "published_by": [""],
    "annotations": [],
    "mimetype": "text/html",
    "language": "en_US",
    "reading_time": 10,
    "domain_name": "elitedatascience.com",
    "preview_picture": "https://elitedatascience.com/wp-content/uploads/2017/04/python-seaborn-tutorial-feature-image.jpg",
    "http_status": "200"
  }
]
