Browse Source

More links

master
David Larlet 2 years ago
parent
commit
2a8f4cf76d

+ 197
- 0
cache/2021/12aa0cc26a4a578b6467414d5250206a/index.html View File

@@ -0,0 +1,197 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="fr">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>Spinoza pour penser notre rapport au numérique (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="https://bribesdereel.net/Spinoza-penser-numerique">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<article>
<header>
<h1>Spinoza pour penser notre rapport au numérique</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="https://bribesdereel.net/Spinoza-penser-numerique" title="Lien vers le contenu original">Source originale</a>
</p>
</nav>
<hr>
<p>Je me plaignais dans <a href="/post/usages-numeriques-1">mon précédent billet</a> des articles surfant sur la tendance de la <i lang="en">digital detox</i> que je trouve pour la plupart assez mauvais (en plus d’être souvent un brin moralisateurs).</p>

<blockquote>
<p>La digital detox est à la mode, avec son lot d’injonctions simplistes, infantilisantes et insupportables.</p>
</blockquote>

<p>Alors que je pensais lire encore un énième article du genre, j’ai été agréablement surprise par le <a href="https://lapalice.fr/2018/02/21/sans-smartphone-point-de-salut/">retour d’expérience personnel de La Palice</a> où elle analyse son rapport au numérique avec un angle spinoziste : pouvoir ou puissance ?</p>

<blockquote>
<p>Voici son constat : la technologie m’apporte du pouvoir — le GPS me guide, j’ai toujours la réponse à tout sous la main — mais me retire de la puissance — capacité à m’orienter, capacité à mémoriser les choses par moi-même. Et cet équilibre varie en fonction des individus.</p>

<p>[…]</p>

<p>Prendre un peu de recul sur mes actes, et me demander s’ils me retirent ou m’ajoutent de la puissance.</p>
</blockquote>

<p>C’est une démarche réflexive et fondamentalement personnelle aux antipodes des « 10 astuces pour… ». Chacun·e en tirera les conclusions qui correspondent à ses besoins et à ses pratiques.</p>

<p>Au-delà du numérique, l’approche spinoziste est précieuse pour penser son rapport au monde. Spinoza fait sans aucun doute partie des philosophes qui m’ont le plus marquée et qui m’accompagne discrètement en attendant que j’approfondisse sa pensée.</p>

<p><em>L’Éthique</em> est assez ardue, mais vaut vraiment le coup d’être lue. Le web étant fabuleux, on trouve de belles ressources sur Spinoza que je vous liste ici :</p>

<ul>
<li><a href="http://spinozaetnous.org/wiki/Accueil">Spinoza et nous</a> : très clair et didactique ; je m’étais appuyée dessus pour comprendre et travailler Spinoza en prépa (il y a 9 ans donc…).</li>
<li><a href="https://spinoza.fr/">Spinoza.fr</a> : une lecture continue de l’Éthique de Spinoza. Un projet de lecture collective de l’Éthique que je découvre juste et que j’ai parcouru en diagonale, me semble être une mine d’or.</li>
</ul>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 30
- 0
cache/2021/12aa0cc26a4a578b6467414d5250206a/index.md View File

@@ -0,0 +1,30 @@
title: Spinoza pour penser notre rapport au numérique
url: https://bribesdereel.net/Spinoza-penser-numerique
hash_url: 12aa0cc26a4a578b6467414d5250206a

<p>Je me plaignais dans <a href="/post/usages-numeriques-1">mon précédent billet</a> des articles surfant sur la tendance de la <i lang="en">digital detox</i> que je trouve pour la plupart assez mauvais (en plus d’être souvent un brin moralisateurs).</p>

<blockquote>
<p>La digital detox est à la mode, avec son lot d’injonctions simplistes, infantilisantes et insupportables.</p>
</blockquote>

<p>Alors que je pensais lire encore un énième article du genre, j’ai été agréablement surprise par le <a href="https://lapalice.fr/2018/02/21/sans-smartphone-point-de-salut/">retour d’expérience personnel de La Palice</a> où elle analyse son rapport au numérique avec un angle spinoziste : pouvoir ou puissance ?</p>

<blockquote>
<p>Voici son constat : la technologie m’apporte du pouvoir — le GPS me guide, j’ai toujours la réponse à tout sous la main — mais me retire de la puissance — capacité à m’orienter, capacité à mémoriser les choses par moi-même. Et cet équilibre varie en fonction des individus.</p>
<p>[…]</p>
<p>Prendre un peu de recul sur mes actes, et me demander s’ils me retirent ou m’ajoutent de la puissance.</p>
</blockquote>

<p>C’est une démarche réflexive et fondamentalement personnelle aux antipodes des « 10 astuces pour… ». Chacun·e en tirera les conclusions qui correspondent à ses besoins et à ses pratiques.</p>

<p>Au-delà du numérique, l’approche spinoziste est précieuse pour penser son rapport au monde. Spinoza fait sans aucun doute partie des philosophes qui m’ont le plus marquée et qui m’accompagne discrètement en attendant que j’approfondisse sa pensée.</p>

<p><em>L’Éthique</em> est assez ardue, mais vaut vraiment le coup d’être lue. Le web étant fabuleux, on trouve de belles ressources sur Spinoza que je vous liste ici :</p>

<ul>
<li><a href="http://spinozaetnous.org/wiki/Accueil">Spinoza et nous</a> : très clair et didactique ; je m’étais appuyée dessus pour comprendre et travailler Spinoza en prépa (il y a 9 ans donc…).</li>
<li><a href="https://spinoza.fr/">Spinoza.fr</a> : une lecture continue de l’Éthique de Spinoza. Un projet de lecture collective de l’Éthique que je découvre juste et que j’ai parcouru en diagonale, me semble être une mine d’or.</li>
</ul>

+ 207
- 0
cache/2021/6201ca5ee00ceafd79ab4a889a20419e/index.html View File

@@ -0,0 +1,207 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="fr">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>9/12 - by Edward Snowden (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="https://edwardsnowden.substack.com/p/9-12">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<article>
<header>
<h1>9/12 - by Edward Snowden</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="https://edwardsnowden.substack.com/p/9-12" title="Lien vers le contenu original">Source originale</a>
</p>
</nav>
<hr>
<h5>The following is an excerpt from my memoir, <strong><a href="https://us.macmillan.com/books/9781250237231" rel="">Permanent Record</a></strong>, available in most languages wherever fine books are sold.</h5>
<p></p>
<p>Pandemonium, chaos: our most ancient forms of terror. They both refer to a collapse of order and the panic that rushes in to fill the void. For as long as I live, I’ll remember retracing my way up Canine Road—the road past the NSA’s headquarters—after the Pentagon was attacked. Madness poured out of the agency’s black glass towers, a tide of yelling, ringing cell phones, and cars revving up in the parking lots and fighting their way onto the street. At the moment of the worst terrorist attack in American history, the staff of the NSA—the major signals intelligence agency of the American Intelligence Community (IC)—was abandoning its work by the thousands, and I was swept up in the flood.</p>
<p>NSA director <a href="https://www.washingtonpost.com/investigations/us-surveillance-architecture-includes-collection-of-revealing-internet-phone-metadata/2013/06/15/e9bf004a-d511-11e2-b05f-3ea3f0e7bb5a_story.html" rel="">Michael Hayden</a><strong> </strong>issued the <a href="http://www.historycommons.org/context.jsp?item=a930nsaevacuated#a930nsaevacuated" rel="">order to evacuate</a> before most of the country even knew what had happened. Subsequently, the NSA and the CIA—which also evacuated all but a skeleton crew from its own headquarters on 9/11—would explain their behavior by citing a concern that one of the agencies might potentially, possibly, perhaps be the target of the fourth and last hijacked airplane, United Airlines Flight 93, rather than, say, the White House or Capitol.</p>
<p>I sure as hell wasn’t thinking about the next likeliest targets as I crawled through the gridlock, with everyone trying to get their cars out of the same parking lot simultaneously. I wasn’t thinking about anything at all. What I was doing was obediently following along, in what today I recall as one totalizing moment—a clamor of horns (I don’t think I’d ever heard a car horn at an American military installation before) and out-of-phase radios shrieking the news of the South Tower’s collapse while the drivers steered with their knees and feverishly pressed redial on their phones. I can still feel it—the present-tense emptiness every time my call was dropped by an overloaded cell network, and the gradual realization that, cut off from the world and stalled bumper to bumper, even though I was in the driver’s seat, I was just a passenger.</p>
<p>The stoplights on Canine Road gave way to humans, as the NSA’s special police went to work directing traffic. In the ensuing hours, days, and weeks they’d be joined by convoys of Humvees topped with machine guns, guarding new roadblocks and checkpoints. Many of these new security measures became permanent, supplemented by endless rolls of wire and massive installations of surveillance cameras. With all this security, it became difficult for me to get back on base and drive past the NSA—until the day I was employed there.</p>
<p><hr></p>
<p>Try to remember the biggest family event you’ve ever been to—maybe a family reunion. How many people were there? Maybe 30, 50? Though all of them together comprise your family, you might not really have gotten the chance to know each and every individual member. <a href="https://en.wikipedia.org/wiki/Dunbar%27s_number" rel="">Dunbar’s number</a>, the famous estimate of how many relationships you can meaningfully maintain in life, is just 150. Now think back to school. How many people were in your class in grade school, and in high school? How many of them were friends, and how many others did you just know as acquaintances, and how many still others did you simply recognize? If you went to school in the United States, let’s say it’s a thousand. It certainly stretches the boundaries of what you could say are all “your people,” but you may still have felt a bond with them.</p>
<p>Nearly three thousand people died on 9/11. Imagine everyone you love, everyone you know, even everyone with a familiar name or just a familiar face—and imagine they’re gone. Imagine the empty houses. Imagine the empty school, the empty classrooms. All those people you lived among, and who together formed the fabric of your days, just not there anymore. The events of 9/11 left holes. Holes in families, holes in communities. Holes in the ground. </p>
<p>Now, consider this: <a href="https://www.democracynow.org/2015/3/25/headlines/study_us_wars_have_left_over_1_million_dead_in_iraq_afghanistan_pakistan" rel="">over one million people</a> have been killed in the course of America’s response.</p>
<p>The two decades since 9/11 have been a litany of American destruction by way of American self-destruction, with the promulgation of secret policies, secret laws, secret courts, and secret wars, whose traumatizing impact—whose very existence—the US government has repeatedly classified, denied, disclaimed, and distorted. After having spent roughly half that period as an employee of the American Intelligence Community and roughly the other half in exile, I know better than most how often the agencies get things wrong. I know, too, how the collection and analysis of intelligence can inform the production of disinformation and propaganda, for use as frequently against America’s allies as its enemies—and sometimes against its own citizens. Yet even given that knowledge, I still struggle to accept the sheer magnitude and speed of the change, from an America that sought to define itself by a calculated and performative respect for dissent to a security state whose militarized police demand obedience, drawing their guns and issuing the order for total submission now heard in every city: “Stop resisting.”</p>
<p>This is why whenever I try to understand how the last two decades happened, I return to that September—to that ground-zero day and its immediate aftermath. To return to that fall means coming up against a truth darker than the lies that tied the Taliban to al-Qaeda and conjured up Saddam Hussein’s illusory stockpile of WMDs. It means, ultimately, confronting the fact that the carnage and abuses that marked my young adulthood were born not only in the executive branch and the intelligence agencies, but also in the hearts and minds of all Americans, myself included.</p>
<p>I remember escaping the panicked crush of the spies fleeing Fort Meade just as the North Tower came down. Once on the highway, I tried to steer with one hand while pressing buttons with the other, calling family indiscriminately and never getting through. Finally I managed to get in touch with my mother, who at this point in her career had left the NSA and was working as a clerk for the federal courts in Baltimore. They, at least, weren’t evacuating.</p>
<p>Her voice scared me, and suddenly the only thing in the world that mattered to me was reassuring her.</p>
<p>“It’s okay. I’m headed off base,” I said. “Nobody’s in New York, right?”</p>
<p>“I don’t—I don’t know. I can’t get in touch with Gran.”</p>
<p>“Is Pop in Washington?”</p>
<p>“He could be in the Pentagon for all I know.”</p>
<p>The breath went out of me. By 2001, Pop had retired from the Coast Guard and was now a senior official in the FBI, serving as one of the heads of its aviation section. This meant that he spent plenty of time in plenty of federal buildings throughout DC and its environs.</p>
<p>Before I could summon any words of comfort, my mother spoke again.“There’s someone on the other line. It might be Gran. I’ve got to go.”</p>
<p>When she didn’t call me back, I tried her number endlessly but couldn’t get through, so I went home to wait, sitting in front of the blaring TV while I kept reloading news sites. The new cable modem we had was quickly proving more resilient than all of the telecom satellites and cell towers, which were failing across the country.</p>
<p>My mother’s drive back from Baltimore was a slog through crisis traffic. She arrived in tears, but we were among the lucky ones. Pop was safe.</p>
<p>The next time we saw Gran and Pop, there was a lot of talk—about Christmas plans, about New Year’s plans—but the Pentagon and the towers were never mentioned.</p>
<p>My father, by contrast, vividly recounted his 9/11 to me. He was at Coast Guard Headquarters when the towers were hit, and he and three of his fellow officers left their offices in the Operations Directorate to find a conference room with a screen so they could watch the news coverage. A young officer rushed past them down the hall and said, “They just bombed the Pentagon.” Met with expressions of disbelief, the young officer repeated, “I’m serious—they just bombed the Pentagon.” My father hustled over to a wall-length window that gave him a view across the Potomac of about two-fifths of the Pentagon and swirling clouds of thick black smoke.</p>
<p>The more that my father related this memory, the more intrigued I became by the line: “They just bombed the Pentagon.” Every time he said it, I recall thinking, “They”? Who were “They”?</p>
<p>America immediately divided the world into “Us” and “Them,” and everyone was either with “Us” or against “Us,” as President Bush so memorably remarked even while the rubble was still smoldering. People in my neighborhood put up new American flags, as if to show which side they’d chosen. People hoarded red, white, and blue Dixie cups and stuffed them through every chain-link fence on every overpass of every highway between my mother’s home and my father’s, to spell out phrases like UNITED WE STAND and STAND TOGETHER NEVER FORGET.</p>
<p>I sometimes used to go to a shooting range and now alongside the old targets, the bull’s-eyes and flat silhouettes, were effigies of men in Arab headdress. Guns that had languished for years behind the dusty glass of the display cases were now marked SOLD. Americans also lined up to buy cell phones, hoping for advance warning of the next attack, or at least the ability to say good-bye from a hijacked flight.</p>
<p>Nearly a hundred thousand spies returned to work at the agencies with the knowledge that they’d failed at their primary job, which was protecting America. Think of the guilt they were feeling. They had the same anger as everybody else, but they also felt the guilt. An assessment of their mistakes could wait. What mattered most at that moment was that they redeem themselves. Meanwhile, their bosses got busy campaigning for extraordinary budgets and extraordinary powers, leveraging the threat of terror to expand their capabilities and mandates beyond the imagination not just of the public but even of those who stamped the approvals.</p>
<p>September 12 was the first day of a new era, which America faced with a unified resolve, strengthened by a revived sense of patriotism and the goodwill and sympathy of the world. In retrospect, my country could have done so much with this opportunity. It could have treated terror not as the theological phenomenon it purported to be, but as the crime it was. It could have used this rare moment of solidarity to reinforce democratic values and cultivate resilience in the now-connected global public.</p>
<p>Instead, it went to war. </p>
<p>The greatest regret of my life is my reflexive, unquestioning support for that decision. I was outraged, yes, but that was only the beginning of a process in which my heart completely defeated my rational judgment. I accepted all the claims retailed by the media as facts, and I repeated them as if I were being paid for it. I wanted to be a liberator. I wanted to free the oppressed. I embraced the truth constructed for the good of the state, which in my passion I confused with the good of the country. It was as if whatever individual politics I’d developed had crashed—the anti-institutional hacker ethos instilled in me online, and the apolitical patriotism I’d inherited from my parents, both wiped from my system—and I’d been rebooted as a willing vehicle of vengeance. The sharpest part of the humiliation comes from acknowledging how easy this transformation was, and how readily I welcomed it.</p>
<p>I wanted, I think, to be part of something. Prior to 9/11, I’d been ambivalent about serving because it had seemed pointless, or just boring. Everyone I knew who’d served had done so in the post–Cold War world order, between the fall of the Berlin Wall and the attacks of 2001. In that span, which coincided with my youth, America lacked for enemies. The country I grew up in was the sole global superpower, and everything seemed—at least to me, or to people like me—prosperous and settled. There were no new frontiers to conquer or great civic problems to solve, except online. The attacks of 9/11 changed all that. Now, finally, there was a fight.</p>
<p>My options dismayed me, however. I thought I could best serve my country behind a terminal, but a normal IT job seemed too comfortable and safe for this new world of asymmetrical conflict. I hoped I could do something like in the movies or on TV—those hacker-versus-hacker scenes with walls of virus-warning blinkenlights, tracking enemies and thwarting their schemes. Unfortunately for me, the primary agencies that did that—the NSA, the CIA—had their hiring requirements written a half century ago and often rigidly required a traditional college degree, meaning that though the tech industry considered my <a href="https://www.aacc.edu/" rel="">AACC</a> credits and MCSE certification acceptable, the government wouldn’t. The more I read around online, however, the more I realized that the post-9/11 world was a world of exceptions. The agencies were growing so much and so quickly, especially on the technical side, that they’d sometimes waive the degree requirement for military veterans. It’s then that I decided to join up.</p>
<p>You might be thinking that my decision made sense, or was inevitable, given my family’s record of service. But it didn’t and it wasn’t. By enlisting, I was as much rebelling against that well-established legacy as I was conforming to it—because after talking to recruiters from every branch, I decided to join the army, whose leadership some in my Coast Guard family had always considered the crazy uncles of the US military.</p>
<p>When I told my mother, she cried for days. I knew better than to tell my father, who’d already made it very clear during hypothetical discussions that I’d be wasting my technical talents there. I was twenty years old; I knew what I was doing.</p>
<p>The day I left, I wrote my father a letter—handwritten, not typed—that explained my decision, and slipped it under the front door of his apartment. It closed with a statement that still makes me wince. “I’m sorry, Dad,” I wrote, “but this is vital for my personal growth.” </p>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 6
- 0
cache/2021/6201ca5ee00ceafd79ab4a889a20419e/index.md
File diff suppressed because it is too large
View File


+ 198
- 0
cache/2021/629d13932d0187afd3e8056f15b509c4/index.html View File

@@ -0,0 +1,198 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="fr">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>Si vous pensez qu’ils doivent mourir… (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="https://zine-le-village.fr/si-vous-pensez-qu-ils-doivent-mourir.html">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<article>
<header>
<h1>Si vous pensez qu’ils doivent mourir…</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="https://zine-le-village.fr/si-vous-pensez-qu-ils-doivent-mourir.html" title="Lien vers le contenu original">Source originale</a>
</p>
</nav>
<hr>
<p>J’ai beaucoup réfléchi, ces derniers temps, à l’abolitionnisme carcéral, à la justice transformatrice et à la responsabilisation. Et une pensée s'est vraiment cristallisée en moi. La voici : <strong>« Si vous pensez qu’une personne devrait être tuée pour ce qu’elle a fait, dites-le franchement, parce que la conversation devra partir de là »</strong>.</p>
<p>Si vous ne pensez pas cela, alors c’est important de réfléchir à ce que vous voudriez voir arriver, à ce à quoi la responsabilisation pourrait ressembler. Vouloir qu’une personne parte et aille dans une autre communauté, où personne n’est au courant de ses habitudes de comportement, déplace et augmente le risque. C’est manquer de vision. Vouloir qu’une personne n’aie ni communauté, ni connections, et se retrouve isolée dans son ressenti de honte et de deuil, revient en pratique à vouloir qu’elle soit tuée pour ses actions. Les gens meurent dans ces circonstances (je pense la même chose des prisons).</p>
<p>Si quelqu’un me dit « je suis blessée, j’ai besoin de soutien, et je veux voir cette personne changer – mais je n’ai aucune idée d’à quoi ces changements pourraient ressembler », ça me va complètement. La conversation peut partir de là. Les gens ne peuvent pas toujours identifier leurs besoins seuls.</p>
<p><center>■ ■ ■</center></p>
<p><strong>La justice transformatrice ne cherche pas seulement à transformer le comportement d’une personne qui cause du mal.</strong> Elle cherche aussi à transformer la manière dont les communautés parlent de mal et de guérison, à dissoudre la souffrance comme expérience individuelle isolée et à penser la guérison au niveau collectif et structurel.</p>
<p>Je vois fréquemment des gens (particulièrement sur les réseaux sociaux) dénoncer des injustices et demander des comptes à la personne fautive d'une manière qui... mmmh... ne semble pas faire de place à ce qu'elle puisse <em>vraiment</em> en rendre. Les gens demandent des punitions, et que chacun et chacune dans la communauté participe à un projet d’exil. Le « tout le monde doit cesser d’être ami avec cette personne – ne pas le faire, c’est approuver directement son comportement » est une mode alarmante. Elle nous empêche de diversifier les tactiques auxquelles nous pourrions recourir. Elle coupe les connections qui pourraient être utilisées pour pousser à la responsabilisation. Elle ne laisse aucune place au changement.</p>
<p>Si vous dénoncez une injustice, je vous invite à réfléchir : que voudriez-vous voir arriver ? À quoi la responsabilisation pourrait ressembler ? Si vous pensez que la personne devrait mourir, socialement ou littéralement, nous devons commencer la conversation à cet endroit-là. Sinon, nous avons besoin d’une vision de ce que pourraient être la guérison et la responsabilisation.</p>
<p><center>■ ■ ■</center></p>
<p><strong>Ma compréhension de la responsabilité a été transformée grâce à Mariame Kaba (<a href="https://twitter.com/prisonculture">@prisonculture</a>), qui la définit non pas comme quelque chose qui nous est imposé de l’extérieur, mais comme une ressource que l’on trouve en soi pour réparer ses fautes.</strong> Est-ce que l’on crée de l'espace pour que cette responsabilité puisse être prise ?</p>
<blockquote>
<p>Les gens parlent souvent de responsabilisation en voulant dire « punition ». Vous ne pouvez pas rendre quelqu’un d’autre responsable, vous ne pouvez que prendre vos responsabilités. Mais il est possible de faire de l’espace pour voir si quelqu’un veut se montrer responsable. — Mariame Kaba</p>
</blockquote>
<p><center>■ ■ ■</center></p>
<p><strong>Souvent, quand il y a de la blessure et de la souffrance, je vois les personnes les plus directement impactées faire la majorité du travail nécessaire à maintenir cet espace</strong>, avancer des requêtes spécifiques centrées sur leur propre guérison, reconnaître la complexité des situations. Mais quand des personnes extérieures interviennent, la dynamique change vers une politique de la terre brûlée.</p>
<p>J’ai blessé des gens par le passé. J’ai eu du mal à l’entendre. J’ai travaillé vers plus de responsabilité et d’apprentissage. Parfois, restaurer la relation qui avait été spécifiquement abîmée n’était pas dans les options sur la table, ce qui se comprend très bien. Mais quand j’ai fauté, j’ai toujours été vraiment reconnaissante de pouvoir me confronter à ce que j'avais fait.</p>
<p>J’ai aussi connu, à d’autres moments, des réactions de type « terre brûlée ». J’ai de l’empathie pour ces réactions, parce que je comprend que ce genre de choses peut venir d’une histoire traumatique. Mais dans ces conflits où tout a été cramé, personne n’a guéri, personne n’a mûri, personne n’a vu ses besoins satisfaits. Tout le monde souffre plus, au final.</p>
<p><center>■ ■ ■</center></p>
<p><strong>Parfois, dans des situations de grandes inégalités de pouvoir et d’accès aux ressources, la tactique de la terre brûlée est la seule manière d’empêcher quelqu’un de nous ignorer.</strong> J’ai conscience de cette réalité. Mais dans des situations communautaires, particulièrement quand les gens ont des convictions similaires, il y a d’autres chemins que nous pouvons emprunter.</p>
<p><center>■ ■ ■</center></p>
<p><strong>Une question qui, pour moi, permet de clarifier les choses : « à quoi le succès pourrait ressembler ? ».</strong> Si les responsabilités sont prises, si la guérison est profonde, si la justice joue son rôle transformatif, à quoi ressemble le résultat ? Est-ce que quelqu’un est parti ? Si oui, où est-il parti ? Est-il mort ? S’il n’est pas mort, comment vit-il ?</p>
<p>Battre le rappel et réclamer que tout le monde fasse front pour exiler quelqu’un, sans possibilité de responsabilisation, causant le maximum de détresse, de honte, de deuil à la sortie, n’avance ultimement que vers l’une de ces trois réalités :</p>
<ol>
<li>La personne est morte.</li>
<li>C’est tout comme si elle était morte.</li>
<li>Elle blesse d’autres personnes ailleurs.</li>
</ol>
<p>Je pense qu’aucune de ces réalités n’est bonne. Je pense que, en tant que communautés, nous avons la possibilité de travailler à de meilleurs lendemains, même à travers la douleur et le trauma. Je crois que les principes de l’abolitionnisme carcéral et de la justice transformatrice nous demandent d’essayer, continuellement.</p>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 36
- 0
cache/2021/629d13932d0187afd3e8056f15b509c4/index.md View File

@@ -0,0 +1,36 @@
title: Si vous pensez qu’ils doivent mourir…
url: https://zine-le-village.fr/si-vous-pensez-qu-ils-doivent-mourir.html
hash_url: 629d13932d0187afd3e8056f15b509c4

<p>J’ai beaucoup réfléchi, ces derniers temps, à l’abolitionnisme carcéral, à la justice transformatrice et à la responsabilisation. Et une pensée s'est vraiment cristallisée en moi. La voici : <strong>« Si vous pensez qu’une personne devrait être tuée pour ce qu’elle a fait, dites-le franchement, parce que la conversation devra partir de là »</strong>.</p>
<p>Si vous ne pensez pas cela, alors c’est important de réfléchir à ce que vous voudriez voir arriver, à ce à quoi la responsabilisation pourrait ressembler. Vouloir qu’une personne parte et aille dans une autre communauté, où personne n’est au courant de ses habitudes de comportement, déplace et augmente le risque. C’est manquer de vision. Vouloir qu’une personne n’aie ni communauté, ni connections, et se retrouve isolée dans son ressenti de honte et de deuil, revient en pratique à vouloir qu’elle soit tuée pour ses actions. Les gens meurent dans ces circonstances (je pense la même chose des prisons).</p>
<p>Si quelqu’un me dit « je suis blessée, j’ai besoin de soutien, et je veux voir cette personne changer – mais je n’ai aucune idée d’à quoi ces changements pourraient ressembler », ça me va complètement. La conversation peut partir de là. Les gens ne peuvent pas toujours identifier leurs besoins seuls.</p>
<center>■ ■ ■</center>

<p><strong>La justice transformatrice ne cherche pas seulement à transformer le comportement d’une personne qui cause du mal.</strong> Elle cherche aussi à transformer la manière dont les communautés parlent de mal et de guérison, à dissoudre la souffrance comme expérience individuelle isolée et à penser la guérison au niveau collectif et structurel.</p>
<p>Je vois fréquemment des gens (particulièrement sur les réseaux sociaux) dénoncer des injustices et demander des comptes à la personne fautive d'une manière qui... mmmh... ne semble pas faire de place à ce qu'elle puisse <em>vraiment</em> en rendre. Les gens demandent des punitions, et que chacun et chacune dans la communauté participe à un projet d’exil. Le « tout le monde doit cesser d’être ami avec cette personne – ne pas le faire, c’est approuver directement son comportement » est une mode alarmante. Elle nous empêche de diversifier les tactiques auxquelles nous pourrions recourir. Elle coupe les connections qui pourraient être utilisées pour pousser à la responsabilisation. Elle ne laisse aucune place au changement.</p>
<p>Si vous dénoncez une injustice, je vous invite à réfléchir : que voudriez-vous voir arriver ? À quoi la responsabilisation pourrait ressembler ? Si vous pensez que la personne devrait mourir, socialement ou littéralement, nous devons commencer la conversation à cet endroit-là. Sinon, nous avons besoin d’une vision de ce que pourraient être la guérison et la responsabilisation.</p>
<center>■ ■ ■</center>

<p><strong>Ma compréhension de la responsabilité a été transformée grâce à Mariame Kaba (<a href="https://twitter.com/prisonculture">@prisonculture</a>), qui la définit non pas comme quelque chose qui nous est imposé de l’extérieur, mais comme une ressource que l’on trouve en soi pour réparer ses fautes.</strong> Est-ce que l’on crée de l'espace pour que cette responsabilité puisse être prise ?</p>
<blockquote>
<p>Les gens parlent souvent de responsabilisation en voulant dire « punition ». Vous ne pouvez pas rendre quelqu’un d’autre responsable, vous ne pouvez que prendre vos responsabilités. Mais il est possible de faire de l’espace pour voir si quelqu’un veut se montrer responsable. — Mariame Kaba</p>
</blockquote>
<center>■ ■ ■</center>

<p><strong>Souvent, quand il y a de la blessure et de la souffrance, je vois les personnes les plus directement impactées faire la majorité du travail nécessaire à maintenir cet espace</strong>, avancer des requêtes spécifiques centrées sur leur propre guérison, reconnaître la complexité des situations. Mais quand des personnes extérieures interviennent, la dynamique change vers une politique de la terre brûlée.</p>
<p>J’ai blessé des gens par le passé. J’ai eu du mal à l’entendre. J’ai travaillé vers plus de responsabilité et d’apprentissage. Parfois, restaurer la relation qui avait été spécifiquement abîmée n’était pas dans les options sur la table, ce qui se comprend très bien. Mais quand j’ai fauté, j’ai toujours été vraiment reconnaissante de pouvoir me confronter à ce que j'avais fait.</p>
<p>J’ai aussi connu, à d’autres moments, des réactions de type « terre brûlée ». J’ai de l’empathie pour ces réactions, parce que je comprend que ce genre de choses peut venir d’une histoire traumatique. Mais dans ces conflits où tout a été cramé, personne n’a guéri, personne n’a mûri, personne n’a vu ses besoins satisfaits. Tout le monde souffre plus, au final.</p>
<center>■ ■ ■</center>

<p><strong>Parfois, dans des situations de grandes inégalités de pouvoir et d’accès aux ressources, la tactique de la terre brûlée est la seule manière d’empêcher quelqu’un de nous ignorer.</strong> J’ai conscience de cette réalité. Mais dans des situations communautaires, particulièrement quand les gens ont des convictions similaires, il y a d’autres chemins que nous pouvons emprunter.</p>
<center>■ ■ ■</center>

<p><strong>Une question qui, pour moi, permet de clarifier les choses : « à quoi le succès pourrait ressembler ? ».</strong> Si les responsabilités sont prises, si la guérison est profonde, si la justice joue son rôle transformatif, à quoi ressemble le résultat ? Est-ce que quelqu’un est parti ? Si oui, où est-il parti ? Est-il mort ? S’il n’est pas mort, comment vit-il ?</p>
<p>Battre le rappel et réclamer que tout le monde fasse front pour exiler quelqu’un, sans possibilité de responsabilisation, causant le maximum de détresse, de honte, de deuil à la sortie, n’avance ultimement que vers l’une de ces trois réalités :</p>
<ol>
<li>La personne est morte.</li>
<li>C’est tout comme si elle était morte.</li>
<li>Elle blesse d’autres personnes ailleurs.</li>
</ol>
<p>Je pense qu’aucune de ces réalités n’est bonne. Je pense que, en tant que communautés, nous avons la possibilité de travailler à de meilleurs lendemains, même à travers la douleur et le trauma. Je crois que les principes de l’abolitionnisme carcéral et de la justice transformatrice nous demandent d’essayer, continuellement.</p>

+ 231
- 0
cache/2021/8589fdcb9656efb132e1513c07d48bd1/index.html View File

@@ -0,0 +1,231 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="fr">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>Dégooglisons Internet (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="https://degooglisons-internet.org/fr/">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<article>
<header>
<h1>Dégooglisons Internet</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="https://degooglisons-internet.org/fr/" title="Lien vers le contenu original">Source originale</a>
</p>
</nav>
<hr>
<h2>Quels sont les enjeux ?</h2>

<p>Ces dernières années ont vu se généraliser une <strong>concentration des acteurs d’Internet</strong> (Youtube appartient à Google, WhatsApp à Facebook, Skype à Microsoft, etc.). Cette centralisation est nuisible, non seulement parce qu’elle freine l’innovation, mais surtout parce qu’elle entraîne une perte de liberté pour les visiteurs. <strong>Les utilisateurs de ces derniers services ne contrôlent plus leur vie numérique</strong> : leurs comportements sont disséqués en permanence afin de mieux être ciblés par la publicité, et leurs données - pourtant privées (sites visités, mails échangés, vidéos regardées, etc.) - peuvent être analysées par des services gouvernementaux.</p>
<p>La réponse que souhaite apporter Framasoft à cette problématique est simple : mettre en valeur, pour chacun de ces services privateurs de liberté, une alternative Libre, Ethique, Décentralisée et Solidaire.</p>

<h2>Les dangers</h2>

<p>Les services en ligne toujours plus centralisés de géants tentaculaires comme Google, Amazon, Facebook, Apple ou Microsoft (GAFAM) mettent en danger nos vies numériques.</p>

<h3 id="t2-espionnum"><i class="far fa-eye fa-fw fc-g6"></i> <span>Surveillance</span></h3>

<p>Sous le prétexte de fournir une « meilleure expérience utilisateur », nos comportements sur Internet sont espionnés en permanence. Ces informations peuvent servir à afficher de la publicité ciblée, mais les révélations de l’affaire Snowden ont aussi prouvé que les géants de l’Internet étaient contraints de communiquer ces données (parfois extrêmement privées : emails échangés sur GMail, photos partagées sur Facebook, conversations Skype, géolocalisation des téléphones, etc.) à des services gouvernementaux. <strong>Sous prétexte de lutte contre le terrorisme</strong>, les états sont capables aujourd’hui d’obtenir bien plus d’informations qu’un « Big Brother » ne l’aurait jamais rêvé.</p>

<p><img alt="" src="https://degooglisons-internet.org/img/fr/cyberpolicus.png" class="d-block mx-auto"></p>
<h3 id="t2-privatum"><i class="far fa-user-circle fa-fw fc-g6"></i> <span>Vie privée</span></h3>

<p>Nos données sont une extension de nous-mêmes. Elles peuvent indiquer où nous sommes, avec qui, notre orientation politique ou sexuelle, les sites que nous avons visités, notre recette préférée, les sujets qui nous intéressent, etc.<br> Si une donnée seule, prise indépendamment, n’est pas forcément sensible, un ensemble de données peut le devenir (par exemple si vous avez fait des recherches sur le cancer avant de souscrire à une assurance-vie).<br> Dans un monde où tout devient numérique (lecture, TV, téléphonie, musique, réseau social, etc.), <strong>notre vie privée est un élément essentiel de ce qui fait de nous une personne singulière</strong>. Une personne malveillante qui aurait accès à votre smartphone peut en apprendre suffisamment sur vous en quelques minutes pour vous causer des torts très importants (usurpation d’identité sur Facebook, détournement d’informations professionnelles, achats effectués sans votre accord, etc.).</p>

<h3 id="t2-centralisum"><i class="far fa-dot-circle fa-fw fc-g6"></i> <span>Centralisation</span></h3>

<p>Les acteurs majeurs de l’internet sont devenus de véritables pieuvres : Facebook possède WhatsApp et Instagram, Google détient Youtube et Waze, Microsoft distribue Skype, etc.<br> Cette concentration des acteurs pose de multiples problèmes : que se passera-t-il si Facebook met la clé sous la porte ? Comment faire des recherches si Google subit une panne ? <strong>Nous devenons peu à peu dépendants de services fournis par un petit nombre d’acteurs.</strong> Par exemple, Apple (iPhone), Google (Android) et Microsoft (Windows Phone) se partagent la quasi-totalité du marché des systèmes d’exploitation pour smartphones.<br> Par ailleurs, la taille de ces acteurs bride l’innovation : difficile de lancer une start-up face à Apple ou Google (respectivement première et deuxième capitalisations boursières mondiale).<br> Enfin, le manque de diversité de ces géants leur donne aussi la possibilité non seulement de collecter facilement des informations personnelles, mais aussi d’altérer l’information qu’ils diffusent (une recherche Google sur le mot « nucléaire » n’affichera pas les mêmes liens suivant que Google vous perçoit comme un militant écologiste ou un pro-nucléaire).</p>

<h3 id="t2-fermetum"><i class="fas fa-lock fa-fw fc-g6"></i> <span>Fermeture</span></h3>

<p>Les services web affichés sur votre ordinateur ou votre smartphone sont généralement exécutés dans le « cloud » : des serveurs dispersés sur la planète, stockant à la fois vos données (mails, photos, fichiers, etc.) mais aussi le code des applications.<br> Pour les données, cela pose le problème de leur pérennité (que deviennent vos fichiers si Dropbox ferme demain ?) mais aussi de votre capacité à changer de services (comment faire pour récupérer l’ensemble de vos photos sur Facebook ou Picasa, et les réinsérer avec les commentaires dans un autre service ?).<br> Pour les applications, cela implique que <strong>vous êtes à la merci de changements impromptus selon le bon vouloir du fournisseur</strong> (ajout de publicité, modification de l’interface, etc.), mais surtout que vous n’avez quasiment aucun contrôle sur ce que l’application peut faire. Ce sont des « boîtes noires » qui peuvent agir de façon malveillante (envoyer des SMS à votre insu, exécuter du code indésirable, etc.).<br> Bref, ces sociétés nous enferment dans des cages dorées, certes, mais des cages malgré tout !</p>

<h2><span>Ce que nous proposons</span></h2>

<p>Framasoft souhaite faire face à ces dangers menaçant nos vies numériques en proposant des services libres, éthiques, décentralisés et solidaires.</p>

<h3><i class="fas fa-lock-open fa-fw fc-g6"></i> <span>Liberté</span></h3>

<p>L’histoire d’Internet elle-même est une histoire de logiciels libres, tant du point de vue des standards que des protocoles employés. Sa popularité et son potentiel font aussi des envieux, et de grandes entreprises aimeraient s’en attribuer le contrôle en imposant du code fermé dans des systèmes verrouillés et non-interopérables.</p>
<p>Pour qu’Internet reste fidèle à ses principes fondateurs qui l’ont conduit à son succès, nous devons y trouver des applications libres, c’est-à-dire dont le code source est ouvert, accessible et sous licences libres.</p>
<p><strong>Framasoft s’engage à n’utiliser que des logiciels au code source « libre ».</strong></p>

<h3><i class="far fa-eye-slash fa-fw fc-g6"></i> <span>Éthique</span></h3>

<p>Nous plébiscitons un Internet fait de partage et d’indépendance.</p>
<p>L’exploitation, la surveillance, la censure et l’appropriation des données sont des valeurs que nous refusons au profit de la transparence (la probité), de l’exposition claire des conditions d’utilisation des services, et du refus des discriminations.</p>
<p><strong>Framasoft s’engage à ne pas exploiter les données des utilisateurs de ses services, et à promouvoir un Web ouvert et équitable.</strong></p>

<h3><i class="fas fa-share-alt fa-fw fc-g6"></i> <span>Décentralisation</span></h3>

<p>L’intelligence d’Internet doit reposer sur chaque acteur du réseau dans une dynamique de partage de pair à pair, pour éviter de créer un Minitel 2.0.</p>
<p>Pour assurer l’égalité de tous, citoyens comme entrepreneurs, les monopoles doivent non seulement être évités, mais empêchés de s’accaparer les données personnelles ou publiques.</p>
<p><strong>En expliquant, par des tutoriels, comment multiplier les solutions libres permettant un Internet plus équitable, nous facilitons l’essaimage du code et diversifions les usages.</strong></p>

<h3><i class="fas fa-people-carry fa-fw fc-g6"></i> <span>Solidarité</span></h3>

<p>À travers les services que nous déployons, nous promouvons un modèle économique fondé sur la mutualisation des coûts, le partage des ressources, et l’accessibilité au plus grand nombre.</p>
<p>Ce modèle possède aussi un caractère éducatif car nous pensons qu’en documentant le déploiement des services, un grand nombre d’utilisateurs seront en mesure de partager à leur tour ces ressources.</p>
<p><strong>Nous pensons que ne pas infantiliser les utilisateurs et faire partager la responsabilité de l’utilisation des services permettra de réguler les abus.</strong></p>

<h2>Concrètement</h2>

<p>Le projet « Dégooglisons Internet » - qui ne concerne d’ailleurs pas que Google - consiste à <strong>proposer des services alternatifs face à un maximum de services que nous évaluons comme menaçants pour nos vies numériques</strong>.</p>
<p>Google Docs, Skype, Dropbox, Facebook, Twitter, Google Agenda, Youtube, Doodle, Yahoo! Groups, et bien d’autres sont des services extrêmement pratiques, mais <strong>ils sont devenus bien trop gros et nous ont rendus dépendants</strong>. Framasoft souhaite entrer en résistance, et propose un plan de mise en place d’applications alternatives sur plusieurs années.</p>
<p>Ces services sont libres, gratuits, ouverts à tous (dans la limite de nos capacités techniques et financières), tels des <strong> <a href="http://fr.wikipedia.org/wiki/Biens_communs">biens communs</a> numériques</strong>. Dans un souci de décentralisation d’internet et de promotion de l’auto-hébergement, nous ferons le maximum afin que chacun puisse installer ses propres services (pour soi, pour son association, son entreprise).</p>
<p>Évidemment, nous n’avons pas la prétention de <em>concurrencer</em> ces services, nous souhaitons juste proposer un espace numérique neutre, non-commercial et non-agressif envers ses utilisateurs.</p>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 54
- 0
cache/2021/8589fdcb9656efb132e1513c07d48bd1/index.md View File

@@ -0,0 +1,54 @@
title: Dégooglisons Internet
url: https://degooglisons-internet.org/fr/
hash_url: 8589fdcb9656efb132e1513c07d48bd1


<h2>Quels sont les enjeux ?</h2>

<p>Ces dernières années ont vu se généraliser une <strong>concentration des acteurs d’Internet</strong> (Youtube appartient à Google, WhatsApp à Facebook, Skype à Microsoft, etc.). Cette centralisation est nuisible, non seulement parce qu’elle freine l’innovation, mais surtout parce qu’elle entraîne une perte de liberté pour les visiteurs. <strong>Les utilisateurs de ces derniers services ne contrôlent plus leur vie numérique</strong> : leurs comportements sont disséqués en permanence afin de mieux être ciblés par la publicité, et leurs données - pourtant privées (sites visités, mails échangés, vidéos regardées, etc.) - peuvent être analysées par des services gouvernementaux.</p> <p>La réponse que souhaite apporter Framasoft à cette problématique est simple : mettre en valeur, pour chacun de ces services privateurs de liberté, une alternative Libre, Ethique, Décentralisée et Solidaire.</p>

<h2>Les dangers</h2>

<p>Les services en ligne toujours plus centralisés de géants tentaculaires comme Google, Amazon, Facebook, Apple ou Microsoft (GAFAM) mettent en danger nos vies numériques.</p>

<h3 id="t2-espionnum"><i class="far fa-eye fa-fw fc-g6"></i> <span>Surveillance</span></h3>

<p>Sous le prétexte de fournir une « meilleure expérience utilisateur », nos comportements sur Internet sont espionnés en permanence. Ces informations peuvent servir à afficher de la publicité ciblée, mais les révélations de l’affaire Snowden ont aussi prouvé que les géants de l’Internet étaient contraints de communiquer ces données (parfois extrêmement privées : emails échangés sur GMail, photos partagées sur Facebook, conversations Skype, géolocalisation des téléphones, etc.) à des services gouvernementaux. <strong>Sous prétexte de lutte contre le terrorisme</strong>, les états sont capables aujourd’hui d’obtenir bien plus d’informations qu’un « Big Brother » ne l’aurait jamais rêvé.</p>

<img alt="" src="https://degooglisons-internet.org/img/fr/cyberpolicus.png" class="d-block mx-auto">

<h3 id="t2-privatum"><i class="far fa-user-circle fa-fw fc-g6"></i> <span>Vie privée</span></h3>

<p>Nos données sont une extension de nous-mêmes. Elles peuvent indiquer où nous sommes, avec qui, notre orientation politique ou sexuelle, les sites que nous avons visités, notre recette préférée, les sujets qui nous intéressent, etc.<br> Si une donnée seule, prise indépendamment, n’est pas forcément sensible, un ensemble de données peut le devenir (par exemple si vous avez fait des recherches sur le cancer avant de souscrire à une assurance-vie).<br> Dans un monde où tout devient numérique (lecture, TV, téléphonie, musique, réseau social, etc.), <strong>notre vie privée est un élément essentiel de ce qui fait de nous une personne singulière</strong>. Une personne malveillante qui aurait accès à votre smartphone peut en apprendre suffisamment sur vous en quelques minutes pour vous causer des torts très importants (usurpation d’identité sur Facebook, détournement d’informations professionnelles, achats effectués sans votre accord, etc.).</p>

<h3 id="t2-centralisum"><i class="far fa-dot-circle fa-fw fc-g6"></i> <span>Centralisation</span></h3>

<p>Les acteurs majeurs de l’internet sont devenus de véritables pieuvres : Facebook possède WhatsApp et Instagram, Google détient Youtube et Waze, Microsoft distribue Skype, etc.<br> Cette concentration des acteurs pose de multiples problèmes : que se passera-t-il si Facebook met la clé sous la porte ? Comment faire des recherches si Google subit une panne ? <strong>Nous devenons peu à peu dépendants de services fournis par un petit nombre d’acteurs.</strong> Par exemple, Apple (iPhone), Google (Android) et Microsoft (Windows Phone) se partagent la quasi-totalité du marché des systèmes d’exploitation pour smartphones.<br> Par ailleurs, la taille de ces acteurs bride l’innovation : difficile de lancer une start-up face à Apple ou Google (respectivement première et deuxième capitalisations boursières mondiale).<br> Enfin, le manque de diversité de ces géants leur donne aussi la possibilité non seulement de collecter facilement des informations personnelles, mais aussi d’altérer l’information qu’ils diffusent (une recherche Google sur le mot « nucléaire » n’affichera pas les mêmes liens suivant que Google vous perçoit comme un militant écologiste ou un pro-nucléaire).</p>

<h3 id="t2-fermetum"><i class="fas fa-lock fa-fw fc-g6"></i> <span>Fermeture</span></h3>

<p>Les services web affichés sur votre ordinateur ou votre smartphone sont généralement exécutés dans le « cloud » : des serveurs dispersés sur la planète, stockant à la fois vos données (mails, photos, fichiers, etc.) mais aussi le code des applications.<br> Pour les données, cela pose le problème de leur pérennité (que deviennent vos fichiers si Dropbox ferme demain ?) mais aussi de votre capacité à changer de services (comment faire pour récupérer l’ensemble de vos photos sur Facebook ou Picasa, et les réinsérer avec les commentaires dans un autre service ?).<br> Pour les applications, cela implique que <strong>vous êtes à la merci de changements impromptus selon le bon vouloir du fournisseur</strong> (ajout de publicité, modification de l’interface, etc.), mais surtout que vous n’avez quasiment aucun contrôle sur ce que l’application peut faire. Ce sont des « boîtes noires » qui peuvent agir de façon malveillante (envoyer des SMS à votre insu, exécuter du code indésirable, etc.).<br> Bref, ces sociétés nous enferment dans des cages dorées, certes, mais des cages malgré tout !</p>

<h2><span>Ce que nous proposons</span></h2>

<p>Framasoft souhaite faire face à ces dangers menaçant nos vies numériques en proposant des services libres, éthiques, décentralisés et solidaires.</p>

<h3><i class="fas fa-lock-open fa-fw fc-g6"></i> <span>Liberté</span></h3>

<p>L’histoire d’Internet elle-même est une histoire de logiciels libres, tant du point de vue des standards que des protocoles employés. Sa popularité et son potentiel font aussi des envieux, et de grandes entreprises aimeraient s’en attribuer le contrôle en imposant du code fermé dans des systèmes verrouillés et non-interopérables.</p> <p>Pour qu’Internet reste fidèle à ses principes fondateurs qui l’ont conduit à son succès, nous devons y trouver des applications libres, c’est-à-dire dont le code source est ouvert, accessible et sous licences libres.</p> <p><strong>Framasoft s’engage à n’utiliser que des logiciels au code source « libre ».</strong></p>

<h3><i class="far fa-eye-slash fa-fw fc-g6"></i> <span>Éthique</span></h3>

<p>Nous plébiscitons un Internet fait de partage et d’indépendance.</p> <p>L’exploitation, la surveillance, la censure et l’appropriation des données sont des valeurs que nous refusons au profit de la transparence (la probité), de l’exposition claire des conditions d’utilisation des services, et du refus des discriminations.</p> <p><strong>Framasoft s’engage à ne pas exploiter les données des utilisateurs de ses services, et à promouvoir un Web ouvert et équitable.</strong></p>

<h3><i class="fas fa-share-alt fa-fw fc-g6"></i> <span>Décentralisation</span></h3>

<p>L’intelligence d’Internet doit reposer sur chaque acteur du réseau dans une dynamique de partage de pair à pair, pour éviter de créer un Minitel 2.0.</p> <p>Pour assurer l’égalité de tous, citoyens comme entrepreneurs, les monopoles doivent non seulement être évités, mais empêchés de s’accaparer les données personnelles ou publiques.</p> <p><strong>En expliquant, par des tutoriels, comment multiplier les solutions libres permettant un Internet plus équitable, nous facilitons l’essaimage du code et diversifions les usages.</strong></p>

<h3><i class="fas fa-people-carry fa-fw fc-g6"></i> <span>Solidarité</span></h3>

<p>À travers les services que nous déployons, nous promouvons un modèle économique fondé sur la mutualisation des coûts, le partage des ressources, et l’accessibilité au plus grand nombre.</p> <p>Ce modèle possède aussi un caractère éducatif car nous pensons qu’en documentant le déploiement des services, un grand nombre d’utilisateurs seront en mesure de partager à leur tour ces ressources.</p> <p><strong>Nous pensons que ne pas infantiliser les utilisateurs et faire partager la responsabilité de l’utilisation des services permettra de réguler les abus.</strong></p>

<h2>Concrètement</h2>

<p>Le projet « Dégooglisons Internet » - qui ne concerne d’ailleurs pas que Google - consiste à <strong>proposer des services alternatifs face à un maximum de services que nous évaluons comme menaçants pour nos vies numériques</strong>.</p> <p>Google Docs, Skype, Dropbox, Facebook, Twitter, Google Agenda, Youtube, Doodle, Yahoo! Groups, et bien d’autres sont des services extrêmement pratiques, mais <strong>ils sont devenus bien trop gros et nous ont rendus dépendants</strong>. Framasoft souhaite entrer en résistance, et propose un plan de mise en place d’applications alternatives sur plusieurs années.</p> <p>Ces services sont libres, gratuits, ouverts à tous (dans la limite de nos capacités techniques et financières), tels des <strong> <a href="http://fr.wikipedia.org/wiki/Biens_communs">biens communs</a> numériques</strong>. Dans un souci de décentralisation d’internet et de promotion de l’auto-hébergement, nous ferons le maximum afin que chacun puisse installer ses propres services (pour soi, pour son association, son entreprise).</p> <p>Évidemment, nous n’avons pas la prétention de <em>concurrencer</em> ces services, nous souhaitons juste proposer un espace numérique neutre, non-commercial et non-agressif envers ses utilisateurs.</p>

+ 273
- 0
cache/2021/f327a02cabbad6884b057958ec213668/index.html View File

@@ -0,0 +1,273 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="fr">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>Making world-class docs takes effort (archive) — David Larlet</title>
<meta name="description" content="Publication mise en cache pour en conserver une trace.">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<meta name="robots" content="noindex, nofollow">
<meta content="origin-when-cross-origin" name="referrer">
<!-- Canonical URL for SEO purposes -->
<link rel="canonical" href="https://daniel.haxx.se/blog/2021/09/04/making-world-class-docs-takes-effort/">

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<article>
<header>
<h1>Making world-class docs takes effort</h1>
</header>
<nav>
<p class="center">
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="https://daniel.haxx.se/blog/2021/09/04/making-world-class-docs-takes-effort/" title="Lien vers le contenu original">Source originale</a>
</p>
</nav>
<hr>
<p>Here are six requirements that I have on a project for it to reach my gold approval for stellar docs. Then something about what I’ve done recently to further improve the docs for curl.</p>

<h2>Your docs belong in the code repository</h2>

<p>It needs to be next to the code so that authors and contributors can update/read the docs while working on the code or docs. Providing it in a separate repository or otherwise separated will undoubtedly lead to discrepancies sooner or later. Similar to how <em>all wikis are always wrong</em>.</p>

<h2>Your docs is not extracted from code</h2>

<p>Admit it. If you browse around you will realize that the best documented projects you find never provide that docs generated directly from code. Such generated docs can still provide value, but you will not reach gold level without more effort.</p>

<p>Separated docs encourage more writing and writing by people who are otherwise scared of touching the code or thinking that fixing spelling errors in the docs isn’t worth patching the code for. It also allows for other and better formatting on the docs.</p>

<h2>Your docs features examples</h2>

<p>Users always ask for (more) examples. You can never go wrong by providing examples. If your docs don’t have enough examples, you’re not doing the docs good enough yet.</p>

<h2>You document every API call you provide</h2>

<p>Fewer things make me sigh more than when I have to dig up the source code and from that try to figure out exactly how an external and publicly provided API works. Yet this still happens regularly even for libraries that have been released and maintained for decades.</p>

<p>In one fairly recent instance I reported such an omission in a popular library. It took them over two years to add it.</p>

<p>Long-living libraries should also provide information about from which versions certain functionality or options exist or can be expected to work or not work.</p>

<h2>Your docs is easily accessible and browsed</h2>

<p>Good docs means that we can <em>find</em> what we’re looking for and that the documentation flows and is easily read and understood. Ideally, even simple google searches for API details in your library should lead us to suitable entry points.</p>

<p>Preferably, the documentation should also be provided for proper off-line reading, meaning man pages or something similar that can be browsed when disconnected from the Internet.</p>

<h2>Your docs should be easy to contribute to</h2>

<p>The docs should be easy for contributors to help out with (independently from the code if desired). That also includes that they should be easy for contributors to build and render locally so that they can test and view their updates while working on them.</p>

<h2>Documentation in the curl project</h2>

<p>I want the documentation for curl and libcurl to be known, recognized and widely admitted to be world-class.</p>

<p>I want the curl documentation to be of a quality and content to make users not able to find competitors or similar projects with better docs.</p>

<p>Documentation in curl is not an after-thought. It is not a second-tier component. It is a crucial and important foundation that allows users to use, trust and rely on our products. We require that new changes or improved functionality are provided with the corresponding updated and accurate documentation.</p>

<p>We also try to verify and check the docs as much as possible with scanners , tests and tools.</p>

<h2>Non-stop iterating is key</h2>

<p>I maintain that our documentation is as good as it is today a lot thanks to us very rigidly sticking to our guiding principles: <em>compatibility</em> and <em>not breaking existing behavior</em>. Documentation we wrote decades ago is still valid. It gives us plenty of time to keep refining and polishing the documentation of a feature that doesn’t change. No documentation was perfect already at the first attempt, but after numerous iterations and improvements chances are it is better. Time is on our side. And we are never done, documentation can always be improved.</p>

<h2>I’m putting in the work</h2>

<p>A few days ago I talked documentation with someone and when doing so I thought about what guiding principles I think we should put on project documentation. What I’ve listed above basically.</p>

<p>In then dawned on me that the current man curl.1 man page is actually not featuring that many examples, in spite of it being <strong>3535</strong> lines long. I pondered a little bit on how best add some, and then dove in and extended our system that generates it from the hundreds of individual files that each describe a single command line option. They should of course all offer at least one example!</p>

<p>Having <strong>242</strong> command line options (as of right now, it will be more soon), that sudden idea that seemed simple enough turned into a quite gruesome work and I spent many hours walking over the options to make up examples. I also made sure that our build system now returns an error if there’s a command option without an example in the documentation! This way, we can be sure that also all future command line options will have examples in the man page.</p>

<p>This made the curl.1 man page grew with over 1200 lines!</p>

<h2>libcurl options too</h2>

<p>A few years ago I did a manual effort and made sure most man pages for libcurl options include examples, but I never made that into a test or anything so there’s nothing that forces us to stick to this.</p>

<p>Having started this journey, I decided now was the time to add that requirement to the scripts. I extended test case 1173, which already scans all man pages to verify some basic syntax, to also check that man pages for options feature an <code>EXAMPLE</code> section.</p>

<p>There are at this moment <strong>374</strong> stand-alone man pages for libcurl options. Only ten of them were detected to not feature good enough examples and it wasn’t very hard to fix this.</p>

<h2>Consistency is good</h2>

<p>Having just extended the man page checker, another idea came up.</p>

<p>I made the script also check that each man page features the correct set of sections, in the required order! I’m a true believer in consistency and that using the same set in the same order will make the docs easier to read and find information in, and checking for these things will make sure that all future additions will be forced stick to the same.</p>

<p>The mandatory sections for libcurl option man pages are right now, in this order:</p>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate" title="">
NAME
SYNOPSIS
DESCRIPTION
PROTOCOLS
EXAMPLE
AVAILABILITY
RETURN VALUE
SEE ALSO
</pre></div>

<p>These man pages are allowed to have other sections as well, and they can be placed anywhere among the mandatory ones, but the eight section headers that has to be there has to be in that order.</p>

<h2>Cross-references</h2>

<p>While at it, I also extended the man page scanner to check that all references in all curl man pages to libcurl options are verified to actually refer to existing options, to find typos. Ironically this extra check turned out finding exactly <strong>no</strong> such typos in the current <strong>463</strong> man pages!</p>

<h2>Future</h2>

<p>The outcome of the work I write about here will of course be merged asap and will be part of future releases and on the website.</p>

<p>We should keep thinking of more ways to improve the documentation and for more ways to verify and cross-reference things mentioned in the docs to increase its accuracy and detect typos.</p>

<p>If you find a problem, an inferior wording or just something you think we should improve in any curl documentation, <a href="https://github.com/curl/curl/issues/new/choose">file a bug</a> or a <a href="https://github.com/curl/curl/pulls">PR</a>! We also try to make this as easy as possible for users to do directly from the <a href="https://curl.se/">curl website</a> by providing bug-reporting direct links from the documentation pages.</p>

<h2>Updates</h2>

<p>I added the sixth “rule” days after the initial post after Willy Tarreau’s feedback.</p>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 196
- 0
cache/2021/f327a02cabbad6884b057958ec213668/index.md View File

@@ -0,0 +1,196 @@
title: Making world-class docs takes effort
url: https://daniel.haxx.se/blog/2021/09/04/making-world-class-docs-takes-effort/
hash_url: f327a02cabbad6884b057958ec213668

<p>Here are six requirements that I have on a project for it to reach my gold approval for stellar docs. Then something about what I’ve done recently to further improve the docs for curl.</p>



<h2>Your docs belong in the code repository</h2>



<p>It needs to be next to the code so that authors and contributors can update/read the docs while working on the code or docs. Providing it in a separate repository or otherwise separated will undoubtedly lead to discrepancies sooner or later. Similar to how <em>all wikis are always wrong</em>.</p>



<h2>Your docs is not extracted from code</h2>



<p>Admit it. If you browse around you will realize that the best documented projects you find never provide that docs generated directly from code. Such generated docs can still provide value, but you will not reach gold level without more effort.</p>



<p>Separated docs encourage more writing and writing by people who are otherwise scared of touching the code or thinking that fixing spelling errors in the docs isn’t worth patching the code for. It also allows for other and better formatting on the docs.</p>



<h2>Your docs features examples</h2>



<p>Users always ask for (more) examples. You can never go wrong by providing examples. If your docs don’t have enough examples, you’re not doing the docs good enough yet.</p>



<h2>You document every API call you provide</h2>



<p>Fewer things make me sigh more than when I have to dig up the source code and from that try to figure out exactly how an external and publicly provided API works. Yet this still happens regularly even for libraries that have been released and maintained for decades.</p>



<p>In one fairly recent instance I reported such an omission in a popular library. It took them over two years to add it.</p>



<p>Long-living libraries should also provide information about from which versions certain functionality or options exist or can be expected to work or not work.</p>



<h2>Your docs is easily accessible and browsed</h2>



<p>Good docs means that we can <em>find</em> what we’re looking for and that the documentation flows and is easily read and understood. Ideally, even simple google searches for API details in your library should lead us to suitable entry points.</p>



<p>Preferably, the documentation should also be provided for proper off-line reading, meaning man pages or something similar that can be browsed when disconnected from the Internet.</p>



<h2>Your docs should be easy to contribute to</h2>



<p>The docs should be easy for contributors to help out with (independently from the code if desired). That also includes that they should be easy for contributors to build and render locally so that they can test and view their updates while working on them.</p>



<h2>Documentation in the curl project</h2>



<p>I want the documentation for curl and libcurl to be known, recognized and widely admitted to be world-class.</p>



<p>I want the curl documentation to be of a quality and content to make users not able to find competitors or similar projects with better docs.</p>



<p>Documentation in curl is not an after-thought. It is not a second-tier component. It is a crucial and important foundation that allows users to use, trust and rely on our products. We require that new changes or improved functionality are provided with the corresponding updated and accurate documentation.</p>



<p>We also try to verify and check the docs as much as possible with scanners , tests and tools.</p>



<h2>Non-stop iterating is key</h2>



<p>I maintain that our documentation is as good as it is today a lot thanks to us very rigidly sticking to our guiding principles: <em>compatibility</em> and <em>not breaking existing behavior</em>. Documentation we wrote decades ago is still valid. It gives us plenty of time to keep refining and polishing the documentation of a feature that doesn’t change. No documentation was perfect already at the first attempt, but after numerous iterations and improvements chances are it is better. Time is on our side. And we are never done, documentation can always be improved.</p>



<h2>I’m putting in the work</h2>



<p>A few days ago I talked documentation with someone and when doing so I thought about what guiding principles I think we should put on project documentation. What I’ve listed above basically.</p>



<p>In then dawned on me that the current man curl.1 man page is actually not featuring that many examples, in spite of it being <strong>3535</strong> lines long. I pondered a little bit on how best add some, and then dove in and extended our system that generates it from the hundreds of individual files that each describe a single command line option. They should of course all offer at least one example!</p>



<p>Having <strong>242</strong> command line options (as of right now, it will be more soon), that sudden idea that seemed simple enough turned into a quite gruesome work and I spent many hours walking over the options to make up examples. I also made sure that our build system now returns an error if there’s a command option without an example in the documentation! This way, we can be sure that also all future command line options will have examples in the man page.</p>



<p>This made the curl.1 man page grew with over 1200 lines!</p>



<h2>libcurl options too</h2>



<p>A few years ago I did a manual effort and made sure most man pages for libcurl options include examples, but I never made that into a test or anything so there’s nothing that forces us to stick to this.</p>



<p>Having started this journey, I decided now was the time to add that requirement to the scripts. I extended test case 1173, which already scans all man pages to verify some basic syntax, to also check that man pages for options feature an <code>EXAMPLE</code> section.</p>



<p>There are at this moment <strong>374</strong> stand-alone man pages for libcurl options. Only ten of them were detected to not feature good enough examples and it wasn’t very hard to fix this.</p>



<h2>Consistency is good</h2>



<p>Having just extended the man page checker, another idea came up.</p>



<p>I made the script also check that each man page features the correct set of sections, in the required order! I’m a true believer in consistency and that using the same set in the same order will make the docs easier to read and find information in, and checking for these things will make sure that all future additions will be forced stick to the same.</p>



<p>The mandatory sections for libcurl option man pages are right now, in this order:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate" title="">
NAME
SYNOPSIS
DESCRIPTION
PROTOCOLS
EXAMPLE
AVAILABILITY
RETURN VALUE
SEE ALSO
</pre></div>


<p>These man pages are allowed to have other sections as well, and they can be placed anywhere among the mandatory ones, but the eight section headers that has to be there has to be in that order.</p>



<h2>Cross-references</h2>



<p>While at it, I also extended the man page scanner to check that all references in all curl man pages to libcurl options are verified to actually refer to existing options, to find typos. Ironically this extra check turned out finding exactly <strong>no</strong> such typos in the current <strong>463</strong> man pages!</p>



<h2>Future</h2>



<p>The outcome of the work I write about here will of course be merged asap and will be part of future releases and on the website.</p>



<p>We should keep thinking of more ways to improve the documentation and for more ways to verify and cross-reference things mentioned in the docs to increase its accuracy and detect typos.</p>



<p>If you find a problem, an inferior wording or just something you think we should improve in any curl documentation, <a href="https://github.com/curl/curl/issues/new/choose">file a bug</a> or a <a href="https://github.com/curl/curl/pulls">PR</a>! We also try to make this as easy as possible for users to do directly from the <a href="https://curl.se/">curl website</a> by providing bug-reporting direct links from the documentation pages.</p>



<h2>Updates</h2>



<p>I added the sixth “rule” days after the initial post after Willy Tarreau’s feedback.</p>

+ 10
- 0
cache/2021/index.html View File

@@ -105,6 +105,8 @@
<li><a href="/david/cache/2021/3f773d81ebebb1b44079ad17ee064fa7/" title="Accès à l’article dans le cache local : « Oui mais on manque de recul… » : 10 arguments pour répondre aux questions SENSÉES des vaccino-sceptiques (et les rassurer)">« Oui mais on manque de recul… » : 10 arguments pour répondre aux questions SENSÉES des vaccino-sceptiques (et les rassurer)</a> (<a href="https://www.atlantico.fr/article/decryptage/oui-mais-on-manque-de-recul------x-arguments-pour-repondre-aux-questions-sensees-des-vaccino-sceptiques--et-les-rassurer-" title="Accès à l’article original distant : « Oui mais on manque de recul… » : 10 arguments pour répondre aux questions SENSÉES des vaccino-sceptiques (et les rassurer)">original</a>)</li>
<li><a href="/david/cache/2021/12aa0cc26a4a578b6467414d5250206a/" title="Accès à l’article dans le cache local : Spinoza pour penser notre rapport au numérique">Spinoza pour penser notre rapport au numérique</a> (<a href="https://bribesdereel.net/Spinoza-penser-numerique" title="Accès à l’article original distant : Spinoza pour penser notre rapport au numérique">original</a>)</li>
<li><a href="/david/cache/2021/413c4ae36b9d7f577768dcc991561268/" title="Accès à l’article dans le cache local : 🚨 How Basecamp blew up">🚨 How Basecamp blew up</a> (<a href="https://www.platformer.news/p/-how-basecamp-blew-up" title="Accès à l’article original distant : 🚨 How Basecamp blew up">original</a>)</li>
<li><a href="/david/cache/2021/0f791a9509f762f1a1a36b6ca2333230/" title="Accès à l’article dans le cache local : Permacomputing Update 2021">Permacomputing Update 2021</a> (<a href="http://viznut.fi/texts-en/permacomputing_update_2021.html" title="Accès à l’article original distant : Permacomputing Update 2021">original</a>)</li>
@@ -283,6 +285,8 @@
<li><a href="/david/cache/2021/cd6592ceefc88cec80f8642f25a85f8f/" title="Accès à l’article dans le cache local : Incredible time-lapse shows a single cell transforming into a salamander">Incredible time-lapse shows a single cell transforming into a salamander</a> (<a href="https://www.nationalgeographic.com/animals/article/time-lapse-film-shows-salamander-development" title="Accès à l’article original distant : Incredible time-lapse shows a single cell transforming into a salamander">original</a>)</li>
<li><a href="/david/cache/2021/f327a02cabbad6884b057958ec213668/" title="Accès à l’article dans le cache local : Making world-class docs takes effort">Making world-class docs takes effort</a> (<a href="https://daniel.haxx.se/blog/2021/09/04/making-world-class-docs-takes-effort/" title="Accès à l’article original distant : Making world-class docs takes effort">original</a>)</li>
<li><a href="/david/cache/2021/4dd972c7ed4d1f01f0d63956763134d1/" title="Accès à l’article dans le cache local : Clues for software design in how we sketch maps of cities">Clues for software design in how we sketch maps of cities</a> (<a href="https://interconnected.org/home/2021/03/31/maps" title="Accès à l’article original distant : Clues for software design in how we sketch maps of cities">original</a>)</li>
<li><a href="/david/cache/2021/c85d495a079cfa25516dd2b48d886c0f/" title="Accès à l’article dans le cache local : Stigmatiser les non-vaccinés, est-ce bien responsable ?">Stigmatiser les non-vaccinés, est-ce bien responsable ?</a> (<a href="https://blogs.mediapart.fr/stephanelavignotteorg/blog/120721/stigmatiser-les-non-vaccines-est-ce-bien-responsable" title="Accès à l’article original distant : Stigmatiser les non-vaccinés, est-ce bien responsable ?">original</a>)</li>
@@ -353,10 +357,14 @@
<li><a href="/david/cache/2021/5a89944a64394da98512ea35a64bafdc/" title="Accès à l’article dans le cache local : #162: Minimum Viable Self">#162: Minimum Viable Self</a> (<a href="https://kneelingbus.substack.com/p/162-minimum-viable-self" title="Accès à l’article original distant : #162: Minimum Viable Self">original</a>)</li>
<li><a href="/david/cache/2021/6201ca5ee00ceafd79ab4a889a20419e/" title="Accès à l’article dans le cache local : 9/12 - by Edward Snowden">9/12 - by Edward Snowden</a> (<a href="https://edwardsnowden.substack.com/p/9-12" title="Accès à l’article original distant : 9/12 - by Edward Snowden">original</a>)</li>
<li><a href="/david/cache/2021/1bbae4b7e1e642fda7cbc70540b51710/" title="Accès à l’article dans le cache local : Implantation de voies cyclables dans Ahuntsic-Cartierville">Implantation de voies cyclables dans Ahuntsic-Cartierville</a> (<a href="https://montreal.ca/articles/implantation-de-voies-cyclables-dans-ahuntsic-cartierville-5150" title="Accès à l’article original distant : Implantation de voies cyclables dans Ahuntsic-Cartierville">original</a>)</li>
<li><a href="/david/cache/2021/75c2f55c5321a0afe4352f53da5e0b89/" title="Accès à l’article dans le cache local : Pollution numérique">Pollution numérique</a> (<a href="https://www.hydroquebec.com/a/decarboner.html" title="Accès à l’article original distant : Pollution numérique">original</a>)</li>
<li><a href="/david/cache/2021/629d13932d0187afd3e8056f15b509c4/" title="Accès à l’article dans le cache local : Si vous pensez qu’ils doivent mourir…">Si vous pensez qu’ils doivent mourir…</a> (<a href="https://zine-le-village.fr/si-vous-pensez-qu-ils-doivent-mourir.html" title="Accès à l’article original distant : Si vous pensez qu’ils doivent mourir…">original</a>)</li>
<li><a href="/david/cache/2021/862d065d924906f327f8a95e23659295/" title="Accès à l’article dans le cache local : The small web is beautiful">The small web is beautiful</a> (<a href="https://benhoyt.com/writings/the-small-web-is-beautiful/" title="Accès à l’article original distant : The small web is beautiful">original</a>)</li>
<li><a href="/david/cache/2021/da6ba7728178232cfb94f52b8765a1d1/" title="Accès à l’article dans le cache local : Notes sur une photographie ouverte (et amatrice)">Notes sur une photographie ouverte (et amatrice)</a> (<a href="https://11d.im/journal/notes-photographie-amatrice/" title="Accès à l’article original distant : Notes sur une photographie ouverte (et amatrice)">original</a>)</li>
@@ -497,6 +505,8 @@
<li><a href="/david/cache/2021/67a6372e0d7e2b65224262106e8318b0/" title="Accès à l’article dans le cache local : My love-hate affair with technology">My love-hate affair with technology</a> (<a href="https://nolanlawson.com/2021/08/26/my-love-hate-affair-with-technology/" title="Accès à l’article original distant : My love-hate affair with technology">original</a>)</li>
<li><a href="/david/cache/2021/8589fdcb9656efb132e1513c07d48bd1/" title="Accès à l’article dans le cache local : Dégooglisons Internet">Dégooglisons Internet</a> (<a href="https://degooglisons-internet.org/fr/" title="Accès à l’article original distant : Dégooglisons Internet">original</a>)</li>
<li><a href="/david/cache/2021/e39a703ed0d93c479d9c7d3b2f8444a9/" title="Accès à l’article dans le cache local : Subject: Re: Qualifiers on Hypertext links...">Subject: Re: Qualifiers on Hypertext links...</a> (<a href="https://www.w3.org/People/Berners-Lee/1991/08/art-6484.txt" title="Accès à l’article original distant : Subject: Re: Qualifiers on Hypertext links...">original</a>)</li>
<li><a href="/david/cache/2021/595df9c1f986df0678e4fc7d6aa34ef1/" title="Accès à l’article dans le cache local : Qui sont les dix auteurs de SF de la « Red Team » du ministère des Armées ?">Qui sont les dix auteurs de SF de la « Red Team » du ministère des Armées ?</a> (<a href="https://www.lepoint.fr/high-tech-internet/qui-sont-les-dix-auteurs-de-sf-de-la-red-team-du-ministere-des-armees-04-12-2020-2404230_47.php" title="Accès à l’article original distant : Qui sont les dix auteurs de SF de la « Red Team » du ministère des Armées ?">original</a>)</li>

Loading…
Cancel
Save