A place to cache linked articles (think custom and personal wayback machine)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 25KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621
  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang=fr>
  4. <!-- Has to be within the first 1024 bytes, hence before the <title>
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset=utf-8>
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name=viewport content="width=device-width,minimum-scale=1,initial-scale=1,shrink-to-fit=no">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>Bilan des ventes de l'ebook AngularJS (archive) — David Larlet</title>
  13. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  14. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons/apple-touch-icon.png">
  15. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons/favicon-32x32.png">
  16. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons/favicon-16x16.png">
  17. <link rel="manifest" href="/manifest.json">
  18. <link rel="mask-icon" href="/static/david/icons/safari-pinned-tab.svg" color="#5bbad5">
  19. <link rel="shortcut icon" href="/static/david/icons/favicon.ico">
  20. <meta name="apple-mobile-web-app-title" content="David Larlet">
  21. <meta name="application-name" content="David Larlet">
  22. <meta name="msapplication-TileColor" content="#da532c">
  23. <meta name="msapplication-config" content="/static/david/icons/browserconfig.xml">
  24. <meta name="theme-color" content="#f0f0ea">
  25. <!-- That good ol' feed, subscribe :p. -->
  26. <link rel=alternate type="application/atom+xml" title=Feed href="/david/log/">
  27. <meta name="robots" content="noindex, nofollow">
  28. <meta content="origin-when-cross-origin" name="referrer">
  29. <!-- Canonical URL for SEO purposes -->
  30. <link rel="canonical" href="http://blog.ninja-squad.com/2014/09/23/bilan-des-ventes-ebook-angularjs/">
  31. <style>
  32. /* http://meyerweb.com/eric/tools/css/reset/ */
  33. html, body, div, span,
  34. h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  35. a, abbr, address, big, cite, code,
  36. del, dfn, em, img, ins,
  37. small, strike, strong, tt, var,
  38. dl, dt, dd, ol, ul, li,
  39. fieldset, form, label, legend,
  40. table, caption, tbody, tfoot, thead, tr, th, td,
  41. article, aside, canvas, details, embed,
  42. figure, figcaption, footer, header, hgroup,
  43. menu, nav, output, ruby, section, summary,
  44. time, mark, audio, video {
  45. margin: 0;
  46. padding: 0;
  47. border: 0;
  48. font-size: 100%;
  49. font: inherit;
  50. vertical-align: baseline;
  51. }
  52. /* HTML5 display-role reset for older browsers */
  53. article, aside, details, figcaption, figure,
  54. footer, header, hgroup, menu, nav, section { display: block; }
  55. body { line-height: 1; }
  56. blockquote, q { quotes: none; }
  57. blockquote:before, blockquote:after,
  58. q:before, q:after {
  59. content: '';
  60. content: none;
  61. }
  62. table {
  63. border-collapse: collapse;
  64. border-spacing: 0;
  65. }
  66. /* http://practicaltypography.com/equity.html */
  67. /* https://calendar.perfplanet.com/2016/no-font-face-bulletproof-syntax/ */
  68. /* https://www.filamentgroup.com/lab/js-web-fonts.html */
  69. @font-face {
  70. font-family: 'EquityTextB';
  71. src: url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff2') format('woff2'),
  72. url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff') format('woff');
  73. font-weight: 300;
  74. font-style: normal;
  75. font-display: swap;
  76. }
  77. @font-face {
  78. font-family: 'EquityTextB';
  79. src: url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff2') format('woff2'),
  80. url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff') format('woff');
  81. font-weight: 300;
  82. font-style: italic;
  83. font-display: swap;
  84. }
  85. @font-face {
  86. font-family: 'EquityTextB';
  87. src: url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff2') format('woff2'),
  88. url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff') format('woff');
  89. font-weight: 700;
  90. font-style: normal;
  91. font-display: swap;
  92. }
  93. @font-face {
  94. font-family: 'ConcourseT3';
  95. src: url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff2') format('woff2'),
  96. url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff') format('woff');
  97. font-weight: 300;
  98. font-style: normal;
  99. font-display: swap;
  100. }
  101. /* http://practice.typekit.com/lesson/caring-about-opentype-features/ */
  102. body {
  103. /* http://www.cssfontstack.com/ Palatino 99% Win 86% Mac */
  104. font-family: "EquityTextB", Palatino, serif;
  105. background-color: #f0f0ea;
  106. color: #07486c;
  107. font-kerning: normal;
  108. -moz-osx-font-smoothing: grayscale;
  109. -webkit-font-smoothing: subpixel-antialiased;
  110. text-rendering: optimizeLegibility;
  111. font-variant-ligatures: common-ligatures contextual;
  112. font-feature-settings: "kern", "liga", "clig", "calt";
  113. }
  114. pre, code, kbd, samp, var, tt {
  115. font-family: 'TriplicateT4c', monospace;
  116. }
  117. em {
  118. font-style: italic;
  119. color: #323a45;
  120. }
  121. strong {
  122. font-weight: bold;
  123. color: black;
  124. }
  125. nav {
  126. background-color: #323a45;
  127. color: #f0f0ea;
  128. display: flex;
  129. justify-content: space-around;
  130. padding: 1rem .5rem;
  131. }
  132. nav:last-child {
  133. border-bottom: 1vh solid #2d7474;
  134. }
  135. nav a {
  136. color: #f0f0ea;
  137. }
  138. nav abbr {
  139. border-bottom: 1px dotted white;
  140. }
  141. h1 {
  142. border-top: 1vh solid #2d7474;
  143. border-bottom: .2vh dotted #2d7474;
  144. background-color: #e3e1e1;
  145. color: #323a45;
  146. text-align: center;
  147. padding: 5rem 0 4rem 0;
  148. width: 100%;
  149. font-family: 'ConcourseT3';
  150. display: flex;
  151. flex-direction: column;
  152. }
  153. h1.single {
  154. padding-bottom: 10rem;
  155. }
  156. h1 span {
  157. position: absolute;
  158. top: 1vh;
  159. left: 20%;
  160. line-height: 0;
  161. }
  162. h1 span a {
  163. line-height: 1.7;
  164. padding: 1rem 1.2rem .6rem 1.2rem;
  165. border-radius: 0 0 6% 6%;
  166. background: #2d7474;
  167. font-size: 1.3rem;
  168. color: white;
  169. text-decoration: none;
  170. }
  171. h2 {
  172. margin: 4rem 0 1rem;
  173. border-top: .2vh solid #2d7474;
  174. padding-top: 1vh;
  175. }
  176. h3 {
  177. text-align: center;
  178. margin: 3rem 0 .75em;
  179. }
  180. hr {
  181. height: .4rem;
  182. width: .4rem;
  183. border-radius: .4rem;
  184. background: #07486c;
  185. margin: 2.5rem auto;
  186. }
  187. time {
  188. display: bloc;
  189. margin-left: 0 !important;
  190. }
  191. ul, ol {
  192. margin: 2rem;
  193. }
  194. ul {
  195. list-style-type: square;
  196. }
  197. a {
  198. text-decoration-skip-ink: auto;
  199. text-decoration-thickness: 0.05em;
  200. text-underline-offset: 0.09em;
  201. }
  202. article {
  203. max-width: 50rem;
  204. display: flex;
  205. flex-direction: column;
  206. margin: 2rem auto;
  207. }
  208. article.single {
  209. border-top: .2vh dotted #2d7474;
  210. margin: -6rem auto 1rem auto;
  211. background: #f0f0ea;
  212. padding: 2rem;
  213. }
  214. article p:last-child {
  215. margin-bottom: 1rem;
  216. }
  217. p {
  218. padding: 0 .5rem;
  219. margin-left: 3rem;
  220. }
  221. p + p,
  222. figure + p {
  223. margin-top: 2rem;
  224. }
  225. blockquote {
  226. background-color: #e3e1e1;
  227. border-left: .5vw solid #2d7474;
  228. display: flex;
  229. flex-direction: column;
  230. align-items: center;
  231. padding: 1rem;
  232. margin: 1.5rem;
  233. }
  234. blockquote cite {
  235. font-style: italic;
  236. }
  237. blockquote p {
  238. margin-left: 0;
  239. }
  240. figure {
  241. border-top: .2vh solid #2d7474;
  242. background-color: #e3e1e1;
  243. text-align: center;
  244. padding: 1.5rem 0;
  245. margin: 1rem 0 0;
  246. font-size: 1.5rem;
  247. width: 100%;
  248. }
  249. figure img {
  250. max-width: 250px;
  251. max-height: 250px;
  252. border: .5vw solid #323a45;
  253. padding: 1px;
  254. }
  255. figcaption {
  256. padding: 1rem;
  257. line-height: 1.4;
  258. }
  259. aside {
  260. display: flex;
  261. flex-direction: column;
  262. background-color: #e3e1e1;
  263. padding: 1rem 0;
  264. border-bottom: .2vh solid #07486c;
  265. }
  266. aside p {
  267. max-width: 50rem;
  268. margin: 0 auto;
  269. }
  270. /* https://fvsch.com/code/css-locks/ */
  271. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  272. font-size: 1rem;
  273. line-height: calc( 1.5em + 0.2 * 1rem );
  274. }
  275. h1 {
  276. font-size: 1.9rem;
  277. line-height: calc( 1.2em + 0.2 * 1rem );
  278. }
  279. h2 {
  280. font-size: 1.6rem;
  281. line-height: calc( 1.3em + 0.2 * 1rem );
  282. }
  283. h3 {
  284. font-size: 1.35rem;
  285. line-height: calc( 1.4em + 0.2 * 1rem );
  286. }
  287. @media (min-width: 20em) {
  288. /* The (100vw - 20rem) / (50 - 20) part
  289. resolves to 0-1rem, depending on the
  290. viewport width (between 20em and 50em). */
  291. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  292. font-size: calc( 1rem + .6 * (100vw - 20rem) / (50 - 20) );
  293. line-height: calc( 1.5em + 0.2 * (100vw - 50rem) / (20 - 50) );
  294. margin-left: 0;
  295. }
  296. h1 {
  297. font-size: calc( 1.9rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  298. line-height: calc( 1.2em + 0.2 * (100vw - 50rem) / (20 - 50) );
  299. }
  300. h2 {
  301. font-size: calc( 1.5rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  302. line-height: calc( 1.3em + 0.2 * (100vw - 50rem) / (20 - 50) );
  303. }
  304. h3 {
  305. font-size: calc( 1.35rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  306. line-height: calc( 1.4em + 0.2 * (100vw - 50rem) / (20 - 50) );
  307. }
  308. }
  309. @media (min-width: 50em) {
  310. /* The right part of the addition *must* be a
  311. rem value. In this example we *could* change
  312. the whole declaration to font-size:2.5rem,
  313. but if our baseline value was not expressed
  314. in rem we would have to use calc. */
  315. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  316. font-size: calc( 1rem + .6 * 1rem );
  317. line-height: 1.5em;
  318. }
  319. p, li, pre, details {
  320. margin-left: 3rem;
  321. }
  322. h1 {
  323. font-size: calc( 1.9rem + 1.5 * 1rem );
  324. line-height: 1.2em;
  325. }
  326. h2 {
  327. font-size: calc( 1.5rem + 1.5 * 1rem );
  328. line-height: 1.3em;
  329. }
  330. h3 {
  331. font-size: calc( 1.35rem + 1.5 * 1rem );
  332. line-height: 1.4em;
  333. }
  334. figure img {
  335. max-width: 500px;
  336. max-height: 500px;
  337. }
  338. }
  339. figure.unsquared {
  340. margin-bottom: 1.5rem;
  341. }
  342. figure.unsquared img {
  343. height: inherit;
  344. }
  345. @media print {
  346. body { font-size: 100%; }
  347. a:after { content: " (" attr(href) ")"; }
  348. a, a:link, a:visited, a:after {
  349. text-decoration: underline;
  350. text-shadow: none !important;
  351. background-image: none !important;
  352. background: white;
  353. color: black;
  354. }
  355. abbr[title] { border-bottom: 0; }
  356. abbr[title]:after { content: " (" attr(title) ")"; }
  357. img { page-break-inside: avoid; }
  358. @page { margin: 2cm .5cm; }
  359. h1, h2, h3 { page-break-after: avoid; }
  360. p3 { orphans: 3; widows: 3; }
  361. img {
  362. max-width: 250px !important;
  363. max-height: 250px !important;
  364. }
  365. nav, aside { display: none; }
  366. }
  367. ul.with_columns {
  368. column-count: 1;
  369. }
  370. @media (min-width: 20em) {
  371. ul.with_columns {
  372. column-count: 2;
  373. }
  374. }
  375. @media (min-width: 50em) {
  376. ul.with_columns {
  377. column-count: 3;
  378. }
  379. }
  380. ul.with_two_columns {
  381. column-count: 1;
  382. }
  383. @media (min-width: 20em) {
  384. ul.with_two_columns {
  385. column-count: 1;
  386. }
  387. }
  388. @media (min-width: 50em) {
  389. ul.with_two_columns {
  390. column-count: 2;
  391. }
  392. }
  393. .gallery {
  394. display: flex;
  395. flex-wrap: wrap;
  396. justify-content: space-around;
  397. }
  398. .gallery figure img {
  399. margin-left: 1rem;
  400. margin-right: 1rem;
  401. }
  402. .gallery figure figcaption {
  403. font-family: 'ConcourseT3'
  404. }
  405. footer {
  406. font-family: 'ConcourseT3';
  407. display: flex;
  408. flex-direction: column;
  409. border-top: 3px solid white;
  410. padding: 4rem 0;
  411. background-color: #07486c;
  412. color: white;
  413. }
  414. footer > * {
  415. max-width: 50rem;
  416. margin: 0 auto;
  417. }
  418. footer a {
  419. color: #f1c40f;
  420. }
  421. footer .avatar {
  422. width: 200px;
  423. height: 200px;
  424. border-radius: 50%;
  425. float: left;
  426. -webkit-shape-outside: circle();
  427. shape-outside: circle();
  428. margin-right: 2rem;
  429. padding: 2px 5px 5px 2px;
  430. background: white;
  431. border-left: 1px solid #f1c40f;
  432. border-top: 1px solid #f1c40f;
  433. border-right: 5px solid #f1c40f;
  434. border-bottom: 5px solid #f1c40f;
  435. }
  436. </style>
  437. <h1>
  438. <span><a id="jumper" href="#jumpto" title="Un peu perdu ?">?</a></span>
  439. Bilan des ventes de l'ebook AngularJS (archive)
  440. <time>Pour la pérennité des contenus liés. Non-indexé, retrait sur simple email.</time>
  441. </h1>
  442. <section>
  443. <article>
  444. <h3><a href="http://blog.ninja-squad.com/2014/09/23/bilan-des-ventes-ebook-angularjs/">Source originale du contenu</a></h3>
  445. <div class="post-content"><p>Après une <a href="/2014/09/02/devenez-un-ninja-avec-angularjs-ebook/" title="La genèse du livre Devenez un Ninja avec AngularJS">longue et laborieuse genèse</a>, Ninja Squad a finalement mis en vente son premier livre : un <a href="https://books.ninja-squad.com/" title="Ebook AngularJS à prix libre et pour une bonne cause, par Ninja Squad">ebook sur AngularJS</a>.<br/>
  446. Si nous n’en sommes déjà pas peu fiers, il nous paraît aussi intéressant de vous faire un bilan sur les ventes. Car, caractéristique notable qui n’aura échappé à personne : il est vendu à <strong>prix libre</strong>, et en soutien optionnel à une cause caritative (<a href="https://www.humblebundle.com/">Humble Bundle-style</a>).</p>
  447. <p>Alors, est-ce que ça marche un prix libre ?</p>
  448. <h2 id="show-me-the-money">Show me the money!</h2>
  449. <p>On savait en sortant ce livre qu’on ne rentabiliserait jamais le temps passé à sa rédaction. Pour tout vous dire, on pensait n’en vendre qu’une vingtaine sur l’année, à nos seuls supporters les plus fidèles. On savait que l’amour ne serait pas plus fort que la répulsion des galimatias techniques pour que nos proches se sentent obligés de l’acheter.</p>
  450. <p>Mais on ne le sortait pas pour qu’il soit rentable. Comme d’habitude, on l’a fait sans trop réflechir, parce que ça nous semblait classe, même si ça demandait beaucoup de travail sans facturation.
  451. Et si cela convertissait de nouveaux enthousiastes, on aurait été ravi de les aider grâce à notre super formation (qui bénéficie de <a href="/2014/09/18/formations-prix-reduit/" title="Les formations Ninja Squad à prix réduit pour les Héros">la réduction pour les Héros</a>).
  452. On était aussi content de tester la vente en ligne directe de nos propres produits, sur un site fait à la main : <abbr title="Do It Yourself, bricole le toi-même">DIY</abbr> ! C’est notre ADN, ce qui fait qu’on aime ce métier de développeur. Et vivre de nos propres créations est une envie qui nous titille de longue date.</p>
  453. <p>Bref, on annonce le livre et le site de vente, qui propose le prix libre et l’action caritative, le 2 septembre 2014 à 11H. Et là, <em>pouf-pouf</em>, la magie opère :
  454. <br/>
  455. <br/></p>
  456. <p id="chart_ventes"/>
  457. <p><br/>
  458. <br/>
  459. 87 ventes sur une première petite journée, pour pas loin de 1000€ HT ! On était déjà aux anges.</p>
  460. <p>Bien sûr, ce rythme a très vite chuté, pour atteindre des volumes assez dérisoires passé la première semaine. On ne sait effectivement pas tellement communiquer en dehors de notre cercle communautaire. On constate un petit pic le 8 septembre, quand on a finalement ajouté une version MOBI, en plus des EPUB et PDF.</p>
  461. <p>A ce jour du 23 septembre 2014, après trois semaines, on a fait <strong>4300 visiteurs unique, et 395 ventes pour un total de plus de 3900€ HT</strong>.</p>
  462. <p>L’autre bonne nouvelle, c’est qu’on a aussi récolté <strong>plus de 1200€ pour l’association</strong> <a href="http://www.docteursouris.fr/">Docteur Souris</a>. \o/</p>
  463. <p>Pour nous, c’était inespéré.</p>
  464. <p>On peut dire que ça a fonctionné. Mais si le prix est libre, combien donnent les acheteurs ?</p>
  465. <h2 id="taurais-pas-2-eurosnbsp">T’aurais pas 2 euros ?</h2>
  466. <p>On a certes choisi un prix libre, on a certes fourni un ebook sans aucun DRM, mais on ne voulait pas le donner gratuitement : c’est notre bébé, notre sueur, notre travail. Pour obtenir le livre, il faut donc rentrer sa carte bleue, et payer un minimum de 2€.</p>
  467. <p>Voici la répartition des prix donnés librement par les acheteurs :
  468. <br/>
  469. <br/></p>
  470. <p id="chart_tarifs"/>
  471. <p><br/>
  472. <br/></p>
  473. <p>Attention, l’échelle est logarithmique.</p>
  474. <p>On constate plusieurs choses :</p>
  475. <ul>
  476. <li>Seulement 1/5 des acheteurs donnent le prix minimum. Je trouve ça magique : ils font l’effort de faire un geste et de récompenser notre travail et l’association. Voilà de quoi redonner foi dans l’Humanité.</li>
  477. <li>La majorité des acheteurs conservent le prix par défaut. Nous l’avions initialement valorisé à 10€ (<code>D1</code> sur le graphe). Puis au bout d’une semaine, pour voir, nous l’avons positionné à 20€ (<code>D2</code> sur le graphe). La proposition initiale a donc beaucoup de poids dans le choix de l’acheteur. C’est surprenant, mais bon à savoir ! :p </li>
  478. <li>Quelques rares personnes ont donné des tarifs démesurés : 30€, 50€. Il faut avouer que ce sont pour l’essentiel des connaissances.</li>
  479. <li>Et enfin, observation la plus importante : sept personnes ont donné 8,33€ HT (<code>P</code> sur le graphe), probablement pour payer 10€ TTC tout rond. Ne négligez donc pas la proportion de la population souffrant de <abbr title="Troubles Obsessionnels Compulsifs">TOCs</abbr> :p.</li>
  480. </ul>
  481. <p>OK, donc le livre se vend bien, les gens sont prêts à payer un prix honnête. Mais alors, pourquoi ne pas le sortir chez un éditeur ?</p>
  482. <h2 id="et-les-maisons-dditionsnbsp">Et les maisons d’éditions ?!</h2>
  483. <p>Si ce livre s’est bien vendu - du moins à notre petite échelle - on pourait regretter de ne pas l’avoir sorti dans le circuit traditionnel, pour qu’il soit en vente partout et bénéficie du pouvoir de promotion de l’éditeur et des distributeurs.</p>
  484. <p>Si la question ne s’était pas posée parce qu’on voulait le faire en mode DIY, par curiosité, nous avons interrogé des amis qui ont déjà sorti des livres techniques de références par le circuit traditionnel.</p>
  485. <p>Tout d’abord, <a href="https://twitter.com/ndeloof">Nicolas De Loof</a> pour le livre <a href="http://www.amazon.fr/dp/2744024945">Apache Maven</a> écrit avec <a href="https://twitter.com/aheritier">Arnaud Héritier</a>.</p>
  486. <p><strong>Combien avez-vous touché pour ce livre ?</strong></p>
  487. <blockquote>
  488. <p>On a touché chacun ~1500€ je crois, soit 1 euro par exemplaire - au pourcentage, divisé par deux imposable tout ça, soit de quoi ne pas avoir envie de recommencer :)</p>
  489. </blockquote>
  490. <p><strong>Pour vos prochains livres, voulez-vous continuer de passer par un éditeur ?</strong></p>
  491. <blockquote>
  492. <p>Certainement pas. J’ai d’ailleurs fait l’erreur d’accepter pour Packt un livre sur cloudbees (déjà obsolète) et ça a été un enfer.
  493. Pearson nous laissait faire relativement à notre sauce avec un unique contact chez eux, ça a pas mal aidé.
  494. Chez Packt j’ai changé 3 fois de responsable du projet et été en contact avec 12 personnes différentes, dont un relecteur qui a commencé au chapitre 8 et indiqué “ce n’est pas très clair, il faudrait introduire ces notions” (ou lire les chapitres précédents ?)</p>
  495. </blockquote>
  496. <p>Ensuite <a href="https://twitter.com/agoncal">Antonio Goncalvès</a> pour sa <a href="http://antoniogoncalves.org/category/books/">série de livres sur Java EE</a>. Voici le récit de son expérience :</p>
  497. <blockquote>
  498. <p>Pour faire simple, le monde de l’édition est à la ramasse (j’ai bossé directement avec Eyrolles et APress et je sais ce qui se passe derrière PackT et Oreilly… ils font tous pareil) : ils ont de moins en moins d’employés, la qualité chute, le passage au numérique se fait aux forceps, le suivi est miséreux, la relecture quasi inexistante et les contraintes multiples.
  499. Pour la rémunération, c’est simple : l’auteur touche 8/10/12% du prix… EDITEUR !!! Donc, mon livre est à 49$, prix éditeur 22$ et moi je touche 2.2$ (c’est à dire 1.8€). Le règlement se fait au trimestre, et t’es content de toucher tes 2.000€.</p>
  500. </blockquote>
  501. <p>Moralité : des auteurs reconnus, sortant un livre de référence sur des technologies universellement utilisées, n’ont pas gagné plus d’argent que nous avec ce modeste livre vendu par nous-même dans des proportions infiniment plus faibles. Et au-delà de la rémunération, ils ont mal vécu leur relation éditeur. Suite à notre discusssion, Antonio Goncalvès vient d’ailleurs de publier <a href="http://antoniogoncalves.org/2014/09/16/the-uncensored-java-ee-7-book/">un article édifiant sur la censure exercée par son éditeur</a> qu’il gardait sous le coude depuis plus d’un an.</p>
  502. <p>Si c’est donc pour ne pas gagner plus, et subir des pressions éditoriales, nous ne voyons pas l’intérêt de passer par le circuit traditionnel de l’édition. Encore un domaine qui souffre de la transition au numérique, comme le soulignait Antonio, et semble désormais obsolète. Un éditeur prend une marge démesurée pour lutter contre le piratage et vous offrir une exposition. Nous avons pourtant constaté avec cette expérience de livre technique auto-édité qu’on peut vraiment vendre des produits numériques sans DRM, et que Twitter et Google nous amenant sur notre site valent dans notre cas une exposition tout aussi importante que celle des distributeurs traditionnels. Alors imaginez si vous savez faire des <em>landing pages</em> bien plus jolies et vendeuses que <a href="https://books.ninja-squad.com">la nôtre</a> ! :p</p>
  503. <p>Vous savez ce qu’il vous reste à faire pour votre prochain livre : DIY ! \o/</p>
  504. </div>
  505. </article>
  506. </section>
  507. <nav id="jumpto">
  508. <p>
  509. <a href="/david/blog/">Accueil du blog</a> |
  510. <a href="http://blog.ninja-squad.com/2014/09/23/bilan-des-ventes-ebook-angularjs/">Source originale</a> |
  511. <a href="/david/stream/2019/">Accueil du flux</a>
  512. </p>
  513. </nav>
  514. <footer>
  515. <div>
  516. <img src="/static/david/david-larlet-avatar.jpg" loading="lazy" class="avatar" width="200" height="200">
  517. <p>
  518. Bonjour/Hi!
  519. Je suis <a href="/david/" title="Profil public">David&nbsp;Larlet</a>, je vis actuellement à Montréal et j’alimente cet espace depuis 15 ans. <br>
  520. Si tu as apprécié cette lecture, n’hésite pas à poursuivre ton exploration. Par exemple via les <a href="/david/blog/" title="Expériences bienveillantes">réflexions bimestrielles</a>, la <a href="/david/stream/2019/" title="Pensées (dés)articulées">veille hebdomadaire</a> ou en t’abonnant au <a href="/david/log/" title="S’abonner aux publications via RSS">flux RSS</a> (<a href="/david/blog/2019/flux-rss/" title="Tiens c’est quoi un flux RSS ?">so 2005</a>).
  521. </p>
  522. <p>
  523. Je m’intéresse à la place que je peux avoir dans ce monde. En tant qu’humain, en tant que membre d’une famille et en tant qu’associé d’une coopérative. De temps en temps, je fais aussi des <a href="https://github.com/davidbgk" title="Principalement sur Github mais aussi ailleurs">trucs techniques</a>. Et encore plus rarement, <a href="/david/talks/" title="En ce moment je laisse plutôt la place aux autres">j’en parle</a>.
  524. </p>
  525. <p>
  526. Voici quelques articles choisis :
  527. <a href="/david/blog/2019/faire-equipe/" title="Accéder à l’article complet">Faire équipe</a>,
  528. <a href="/david/blog/2018/bivouac-automnal/" title="Accéder à l’article complet">Bivouac automnal</a>,
  529. <a href="/david/blog/2018/commodite-effondrement/" title="Accéder à l’article complet">Commodité et effondrement</a>,
  530. <a href="/david/blog/2017/donnees-communs/" title="Accéder à l’article complet">Des données aux communs</a>,
  531. <a href="/david/blog/2016/accompagner-enfant/" title="Accéder à l’article complet">Accompagner un enfant</a>,
  532. <a href="/david/blog/2016/senior-developer/" title="Accéder à l’article complet">Senior developer</a>,
  533. <a href="/david/blog/2016/illusion-sociale/" title="Accéder à l’article complet">L’illusion sociale</a>,
  534. <a href="/david/blog/2016/instantane-scopyleft/" title="Accéder à l’article complet">Instantané Scopyleft</a>,
  535. <a href="/david/blog/2016/enseigner-web/" title="Accéder à l’article complet">Enseigner le Web</a>,
  536. <a href="/david/blog/2016/simplicite-defaut/" title="Accéder à l’article complet">Simplicité par défaut</a>,
  537. <a href="/david/blog/2016/minimalisme-esthetique/" title="Accéder à l’article complet">Minimalisme et esthétique</a>,
  538. <a href="/david/blog/2014/un-web-omni-present/" title="Accéder à l’article complet">Un web omni-présent</a>,
  539. <a href="/david/blog/2014/manifeste-developpeur/" title="Accéder à l’article complet">Manifeste de développeur</a>,
  540. <a href="/david/blog/2013/confort-convivialite/" title="Accéder à l’article complet">Confort et convivialité</a>,
  541. <a href="/david/blog/2013/testament-numerique/" title="Accéder à l’article complet">Testament numérique</a>,
  542. et <a href="/david/blog/" title="Accéder aux archives">bien d’autres…</a>
  543. </p>
  544. <p>
  545. On peut <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">échanger par courriel</a>. Si éventuellement tu souhaites que l’on travaille ensemble, tu devrais commencer par consulter le <a href="http://larlet.com">profil dédié à mon activité professionnelle</a> et/ou contacter directement <a href="http://scopyleft.fr/">scopyleft</a>, la <abbr title="Société coopérative et participative">SCOP</abbr> dont je fais partie depuis six ans. Je recommande au préalable de lire <a href="/david/blog/2018/cout-site/" title="Attention ce qui va suivre peut vous choquer">combien coûte un site</a> et pourquoi je suis plutôt favorable à une <a href="/david/pro/devis/" title="Discutons-en !">non-demande de devis</a>.
  546. </p>
  547. <p>
  548. Je ne traque pas ta navigation mais mon
  549. <abbr title="Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33.184162340">hébergeur</abbr>
  550. conserve des logs d’accès.
  551. </p>
  552. </div>
  553. </footer>
  554. <script type="text/javascript">
  555. ;(_ => {
  556. const jumper = document.getElementById('jumper')
  557. jumper.addEventListener('click', e => {
  558. e.preventDefault()
  559. const anchor = e.target.getAttribute('href')
  560. const targetEl = document.getElementById(anchor.substring(1))
  561. targetEl.scrollIntoView({behavior: 'smooth'})
  562. })
  563. })()
  564. </script>