# wallabag_entry

title: Corda: Frictionless Commerce
url: https://www.corda.net/
created_at: 2017-08-10 23:20:12
updated_at: 2017-08-10 23:20:12
mimetype: text/html
language: en-US
domain_name: www.corda.net
preview_picture: https://www.corda.net/wp-content/uploads/2017/07/Corda-AWG-image-for-carousel-1-150x150.png
http_status: 200
content:
  <div id="pl-6" class="panel-layout"><div id="pg-6-0" class="panel-grid panel-has-style"><div class="siteorigin-panels-stretch panel-row-style panel-row-style-for-6-0" id="intro"><div id="pgc-6-0-0" class="panel-grid-cell"><div id="panel-6-0-0-0" class="so-panel widget widget_text panel-first-child"><div class="intro-text panel-widget-style panel-widget-style-for-6-0-0-0"><h3 class="widget-title">Corda: Frictionless Commerce</h3> <div class="textwidget"><p>Transform your business ecosystem with Corda: the financial grade distributed ledger that operates in strict privacy in an open, global network.</p>
  </div>
  </div></div><div id="panel-6-0-0-1" class="so-panel widget widget_text"><div class="try-label panel-widget-style panel-widget-style-for-6-0-0-1"> <div class="textwidget">Download the demo app:</div>
  </div></div><div id="panel-6-0-0-2" class="so-panel widget widget_sow-button"><div class="get-button panel-widget-style panel-widget-style-for-6-0-0-2" id="download-button"><div class="so-widget-sow-button so-widget-sow-button-wire-15c8316962cd"><div class="ow-button-base ow-button-align-center">
  <a href="https://downloads.corda.net/CordaDemoBench-0.14.0.exe" class="ow-button-hover">


  For Windows 
  </a>
  </div>
  </div></div></div><div id="panel-6-0-0-3" class="so-panel widget widget_sow-button panel-last-child"><div class="get-button panel-widget-style panel-widget-style-for-6-0-0-3"><div class="so-widget-sow-button so-widget-sow-button-wire-15c8316962cd"><div class="ow-button-base ow-button-align-center">
  <a href="https://downloads.corda.net/CordaDemoBench-0.14.0.dmg" class="ow-button-hover">


  For Mac OS 
  </a>
  </div>
  </div></div></div></div><div id="pgc-6-0-1" class="panel-grid-cell"><div id="panel-6-0-1-0" class="so-panel widget widget_text panel-first-child panel-last-child"><div class="note panel-widget-style panel-widget-style-for-6-0-1-0"> <div class="textwidget"><div class="wonderpluginslider-container" id="wonderpluginslider-container-1"></div>
  </div></div></div></div></div><div id="pg-6-1" class="panel-grid panel-has-style"><div class="siteorigin-panels-stretch panel-row-style panel-row-style-for-6-1"><div id="pgc-6-1-0" class="panel-grid-cell"><div class="resources-cell panel-cell-style panel-cell-style-for-6-1-0"><div id="panel-6-1-0-0" class="so-panel widget widget_list panel-first-child panel-last-child"><div class="panel-widget-style panel-widget-style-for-6-1-0-0"><h3 class="widget-title">Discover</h3>
  <p>Start with a hands-on demo, then read up on the underlying technology.</p>
  </div></div></div></div><div id="pgc-6-1-1" class="panel-grid-cell"><div class="resources-cell panel-cell-style panel-cell-style-for-6-1-1"><div id="panel-6-1-1-0" class="so-panel widget widget_list panel-first-child panel-last-child"><div class="panel-widget-style panel-widget-style-for-6-1-1-0"><h3 class="widget-title">Develop</h3>
  <p>Start building applications on Corda.</p>
  </div></div></div></div><div id="pgc-6-1-2" class="panel-grid-cell"><div class="resources-cell panel-cell-style panel-cell-style-for-6-1-2"><div id="panel-6-1-2-0" class="so-panel widget widget_list panel-first-child panel-last-child"><div class="panel-widget-style panel-widget-style-for-6-1-2-0"><h3 class="widget-title">Deploy</h3>
  <p>Get ready to implement Corda in your organisation.</p>
  </div></div></div></div></div></div><div id="pg-6-2" class="panel-grid panel-has-style"><div class="siteorigin-panels-stretch panel-row-style panel-row-style-for-6-2"><div id="pgc-6-2-0" class="panel-grid-cell"><div class="resources-cell panel-cell-style panel-cell-style-for-6-2-0"><div id="panel-6-2-0-0" class="so-panel widget widget_sow-button panel-first-child panel-last-child"><div class="resources-button panel-widget-style panel-widget-style-for-6-2-0-0"><div class="so-widget-sow-button so-widget-sow-button-atom-3109bb73a62c"><div class="ow-button-base ow-button-align-left">
  <a href="https://www.corda.net/downloads/" class="ow-button-hover">


  Download the demos 
  </a>
  </div>
  </div></div></div></div></div><div id="pgc-6-2-1" class="panel-grid-cell"><div class="resources-cell panel-cell-style panel-cell-style-for-6-2-1"><div id="panel-6-2-1-0" class="so-panel widget widget_sow-button panel-first-child panel-last-child"><div class="resources-button panel-widget-style panel-widget-style-for-6-2-1-0"><div class="so-widget-sow-button so-widget-sow-button-atom-3109bb73a62c"><div class="ow-button-base ow-button-align-left">
  <a href="https://docs.corda.net/hello-world-introduction.html" class="ow-button-hover" target="_blank">


  Write your first CorDapp 
  </a>
  </div>
  </div></div></div></div></div><div id="pgc-6-2-2" class="panel-grid-cell"><div class="resources-cell panel-cell-style panel-cell-style-for-6-2-2"><div id="panel-6-2-2-0" class="so-panel widget widget_sow-button panel-first-child panel-last-child"><div class="resources-button panel-widget-style panel-widget-style-for-6-2-2-0"><div class="so-widget-sow-button so-widget-sow-button-atom-3109bb73a62c"><div class="ow-button-base ow-button-align-left">
  <a href="https://azuremarketplace.microsoft.com/en-us/marketplace/apps/corda.r3corda?tab=Overview" class="ow-button-hover" target="_blank">


  Deploy Corda on Azure 
  </a>
  </div>
  </div></div></div></div></div></div></div><div id="pg-6-3" class="panel-grid panel-has-style"><div class="siteorigin-panels-stretch panel-row-style panel-row-style-for-6-3"><div id="pgc-6-3-0" class="panel-grid-cell"><div class="resources-cell panel-cell-style panel-cell-style-for-6-3-0"><div id="panel-6-3-0-0" class="so-panel widget widget_list panel-first-child panel-last-child"><div class="panel-widget-style panel-widget-style-for-6-3-0-0">
  <ul class="roll-list"><li> <a href="https://docs.corda.net/_static/corda-introductory-whitepaper.pdf">Read the intro white paper</a></li><li> <a href="https://docs.corda.net/key-concepts.html">Read about Corda's key concepts</a></li><li> <a href="https://docs.corda.net/_static/corda-technical-whitepaper.pdf">Read the technical white paper</a></li></ul></div></div></div></div><div id="pgc-6-3-1" class="panel-grid-cell"><div class="resources-cell panel-cell-style panel-cell-style-for-6-3-1"><div id="panel-6-3-1-0" class="so-panel widget widget_list panel-first-child panel-last-child"><div class="panel-widget-style panel-widget-style-for-6-3-1-0">
  <ul class="roll-list"><li> <a href="https://docs.corda.net/tutorial-cordapp.html">Get the sample CorDapp code</a></li><li> <a href="https://docs.corda.net/">Read the developer documentation</a></li><li> <a href="https://www.corda.net/corda-training">Book a training course</a></li></ul></div></div></div></div><div id="pgc-6-3-2" class="panel-grid-cell"><div class="resources-cell panel-cell-style panel-cell-style-for-6-3-2"><div id="panel-6-3-2-0" class="so-panel widget widget_list panel-first-child panel-last-child"><div class="panel-widget-style panel-widget-style-for-6-3-2-0">
  <ul class="roll-list"><li> <a href="https://www.corda.net/support">Get professional support</a></li></ul></div></div></div></div></div></div><div id="pg-6-4" class="panel-grid panel-has-style"><div id="posts" class="panel-row-style panel-row-style-for-6-4"><div id="pgc-6-4-0" class="panel-grid-cell"><div class="resources-cell panel-cell-style panel-cell-style-for-6-4-0"><div id="panel-6-4-0-0" class="so-panel widget widget_category-posts cat-post-widget panel-first-child"><div class="panel-widget-style panel-widget-style-for-6-4-0-0"><h3 class="widget-title"><a href="https://www.corda.net/category/news/">Announcements</a></h3><ul id="category-posts-610015-internal" class="category-posts-internal"><li class="cat-post-item"><a href="https://www.corda.net/2017/08/corda-m14-released/" class="post-title cat-post-title" rel="bookmark">Corda M14 Released</a> <p class="post-date cat-post-date">08/08/2017</p></li><li class="cat-post-item"><a href="https://www.corda.net/2017/07/join-corda-architecture-working-group/" class="post-title cat-post-title" rel="bookmark">Join the Corda Architecture Working Group!</a> <p class="post-date cat-post-date">21/07/2017</p></li><li class="cat-post-item"><a href="https://www.corda.net/2017/06/corda-support-available-soon/" class="post-title cat-post-title" rel="bookmark">Corda Support available soon!</a> <p class="post-date cat-post-date">29/06/2017</p></li><li class="cat-post-item"><a href="https://www.corda.net/2017/06/corda-m13-released/" class="post-title cat-post-title" rel="bookmark">Corda M13 Released</a> <p class="post-date cat-post-date">28/06/2017</p></li><li class="cat-post-item"><a href="https://www.corda.net/2017/06/r3-four-banks-test-euro-commercial-paper-issuance-corda-dlt-platform/" class="post-title cat-post-title" rel="bookmark">R3 and four banks test Euro Commercial Paper issuance on Corda DLT platform</a> <p class="post-date cat-post-date">27/06/2017</p></li></ul></div></div><div id="panel-6-4-0-1" class="so-panel widget widget_category-posts cat-post-widget panel-last-child"><div class="panel-widget-style panel-widget-style-for-6-4-0-1"><h3 class="widget-title"><a href="https://www.corda.net/category/blog/">Blog</a></h3><ul class="category-posts-internal"><li class="cat-post-item"><a href="https://www.corda.net/2017/08/compatibility-and-upgrades/" class="post-title cat-post-title" rel="bookmark">Compatibility and upgrades</a> <p class="post-date cat-post-date">08/08/2017</p><p class="post-author cat-post-author"></p></li><li class="cat-post-item"><a href="https://www.corda.net/2017/08/continuations-and-the-jvm/" class="post-title cat-post-title" rel="bookmark">Continuations and the JVM</a> <p class="post-date cat-post-date">04/08/2017</p><p class="post-author cat-post-author"><a href="https://www.corda.net/author/mike/" title="Posts by Mike Hearn" rel="author">Mike Hearn</a></p></li><li class="cat-post-item"><a href="https://www.corda.net/2017/08/set-corda-support/" class="post-title cat-post-title" rel="bookmark">Why we set up Corda Support</a> <p class="post-date cat-post-date">02/08/2017</p><p class="post-author cat-post-author"><a href="https://www.corda.net/author/jamescarlyle/" title="Posts by James Carlyle" rel="author">James Carlyle</a></p></li><li class="cat-post-item"><a href="https://www.corda.net/2017/08/sgx-corda-film/" class="post-title cat-post-title" rel="bookmark">SGX in Corda, the film</a> <p class="post-date cat-post-date">01/08/2017</p><p class="post-author cat-post-author"><a href="https://www.corda.net/author/mike/" title="Posts by Mike Hearn" rel="author">Mike Hearn</a></p></li><li class="cat-post-item"><a href="https://www.corda.net/2017/06/corda-sgx-privacy-update/" class="post-title cat-post-title" rel="bookmark">Corda and SGX: a privacy update</a> <p class="post-date cat-post-date">22/06/2017</p><p class="post-author cat-post-author"><a href="https://www.corda.net/author/mike/" title="Posts by Mike Hearn" rel="author">Mike Hearn</a></p></li><li class="cat-post-item"><a href="https://www.corda.net/2017/06/corda-sql-nosql/" class="post-title cat-post-title" rel="bookmark">Corda, SQL and NoSQL</a> <p class="post-date cat-post-date">13/06/2017</p><p class="post-author cat-post-author"><a href="https://www.corda.net/author/mike/" title="Posts by Mike Hearn" rel="author">Mike Hearn</a></p></li></ul></div></div></div></div><div id="pgc-6-4-1" class="panel-grid-cell"><div class="resources-cell panel-cell-style panel-cell-style-for-6-4-1" id="getintouch"><div id="panel-6-4-1-0" class="so-panel widget widget_list panel-first-child"><div class="panel-widget-style panel-widget-style-for-6-4-1-0"><h3 class="widget-title">Get in touch</h3>
  <p>Got a Corda conundrum, or ideas to share? Our community is open to all.</p>
  </div></div><div id="panel-6-4-1-1" class="so-panel widget widget_sow-button"><div class="talk-button panel-widget-style panel-widget-style-for-6-4-1-1"><div class="so-widget-sow-button so-widget-sow-button-wire-5ce459318ea6"><div class="ow-button-base ow-button-align-center">
  <a href="https://slack.corda.net" class="ow-button-hover" target="_blank">


  Join our Slack group 
  </a>
  </div>
  </div></div></div><div id="panel-6-4-1-2" class="so-panel widget widget_sow-button"><div class="talk-button panel-widget-style panel-widget-style-for-6-4-1-2"><div class="so-widget-sow-button so-widget-sow-button-wire-5ce459318ea6"><div class="ow-button-base ow-button-align-center">
  <a href="https://stackoverflow.com/questions/tagged/corda" class="ow-button-hover" target="_blank">


  Ask a Corda question 
  </a>
  </div>
  </div></div></div><div id="panel-6-4-1-3" class="so-panel widget widget_sow-button"><div class="talk-button panel-widget-style panel-widget-style-for-6-4-1-3"><div class="so-widget-sow-button so-widget-sow-button-wire-5ce459318ea6"><div class="ow-button-base ow-button-align-center">
  <a href="https://discourse.corda.net" class="ow-button-hover" target="_blank">


  Post in our forum 
  </a>
  </div>
  </div></div></div><div id="panel-6-4-1-4" class="so-panel widget widget_meetup_event_list meetup_event_list panel-last-child"><div class="panel-widget-style panel-widget-style-for-6-4-1-4"><h3 class="widget-title">Upcoming events</h3>  <div class="meetup-widget-event-list"><div class="wpm-date-display group21666792">Aug<br />29</div><div class="widget-meetup-event-list-day"><a href="https://www.meetup.com/London-Corda-Meetup/events/240758143/"><strong>London Corda Meetup</strong> - August London Corda Meetup</a></div></div><div class="clear"><div class="wpm-date-display group21492900">Aug<br />31</div><div class="widget-meetup-event-list-day"><a href="https://www.meetup.com/Seoul-Corda-Meetup/events/242155120/"><strong>Seoul Corda Meetup</strong> - 금융산업의 관점에서 바라본 블록체인/분산원장, 그리고 코다 (Corda)</a></div></div><div class="clear"><div class="wpm-date-display group22404525">Sep<br />7</div><div class="widget-meetup-event-list-day"><a href="https://www.meetup.com/Taipei-Corda-Meetup/events/242402446/"><strong>Taipei Corda Meetup</strong> - 3rd Meetup - Come join us to know what makes Corda different</a></div></div><div class="clear"></div></div></div></div></div></div></div><div id="pg-6-5" class="panel-grid panel-has-style"><div class="siteorigin-panels-stretch panel-row-style panel-row-style-for-6-5"><div id="pgc-6-5-0" class="panel-grid-cell"><div class="resources-cell panel-cell-style panel-cell-style-for-6-5-0"><div id="panel-6-5-0-0" class="so-panel widget widget_list panel-first-child panel-last-child"><div class="panel-widget-style panel-widget-style-for-6-5-0-0"><h3 class="widget-title">Help make Corda better</h3>
  <p>We have ambitious plans for Corda, and welcome input from seasoned developers to help us get there.</p>
  <ul class="roll-list"><li> <a href="https://github.com/corda/corda">Get the Corda core source code</a></li><li> <a href="https://r3-cev.atlassian.net/projects/CDT/issues/CORDA-5?filter=allopenissues">View the current work log</a></li><li> <a href="https://jobs.lever.co/r3.com?team=Platform">Apply for a job at R3</a></li></ul></div></div></div></div></div></div></div></div>


title: phpstan/phpstan
url: https://github.com/phpstan/phpstan
created_at: 2017-08-10 23:20:14
updated_at: 2017-08-10 23:20:14
mimetype: text/html
language: en
domain_name: github.com
preview_picture: https://avatars3.githubusercontent.com/u/16435710?v=4&s=400
http_status: 200
content:
  <h3>
        
        README.md
      </h3><p><a href="https://travis-ci.org/phpstan/phpstan"><img src="https://camo.githubusercontent.com/1e244663e05a833174ccbd8c0fef28d11bfe75f1/68747470733a2f2f7472617669732d63692e6f72672f7068707374616e2f7068707374616e2e737667" alt="Build Status" /></a>
  <a href="https://packagist.org/packages/phpstan/phpstan"><img src="https://camo.githubusercontent.com/872bbe7f2a1a673005856f4e7093ea3047ad25b7/68747470733a2f2f706f7365722e707567782e6f72672f7068707374616e2f7068707374616e2f762f737461626c65" alt="Latest Stable Version" /></a>
  <a href="https://packagist.org/packages/phpstan/phpstan"><img src="https://camo.githubusercontent.com/402aa9b3495518085531d0906802767f251accc9/68747470733a2f2f706f7365722e707567782e6f72672f7068707374616e2f7068707374616e2f6c6963656e7365" alt="License" /></a>
  <a href="https://github.com/phpstan/phpstan"><img src="https://camo.githubusercontent.com/7314d8f36d2bc7052b0f451e8816749270620e87/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d656e61626c65642d627269676874677265656e2e7376673f7374796c653d666c6174" alt="PHPStan" /></a></p>
  <p>PHPStan focuses on finding errors in your code without actually running it. It catches whole classes of bugs
  even before you write tests for the code.</p>
  <p><a href="https://github.com/phpstan/phpstan/blob/master/build/phpstan.gif" target="_blank"><img src="https://github.com/phpstan/phpstan/raw/master/build/phpstan.gif" alt="PHPStan" /></a></p>
  <p>PHPStan moves PHP closer to compiled languages in the sense that the correctness of each line of the code
  can be checked before you run the actual line.</p>
  <p><strong><a href="https://medium.com/@ondrejmirtes/phpstan-2939cd0ad0e3">Read more about PHPStan on Medium.com »</a></strong></p>
  <p><strong><a href="https://phpstan.org/">Try out PHPStan on the on-line playground! »</a></strong></p>
  <h2><a id="user-content-is-phpstan-helping-you-to-avoid-bugs-in-production" class="anchor" href="https://github.com/phpstan/phpstan#is-phpstan-helping-you-to-avoid-bugs-in-production"></a>Is PHPStan helping you to avoid bugs in production?</h2>
  <h2><a id="user-content-consider-supporting-it-on-patreon-so-im-able-to-make-it-even-more-awesome" class="anchor" href="https://github.com/phpstan/phpstan#consider-supporting-it-on-patreon-so-im-able-to-make-it-even-more-awesome"></a>Consider <a href="https://www.patreon.com/phpstan">supporting it on Patreon</a> so I'm able to make it even more awesome!</h2>
  <p>It currently performs the following checks on your code:</p>
  <ul><li>Existence of classes and interfaces in <code>instanceof</code>, <code>catch</code>, typehints, other language constructs and even annotations. PHP does not do this and just stays silent instead.</li>
  <li>Existence of variables while respecting scopes of branches and loops.</li>
  <li>Existence and visibility of called methods and functions.</li>
  <li>Existence and visibility of accessed properties and constants.</li>
  <li>Correct types assigned to properties.</li>
  <li>Correct number and types of parameters passed to constructors, methods and functions.</li>
  <li>Correct types returned from methods and functions.</li>
  <li>Correct number of parameters passed to <code>sprintf</code>/<code>printf</code> calls based on format strings.</li>
  <li>Useless casts like <code>(string) 'foo'</code>.</li>
  <li>Unused constructor parameters - they can either be deleted or the author forgot to
  use them in the class code.</li>
  <li>That only objects are passed to the <code>clone</code> keyword.</li>
  </ul><h2><a id="user-content-extensibility" class="anchor" href="https://github.com/phpstan/phpstan#extensibility"></a>Extensibility</h2>
  <p>Unique feature of PHPStan is the ability to define and statically check "magic" behaviour of classes -
  accessing properties that are not defined in the class but are created in <code>__get</code> and <code>__set</code>
  and invoking methods using <code>__call</code>.</p>
  <p>See <a href="https://github.com/phpstan/phpstan#class-reflection-extensions">Class reflection extensions</a> and <a href="https://github.com/phpstan/phpstan#dynamic-return-type-extensions">Dynamic return type extensions</a>.</p>
  <p>You can also install already created framework-specific extensions:</p>
  <p>Other framework-specific extension will be coming soon!</p>
  <h2><a id="user-content-prerequisites" class="anchor" href="https://github.com/phpstan/phpstan#prerequisites"></a>Prerequisites</h2>
  <p>PHPStan requires PHP &gt;= 7.0. You have to run it in environment with PHP 7.x but the actual code does not have to use
  PHP 7.x features. (Code written for PHP 5.6 and earlier can run on 7.x mostly unmodified.)</p>
  <p>PHPStan works best with modern object-oriented code. The more strongly-typed your code is, the more information
  you give PHPStan to work with.</p>
  <p>Properly annotated and typehinted code (class properties, function and method arguments, return types) helps
  not only static analysis tools but also other people that work with the code to understand it.</p>
  <h2><a id="user-content-installation" class="anchor" href="https://github.com/phpstan/phpstan#installation"></a>Installation</h2>
  <p>To start performing analysis on your code, require PHPStan in <a href="https://getcomposer.org/">Composer</a>:</p>
  <pre>composer require --dev phpstan/phpstan
  </pre>
  <p>Composer will install PHPStan's executable in its <code>bin-dir</code> which defaults to <code>vendor/bin</code>.</p>
  <p>If you have conflicting dependencies or you want to install PHPStan globally, the best way is via a PHAR archive. You will always find the latest stable PHAR archive below the <a href="https://github.com/phpstan/phpstan/releases">release notes</a>. You can also use the <a href="https://packagist.org/packages/phpstan/phpstan-shim">phpstan/phpstan-shim</a> package to install PHPStan via Composer without the risk of conflicting dependencies.</p>
  <p>You can also use <a href="https://github.com/phpstan/docker-image">PHPStan via Docker</a>.</p>
  <h2><a id="user-content-first-run" class="anchor" href="https://github.com/phpstan/phpstan#first-run"></a>First run</h2>
  <p>To let PHPStan analyse your codebase, you have use the <code>analyse</code> command and point it to the right directories.</p>
  <p>So, for example if you have your classes in directories <code>src</code> and <code>tests</code>, you can run PHPStan like this:</p>
  <pre>vendor/bin/phpstan analyse src tests
  </pre>
  <p>PHPStan will probably find some errors, but don't worry, your code might be just fine. Errors found
  on the first run tend to be:</p>
  <ul><li>Extra arguments passed to functions (e. g. function requires two arguments, the code passes three)</li>
  <li>Extra arguments passed to print/sprintf functions (e. g. format string contains one placeholder, the code passes two values to replace)</li>
  <li>Obvious errors in dead code</li>
  <li>Magic behaviour that needs to be defined. See <a href="https://github.com/phpstan/phpstan#extensibility">Extensibility</a>.</li>
  </ul><p>After fixing the obvious mistakes in the code, look to the following section
  for all the configuration options that will bring the number of reported errors to zero
  making PHPStan suitable to run as part of your continuous integration script.</p>
  <h2><a id="user-content-rule-levels" class="anchor" href="https://github.com/phpstan/phpstan#rule-levels"></a>Rule levels</h2>
  <p>Rule levels. If you want to use PHPStan but your codebase isn't up to speed with strong typing
  and PHPStan's strict checks, you can choose from currently 8 levels
  (0 is the loosest and 7 is the strictest) by passing <code>--level</code> to <code>analyse</code> command. Default level is <code>0</code>.</p>
  <p>This feature enables incremental adoption of PHPStan checks. You can start using PHPStan
  with a lower rule level and increase it when you feel like it.</p>
  <h2><a id="user-content-configuration" class="anchor" href="https://github.com/phpstan/phpstan#configuration"></a>Configuration</h2>
  <p>Config file is passed to the <code>phpstan</code> executable with <code>-c</code> option:</p>
  <pre>vendor/bin/phpstan analyse -l 4 -c phpstan.neon src tests
  </pre>
  <p>When using a custom project config file, you have to pass the <code>--level</code> (<code>-l</code>)
  option to <code>analyse</code> command (default value does not apply here).</p>
  <p><a href="https://ne-on.org/">NEON file format</a> is very similar to YAML.
  All the following options are part of the <code>parameters</code> section.</p>
  <h3><a id="user-content-autoloading" class="anchor" href="https://github.com/phpstan/phpstan#autoloading"></a>Autoloading</h3>
  <p>PHPStan uses Composer autoloader so the easiest way how to autoload classes
  is through the <code>autoload</code>/<code>autoload-dev</code> sections in composer.json.</p>
  <h4><a id="user-content-specify-paths-to-scan" class="anchor" href="https://github.com/phpstan/phpstan#specify-paths-to-scan"></a>Specify paths to scan</h4>
  <p>If PHPStan complains about some non-existent classes and you're sure the classes
  exist in the codebase AND you don't want to use Composer autoloader for some reason,
  you can specify directories to scan and concrete files to include using
  <code>autoload_directories</code> and <code>autoload_files</code> array parameters:</p>
  <pre>parameters:
  	autoload_directories:
  		- %rootDir%/../../../build
  	autoload_files:
  		- %rootDir%/../../../generated/routes/GeneratedRouteList.php
  </pre>
  <p><code>%rootDir%</code> is expanded to the root directory where PHPStan resides.</p>
  <h4><a id="user-content-autoloading-for-global-installation" class="anchor" href="https://github.com/phpstan/phpstan#autoloading-for-global-installation"></a>Autoloading for global installation</h4>
  <p>PHPStan supports global installation using <a href="https://getcomposer.org/doc/03-cli.md#global"><code>composer global</code></a> or via a <a href="https://github.com/phpstan/phpstan#installation">PHAR archive</a>.
  In this case, it's not part of the project autoloader, but it supports autodiscovery of the Composer autoloader
  from current working directory residing in <code>vendor/</code>:</p>
  <div class="highlight highlight-source-shell"><pre>cd /path/to/project
  phpstan analyse src tests # looks for autoloader at /path/to/project/vendor/autoload.php</pre></div>
  <p>If you have your dependencies installed at a different path
  or you're running PHPStan from a different directory,
  you can specify the path to the autoloader with the <code>--autoload-file|-a</code> option:</p>
  <div class="highlight highlight-source-shell"><pre>phpstan analyse --autoload-file=/path/to/autoload.php src tests</pre></div>
  <h3><a id="user-content-exclude-files-from-analysis" class="anchor" href="https://github.com/phpstan/phpstan#exclude-files-from-analysis"></a>Exclude files from analysis</h3>
  <p>If your codebase contains some files that are broken on purpose
  (e. g. to test behaviour of your application on files with invalid PHP code),
  you can exclude them using the <code>excludes_analyse</code> array parameter. String at each line
  is used as a pattern for the <a href="https://secure.php.net/manual/en/function.fnmatch.php"><code>fnmatch</code></a> function.</p>
  <pre>parameters:
  	excludes_analyse:
  		- %rootDir%/../../../tests/*/data/*
  </pre>
  <h3><a id="user-content-include-custom-extensions" class="anchor" href="https://github.com/phpstan/phpstan#include-custom-extensions"></a>Include custom extensions</h3>
  <p>If your codebase contains php files with extensions other than the standard .php extension then you can add them
  to the <code>fileExtensions</code> array parameter:</p>
  <pre>parameters:
  	fileExtensions:
  		- php
  		- module
  		- inc
  </pre>
  <h3><a id="user-content-universal-object-crates" class="anchor" href="https://github.com/phpstan/phpstan#universal-object-crates"></a>Universal object crates</h3>
  <p>Classes without predefined structure are common in PHP applications.
  They are used as universal holders of data - any property can be set and read on them. Notable examples
  include <code>stdClass</code>, <code>SimpleXMLElement</code> (these are enabled by default), objects with results of database queries etc.
  Use <code>universalObjectCratesClasses</code> array parameter to let PHPStan know which classes
  with these characteristics are used in your codebase:</p>
  <pre>parameters:
  	universalObjectCratesClasses:
  		- Dibi\Row
  		- Ratchet\ConnectionInterface
  </pre>
  <h3><a id="user-content-add-non-obviously-assigned-variables-to-scope" class="anchor" href="https://github.com/phpstan/phpstan#add-non-obviously-assigned-variables-to-scope"></a>Add non-obviously assigned variables to scope</h3>
  <p>If you use the initial assignment variable after for-loop or while-loop, set <code>polluteScopeWithLoopInitialAssignments</code> boolean parameter to <code>true</code>.</p>
  <div class="highlight highlight-text-html-php"><pre>for ($i = 0; $i &lt; count($list); $i++) {
  	// ...
  }
  echo $i;</pre></div>
  <p>If you use some variables from a try block in your catch blocks, set <code>polluteCatchScopeWithTryAssignments</code> boolean parameter to <code>true</code>.</p>
  <div class="highlight highlight-text-html-php"><pre>try {
  	$author = $this-&gt;getLoggedInUser();
  	$post = $this-&gt;postRepository-&gt;getById($id);
  } catch (PostNotFoundException $e) {
  	// $author is probably defined here
  	throw new ArticleByAuthorCannotBePublished($author);
  }</pre></div>
  <p>If you are enumerating over all possible situations in if-elseif branches
  and PHPStan complains about undefined variables after the conditions, you can write
  an else branch with throwing an exception:</p>
  <div class="highlight highlight-text-html-php"><pre>if (somethingIsTrue()) {
  	$foo = true;
  } elseif (orSomethingElseIsTrue()) {
  	$foo = false;
  } else {
  	throw new ShouldNotHappenException();
  }
  doFoo($foo);</pre></div>
  <p>I recommend leaving <code>polluteScopeWithLoopInitialAssignments</code> and <code>polluteCatchScopeWithTryAssignments</code> set to <code>false</code> because it leads to a clearer and more maintainable code.</p>
  <h3><a id="user-content-custom-early-terminating-method-calls" class="anchor" href="https://github.com/phpstan/phpstan#custom-early-terminating-method-calls"></a>Custom early terminating method calls</h3>
  <p>Previous example showed that if a condition branches end with throwing an exception, that branch does not have
  to define a variable used after the condition branches end.</p>
  <p>But exceptions are not the only way how to terminate execution of a method early. Some specific method calls
  can be perceived by project developers also as early terminating - like a <code>redirect()</code> that stops execution
  by throwing an internal exception.</p>
  <div class="highlight highlight-text-html-php"><pre>if (somethingIsTrue()) {
  	$foo = true;
  } elseif (orSomethingElseIsTrue()) {
  	$foo = false;
  } else {
  	$this-&gt;redirect('homepage');
  }
  doFoo($foo);</pre></div>
  <p>These methods can be configured by specifying a class on whose instance they are called like this:</p>
  <pre>parameters:
  	earlyTerminatingMethodCalls:
  		Nette\Application\UI\Presenter:
  			- redirect
  			- redirectUrl
  			- sendJson
  			- sendResponse
  </pre>
  <h3><a id="user-content-ignore-error-messages-with-regular-expresions" class="anchor" href="https://github.com/phpstan/phpstan#ignore-error-messages-with-regular-expresions"></a>Ignore error messages with regular expresions</h3>
  <p>If some issue in your code base is not easy to fix or just simply want to deal with it later,
  you can exclude error messages from the analysis result with regular expressions:</p>
  <pre>parameters:
  	ignoreErrors:
  		- '#Call to an undefined method [a-zA-Z0-9\\_]+::method\(\)#'
  		- '#Call to an undefined method [a-zA-Z0-9\\_]+::expects\(\)#'
  		- '#Access to an undefined property PHPUnit_Framework_MockObject_MockObject::\$[a-zA-Z0-9_]+#'
  		- '#Call to an undefined method PHPUnit_Framework_MockObject_MockObject::[a-zA-Z0-9_]+\(\)#'
  </pre>
  <p>If some of the patterns do not occur in the result anymore, PHPStan will let you know
  and you will have to remove the pattern from the configuration. You can turn off
  this behaviour by setting <code>reportUnmatchedIgnoredErrors</code> to <code>false</code> in PHPStan configuration.</p>
  <h3><a id="user-content-bootstrap-file" class="anchor" href="https://github.com/phpstan/phpstan#bootstrap-file"></a>Bootstrap file</h3>
  <p>If you need to initialize something in PHP runtime before PHPStan runs (like your own autoloader),
  you can provide your own bootstrap file:</p>
  <pre>parameters:
  	bootstrap: %rootDir%/../../../phpstan-bootstrap.php
  </pre>
  <h3><a id="user-content-custom-rules" class="anchor" href="https://github.com/phpstan/phpstan#custom-rules"></a>Custom rules</h3>
  <p>PHPStan allows writing custom rules to check for specific situations in your own codebase. Your rule class
  needs to implement the <code>PHPStan\Rules\Rule</code> interface and registered as a service in the configuration file:</p>
  <pre>services:
  	-
  		class: MyApp\PHPStan\Rules\DefaultValueTypesAssignedToPropertiesRule
  		tags:
  			- phpstan.rules.rule
  </pre>
  <p>For inspiration on how to implement a rule turn to <a href="https://github.com/phpstan/phpstan/tree/master/src/Rules">src/Rules</a>
  to see a lot of built-in rules.</p>
  <h3><a id="user-content-custom-error-formatters" class="anchor" href="https://github.com/phpstan/phpstan#custom-error-formatters"></a>Custom error formatters</h3>
  <p>By default, PHPStan outputs found errors into tables grouped by files to be easily human-readable. To change the output, you can use the <code>--errorFormat</code> CLI option. There's an additional built-in <code>raw</code> format with one-per-line errors intended for easy parsing. You can also create your own error formatter by implementing the <code>PHPStan\Command\ErrorFormatter\ErrorFormatter</code> interface:</p>
  <div class="highlight highlight-text-html-php"><pre>interface ErrorFormatter
  {
  	/**
  	 * Formats the errors and outputs them to the console.
  	 *
  	 * @param \PHPStan\Command\AnalysisResult $analysisResult
  	 * @param \Symfony\Component\Console\Style\OutputStyle $style
  	 * @return int Error code.
  	 */
  	public function formatErrors(
  		AnalysisResult $analysisResult,
  		\Symfony\Component\Console\Style\OutputStyle $style
  	): int;
  }</pre></div>
  <p>Register the formatter in your <code>phpstan.neon</code>:</p>
  <pre>errorFormatter.awesome:
  	class: App\PHPStan\AwesomeErrorFormatter
  </pre>
  <p>Use the name part after <code>errorFormatter.</code> as the CLI option value:</p>
  <pre>vendor/bin/phpstan analyse -c phpstan.neon -l 4 --errorFormat awesome src tests
  </pre>
  <h2><a id="user-content-class-reflection-extensions" class="anchor" href="https://github.com/phpstan/phpstan#class-reflection-extensions"></a>Class reflection extensions</h2>
  <p>Classes in PHP can expose "magical" properties and methods decided in run-time using
  class methods like <code>__get</code>, <code>__set</code> and <code>__call</code>. Because PHPStan is all about static analysis
  (testing code for errors without running it), it has to know about those properties and methods beforehand.</p>
  <p>When PHPStan stumbles upon a property or a method that is unknown to built-in class reflection, it iterates
  over all registered class reflection extensions until it finds one that defines the property or method.</p>
  <p>Class reflection extension cannot have <code>PHPStan\Broker\Broker</code> (service for obtaining class reflections) injected in the constructor due to circular reference issue, but the extensions can implement <code>PHPStan\Reflection\BrokerAwareClassReflectionExtension</code> interface to obtain Broker via a setter.</p>
  <h3><a id="user-content-properties-class-reflection-extensions" class="anchor" href="https://github.com/phpstan/phpstan#properties-class-reflection-extensions"></a>Properties class reflection extensions</h3>
  <p>This extension type must implement the following interface:</p>
  <div class="highlight highlight-text-html-php"><pre>namespace PHPStan\Reflection;
  interface PropertiesClassReflectionExtension
  {
  	public function hasProperty(ClassReflection $classReflection, string $propertyName): bool;
  	public function getProperty(ClassReflection $classReflection, string $propertyName): PropertyReflection;
  }</pre></div>
  <p>Most likely you will also have to implement a new <code>PropertyReflection</code> class:</p>
  <div class="highlight highlight-text-html-php"><pre>namespace PHPStan\Reflection;
  interface PropertyReflection
  {
  	public function getType(): Type;
  	
  	public function getDeclaringClass(): ClassReflection;
  	public function isStatic(): bool;
  	public function isPrivate(): bool;
  	public function isPublic(): bool;
  }</pre></div>
  <p>This is how you register the extension in project's PHPStan config file:</p>
  <pre>services:
  	-
  		class: App\PHPStan\PropertiesFromAnnotationsClassReflectionExtension
  		tags:
  			- phpstan.broker.propertiesClassReflectionExtension
  </pre>
  <h3><a id="user-content-methods-class-reflection-extensions" class="anchor" href="https://github.com/phpstan/phpstan#methods-class-reflection-extensions"></a>Methods class reflection extensions</h3>
  <p>This extension type must implement the following interface:</p>
  <div class="highlight highlight-text-html-php"><pre>namespace PHPStan\Reflection;
  interface MethodsClassReflectionExtension
  {
  	public function hasMethod(ClassReflection $classReflection, string $methodName): bool;
  	public function getMethod(ClassReflection $classReflection, string $methodName): MethodReflection;
  }</pre></div>
  <p>Most likely you will also have to implement a new <code>MethodReflection</code> class:</p>
  <div class="highlight highlight-text-html-php"><pre>namespace PHPStan\Reflection;
  interface MethodReflection
  {
  	public function getDeclaringClass(): ClassReflection;
  	public function getPrototype(): self;
  	public function isStatic(): bool;
  	public function isPrivate(): bool;
  	public function isPublic(): bool;
  	
  	public function getName(): string;
  	/**
  	 * @return \PHPStan\Reflection\ParameterReflection[]
  	 */
  	public function getParameters(): array;
  	public function isVariadic(): bool;
  	public function getReturnType(): Type;
  }</pre></div>
  <p>This is how you register the extension in project's PHPStan config file:</p>
  <pre>services:
  	-
  		class: App\PHPStan\EnumMethodsClassReflectionExtension
  		tags:
  			- phpstan.broker.methodsClassReflectionExtension
  </pre>
  <h2><a id="user-content-dynamic-return-type-extensions" class="anchor" href="https://github.com/phpstan/phpstan#dynamic-return-type-extensions"></a>Dynamic return type extensions</h2>
  <p>If the return type of a method is not always the same, but depends on an argument passed to the method,
  you can specify the return type by writing and registering an extension.</p>
  <p>Because you have to write the code with the type-resolving logic, it can be as complex as you want.</p>
  <p>After writing the sample extension, the variable <code>$mergedArticle</code> will have the correct type:</p>
  <div class="highlight highlight-text-html-php"><pre>$mergedArticle = $this-&gt;entityManager-&gt;merge($article);
  // $mergedArticle will have the same type as $article</pre></div>
  <p>This is the interface for dynamic return type extension:</p>
  <div class="highlight highlight-text-html-php"><pre>namespace PHPStan\Type;
  use PhpParser\Node\Expr\MethodCall;
  use PHPStan\Analyser\Scope;
  use PHPStan\Reflection\MethodReflection;
  interface DynamicMethodReturnTypeExtension
  {
  	public static function getClass(): string;
  	public function isMethodSupported(MethodReflection $methodReflection): bool;
  	public function getTypeFromMethodCall(MethodReflection $methodReflection, MethodCall $methodCall, Scope $scope): Type;
  }</pre></div>
  <p>And this is how you'd write the extension that correctly resolves the EntityManager::merge() return type:</p>
  <div class="highlight highlight-text-html-php"><pre>public static function getClass(): string
  {
  	return \Doctrine\ORM\EntityManager::class;
  }
  public function isMethodSupported(MethodReflection $methodReflection): bool
  {
  	return $methodReflection-&gt;getName() === 'merge';
  }
  public function getTypeFromMethodCall(MethodReflection $methodReflection, MethodCall $methodCall, Scope $scope): Type
  {
  	if (count($methodCall-&gt;args) === 0) {
  		return $methodReflection-&gt;getReturnType();
  	}
  	$arg = $methodCall-&gt;args[0]-&gt;value;
  	$type = $scope-&gt;getType($arg);
  	if ($type-&gt;getClass() !== null) {
  		return $type;
  	}
  	return $methodReflection-&gt;getReturnType();
  }</pre></div>
  <p>And finally, register the extension to PHPStan in the project's config file:</p>
  <pre>services:
  	-
  		class: App\PHPStan\EntityManagerDynamicReturnTypeExtension
  		tags:
  			- phpstan.broker.dynamicMethodReturnTypeExtension
  </pre>
  <p>There's also an analogous functionality for static methods using <code>DynamicStaticMethodReturnTypeExtension</code> interface
  and <code>phpstan.broker.dynamicStaticMethodReturnTypeExtension</code> service tag.</p>
  <h2><a id="user-content-known-issues" class="anchor" href="https://github.com/phpstan/phpstan#known-issues"></a>Known issues</h2>
  <ul><li>If <code>include</code> or <code>require</code> are used in the analysed code (instead of <code>include_once</code> or <code>require_once</code>),
  PHPStan will throw <code>Cannot redeclare class</code> error. Use the <code>_once</code> variants to avoid this error.</li>
  <li>If PHPStan crashes without outputting any error, it's quite possible that it's
  because of a low memory limit set on your system. <strong>Run PHPStan again</strong> to read a couple of hints
  what you can do to prevent the crashes.</li>
  </ul><h2><a id="user-content-code-of-conduct" class="anchor" href="https://github.com/phpstan/phpstan#code-of-conduct"></a>Code of Conduct</h2>
  <p>This project adheres to a <a href="https://github.com/phpstan/phpstan/blob/master/CODE_OF_CONDUCT.md">Contributor Code of Conduct</a>. By participating in this project and its community, you are expected to uphold this code.</p>
  <h2><a id="user-content-contributing" class="anchor" href="https://github.com/phpstan/phpstan#contributing"></a>Contributing</h2>
  <p>Any contributions are welcome.</p>
  <h3><a id="user-content-building" class="anchor" href="https://github.com/phpstan/phpstan#building"></a>Building</h3>
  <p>You can either run the whole build including linting and coding standards using</p>
  <p><code>vendor/bin/phing</code></p>
  <p>or run only tests using</p>
  <p><code>vendor/bin/phing tests</code></p>


title: pubkey/rxdb
url: https://github.com/pubkey/rxdb
created_at: 2017-08-10 23:20:16
updated_at: 2017-08-10 23:20:16
mimetype: text/html
language: en
domain_name: github.com
preview_picture: https://avatars1.githubusercontent.com/u/8926560?v=4&s=400
http_status: 200
content:
  <h3>
        
        README.md
      </h3>
        <p style="text-align: center;">
    <a href="https://github.com/pubkey/rxdb">
      <img src="https://camo.githubusercontent.com/d37d727a62777a47be1064948a80ca04cec71f50/68747470733a2f2f63646e2e7261776769742e636f6d2f7075626b65792f727864622f62613763396238302f646f63732f66696c65732f6c6f676f2f6c6f676f5f746578742e737667" width="400px" alt="image" /></a>
  </p>
  <p style="text-align: center;">
    Reactive, serverless, client-side, offline-first database in javascript.
  </p>
  <p style="text-align: center;">
    <b><a href="https://pubkey.github.io/rxdb/">Documentation</a> | <a href="https://github.com/pubkey/rxdb/blob/master/examples">Code Examples</a> | <a href="https://www.webpackbin.com/bins/-KmqQee22Trs1bs1ZFsW">Live Demo</a></b>
  </p>
  <p style="text-align: center;">
    <a href="https://gitter.im/pubkey/rxdb">
      <img src="https://camo.githubusercontent.com/00adba2c288d5afed8b1310679b56639fb127e70/68747470733a2f2f63646e2e7261776769742e636f6d2f7075626b65792f727864622f6d61737465722f646f63732d7372632f66696c65732f6769747465722e737667" alt="image" /></a>
    <a href="https://twitter.com/rxdbjs">
      <img src="https://camo.githubusercontent.com/e5e95e0ac88107f7282a580644c7a3293df3b303/68747470733a2f2f63646e2e7261776769742e636f6d2f7075626b65792f727864622f34653764643138662f646f63732f66696c65732f747769747465725f666f6c6c6f772e706e67" width="111px" alt="image" /></a>
  </p>
  <br /><hr /><h2><a id="user-content-features" class="anchor" href="https://github.com/pubkey/rxdb#features"></a>Features</h2>
  <ul><li><strong>Multiplatform support</strong> for browsers, nodejs, electron, cordova, react-native and every other javascript-runtime</li>
  <li><strong>Reactive</strong> data-handling based on <a href="https://github.com/ReactiveX/rxjs">rxjs</a></li>
  <li><strong>Replication</strong> between client and server-data, compatible with <a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/icons/pouchdb.png" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/icons/pouchdb.png" alt="pouchdb" /></a>PouchDB, <a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/icons/couchdb.png" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/icons/couchdb.png" alt="couchdb" /></a>CouchDB and <a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/icons/cloudant.png" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/icons/cloudant.png" alt="cloudant" /></a>IBM Cloudant</li>
  <li><strong>Schema-based</strong> with the easy-to-learn standard of <a href="http://json-schema.org/">jsonschema</a></li>
  <li><strong>Mango-Query</strong> exactly like you know from mongoDB and mongoose</li>
  <li><strong>Encryption</strong> of single data-fields to protect your users data</li>
  <li><strong>Import/Export</strong> of the database-state (json), awesome for coding with <a href="https://en.wikipedia.org/wiki/Test-driven_development">TDD</a></li>
  <li><strong>Multi-Window</strong> to synchronise data between different browser-windows or nodejs-processes</li>
  <li><strong>ORM-capabilities</strong> to easily handle data-code-relations</li>
  </ul><h2><a id="user-content-platform-support" class="anchor" href="https://github.com/pubkey/rxdb#platform-support"></a>Platform-support</h2>
  <p>RxDB is made so that you can use <strong>exactly the same code</strong> at</p>
  <ul><li><a href="https://camo.githubusercontent.com/0e204ded70e0e9306eb2d5d225f11b936c6e2121/68747470733a2f2f63646e6a732e636c6f7564666c6172652e636f6d2f616a61782f6c6962732f62726f777365722d6c6f676f732f33392e322e322f6368726f6d652f6368726f6d655f32347832342e706e67" target="_blank"><img src="https://camo.githubusercontent.com/0e204ded70e0e9306eb2d5d225f11b936c6e2121/68747470733a2f2f63646e6a732e636c6f7564666c6172652e636f6d2f616a61782f6c6962732f62726f777365722d6c6f676f732f33392e322e322f6368726f6d652f6368726f6d655f32347832342e706e67" alt="Chrome" /></a>
  <a href="https://camo.githubusercontent.com/966cd45aec41b3f87e8dec2f25eaeef609385d76/68747470733a2f2f63646e6a732e636c6f7564666c6172652e636f6d2f616a61782f6c6962732f62726f777365722d6c6f676f732f33392e322e322f66697265666f782f66697265666f785f32347832342e706e67" target="_blank"><img src="https://camo.githubusercontent.com/966cd45aec41b3f87e8dec2f25eaeef609385d76/68747470733a2f2f63646e6a732e636c6f7564666c6172652e636f6d2f616a61782f6c6962732f62726f777365722d6c6f676f732f33392e322e322f66697265666f782f66697265666f785f32347832342e706e67" alt="Firefox" /></a>
  <a href="https://camo.githubusercontent.com/e98db79b741aa92674cfd87f03201cdd46cb06f1/68747470733a2f2f63646e6a732e636c6f7564666c6172652e636f6d2f616a61782f6c6962732f62726f777365722d6c6f676f732f33392e322e322f7361666172692f7361666172695f32347832342e706e67" target="_blank"><img src="https://camo.githubusercontent.com/e98db79b741aa92674cfd87f03201cdd46cb06f1/68747470733a2f2f63646e6a732e636c6f7564666c6172652e636f6d2f616a61782f6c6962732f62726f777365722d6c6f676f732f33392e322e322f7361666172692f7361666172695f32347832342e706e67" alt="Safari" /></a>
  <a href="https://camo.githubusercontent.com/ecf999e72d74bfe390c42ab6322f3e682cdd935b/68747470733a2f2f63646e6a732e636c6f7564666c6172652e636f6d2f616a61782f6c6962732f62726f777365722d6c6f676f732f33392e322e322f656467652f656467655f32347832342e706e67" target="_blank"><img src="https://camo.githubusercontent.com/ecf999e72d74bfe390c42ab6322f3e682cdd935b/68747470733a2f2f63646e6a732e636c6f7564666c6172652e636f6d2f616a61782f6c6962732f62726f777365722d6c6f676f732f33392e322e322f656467652f656467655f32347832342e706e67" alt="Edge" /></a>
  <a href="https://camo.githubusercontent.com/51a3813222a6343c3e5e40c8e0a07cabdebe8e24/68747470733a2f2f63646e6a732e636c6f7564666c6172652e636f6d2f616a61782f6c6962732f62726f777365722d6c6f676f732f33392e322e322f617263686976652f696e7465726e65742d6578706c6f7265725f392d31312f696e7465726e65742d6578706c6f7265725f392d31315f32347832342e706e67" target="_blank"><img src="https://camo.githubusercontent.com/51a3813222a6343c3e5e40c8e0a07cabdebe8e24/68747470733a2f2f63646e6a732e636c6f7564666c6172652e636f6d2f616a61782f6c6962732f62726f777365722d6c6f676f732f33392e322e322f617263686976652f696e7465726e65742d6578706c6f7265725f392d31312f696e7465726e65742d6578706c6f7265725f392d31315f32347832342e706e67" alt="Internet Explorer 11" /></a> browsers</li>
  <li><a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/icons/nodejs.png" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/icons/nodejs.png" alt="NodeJS" /></a> NodeJS</li>
  <li><a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/icons/electron.png" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/icons/electron.png" alt="electron" /></a> Electron</li>
  <li><a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/icons/react-native.png" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/icons/react-native.png" alt="react-native" /></a> React-Native</li>
  <li><a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/icons/cordova.png" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/icons/cordova.png" alt="cordova" /></a> Cordova/Phonegap</li>
  <li><a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/icons/nativescript.png" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/icons/nativescript.png" alt="nativescript" /></a> Nativescript</li>
  </ul><p>We optimized, double-checked and made boilerplates so you can directly start to use RxDB with frameworks like</p>
  <ul><li><a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/icons/react.png" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/icons/react.png" alt="react" /></a> react</li>
  <li><a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/icons/angular.png" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/icons/angular.png" alt="angular" /></a> angular/ng2</li>
  <li><a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/icons/ionic.png" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/icons/ionic.png" alt="ionic" /></a> ionic2</li>
  <li><a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/icons/vuejs.png" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/icons/vuejs.png" alt="vuejs" /></a> vuejs</li>
  </ul><h2><a id="user-content-quickstart" class="anchor" href="https://github.com/pubkey/rxdb#quickstart"></a>Quickstart</h2>
  <h3><a id="user-content-installation" class="anchor" href="https://github.com/pubkey/rxdb#installation"></a>Installation:</h3>
  <div class="highlight highlight-source-shell"><pre>npm install rxdb --save
  # peerDependencies
  npm install rxjs babel-polyfill --save</pre></div>
  <h3><a id="user-content-import" class="anchor" href="https://github.com/pubkey/rxdb#import"></a>Import:</h3>
  ES7<div class="highlight highlight-source-js"><pre>import 'babel-polyfill'; // only needed when you dont have polyfills
  import RxDB from 'rxdb';
  const db = await RxDB.create({
      name: 'heroesdb',
      adapter: 'websql',
      password: 'myLongAndStupidPassword', // optional
      multiInstance: true                  // default: true
    });                                                       // create database
  await db.collection({name: 'heroes', schema: mySchema});    // create collection
  db.heroes.insert({ name: 'Bob' });                          // insert document</pre></div>
  ES5<div class="highlight highlight-source-js"><pre>require('babel-polyfill'); // only needed when you dont have polyfills
  var RxDB = require('rxdb');
  RxDB.create({
      name: 'heroesdb',
      adapter: 'websql',
      password: 'myLongAndStupidPassword', // optional
      multiInstance: true                  // default: true
    })                                                                              // create database
    .then(function(db) {return db.collection({name: 'heroes', schema: mySchema});}) // create collection
    .then(function(collection) {collection.insert({name: 'Bob'});})                 // insert document</pre></div>
  <h2><a id="user-content-feature-showroom-click-to-toggle" class="anchor" href="https://github.com/pubkey/rxdb#feature-showroom-click-to-toggle"></a>Feature-Showroom (click to toggle)</h2>
  <b>Mango-Query</b>
    <p>To find data in your collection, <a href="https://github.com/aheckmann/mquery">use the mquery api</a> to create chained mango-queries, which you maybe know from <strong>mongoDB</strong> or <strong>mongoose</strong>.</p>
    
  <div class="highlight highlight-source-js"><pre>myCollection
    .find()
    .where('name').ne('Alice')
    .where('age').gt(18).lt(67)
    .limit(10)
    .sort('-age')
    .exec().then( docs =&gt; {
      console.dir(docs);
    });</pre></div>
  <b>Reactive</b>
    <p>RxDB implements <a href="https://github.com/ReactiveX/rxjs">rxjs</a> to make your data reactive.
  This makes it easy to always show the real-time database-state in the dom without manually re-submitting your queries.</p>
  <div class="highlight highlight-source-js"><pre>db.heroes
    .find()
    .sort('name')
    .$ // &lt;- returns observable of query
    .subscribe( docs =&gt; {
      myDomElement.innerHTML = docs
        .map(doc =&gt; '&lt;li&gt;' + doc.name + '&lt;/li&gt;')
        .join();
    });</pre></div>
  <p><a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/reactive.gif" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/reactive.gif" alt="reactive.gif" /></a></p>
  <b>MultiWindow/Tab</b>
    <p>When two instances of RxDB use the same storage-engine, their state and action-stream will be broadcasted.
  This means with two browser-windows the change of window #1 will automatically affect window #2. This works completely serverless.</p>
  <p><a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/multiwindow.gif" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/multiwindow.gif" alt="multiwindow.gif" /></a></p>
  <b>Replication</b>
    <p>Because RxDB relies on glorious <a href="https://github.com/pouchdb/pouchdb">PouchDB</a>, it is easy to replicate
  the data between devices and servers. And yes, the changeEvents are also synced.</p>
  <p><a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/sync.gif" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/sync.gif" alt="sync.gif" /></a></p>
  <b>Schema</b>
    <p>Schemas are defined via <a href="http://json-schema.org/">jsonschema</a> and are used to describe your data.</p>
  <div class="highlight highlight-source-js"><pre>const mySchema = {
      title: "hero schema",
      version: 0,                 // &lt;- incremental version-number
      description: "describes a simple hero",
      type: "object",
      properties: {
          name: {
              type: "string",
              primary: true       // &lt;- this means: unique, required, string and will be used as '_id'
          },
          secret: {
              type: "string",
              encrypted: true     // &lt;- this means that the value of this field is stored encrypted
          },
          skills: {
              type: "array",
              maxItems: 5,
              uniqueItems: true,
              item: {
                  type: "object",
                  properties: {
                      name: {
                          type: "string"
                      },
                      damage: {
                          type: "number"
                      }
                  }
              }
          }
      },
      required: ["color"]
  };</pre></div>
  <b>Encryption</b>
    <p>By setting a schema-field to <code>encrypted: true</code>, the value of this field will be stored in encryption-mode and can't be read without the password. Of course you can also encrypt nested objects. Example:</p>
  <div class="highlight highlight-source-json"><pre>"secret": {
    "type": "string",
    "encrypted": true
  }</pre></div>
  <b>Level-adapters</b>
    <p>The underlaying pouchdb can use different <a href="https://pouchdb.com/adapters.html">adapters</a> as storage engine. So you can use RxDB in different environments by just switching the adapter.
  For example you can use websql in the browser, localstorage in mobile-browsers and a leveldown-adapter in nodejs.</p>
  <div class="highlight highlight-source-js"><pre>// this requires the localstorage-adapter
  RxDB.plugin(require('rxdb-adapter-localstorage'));
  // this creates a database with the localstorage-adapter
  const db = await RxDB.create('heroesDB', 'localstorage');</pre></div>
  <p>Some adapters you can use:</p>
  <b>Import / Export</b>
    <p>RxDB lets you import and export the whole database or single collections into json-objects. This is helpful to trace bugs in your application or to move to a given state in your tests.</p>
  <div class="highlight highlight-source-js"><pre>// export a single collection
  const jsonCol = await myCollection.dump();
  // export the whole database
  const jsonDB = await myDatabase.dump();
  // import the dump to the collection
  await emptyCollection.importDump(json);
  // import the dump to the database
  await emptyDatabase.importDump(json);</pre></div>
  <b>Leader-Election</b>
    <p>Imagine your website needs to get a piece of data from the server once every minute. To accomplish this task
  you create a websocket or pull-interval. If your user now opens the site in 5 tabs parallel, it will run the interval
  or create the socket 5 times. This is a waste of resources which can be solved by RxDB's LeaderElection.</p>
  <div class="highlight highlight-source-js"><pre>myRxDatabase.waitForLeadership()
    .then(() =&gt; {
        // this will only run when the instance becomes leader.
        mySocket = createWebSocket();
    });</pre></div>
  <p>In this example the leader is marked with the crown ♛</p>
  <p><a href="https://github.com/pubkey/rxdb/blob/master/docs-src/files/leader-election.gif" target="_blank"><img src="https://github.com/pubkey/rxdb/raw/master/docs-src/files/leader-election.gif" alt="reactive.gif" /></a></p>
  <b>Key-Compression</b>
    <p>Depending on which adapter and in which environment you use RxDB, client-side storage is <a href="https://pouchdb.com/2014/10/26/10-things-i-learned-from-reading-and-writing-the-pouchdb-source.html">limited</a> in some way or the other. To save disc-space, RxDB has an internal schema-based key-compression to minimize the size of saved documents.</p>
  <p>Example:</p>
  <div class="highlight highlight-source-js"><pre>// when you save an object with big keys
  await myCollection.insert({
    firstName: 'foo'
    lastName:  'bar'
    stupidLongKey: 5
  });
  // RxDB will internally transform it to
  {
    '|a': 'foo'
    '|b':  'bar'
    '|c': 5
  }
  // so instead of 46 chars, the compressed-version has only 28
  // the compression works internally, so you can of course still access values via the original key.names
  console.log(myDoc.firstName);
  // 'foo'</pre></div>
  <b>QueryChangeDetection</b>
    <p>
      Similar to Meteors <a href="https://github.com/meteor/docs/blob/version-NEXT/long-form/oplog-observe-driver.md">oplog-observe-driver</a>,
      RxDB has a QueryChangeDetection to optimize observed or reused queries. This makes sure that when you update/insert/remove documents,
      the query does not have to re-run over the whole database but the new results will be calculated from the events. This creates a huge performance-gain
      with zero cost. The QueryChangeDetection works internally and is currently in <b>beta</b> (disabled by default).
    </p>
  <h3><a id="user-content-use-case-example" class="anchor" href="https://github.com/pubkey/rxdb#use-case-example"></a>Use-Case-Example</h3>
  <p>Imagine you have a very big collection with many user-documents. At your page you want to display a toplist with users which have the most <code>points</code> and are currently logged in.
  You create a query and subscribe to it.</p>
  <div class="highlight highlight-source-js"><pre>const query = usersCollection.find().where('loggedIn').eq(true).sort('points');
  query.$.subscribe(users =&gt; {
      document.querySelector('body').innerHTML = users
          .reduce((prev, cur) =&gt; prev + cur.username+ '&lt;br/&gt;', '');
  });</pre></div>
  <p>As you may detect, the query can take very long time to run, because you have thousands of users in the collection.
  When a user now loggs of, the whole query will re-run over the database which takes again very long.</p>
  <div class="highlight highlight-source-js"><pre>anyUser.loggedIn = false;
  await anyUser.save();</pre></div>
  <p>But not with the QueryChangeDetection enabled.
  Now, when one user loggs of, it will calculate the new results from the current results plus the RxChangeEvent. This often can be done in-memory without making IO-requests to the storage-engine. The QueryChangeDetection not only works on subscribed queries, but also when you do multiple <code>.exec()</code>'s on the same query.</p>
  <h2><a id="user-content-browser-support" class="anchor" href="https://github.com/pubkey/rxdb#browser-support"></a>Browser support</h2>
  <p>All major evergreen browsers and IE11 are supported. Tests automatically run against Firefox and Chrome, and manually in a VirtualBox for IE11 and Edge.</p>
  <p>As RxDB heavily relies on PouchDB, see <a href="https://pouchdb.com/learn.html#browser_support">their browser support</a> for more information. Also do keep in mind that different browsers have different storage limits, especially on mobile devices.</p>
  <h2><a id="user-content-getting-started" class="anchor" href="https://github.com/pubkey/rxdb#getting-started"></a>Getting started</h2>
  <p>Get started now by <a href="https://pubkey.github.io/rxdb/">reading the docs</a> or exploring the <a href="https://github.com/pubkey/rxdb/blob/master/examples">example-projects</a>.</p>
  <p>You can test out RxDB in the browser with <a href="https://www.webpackbin.com/bins/-Kl_UJwIRc7wysOY96PZ">WebpackBin</a>.</p>
  <h2><a id="user-content-contribute" class="anchor" href="https://github.com/pubkey/rxdb#contribute"></a>Contribute</h2>
  <p><a href="https://github.com/pubkey/rxdb/blob/master/docs-src/Contribute.md">Check out how you can contribute to this project</a>.</p>
  <h2><a id="user-content-follow-up" class="anchor" href="https://github.com/pubkey/rxdb#follow-up"></a>Follow up</h2>
  <ul><li>Follow RxDB on <a href="https://twitter.com/rxdbjs">twitter</a> to not miss the latest enhancements.</li>
  <li>Join the chat on <a href="https://gitter.im/pubkey/rxdb">gitter</a> for discussion.</li>
  <li>Support RxDB at <a href="https://www.patreon.com/rxdb">patreon</a></li>
  </ul>
  <p>A big <strong>Thank you</strong> to every <a href="https://github.com/pubkey/rxdb/blob/master/SUPPORTER.md">patreon-supporter</a> and every <a href="https://github.com/pubkey/rxdb/graphs/contributors">contributor</a> of this project.</p>


title: KUTE.js | Javascript Animation Engine
url: http://thednp.github.io/kute.js/
created_at: 2017-08-10 23:20:17
updated_at: 2017-08-10 23:20:17
mimetype: text/html
language: en
domain_name: thednp.github.io
http_status: 200
content:
  <div class="col2">
                          <h3>Packed With Tools</h3>
                          <p>KUTE.js comes with a <a href="http://thednp.github.io/kute.js/css.html" title="The CSS Plugin provides support for border radius, additional color and box model properties, as well as for clip and backgroun-position.">CSS Plugin</a>, &#13;
                              a <a href="http://thednp.github.io/kute.js/svg.html" title="The SVG Plugin allows you to morph and draw SVG, as well as animate other SVG related CSS properties.">SVG Plugin</a>,&#13;
                              an <a href="http://thednp.github.io/kute.js/attr.html" title="The Attributes Plugin allows you to animate any numeric presentation attribute.">ATTR Plugin</a>, a <a href="http://thednp.github.io/kute.js/text.html">Text Plugin</a> and a jQuery plugin, &#13;
                              <a href="http://thednp.github.io/kute.js/easing.html">easing functions</a>, color convertors, utility functions, and you can even <a href="http://thednp.github.io/kute.js/features.html#extensible">extend</a> it yourself.</p>
                      </div><div class="col2">
                          <h3>Plenty Of Properties</h3>
                          <p>KUTE.js covers <a href="http://thednp.github.io/kute.js/properties.html">all animation needs</a> such as SVG morph &amp; transform and other specific CSS properties, then CSS3 <code>transform</code>, <code>scroll</code>, &#13;
                              <code>border-radius</code>, and almost the full box model or text properties.</p>
                      </div>


title:
  Tweet from


  BlockChainTop

url: https://mobile.twitter.com/BlockChainTop/status/806538984356605952
created_at: 2017-08-10 23:20:18
updated_at: 2017-08-10 23:20:18
mimetype: text/html
language: en
domain_name: mobile.twitter.com
http_status: 200
content:
  <div class="dir-ltr" dir="ltr">  IBM Building Blockchain Ecosystem On Hyperledger - Pl... <a href="https://t.co/3bLdN3r190" rel="nofollow noopener" dir="ltr" class="twitter_external_link dir-ltr tco-link" target="_blank" title="http://gettopical.com/blockchain/cabefbc1c69d11f55ea90c633034e97b?src=twitter">gettopical.com/blockchain/cab…</a> via <a href="https://mobile.twitter.com/blockchainers" class="twitter-atreply dir-ltr" dir="ltr">@blockchainers</a> <a href="https://t.co/IwYKmTZYaG" rel="nofollow" dir="ltr" class="twitter_external_link dir-ltr tco-link has-expanded-path" target="_top">pic.twitter.com/IwYKmTZYaG</a>
  </div>


title: Airbnb, eBay, etc. : les députés adoptent la déclaration automatique des revenus
created_at: 2017-08-10 23:20:19
updated_at: 2017-08-10 23:20:19
mimetype: text/html
language: fr
domain_name: www.nextinpact.com
preview_picture: https://cdn2.nextinpact.com/images/bd/wide-linked-media/9113.jpg
http_status: 200
url:
  https://www.nextinpact.com/news/102422-airbnb-ebay-etc-deputes-adoptent-declaration-automatique-revenus.htm

content:
  <p class="actu_chapeau">Les députés ont adopté l’obligation pour les plateformes de déclarer automatiquement au fisc, d’ici 2019, les revenus engrangés par leurs utilisateurs. Des conséquences drastiques pour ceux qui arrondissent leurs fins de mois sur Airbnb, Priceminister ou eBay.</p><p>Cette disposition avait été insérée en commission au Sénat, lors des débats <a href="http://www.nextinpact.com/news/99506-les-plateformes-tenues-cafter-automatiquement-au-fisc-revenus-vendeurs.htm" target="_blank">sur le projet de loi Lemaire</a> . Elle fut néanmoins supprimée par la commission mixte paritaire. Réapparue lors du projet de loi de Finances à l’initiative de plusieurs députés socialistes, elle avait connu le même sort <a href="http://www.nextinpact.com/news/102218-la-declaration-automatique-revenus-issus-plateformes-ne-passe-pas-cap-l-assemblee.htm" target="_blank">à la demande du gouvernement</a> .</p>
  <p>Et pour cause, les plateformes seront bientôt obligées d’adresser <a href="https://www.nextinpact.com/news/100860-les-plateformes-devront-bientot-adresser-a-leurs-utilisateurs-recapitulatif-transactions.htm" target="_blank">un récapitulatif des transactions</a> à leurs abonnés, à charge pour eux d’en déporter les montants sur leur déclaration. L’exécutif jugeait donc inutile de passer d’un droit de communication à une obligation de déclaration.</p>
  <h3>Les informations transmises par les plateformes au fisc</h3>
  <p>Dans le cadre du projet de loi de finances rectificatives, la « DAS » ou déclaration automatique sécurisée a cependant passé le cap de la séance. Les députés ont adopté trois amendements identiques. Ils contraignent toutes les plateformes en ligne à adresser au fisc une déclaration mentionnant pour chacun de leurs utilisateurs présumés redevable de l’impôt, toute une série d’informations :</p>
  <ul><li>Nom, prénom et date de naissance de l’utilisateur « personne physique »</li>
  <li>Dénomination, adresse et numéro Siren des utilisateurs « personnes morales »</li>
  <li>Leur adresse électronique</li>
  <li>Le statut de particulier ou de professionnel caractérisant l’utilisateur sur la plateforme</li>
  <li>Le montant total des revenus bruts perçus par l’utilisateur au cours de l’année civile au titre de ses activités sur la plateforme en ligne, ou versés par l’intermédiaire de celle-ci</li>
  <li>La catégorie à laquelle se rattachent les revenus bruts perçus</li>
  <li>Toute autre information définie par décret, à titre facultatif ou obligatoire.</li>
  </ul><p>En plus du fisc, une copie sera adressée à l’utilisateur en question. Selon les auteurs, ces « <em>revenus sont très rarement déclarés, très rarement contrôlés, et in fine très rarement imposés. Il en résulte une perte de recettes pour l’État, une insécurité juridique pour le contribuable, et une concurrence déloyale pour certains secteurs</em> ».</p>
  <p>Concrètement à l’avenir, l’administration fiscale pourra alimenter la déclaration préremplie adressée chaque année à l’aide des précieuses données envoyées par les plateformes en ligne. Fait notable, toutes « <em>seraient concernées, qu’elles soient françaises ou étrangères, et sans distinction entre les différents secteurs d’activité</em> » préviennent les auteurs du texte. C’est donc une obligation d’une vaste ampleur qui a été adoptée.</p>
  <h3>Le gouvernement opposé, un temps seulement</h3>
  <p>Cette transmission systématique des informations détenues par les plateformes à l’administration fiscale a été <a href="http://www.assemblee-nationale.fr/14/cri/2016-2017/20170070.asp" target="_blank">contestée un temps en séance</a> . Outre le récapitulatif des transactions, Christian Eckert, secrétaire d’État au Budget, a rappelé que le fisc disposait désormais d’un <a href="http://www.nextinpact.com/news/91563-bercy-desormais-mieux-arme-contre-fraude-dans-marketplaces.htm" target="_blank">vaste droit de communication non nominatif</a> depuis deux ans. L’administration fiscale peut en effet « <em>demander la liste, les bénéficiaires, les montants des revenus obtenus sur toutes les plateformes.</em> »</p>
  <p>« <em>Pour des raisons diverses, telles que la localisation, l’absence de vérification d’identité parfois, ou encore le fait que les revenus ne sont pas forcément imposables et qu’il convient d’y regarder de plus près, le Gouvernement n’est pas favorable à ces amendements</em> » a-t-il conclu.</p>
  <p>Mais son opposition n’était que très relative puisqu’il a finalement rejoint le camp des partisans pour déporter la DAS dans le temps, très exactement au 1er janvier 2019. Le texte devra maintenant passer le cap du Sénat pour enclencher le compte à rebours. </p>


title: IBM Building Blockchain Ecosystem On Hyperledger – Plans Fabric v1.0 Connect-a-Thon
created_at: 2017-08-10 23:20:24
updated_at: 2017-08-10 23:20:24
mimetype: text/html
language: en-CA
domain_name: www.the-blockchain.com
preview_picture: http://www.the-blockchain.com/wp-content/uploads/2016/10/ibmblockchain.png
http_status: 200
url:
  http://www.the-blockchain.com/2016/12/07/ibm-building-blockchain-ecosystem-hyperledger-plans-fabric-v1-0-connect-thon/

content:
  <div class="td-post-featured-image"><a href="https://i1.wp.com/www.the-blockchain.com/wp-content/uploads/2016/10/ibmblockchain.png?fit=2122%2C1008"><img width="696" height="331" class="entry-thumb td-modal-image" src="https://i1.wp.com/www.the-blockchain.com/wp-content/uploads/2016/10/ibmblockchain.png?resize=696%2C331" alt="" title="ibmblockchain" /></a></div><div class="mo-openid-app-icons circle"><p>Share with:</p></div><p>IBM has just announced a program designed to speed up the development of Blockchain-based applications for business.</p><blockquote><p>“The future growth and adoption of Blockchain is reliant upon building a strong ecosystem. Business networks will only reach critical mass when innovators, industry experts and infrastructure providers come together in new ways to reinvent how business transactions happen,” said Bridget Van Kralingen, senior vice president, IBM Industry Platforms. “The growing maturity of the Hyperledger Project code is a major milestone. That’s why IBM is investing to help developers accelerate the creation of Blockchain networks by providing an environment where these players can work together.”</p></blockquote><p>IBM has also announced it will be hosting the first Hyperledger Fabric v1.0 Connect-a-Thon.</p><p>The company debuted its own Blockchain earlier this year, called simply IBM Blockchain, and the company is clearly hoping to play a central role in the coming world of business Blockchain apps. The company has been working on a number of <a href="https://www-03.ibm.com/press/us/en/presskit/50610.wss" target="_blank" rel="nofollow">Blockchain partnerships</a> since it launched its offering in February, but its formal announcement today of a “<a href="http://www.ibm.com/blockchain/ecosystem.html" target="_blank" rel="nofollow">Blockchain ecosystem,</a>” open to any company interested in developing Blockchain apps, is a big move to mark itself as the go-to business Blockchain.</p><p>The ecosystem promises to offer route-to-market guidance and mentorship for startups building Blockchain apps — and it offers them a place to market their apps on IBM Marketplace, forming a sort of Blockchain “app store.” Enterprise developers and systems integrators can join the ecosystem, too, for access to tools, advice, and community. “IBM will provide education and tools to reduce the time required to go from idea to execution. IBM Blockchain experts will hold ‘office hours’ via the <a href="https://slack.hyperledger.org/" target="_blank" rel="nofollow">Hyperledger Fabric Slack</a> channel providing support to developers and help with troubleshooting,” the company said in its release. The company will also offer code libraries, smart contract templates, and other tools.</p><p>IBM Blockchain is based on the <a href="https://www.hyperledger.org/" target="_blank" rel="nofollow">Hyperledger Project</a>, an open source collaboration of 100 member companies (including Intel, IBM, J.P. Morgan, Hitachi, Cisco, VMware, and Fujitsu, to name a few) focused on developing Blockchain tech specifically for business use. Hyperledger-based Blockchains differ from well-known public Blockchains such as Bitcoin and Ethereum in a few key ways. On the Bitcoin Blockchain, for example, all transactions are anonymous, but anyone in the public can view the amounts and movements of those transactions. On a Hyperledger-based Blockchain, such as IBM’s, users have known identities, and each application can define its own set of permissions to govern who can view which transactions.</p><p>A number of startups have already joined IBM’s ecosystem. Here are a few examples of participants listed on today’s press release:</p><ul><li><a href="http://www.everledger.io/" target="_blank" rel="nofollow">Everledger</a> is a UK-based startup using IBM Blockchain to authenticate and trace the origin of high-value and luxury goods, such as diamonds and wine, that are authenticated by trusted players like certificate houses.</li></ul><ul><li><a href="https://www.gliding-eagle.com/us/" target="_blank" rel="nofollow">Gliding Eagle</a> is a California-based company providing a cloud and mobile based technology system offering transparency and authenticity in tracking individual products from the producer to the end consumer, anywhere in the world.</li></ul><ul><li><a href="http://hivedata.com/" target="_blank" rel="nofollow">The Hive</a> is a Palo Alto-based early-fund and venture studio focused on applications of AI and big data with a strong Blockchain technology portfolio across fintech, cyber-security, industrial Internet and compliance. The Hive is actively co-creating ventures within IBM’s Blockchain ecosystem by collaborating with entrepreneurs.</li></ul><ul><li><a href="http://loyyal.com/" target="_blank" rel="nofollow">Loyyal</a> is using Blockchain and smart contract technology to create interoperable loyalty and rewards infrastructure to address a highly fragmented industry, and offer multiple sectors an innovative way to incentivize customer behavior.</li></ul><ul><li><a href="http://sensify-security.com/" target="_blank" rel="nofollow">Sensify Security</a> is a Palo Alto-based IoT security startup that builds higher resistance to cyber-weapons by enabling operators to enforce access control in a decentralized manner within their operating environments. Its tamper-resistant propagation of security services to gateway-based points of enforcement offers operators centralized control, policy management, and compliance.</li></ul><ul><li><a href="https://www.skuchain.com/" target="_blank" rel="nofollow">Skuchain</a> is a Silicon Valley startup building a Blockchain-based platform for collaborative commerce called Brackets. Skuchain is demonstrating the potential of verifiable information on Hyperledger Fabric to eliminate supply chain friction in use cases ranging from trade finance to working capital to item level authenticity.</li><li><p><strong>Blockchain Connect-A-Thon with Hyperledger Fabric v1.0 – </strong>IBM will host a connect-a-thon on 17 December 2016, using the Hyperledger Fabric v1.0 to set up peers that will operate in a network of networks mode, providing security-rich, confidential transactions among known parties.</p></li></ul><div id="wpautbox-598cce1501d9a" class="wpautbox-below"><div class="a-tab-container"><div class="a-tab-content" id="wpautbox_about"><div class="wpautbox-avatar wpautbox-avatar-circle"><a href="http://www.the-blockchain.com/author/richard-kastelein/"><img src="https://i1.wp.com/www.the-blockchain.com/wp-content/uploads/2015/12/rich.jpg?fit=99%2C120" title="" alt="" /></a></div></div><div class="a-tab-content" id="wpautbox_latest-post"><ul class="wpautbox-post_type-list wpautbox-latest-post"><li><a href="http://www.the-blockchain.com/2017/08/10/rivetz-raises-5-5-million-rvt-token-pre-sale-public-token-crowdsale-begins-today-capped-200000-eth/">Rivetz Raises $5.5 Million in RvT Token Pre-Sale; Public Token Crowdsale Begins Today, Capped at 200,000 ETH</a> - August 10, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/10/leading-japanese-vcs-nippon-technology-venture-partners-fisco-capitals-abbalab-inc-invest-comsa-ico-tokens-xem/">Leading Japanese VCs, Nippon Technology Venture Partners, FISCO Capitals, and ABBALab Inc all to invest in COMSA ICO tokens and XEM</a> - August 10, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/10/binded-launches-one-click-u-s-copyright-registrations/">Binded Launches One Click U.S. Copyright Registrations</a> - August 10, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/09/illinois-opens-blockchain-development-partnership-hashed-health/">Illinois Opens Blockchain Development Partnership with Hashed Health</a> - August 9, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/09/jaxx-cofound-partner-give-best-new-cryptocurrencies-immediate-liquidity/">Jaxx and Cofound.it Partner to Give Best New Cryptocurrencies Immediate Liquidity</a> - August 9, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/09/goldmint-project-plans-provide-100-per-cent-gold-backed-stable-assets/">GoldMint Project Plans to Provide 100 per cent Gold-Backed Stable Assets</a> - August 9, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/09/launching-blockchain-solution-make-aviation-safer-aeron-aero/">Launching a Blockchain Solution to Make Aviation Safer – Aeron.aero</a> - August 9, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/09/blackmoon-financial-group-launches-blockchain-based-platform-tokenized-investment-funds/">Blackmoon Financial Group Launches Blockchain-Based Platform for Tokenized Investment Funds</a> - August 9, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/09/sonm-launches-updated-platform-discovery-algorithm/">SONM Launches Updated Platform With Discovery Algorithm</a> - August 9, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/08/airfox-announces-ico-make-mobile-data-accessible-affordable/">AirFox Announces ICO to Make Mobile Data More Accessible and Affordable</a> - August 8, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/08/golden-fleece-project-expand-massive-altcoin-mining-ecosystem-token-sale/">Golden Fleece Project To Expand Massive Altcoin Mining Ecosystem With Token Sale</a> - August 8, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/08/notorious-lobbyist-jack-abramoff-coach-bitcoin-activists-new-washington-dc-based-reality-docu-series-blockchain-entertainment-ignition-creative/">Notorious Lobbyist Jack Abramoff to Coach Bitcoin Activists in New Washington, DC-based Reality Docu-series from Blockchain Entertainment and Ignition Creative</a> - August 8, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/08/atmchains-project-china-7000-intelligent-media-screens-goes-blockchain-decent/">ATMChain’s Project In China With 7,000 Intelligent Media Screens ‘Goes Blockchain’ Through DECENT</a> - August 8, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/08/nem-io-foundation-partners-blockchain-global-expand-international-reach/">NEM.io Foundation Partners with Blockchain Global to Expand International Reach</a> - August 8, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/08/cfte-working-mas-help-asean-finance-professionals-acquire-skills-finance-2-0/">CFTE working with MAS to help ASEAN finance professionals acquire the skills of Finance 2.0</a> - August 8, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/08/rivetz-international-partners-with-latoken-to-boost-marketplace-security-on-mobile-devices/">Rivetz International Partners with LAToken to Boost Marketplace Security on Mobile Devices</a> - August 8, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/08/investfeed-finishes-successful-token-generation-event/">investFeed Finishes Successful Token Generation Event</a> - August 8, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/08/zen-protocol-unveils-testnet-decentralize-finance/">Zen Protocol Unveils Testnet To Decentralize Finance</a> - August 8, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/07/blockchain-startup-jaak-announce-official-pilot-viacom-uk/">Blockchain Startup JAAK Announce Official Pilot With Viacom UK</a> - August 7, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/05/reftoken-releases-blockchain-affiliate-platform-prototype-announces-token-generation-event/">RefToken Releases Blockchain Affiliate Platform Prototype – Announces Token Generation Event</a> - August 5, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/05/dash-employs-elite-cybersecurity-service-bugcrowd-hack-blockchain/">Dash Employs Elite Cybersecurity Service Bugcrowd to ‘Hack’ Its Blockchain</a> - August 5, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/05/144000-free-spins-grabs-montly-bitstarzs-new-slot-battles/">144,000 Free Spins up for grabs montly in BitStarz’s new Slot Battles!</a> - August 5, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/04/stox-token-sale-raises-33-million-34-hours-seventh-biggest-2017/">Stox Token Sale Raises $33 Million in 34 Hours – The Seventh Biggest of 2017</a> - August 4, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/04/swap-announces-air-token-launch-airswap-decentralized-peer-peer-trading-platform/">Swap Announces AIR Token Launch and AIRSWAP, a Decentralized, Peer-to-Peer Trading Platform</a> - August 4, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/03/investfeed-showcases-first-version-cryptocurrency-based-social-investment-platform/">investFeed Showcases First Version of Cryptocurrency-Based Social Investment Platform</a> - August 3, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/03/wepower-launches-blockchain-powered-green-energy-platform-token-sale/">WePower Launches Blockchain-Powered Green Energy Platform and Token Sale</a> - August 3, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/03/decent-network-introduces-atmchain/">DECENT Network introduces ATMChain</a> - August 3, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/03/neufund-launches-ico-transparency-monitor-judge-icos-based-smart-contract-design/">Neufund Launches  ICO Transparency Monitor to Judge ICOs Based on Smart Contract Design</a> - August 3, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/03/bitfinex-announces-ethfinex-new-community-discussion-exchange-platform-ethereum-crowdsales-tokens/">Bitfinex announces Ethfinex – a new community discussion and exchange platform for Ethereum crowdsales and tokens.</a> - August 3, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/03/dutch-foundation-wants-disrupt-charities-using-blockchain-technology/">Dutch Foundation Wants to Disrupt Charities Using Blockchain Technology</a> - August 3, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/03/everex-officially-partners-with-myanmar-based-micromoney/">Everex Officially Partners With Myanmar-based MicroMoney</a> - August 3, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/03/tech-bureau-japan-launches-cryptocurrency-fundraising-medium-comsa/">Tech Bureau Japan Launches Cryptocurrency Fundraising Medium, “COMSA”</a> - August 3, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/streamspace-token-generation-event-support-innovative-film-distribution-platform/">StreamSpace Token Generation Event to Support Innovative Film Distribution Platform</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/singapore-authorities-clarify-regulatory-position-icos-securities-cases-following-sec-lead/">Singapore Authorities Clarify Regulatory Position On ICOs – Securities in Some Cases – Following SEC Lead</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/mybit-blockchain-platform-mission-unlock-billions-iot-revenue/">MyBit Blockchain Platform Is on a Mission to Unlock Billions in IoT Revenue</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/chinese-blockchain-association-aims-regulate-icos/">Chinese Blockchain Association Aims to Regulate ICOs</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/waves-platform-gazprombank-digital-enter-strategic-partnership/">Waves Platform and Gazprombank Digital Enter Strategic Partnership</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/groupe-media-tfo-launches-development-blockchain-prototype-solution-credit-rights-audiovisual-works-creators/">Groupe Média TFO Launches The Development Of A Blockchain Prototype: A Solution To Credit The Rights Of Audiovisual Works’ Creators</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/gibraltar-stock-exchange-announces-cyberhub-fintech-new-strategic-partner/">Gibraltar Stock Exchange announces Cyberhub Fintech as a new strategic partner</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/gideon-greenspan-multichain-launches-production-ready-version-1-0-fourteen-new-partners/">Gideon Greenspan – MultiChain Launches Production-Ready Version 1.0 with Fourteen New Partners</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/silentnotary-blockchain-based-notary-chatbot-serves-first-clients/">SilentNotary – Blockchain-Based Notary Chatbot Serves First Clients</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/latoken-implements-blockchain-sell-fractions-assets-real-estate-art-objects/">LAToken Implements Blockchain to Sell Fractions of Any Assets — From Real Estate to Art Objects</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/taas-contributes-215-3-btc-salts-upcoming-token-generation-event/">TaaS contributes 215.3 BTC to SALT’s upcoming Token Generation Event</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/enterprise-ethereum-alliance-becomes-worlds-largest-open-source-blockchain-initiative/">Enterprise Ethereum Alliance Becomes World’s Largest Open-source Blockchain Initiative</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/decentralized-news-network-releases-project-roadmap/">Decentralized News Network Releases Project Roadmap</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/blockchain-startup-ethlend-introduces-working-capital-finance-initial-coin-offerings/">Blockchain startup ETHLend introduces working capital finance for Initial Coin Offerings</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/02/atlant-announces-ico-revolutionary-blockchain-based-real-estate-platform/">ATLANT Announces ICO for Revolutionary Blockchain-based Real Estate Platform</a> - August 2, 2017</li><li><a href="http://www.the-blockchain.com/2017/08/01/skycoin-launches-vision-new-internet/">Skycoin Launches A Vision for the New Internet</a> - August 1, 2017</li><li><a href="http://www.the-blockchain.com/2017/07/31/disrupting-30billion-event-ticketing-industry-blockchain-kickcity-announces-ico/">Disrupting the $30Billion Event Ticketing Industry with Blockchain – KickCity announces ICO</a> - July 31, 2017</li><li><a href="http://www.the-blockchain.com/2017/07/31/decentralized-professional-network-indorse-gives-users-power-data-back/">Decentralized Professional Network Indorse Gives Users The Power Of Their Data Back</a> - July 31, 2017</li></ul><a href="http://www.the-blockchain.com/author/richard-kastelein/" class="wpautbox-allpost">View All Articles</a></div></div></div><p>advertisement</p>


title: Android Things | Android Things
url: https://developer.android.com/things/hardware/index.html
created_at: 2017-08-10 23:20:26
updated_at: 2017-08-10 23:20:26
mimetype: text/html
language: en
domain_name: developer.android.com
http_status: 200
content:
  <div id="jd-content">
    <div class="jd-descr">
      <div class="wrap">
      
        <p>Android Things lets you build professional, mass-market products on a
        trusted platform, without previous knowledge of embedded system design.</p>
        
      </div>
      <div class="wrap">
        <h2 class="norule">Turnkey Hardware Solutions</h2>
        <p>We work with SoC partners to build Android Things certified development boards that contain SoMs (System-on-Modules) to get you developing fast.
  </p>
      </div>
      <div class="wrap">
        <div class="cols">
          <div class="col-1of2">
            <h4>Integrated Parts</h4>
            <p>SoMs integrate the SoC, RAM, Flash Storage, WiFi, Bluetooth and other components onto a single board and come with all of the necessary FCC certifications. You can optimize your board design by flattening existing modules onto a PCB to save costs and space.</p>
          </div>
          <div class="col-1of2">
            <h4>Google BSP</h4>
            <p>The Board Support Package (BSP) is managed by Google. This gives you a trusted platform to develop on with standard updates and fixes from Google.</p>
          </div>
        </div>
        <div class="cols">
          <div class="col-1of2">
            <h4>Differentiated hardware</h4>
            <p>Our partners provide development boards with different SoMs and form factors to suit your needs, giving you choice and flexibility.</p>
          </div>
           <p>See
          <a href="https://developer.android.com/things/hardware/developer-kits.html">Developer Kits</a>
          for a list of supported development boards and starter kits.</p>
        </div>
      </div>
      <div class="wrap">
        <h2 class="norule">Low Barrier to Entry</h2>
        <p>Take advantage of Google's platform and support
        to scale from prototypes to complete products quickly.</p>
      </div>
      <div class="wrap">
        <div class="cols">
          <div class="col-1of2">
          <h4>Get started quickly</h4>
          <p>Building devices is now within reach for everyone, even if you've never designed embedded systems. We provide a turnkey hardware solution and an easy-to-use software development platform, based on Android Studio and the Android SDK.
          </p>
          </div>
          <div class="col-1of2">
            <h4>Managed costs</h4>
            <p>Android Things reduces the large upfront development costs and risks inherent in getting your idea off the ground. When you're ready to ship large quantities of devices, your costs scale linearly. In addition, ongoing engineering and testing costs are reduced by Google-provided updates.</p>
          </div>
        </div>
      </div>
    </div>
  </div>


title: 30 options de commande Git qui gagnent à être connues • Delicious Insights
url: https://delicious-insights.com/fr/articles/30-options-git-qui-gagnent-a-etre-connues/
created_at: 2017-08-10 23:20:28
updated_at: 2017-08-10 23:20:28
mimetype: text/html
domain_name: delicious-insights.com
http_status: 200
content:
  <a id="logo" href="https://delicious-insights.com/"><img src="https://delicious-insights.com/assets/images/delicious-insights.svg" alt="Delicious Insights" /></a><a lang="en" hreflang="en" href="https://delicious-insights.com/en/posts/30-git-cli-options-you-should-know-about/" title="Go to the English version of this page" class="toggle-lang">EN</a><div class="inner-wrapper"><p class="locales">Cet article est également disponible en <a href="https://delicious-insights.com/en/posts/30-git-cli-options-you-should-know-about">anglais</a>.</p><p>Vous croyez connaître Git ? Peut-être bien…  Et pourtant, je parierais ma chemise[^1] que pas mal de petites options sympathiques vous sont inconnues.</p>
  <p>En effet, au fil des versions de Git, beaucoup de petites options font surface, soit pour des raisons de confort, soit pour de la puissance brute.  Mais comme ce n'est pas une nouvelle commande, ou pas trop mis en avant dans les annonces de sortie, ça passe sous le radar.</p>
  <p>Je vous ai sélectionné une trentaine d'options, répartie sur une quinzaine de commandes, qui rendent la vie plus belle quand on fait du Git.  Voici une excellente manière de rentabiliser les prochaines minutes !</p>
  <h2>Staging / unstaging partiel avec <code>-p</code></h2>
          <p>Vous avez ouvert un fichier pour une raison précise, par exemple passer ce fichu tracker en asynchrone…  Et voilà que vous remarquez au passage que des rôles ARIA manquent à certains éléments d'UX, et aussi que le footer est toujours en dur au lieu de dépendre du layout, et que sais-je encore…</p>
  <p>Au moment de faire le commit, vous vous rendez compte que ce fichier contient une bonne demi-douzaine (si ce n'est plus) de modifications qui <strong>recouvrent plusieurs sujets bien distincts</strong>.  À ce moment-là, trois possibilités :</p>
  <ul><li>Vous faites un bon gros <strong>commit fourre-tout dégueulasse</strong>, avec un message à base de « + » voire, si vous êtes d'humeur flemmasse, le bon vieux « Correctifs », « Plein de modifs », « Plein de trucs »…  C'est gentil de pourrir l'historique comme ça, merci, merci bien.</li>
  <li>Vous <strong>copiez-collez le fichier</strong> quelque part puis enquillez les <em>Undo</em>, si tant est que ça soit possible, pour ne garder ensuite que le premier sujet, committer, puis ré-appliquer le 2ème, committer, puis le 3ème…  Tout ça à la main, bien entendu.  <strong>Probabilité de gaufrage : 99%.</strong></li>
  <li>Vous nous lisez ou allez à nos formations, et vous connaissez <code>-p</code> !</li>
  </ul><p>La commande <code>git add -p</code> est en fait un affinage de <code>git add -i</code> : elle pré-sélectionne <strong>le mode <em>patch</em> de l'ajout interactif</strong>.  Dans la pratique, vous indiquez aussi le fichier, pour faire bonne mesure.  Par exemple :</p>
  <pre class="language-bash">git add -p index.html
  </pre>
  <p>J'en profite pour vous rappeler que <code>git add</code> ne sert <strong>pas</strong> à mettre sous gestion de version, mais plutôt à <strong><em>stager</em></strong> une modification, c'est-à-dire à la valider pour le prochain commit.</p>
  <p>Lorsque vous faites un tel ajout, Git va auto-découper le contenu en <em>hunks</em>, en groupes de modifications, par proximité dans le fichier, en se basant sur les lignes inchangées pour faire sa découpe.  Si vos modifs sont trop proches, il sera sans doute tenté de ne pas pré-découper, et vous devrez le faire vous-mêmes avec la commande <code>s</code> (Git vous proposera une pléthore de commandes par leur initiale en bas d'affichage ; dans le doute, utilisez <code>?</code> pour afficher l'aide), pour <em>split</em> (découper).</p>
  <p>Notez que même si vous avez des modifs <em>adjacentes</em> (sur des lignes qui se suivent immédiatement, sans ligne inchangée pour la découpe), vous pouvez éditer à la volée le <em>hunk</em> pour l'amener à la version que vous voulez <em>stager</em>, en utilisant la commande <code>e</code> (<em>edit</em>) pour ce faire.  C'est un peu comme du Photoshop express sur la photo du fichier qui part en <em>stage</em>.  En fait, si vous savez d'entrée de jeu que le fichier que vous allez <em>stager</em> contient des modifs adjacentes à retoucher, vous pouvez utiliser <code>-e</code> au lieu de <code>-p</code> pour présélectionner ce mode retouche, mais vous n'aurez alors pas la découpe automatique des <em>hunks</em> pour vous.</p>
  <p>À l'issue de l'opération, votre fichier apparaîtra normalement <strong>à la fois <em>staged</em> et <em>modified</em></strong>.  C'est bien normal, car en effet :</p>
  <ul><li>La dernière version committée n'est pas la même que dans le <em>stage</em> : le fichier est donc <em>staged</em></li>
  <li>La version dans le <em>stage</em> n'est pas la même que celle dans le <em>working directory</em> : le fichier est donc <em>modified</em>.</li>
  </ul><p>Vous pouvez consulter le diff du <em>stage</em> pour ce fichier avec un <code>git diff --staged index.html</code>.  Si vous voulez carrément voir le <em>snapshot</em> présent dans le <em>stage</em>, plutôt qu'une série de diffs : <code>git show :0:index.html</code>.</p>
  <p>Du coup, ayez soin de ne pas faire un <code>git commit -a</code> (par exemple <code>git ci -am "Tracker asynchrone"</code>), car ce <code>-a</code> va auto-<em>stager</em> toutes les modifs connues, écrasant au passage le <em>stage</em> « sculpté » que vous aviez mis en place.</p>
  <p>Enfin, peu de gens savent que <code>git reset</code> aussi a une option <code>-p</code>, qui a exactement la même UX que pour <code>add</code>, mais réalise évidemment l'inverse : elle <em>unstage</em> les <em>hunks</em> retenus.  On l'utilise souvent pour redécouper le dernier commit effectué, en faisant:</p>
  <pre class="language-bash">git reset -p HEAD^
  </pre>
  <p>Les modifs qui nous sont alors présentées sont des annulations de celles réalisées par le dernier commit en date.  On valide les annulations qu'on veut, on amende le commit (voir plus loin), puis on réalise le ou les commits complémentaire(s) qu'on souhaitait effectuer pour la découpe.</p>
  <p>C'est une manière très « vite et bien » de piloter une découpe de commit au sein d'un <a href="https://delicious-insights.com/fr/articles/bien-utiliser-git-merge-et-rebase/#d-coupe%20au%20laser"><em>rebase</em> interactif</a>, à l'aide d'une commande de script <code>edit</code>.</p>
        <h2>Prendre en compte les renommages d'un coup avec <code>-A</code></h2>
          <p>Vous le savez peut-être, par défaut (en tout cas avant la 2.0), <code>git add</code> se comportait en fait comme <code>git add --no-all</code> ou, si vous préférez, <code>git add --ignore-removal</code>.  Il se basait uniquement sur le <em>working directory</em> pour établir sa liste de fichiers à prendre en compte, ce qui comprenait donc :</p>
  <ul><li>Les modifications aux fichiers connus</li>
  <li>Les nouveaux fichiers</li>
  </ul><p>En revanche, les fichiers connus de l'index Git et introuvables sur le disque, qui apparaissent donc dans le statut comme supprimés, n'étaient pas traités.</p>
  <p><strong>C'était gênant pour les renommages ou déplacements</strong>, qui entraînent à la fois une « suppression » de l'ancien chemin de fichier, et l'apparition du nouveau.</p>
  <p>Pour ça, on a <code>git add -A</code>, ou sa version plus longue, <code>git add --all</code>[^2].  <strong>Ça prend la totale en compte.</strong>  Lorsque l'index a connaissance des deux mouvements, il peut se rendre compte que c'est un renommage (même si une partie du contenu a bougé par-dessus le marché), ce qui permet notamment de demander plus tard à <code>git log</code> de suivre le fichier à travers ces renommages.</p>
  <p><strong>À partir de Git 2.0</strong>, c'est le comportement par défaut de <code>git add</code> si on lui précise un chemin (genre <code>git add .</code>).  Au passage autre changement important en 2.0 : avant, si on faisait <code>git add -A</code> sans chemin, ça ne prenait que le répertoire courant et ses sous-dossiers, alors que maintenant, ça prend <em>tout le dépôt</em>, où qu'on soie à l'intérieur.</p>
        <h2>Entrer dans les répertoires <em>untracked</em> lors du <code>status</code></h2>
          <p>Vous l'avez sûrement remarqué : quand on rajoute un dossier à son dépôt, <code>git status</code> se contente de nous lister le dossier lui-même comme <em>untracked</em>, et non son contenu.  Imaginons par exemple que je viens de rajouter un super plugin à mon projet, avec un JS et une CSS à l'intérieur :</p>
  <p><img src="https://delicious-insights.com/assets/images/articles/n-options-status-untracked-1.png" alt="n-options-status-untracked-1.png" /></p>
  <p>C'est assez pénible, je trouve…  Pourtant, on peut demander à <code>status</code> de rentrer dans les dossiers avec <code>-u</code> :</p>
  <p><img src="https://delicious-insights.com/assets/images/articles/n-options-status-untracked-2.png" alt="n-options-status-untracked-2.png" /></p>
  <p>Je trouve d'ailleurs ça tellement pratique que je me suis collé la bonne variable de configuration pour le rendre systématique :</p>
  <pre class="language-bash">git config --global status.showUntrackedFiles all
  </pre>
        <h2>Faire des diffs plus utiles</h2>
          <p>Les diffs fournis par <code>git diff</code>, <code>git log</code> et <code>git show</code>, pour ne citer qu'eux, sont sympa, mais y'a carrément moyen de les améliorer.  En voici trois qui me tiennent particulièrement à cœur :</p>
  <pre class="language-bash">git diff -w
  </pre>
  <p>Ou sa version longue, <code>git diff --ignore-all-space</code> (plus explicite, forcément).  Cette option permet aux diff d'ignorer tout changement de whitespace à l'intérieur ou en bordure des lignes, y compris lorsqu'on passe de la présence à l'absence de whitespace, ou inversement (à l'exception de lignes entières : 1+ ligne vide là où on n'en avait aucune, ou inversement).</p>
  <p>Ça peut te jouer des tours quand tu travailles sur des fichiers à indentation significative, mais pour tous les autres cas, c'est une super manière de « dépolluer » l'affichage pour se concentrer sur les parties utiles.</p>
  <p>Sans <code>-w</code> :</p>
  <p><img src="https://delicious-insights.com/assets/images/articles/n-options-diff-regular.png" alt="n-options-diff-regular.png" /></p>
  <p>Avec <code>-w</code> :</p>
  <p><img src="https://delicious-insights.com/assets/images/articles/n-options-diff-w.png" alt="n-options-diff-w.png" /></p>
  <p>L'autre option que j'adore a trait au mode d'affichage unitaire des diffs.  Par défaut, on fonctionne par ligne, ce qui est parfois un peu limite :</p>
  <p><img src="https://delicious-insights.com/assets/images/articles/n-options-diff-lines.png" alt="n-options-diff-lines.png" /></p>
  <p>Il est déjà possible de demander à <code>diff</code> de n'afficher qu'une fois la ligne, en découpant par mot, avec <code>--word-diff</code>, la définition de « mot » étant basée sur la présence de <em>whitespace</em>.  Pour du rédactionnel, ce n'est pas gênant :</p>
  <p><img src="https://delicious-insights.com/assets/images/articles/n-options-diff-words.png" alt="n-options-diff-words.png" /></p>
  <p>Si vous trouvez que les cadrages +/- pourrissent un peu l'affichage, vous pouvez utiliser <code>--word-diff=color</code> pour affiner ça.  En fait, on peut même raccourcir ça en <code>--color-words</code> (si c'est pas mignon…).</p>
  <p><img src="https://delicious-insights.com/assets/images/articles/n-options-diff-color-words.png" alt="n-options-diff-color-words.png" /></p>
  <p>Mais ça nous laisse avec un souci lorsqu'on diffe du code, où les <em>whitespaces</em> sont loin d'être les seuls délimiteurs utiles.  Voyez plutôt :</p>
  <p><img src="https://delicious-insights.com/assets/images/articles/n-options-diff-words-suck.png" alt="n-options-diff-words-suck.png" /></p>
  <p>Du coup on va préférer indiquer une <a href="https://delicious-insights.com/fr/articles/enfin-maitriser-les-expressions-rationnelles/">regex</a> qui décrit « ce qu'est un mot ».  À l'extrême, on dira « au minimum un caractère, quelconque » avec juste <code>.</code>, mais en cas de découpe résultante excessive, on allongera peut-être, genre <code>.{3,}</code> pour au moins 3 caractères.</p>
  <p>Ça donnerait une commande un peu longuette : <code>--word-diff=color --word-diff-regex=.</code> ce qui, comme les notes d'examen du <a href="http://fr.wikiquote.org/wiki/La_Cit%C3%A9_de_la_peur">commissaire Bialès</a>, est bien mais pas top.  On préfèrera la version courte :</p>
  <pre class="language-bash">git diff --color-words=.
  </pre>
  <p>Démonstration :</p>
  <p><img src="https://delicious-insights.com/assets/images/articles/n-options-diff-words-regex.png" alt="n-options-diff-words-regex.png" /></p>
  <p>Notez que si vous souhaitez toujours passer par une telle regex (c'est souvent mon cas), vous pouvez configurer l'option <code>diff.wordRegex</code> à la valeur souhaitée (par exemple <code>.</code>), de sorte que tout type de <em>word diff</em> (<code>--word-diff</code> ou <code>--color-words</code>) sans argument utilisera cette regex (si vous précisez la regex manuellement, la vôtre a naturellement priorité).</p>
        <h2>Réparer le dernier commit avec <code>--amend</code></h2>
          <p>Il arrive souvent qu'en lisant le bilan affiché par un <code>git commit</code>, on se rende compte qu'on a fait une bévue : on a oublié un fichier, committé un fichier en trop, ce genre de choses…</p>
  <p>Une manière simple de corriger le tir, tant qu'on n'a pas <em>pushé</em> ce commit auprès des copains, consiste à se replacer dans la bonne situation (par exemple faire un <code>git add</code>, <code>git reset</code> ou <code>git rm --cached</code> sur le fichier problématique, peut-être accompagné d'un complément dans le <code>.gitignore</code>…) puis à faire :</p>
  <pre class="language-bash">git commit --amend
  </pre>
  <p>Cette option n'est en fait rien de plus qu'un <code>git reset --soft HEAD^</code> suivi du commit demandé, mais comme la majorité des gens <em>ne maîtrisent pas <code>reset</code></em>, ça facilite ce cas de figure.</p>
  <p>Notez que, la plupart du temps, le message de commit initial était le bon.  Je doute que vous ayiez dit « Passage à Bootstrap 3.1, et au fait je versionne à tort le mdp root du serveur » dans le commit original.  Du coup, pour vous éviter de retaper le message, ou simplement d'avoir à le revalider dans l'éditeur, vous pouvez faire :</p>
  <pre class="language-bash">git commit --amend --no-edit
  # Ou si vous êtes antérieur à 1.7.9 :
  git commit --amend -C HEAD
  </pre>
  <p>C'est un cas de figure tellement courant que je vois souvent un alias <code>git oops</code> pour cette commande :-)</p>
  <p>Dans votre historique, seule la dernière version du commit est visible : c'est comme si vous n'aviez pas dérapé à la base (trop fort !).  La, voire les, anciennes versions du commit sont évidemment toujours présentes dans votre <a href="https://www.atlassian.com/fr/git/tutorial/rewriting-git-history#!reflog">reflog</a>, la maxime générale de Git restant vraie : « si ça a été commité, c'est virtuellement impossible à paumer ».</p>
        <h2>Fouiller intelligemment les logs avec <code>-S</code> et <code>-G</code></h2>
          <p>La commande <code>git log</code> est truffée d'options (plus d'une centaine !), dont elle partage la majeure partie avec sa cousine germaine, <code>git diff</code>.</p>
  <p>Nombre de ces options servent à <strong>filtrer le log</strong> avant même de l'afficher (ce qui est infiniment plus performant et pratique que de faire un <code>grep</code> par-dessus) : filtrage sur dates, chemins, branches, auteurs et committers, messages de commit… mais aussi <strong>contenus des diffs</strong>.</p>
  <p>Le filtrage sur diffs est extrêmement utile pour <strong>retrouver l'origine d'un code, voire d'un bug</strong>.  Trop de gens ont tendance à passer par <code>git blame</code>, parce qu'ils étaient habitués à <code>svn blame</code>, mais cette commande est tout aussi limitée que sa consœur chez SVN :</p>
  <ul><li>Elle affiche juste quel commit <em>a touché à la ligne en dernier</em>, sans dire pourquoi ; si ça se trouve, ça virait les espaces de fin de ligne, c'est tout</li>
  <li>Elle n'affiche <em>que les lignes actuelles</em>, donc si le problème est qu'une ligne a dégagé, ou a été déplacée, ça ne nous aide en rien.</li>
  </ul><p>En revanche, si on filtre le log sur <strong>les contenus des diffs</strong>, on saura effectivement <strong>quel commit a introduit le changement qui nous intéresse</strong>.</p>
  <p>Si on s'intéresse juste à la présence de la chaîne dans les lignes activecs du diff, peu importe pourquoi et comment, on utilisera plutôt <code>-G</code> (penser alors à échapper les caractères spéciaux de regex) :</p>
  <pre class="language-bash">git log -G'Secure_?Random' -2 -- path/to/problematic_file
  </pre>
  <p>(Généralement, dans une telle recherche, on limite aux 1 ou 2 commits les plus récents.)</p>
  <p>En revanche, si on cherche spécifiquement des diffs qui ont <strong>retiré ou introduit le texte</strong>, on passera par <code>-S</code>, qui ne renvoie que les diffs ayant <strong>changé le nombre d'occurrences</strong> du texte.  Par défaut, <code>-S</code> prend un texte simple, mais si vous voulez une regex, vous pouvez rajouter <code>--pickaxe-regex</code> :</p>
  <pre class="language-bash">git log -S'Secure_?Random' --pickaxe-regex -2 -- path/to/problematic_file
  </pre>
  <p>Si vous avez besoin que vos textes, ou regex, soient insensibles à la casse, ajoutez <code>-i</code>.  Les regex sont systématiquement traitées comme de la syntaxe étendue (ERE).  Enfin, si vous souhaitez afficher le diff à la volée (qui peut être lourd, attention), ajoutez comme d'habitude <code>-p</code> (raison de plus pour pré-filtrer sur le fichier qui vous intéresse).</p>
        <h2>Accélérer les branches avec <code>-b</code>, <code>-v</code> et <code>-vv</code></h2>
          <p>Alors déjà, si vous ne saviez pas encore que <code>git checkout -b</code> crée la branche cible à la volée, maintenant vous n'avez plus d'excuse.</p>
  <p>Pourquoi se faire ch… à faire :</p>
  <pre class="language-bash">$ git branch ticket-12
  $ git checkout ticket-12
  </pre>
  <p>Alors qu'on peut parfaitement faire :</p>
  <pre class="language-bash">git checkout -b ticket-12
  </pre>
  <p>Bien sûr, rien ne vous empêche d'indiquer en 2ème argument la base de la branche (par défaut le <code>HEAD</code>, comme pratiquement tout le temps).</p>
  <p>Notez un cas où le <code>-b</code> est superflu car <code>checkout</code> est super-malin : lorsque vous voulez commencer à bosser sur la branche <code>super-feature</code> présente sur le <em>remote</em>, et que vous n'avez donc pas encore de branche locale qui la tracke.  Si vous faites tout bêtement :</p>
  <pre class="language-bash">git checkout super-feature
  </pre>
  <p>Git va se rendre compte que la branche locale <code>super-feature</code> n'existe pas, mais qu'il y en a une sur le <em>remote</em> par défaut, et va <strong>automatiquement</strong> faire l'équivalent de ceci (en supposant que votre <em>remote</em> par défaut s'appelle <code>origin</code>, ce qui est généralement le cas) :</p>
  <pre class="language-bash">git checkout -b -t super-feature origin/super-feature
  </pre>
  <p>Pourquoi faire long quand on peut faire court, hein ?</p>
  <p>Parlons à présent de <code>-v</code> et sa version agressive, <code>-vv</code>.</p>
  <p>Vous avez sans doute l'habitude  lister vos branches locales avec un simple <code>git branch</code> :</p>
  <p><img src="https://delicious-insights.com/assets/images/articles/n-options-git-branch-simple.png" alt="n-options-git-branch-simple.png" /></p>
  <p>Saviez-vous qu'en fait vous pouvez avoir un peu plus d'infos (SHA, écart avec l'upstream éventuel, première ligne du message de commit) avec <code>-v</code> ?</p>
  <p><img src="https://delicious-insights.com/assets/images/articles/n-options-git-branch-v.png" alt="n-options-git-branch-v.png" /></p>
  <p>Et même vérifier l’upstream tracké en poussant jusqu'à <code>-vv</code> ?</p>
  <p><img src="https://delicious-insights.com/assets/images/articles/n-options-git-branch-vv.png" alt="n-options-git-branch-vv.png" /></p>
  <p>Sympa, non ?  En temps normal le nom de l'upstream est en bleu, mais ça pue sur du noir, j'ai donc configuré <code>color.branch.upstream</code> à <code>cyan</code>…</p>
        <h2>Une aide plus facile d'emploi avec <code>-w</code></h2>
          <p>Les <em>manpages</em>, c'est bien, facile, et ça marche de partout, y compris au travers d'une connexion SSH. … Enfin, presque partout.  Certains environnements ne gèrent pas très bien <code>man</code>.</p>
  <p>Et puis, la grande majorité des gens ne savent pas utiliser interactivement <code>man</code> autrement que pour défiler à travers le contenu (et encore).  Le recours aux hyperliens, notamment, est extrêmement rare.</p>
  <p><strong>Git publie toutes ses documentations</strong> non seulement au format <code>man</code> mais aussi <strong>au format HTML</strong>, un type de document utilisable par tous, liens compris.  Pour y recourir, il suffit d'utiliser l'option <code>-w</code> de <code>git help</code> :</p>
  <pre class="language-bash">git help -w reset
  </pre>
  <p>Sur certains environnements (l'installeur officiel pour Windows, je crois), c'est d'ailleurs le mode <strong>automatique</strong>.  Si vous souhaitez vous aussi fonctionner comme ça, vous pouvez configurer ça dans votre config globale :</p>
  <pre class="language-bash">git config --global help.format html
  </pre>
  <p>Si le navigateur employé par défaut ne vous convient pas (déterminé par <code>git-web--browse</code>, qui en connaît une tera-chiée), vous pouvez configurer <code>help.browser</code> avec la commande ou le chemin d'invocation de celui que vous désirez.</p>
  <p>Notez que ces contenus restent locaux (fichiers HTML installés par Git), vous n'avez donc même <strong>pas besoin d'une connexion à Internet</strong>.</p>
        <h2>Stasher plus efficacement avec <code>save</code> et <code>-u</code></h2>
          <p><strong>Trop de gens ne connaissent pas <a href="http://git-scm.com/docs/git-stash"><code>git stash</code></a></strong>, et ceux qui le connaissent ont rarement fait l'effort d'en lire la doc pour apprendre à <strong>bien l'utiliser</strong>.  Je vois la plupart des gens juste faire un <code>git stash</code> en amont, et un <code>git stash apply</code> en aval.</p>
  <p>Le comportement par défaut de <code>stash</code> est assez pénible :</p>
  <ol><li>Il laisse de côté les <em>untracked</em>, ce qui est rarement désirable</li>
  <li>Il fournit un message pourri par défaut (genre <code>WIP on master: &lt;message du dernier commit connu&gt;</code>)</li>
  </ol><p>Un tel message n'a aucun intérêt, vu qu'il <strong>ne précise pas la nature du <em>work in progress</em></strong> (WIP), ce qui rend difficile l'identification du stash par la suite.</p>
  <p>Pour pouvoir régler ces deux points, il suffit de recourir explicitement à la <strong>sous-commande <code>save</code>, avec l'option <code>-u</code></strong> d'une part (pour intégrer les <em>untracked</em>), et le message voulu d'autre part.  Par exemple :</p>
  <pre class="language-bash">git stash save -u 'Début du refactoring Bootstrap 3'
  </pre>
  <p>On se retrouve alors sur un <em>clean tree</em> : le contenu du HEAD, plus les éventuels fichiers ignorés.</p>
  <p>Il est tout aussi important de <strong>bien récupérer le stash obtenu</strong> lorsqu'on aura fini de traiter l'urgence qui nous l'a fait créer à la base.</p>
  <p>Beaucoup de gens font <code>git stash apply</code>, ce qui est un peu dommage parce qu'en cas de succès (pas de conflit avec le nouvel état de base), le stash continue d'exister, ce qui pourrait nous tenter plus tard de le réappliquer, à tort évidemment.</p>
  <p>Ce qu'il faudrait en fait, c'est que si l'<code>apply</code> marche, on exécute automatiquement le <code>drop</code>.  Et c'est précisément le sens de <code>git stash pop</code>.</p>
  <p>Contrairement à ce que son nom peut laisser penser, celui-ci ne se limite pas au dernier stash existant : on peut en préciser un autre (par exemple <code>git stash pop stash@{2}</code>).  Ceci dit, je trouve que <strong>les stashes ne devraient exister que très peu de temps</strong>, pour contourner une situation complexe ou un obstacle, et qu'on ne devrait donc pratiquement jamais en avoir plusieurs.</p>
  <p>Par ailleurs, il est dommage que <code>apply</code> et <code>pop</code> ne restaurent pas, par défaut, l'état du <em>stage</em>.  Celui-ci est pourtant bien sauvegardé par <code>save</code>, toujours par défaut.  Alors pourquoi ne pas le restaurer d'office, dans la mesure où le <em>stage</em> est une info importante ?</p>
  <p>C'est parce que la commande est peureuse : si vous avez modifié un fichier figurant dans le <em>stage</em> du stash, elle serait contrainte de fusionner les deux et de re-<em>stager</em> le résultat.  Git fait ce genre de choses d'habitude (suite à un <code>merge</code>, <code>rebase</code> ou <code>cherry-pick</code> par exemple, avec ou sans assistance de <code>rerere</code>), mais sur ce coup, il le refusera.</p>
  <p>Du coup, pour ne pas avoir à hurler <em>en cas de fusion portant sur le stage</em>, par défaut, il ne restaure pas ce dernier : les snapshots concernés redeviennent de simples modifs locales sur le disque.</p>
  <p>Ça m'exaspère au plus haut point, de sorte que <strong>je lui demande toujours explicitement de tenter la restauration du <em>stage</em></strong>.  Au pire, si j'ai en effet un souci car j'aurais modifié un fichier par ailleurs <em>staged</em>, je retirerai mon option et reconstruirai mon <em>stage</em> manuellement.  J'utilise donc systématiquement l'option <code>--index</code> :</p>
  <pre class="language-bash">git stash pop --index
  </pre>
  <p>Il n'existe hélas pas de variable de configuration pour systématiser ce comportement…</p>
  <p>Ah oui, et puis il est <strong>très facile d'oublier qu'on a stashé</strong> : pensez à avoir <a href="https://delicious-insights.com/fr/articles/prompt-git-qui-dechire">un bon prompt</a> avec la variable d'environnement <code>GIT_PS1_SHOWSTASHSTATE</code> activée.</p>
        <h2>La précédente branche active : <code>-</code></h2>
          <p>Vous savez peut-être que dans les shells usuels, <code>cd -</code> vous permet de revenir au répertoire précédent (du coup, l'utilisation répétée de la commande bascule entre deux répertoires).</p>
  <p>Au fil des versions, Git a successivement appris cette astuce pour les commandes <code>checkout</code>, <code>merge</code>, <code>cherry-pick</code> et <code>rebase</code>.  Voici un schéma classique :</p>
  <pre class="language-bash">(topic)  $ git checkout master
  (master) $ git merge -
  </pre>
  <p>Encore un autre :</p>
  <pre class="language-bash">(2-3-stable +) $ git ci -m "fix: no more conflict with Underscore.  Fixes #217."
  (2-3-stable)   $ git checkout master
  (master)       $ git cherry-pick -
  </pre>
  <p>Si vous êtes sur une version qui n'a pas cette astuce pour votre commande (<a href="https://delicious-insights.com/fr/articles/git-evolutions-recentes">vérifiez</a>), ou que vous en avez besoin pour une commande qui ne gère pas encore la syntaxe, n'oubliez pas que c'est juste du sucre syntaxique pour la syntaxe bien plus ancienne et universelle <code>@{-1}</code>.</p>
        <h2>Annuler le merge en cours sans effacer les modifs locales</h2>
          <p><strong>Git n'a pas besoin d'un <em>clean tree</em></strong> pour autoriser une fusion : il lui suffit que le <em>working directory</em> (WD) soit <a href="http://git-scm.com/docs/git-merge#_pre_merge_checks"><em>in good order</em></a>, c'est-à-dire, principalement, que les fichiers qui vont être touchés par la fusion ne fassent pas actuellement l'objet de modifs locales, et d'autre part qu'il n'y ait pas déjà un <em>stage</em> en cours (pour éviter à terme un commit fourre-tout).</p>
  <p>Du coup, lorsque vous vous retrouvez à arbitrer des conflits de fusion, vous pouvez avoir sous la main des modifs issues de conflits de fusion, mais aussi d'autres qui étaient là avant de lancer <code>git merge</code>.</p>
  <p>Si vous abandonnez la fusion faute d'informations suffisantes, il peut être tentant de faire un bon vieux <code>git reset --hard</code>.  Ce serait en fait <strong>dangereux</strong>, parce que ça purgerait aussi les modifs locales qui étaient là <strong>avant le <code>merge</code></strong>.</p>
  <p>C'est pourquoi il est possible de faire un <code>git reset --merge</code> (ou la syntaxe plus récente <code>git merge --abort</code>, qui ressemble à son équivalent pour le <code>rebase</code>) : vous ne réinitialiserez alors <strong>que ce qui vient de la fusion</strong>.</p>
  <pre class="language-bash">(master *) $ git merge cool-feature
  Auto-merging index.html
  CONFLICT (content): Merge conflict in index.html
  Automatic merge failed; fix conflicts and then commit the result.
  (master *+) $ git merge --abort
  (master *)  $
  </pre>
  <p>C'est en fait même faisable <strong>après une fusion réussie</strong> !</p>
  <pre class="language-bash">(master *) $ git merge cool-feature
  Auto-merging index.html
  Merge made by the `recursive` strategy.
  [afbd564] Merged `cool-feature` branch
  (master *) $ git reset --merge ORIG_HEAD
  [ac3489b] Original master tip
  (master *) $
  </pre>
  <p>La classe, non ?  Ça nous évite du stash, tout ça…</p>
        <h2>Éviter de flinguer un <em>merge</em> en le <em>rebasant</em></h2>
          <p>Le <em>rebasing</em> est décidément <a href="https://delicious-insights.com/fr/articles/bien-utiliser-git-merge-et-rebase">un super couteau suisse</a>, avec juste un petit risque potentiel : par défaut, <strong>lorsqu'il <em>rebase</em> un commit de fusion, il <em>inline</em> la fusion</strong>.  En gros, on court le risque suivant (ici illustré au travers d'un <code>pull</code> qui <em>rebase</em> au lieu de fusionner) :</p>
  <p><img src="https://delicious-insights.com/assets/images/articles/git-merge-rebase-inlining.png" alt="Un exemple d’inlining fortuit d’un commit de fusion lors du rebase" /></p>
  <p>Pour éviter ça, il suffit de demander au <em>rebase</em> de <strong>préserver les fusions</strong>, à l'aide de l'option <code>-p</code>, ou sa version longue <code>--preserve-merges</code>.</p>
  <p><img src="https://delicious-insights.com/assets/images/articles/git-merge-rebase-preserved.png" alt="Un rebase qui préserve les fusions" /></p>
  <p>Évitez toutefois de combiner avec des réordonnancements en mode interactif, <a href="http://git-scm.com/docs/git-rebase#_bugs">ça donnerait des résultats inattendus</a>.</p>
        <h2>Être un ninja avec le rebase <code>-i</code></h2>
          <p>C'est en mode interactif que le <em>rebase</em> donne <strong>toute sa mesure</strong>, le cas d'utilisation pluri-quotidien étant le réflexe de bonne pratique qui consiste à toujours évaluer son historique local avant un <em>push</em>, et à le <a href="https://delicious-insights.com/fr/articles/bien-utiliser-git-merge-et-rebase/#nettoyer-son%20historique%20local%20avant%20envoi">mettre au propre</a> si besoin, à l'aide d'un <code>git rebase -i @{u}</code>.</p>
  <p>Purge de commits à somme nulle (genre l'original et son <em>revert</em>), réordonnancement de commits, fusion de tentatives successives pour un même correctif, réécriture des messages, découpe de commits fourre-tout…  <a href="https://delicious-insights.com/fr/articles/bien-utiliser-git-merge-et-rebase/#nettoyer-son%20historique%20local%20avant%20envoi">Tout est possible</a>.</p>
        <h2>Nettoyer sereinement avec <code>-i</code> et <code>-n</code></h2>
          <p>La commande <code>git clean</code> est bien utile, mais <strong>potentiellement destructrice</strong> : en effet, elle impacte le <em>working directory</em> (WD) et, du coup, peut <strong>dégager des modifs locales qui n'ont jamais été committées</strong>, de sorte que si on a fait une bévue, Git ne pourra pas nous aider à récupérer ce travail !</p>
  <p>Par défaut d'ailleurs, <code>git clean</code> est une <em>no-op</em>, car <code>clean.requireForce</code> est à <code>true</code>, il faut donc au moins un <code>git clean -f</code> pour envoyer la purée ; et même ça, ça n'entrera pas dans les sous-répertoires (sauf <code>-d</code>), et laissera de côté les fichiers ignorés (sauf <code>-x</code>).</p>
  <p>Vous avez toutefois la possibilité de <strong>voir à quoi ressemblera votre <code>clean</code> sans aucun risque</strong>, avec la traditionnelle option <code>-n</code> (ou <code>--dry-run</code>), présente sur de nombreuses commandes Git, qui listera les fichiers et dossiers qui seraient supprimés si elle n'était pas là, mais se bornera, justement, à les lister.</p>
  <p>Et pour passer à l'action, vous pouvez vous <strong>tranquilliser encore</strong> en utilisant <code>-i</code> (le traditionnel <code>--interactive</code>), qui vous proposera une sorte de shell listant les candidats à la suppression, et permet de les filtrer, de confirmer pour chaque, etc.  Plus d'angoisse !</p>
        <h2>Caler l'upstream à la volée avec <code>-u</code></h2>
          <p>Vous <em>pushez</em> une branche pour la première fois ?  Il vous faudra toujours expliciter le <em>remote</em> voulu (même si vous n'en avez qu'un de défini) et la branche souhaitée (même si elle est active), par exemple <code>git push origin topic</code>.</p>
  <p>Toutefois, ce simple <code>push</code> <strong>ne met pas en place le <em>tracking</em></strong> : la configuration locale de votre dépôt ne retient pas l'association entre votre branche locale <code>topic</code> et son <em>upstream</em>, ici la branche <code>topic</code> du <em>remote</em> <code>origin</code>.</p>
  <p>Pour y remédier, vous pouvez à tout moment refaire ce <code>push</code> en précisant <code>-u</code> (ou <code>--set-upstream</code>), qui calera cette configuration avant le <em>push</em> proprement dit, afin que vous n'ayez plus besoin de préciser tout ça lors des futurs <code>push</code> et <code>pull</code>.</p>
  <pre class="language-bash">git push -u origin topic
  </pre>
  <p>En interne, ça fait un <code>git branch --set-upstream-to=origin/topic topic</code>, ce que vous pouvez donc faire à la main si vous souhaitez le <strong>configurer sans <em>pusher</em> tout de suite</strong> pour autant.</p>
  <p>Pour rappel, vous n'êtes pas obligés de connecter votre branche locale à une branche distante homonyme : si les noms doivent différer, il vous suffira de connecter l'<em>upstream</em> en utilisant la <strong>syntaxe totale de <code>push</code></strong>, par exemple ici pour avoir une branche distante <code>christophe-topic</code> pour ma branche locale <code>topic</code> :</p>
  <pre class="language-bash">git push -u origin topic:christophe-topic
  </pre>
  <p>C'est d'ailleurs pour cette raison que la syntaxe de <strong>suppression de branche distante</strong> est :</p>
  <pre class="language-bash">git push origin :old-remote-branch
  </pre>
  <p>Elle revient à dire « remplacer la branche distante <code>old-remote-branch</code> par rien du tout »… donc la supprimer.</p>
        <h2>Ah tiens, 36 en fait</h2>
          <p>Eh oui, 36 options finalement (sans compter les variations courte/longue).  Et 4 variables de configuration (plus une d'environnement).  Que voulez-vous, on est comme ça chez Git Attitude, on donne, on donne…</p>
        <h2>Envie d'en savoir plus ?</h2>
          <p>Déjà, vous pouvez voir par le menu <a href="https://delicious-insights.com/fr/articles/git-evolutions-recentes">tout ce qui est apparu d'intéressant dans Git depuis la 1.7</a>, grâce à notre article dédié.  Vous pouvez aussi aller fouiller dans le détail <a href="https://delicious-insights.com/fr/articles/bien-utiliser-git-merge-et-rebase">la bonne utilisation de merge vs. rebase</a>, si ce n'est déjà fait.</p>
  <p>Mais surtout, notre formation <a href="https://delicious-insights.com/fr/formations/git-total/">Git Total</a> explore ces thématiques et bien d'autres pour vous donner une compréhension en profondeur de Git, vous transformant en experts en seulement 3 jours, pour un tarif très raisonnable !  Disponible en inter-entreprises tous les 2 mois (hors été) et en intra-entreprises <a href="https://deliciousinsights.wufoo.com/forms/r7x2x3/">sur demande</a>.</p>
  <p>[^1]: Bon, pas une super chemise, hein, une de mes vieilles, on ne sait jamais…
  [^2]: Si tu es payé(e) au caractère, tu as carrément <code>git add --no-ignore-removal</code>.  Pfiou.</p>
        </div><img src="https://delicious-insights.com/assets/images/client-logos/airbus-ds.png" width="160" height="37" alt="[VSC Technologies (Voyages SNCF)]" /><img src="https://delicious-insights.com/assets/images/client-logos/canal-plus.png" width="160" height="30" alt="[FIXME-logo]" /><img src="https://delicious-insights.com/assets/images/client-logos/ing.png" width="160" height="41" alt="[FIXME]" /><img src="https://delicious-insights.com/assets/images/client-logos/leboncoin.png" width="160" height="29" alt="[FIXME energy]" /><img src="https://delicious-insights.com/assets/images/client-logos/orange.png" width="160" height="41" alt="[FIXME]" /><img src="https://delicious-insights.com/assets/images/client-logos/vsc.png" width="125" height="50" alt="[FIXME]" /><ul><li><a href="https://delicious-insights.com/fr/a-propos">À propos</a></li><li><a href="https://delicious-insights.com/fr/faq"><abbr title="Foire Aux Questions">FAQ</abbr></a></li><li><a href="https://delicious-insights.com/fr/conditions-generales-de-vente"><abbr title="Conditions Générales de Vente">CGV</abbr></a></li><li><a href="https://delicious-insights.com/fr/reglement-interieur">Règlement intérieur</a></li><li><a href="https://delicious-insights.com/fr/mentions-legales">Mentions légales</a></li></ul><address><strong>Delicious Insights SAS</strong><p>83 avenue Philippe-Auguste <br />75011 Paris</p><p><abbr title="Téléphone">Tél.</abbr> : 09 83 45 01 76<br /><a href="mailto:contact@delicious-insights.com">contact@delicious-insights.com</a></p></address><p><small>© 2011–2017 Delicious Insights SAS<br />Tous droits réservés</small></p>


title: p8952/bocker
url: https://github.com/p8952/bocker
created_at: 2017-08-10 23:20:29
updated_at: 2017-08-10 23:20:29
mimetype: text/html
language: en
domain_name: github.com
preview_picture: https://avatars1.githubusercontent.com/u/2962587?v=4&s=400
http_status: 200
content:
  <h3>
        
        README.md
      </h3><p>Docker implemented in around 100 lines of bash.</p>
  <ul><li><a href="https://github.com/p8952/bocker#prerequisites">Prerequisites</a></li>
  <li><a href="https://github.com/p8952/bocker#example-usage">Example Usage</a></li>
  <li><a href="https://github.com/p8952/bocker#functionality-currently-implemented">Functionality: Currently Implemented</a></li>
  <li><a href="https://github.com/p8952/bocker#functionality-not-yet-implemented">Functionality: Not Yet Implemented</a></li>
  <li><a href="https://github.com/p8952/bocker#license">License</a></li>
  </ul><h2><a id="user-content-prerequisites" class="anchor" href="https://github.com/p8952/bocker#prerequisites"></a>Prerequisites</h2>
  <p>The following packages are needed to run bocker.</p>
  <ul><li>btrfs-progs</li>
  <li>curl</li>
  <li>iproute2</li>
  <li>iptables</li>
  <li>libcgroup-tools</li>
  <li>util-linux &gt;= 2.25.2</li>
  <li>coreutils &gt;= 7.5</li>
  </ul><p>Because most distributions do not ship a new enough version of util-linux you will probably need to grab the sources from <a href="https://www.kernel.org/pub/linux/utils/util-linux/v2.25/">here</a> and compile it yourself.</p>
  <p>Additionally your system will need to be configured with the following:</p>
  <ul><li>A btrfs filesystem mounted under <code>/var/bocker</code></li>
  <li>A network bridge called <code>bridge0</code> and an IP of 10.0.0.1/24</li>
  <li>IP forwarding enabled in <code>/proc/sys/net/ipv4/ip_forward</code></li>
  <li>A firewall routing traffic from <code>bridge0</code> to a physical interface.</li>
  </ul><p>For ease of use a Vagrantfile is included which will build the needed environment.</p>
  <p>Even if you meet the above prerequisites you probably still want to <strong>run bocker in a virtual machine</strong>. Bocker runs as root and among other things needs to make changes to your network interfaces, routing table, and firewall rules. <strong>I can make no guarantees that it won't trash your system</strong>.</p>
  <h2><a id="user-content-example-usage" class="anchor" href="https://github.com/p8952/bocker#example-usage"></a>Example Usage</h2>
  <pre>$ bocker pull centos 7
  ######################################################################## 100.0%
  ######################################################################## 100.0%
  ######################################################################## 100.0%
  Created: img_42150
  $ bocker images
  IMAGE_ID        SOURCE
  img_42150       centos:7
  $ bocker run img_42150 cat /etc/centos-release
  CentOS Linux release 7.1.1503 (Core)
  $ bocker ps
  CONTAINER_ID       COMMAND
  ps_42045           cat /etc/centos-release
  $ bocker logs ps_42045
  CentOS Linux release 7.1.1503 (Core)
  $ bocker rm ps_42045
  Removed: ps_42045
  $ bocker run img_42150 which wget
  which: no wget in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
  $ bocker run img_42150 yum install -y wget
  Installing : wget-1.14-10.el7_0.1.x86_64                                  1/1
  Verifying  : wget-1.14-10.el7_0.1.x86_64                                  1/1
  Installed  : wget.x86_64 0:1.14-10.el7_0.1
  Complete!
  $ bocker ps
  CONTAINER_ID       COMMAND
  ps_42018           yum install -y wget
  ps_42182           which wget
  $ bocker commit ps_42018 img_42150
  Removed: img_42150
  Created: img_42150
  $ bocker run img_42150 which wget
  /usr/bin/wget
  $ bocker run img_42150 cat /proc/1/cgroup
  ...
  4:memory:/ps_42152
  3:cpuacct,cpu:/ps_42152
  $ cat /sys/fs/cgroup/cpu/ps_42152/cpu.shares
  512
  $ cat /sys/fs/cgroup/memory/ps_42152/memory.limit_in_bytes
  512000000
  $ BOCKER_CPU_SHARE=1024 \
  	BOCKER_MEM_LIMIT=1024 \
  	bocker run img_42150 cat /proc/1/cgroup
  ...
  4:memory:/ps_42188
  3:cpuacct,cpu:/ps_42188
  $ cat /sys/fs/cgroup/cpu/ps_42188/cpu.shares
  1024
  $ cat /sys/fs/cgroup/memory/ps_42188/memory.limit_in_bytes
  1024000000
  </pre>
  <h2><a id="user-content-functionality-currently-implemented" class="anchor" href="https://github.com/p8952/bocker#functionality-currently-implemented"></a>Functionality: Currently Implemented</h2>
  <ul><li><code>docker build</code> †</li>
  <li><code>docker pull</code></li>
  <li><code>docker images</code></li>
  <li><code>docker ps</code></li>
  <li><code>docker run</code></li>
  <li><code>docker exec</code></li>
  <li><code>docker logs</code></li>
  <li><code>docker commit</code></li>
  <li><code>docker rm</code> / <code>docker rmi</code></li>
  <li>Networking</li>
  <li>Quota Support / CGroups</li>
  </ul><p>† <code>bocker init</code> provides a very limited implementation of <code>docker build</code></p>
  <h2><a id="user-content-functionality-not-yet-implemented" class="anchor" href="https://github.com/p8952/bocker#functionality-not-yet-implemented"></a>Functionality: Not Yet Implemented</h2>
  <ul><li>Data Volume Containers</li>
  <li>Data Volumes</li>
  <li>Port Forwarding</li>
  </ul><h2><a id="user-content-license" class="anchor" href="https://github.com/p8952/bocker#license"></a>License</h2>
  <p>Copyright (C) 2015 Peter Wilmott</p>
  <p>This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.</p>
  <p>This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.</p>
  <p>You should have received a copy of the GNU General Public License
  along with this program.  If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>.</p>


url: http://www.revenudebase.info/2016/03/16/au-dela-gesticulations-revolution-marche/
created_at: 2017-08-10 23:20:30
updated_at: 2017-08-10 23:20:30
mimetype: text/html
language: fr-FR
domain_name: www.revenudebase.info
http_status: 200
title:
  Revenu de base inconditionnel et suffisant, au delà des gesticulations, une (r)évolution en marche...

content:
  <p><strong>Il y a quelques jours sur <a href="https://www.facebook.com/permalink.php?story_fbid=1677196392533952&amp;id=1525946107658982">Facebook</a>, Franck Lepage parlait en termes peu flatteurs de « cette saleté de revenu de base ». Frédéric Bosqué, entrepreneur humaniste, co-fondateur du MFRB et du projet <a href="http://www.tera.coop">Tera</a>, lui répond dans cette tribune.</strong></p>
  <p>Mon très cher Franck,</p>
  <p>Parce que j’ai une haute estime pour ton travail qui m’a, Ô combien, inspiré, je prends ma plume pour éclairer quelques éléments de ton discours à charge sur un des revenus de base… qui est loin de représenter tous les autres. Je n’ai pas bien compris cette <em>inquisition,</em> ou du moins pas au début…</p>
  <p>A t’entendre, ou plutôt à te lire, il semble que tous les <em>revenus de base</em> se valent… Pourtant tu n’en as retenu qu’un seul à l’idéologie néolibérale et tu as ensuite fusionné tous les autres sous cette bannière destructrice des valeurs communes que pourtant nous portons ensemble. Mais pourquoi donc cette simplification, cet amalgame douloureux ? Si je ne t’avais pas vu porter le même étendard que moi dans tes conférences gesticulantes, je n’aurais même pas répondu à ce déballement d’arguments de surface, totalisant et sans nuance, à cette caricature indigne des valeurs qui nous rassemblent… Heureusement, et sans réserve, je ne te réduirai pas à ce texte… Car il semble qu’au mieux tu ne connais pas tous les revenus de base, et qu’au pire, tu as écarté, voire ignoré, ceux de notre propre camps, pour mieux taper sur celui que tu choisis comme symbole de tous…</p>
  <p>Sincèrement, je préfère quand tu parles des retraites, des projets et de la culture. Mais question économie, il semble que tu sois plus un porte-voix qu’une voix qui porte… Mais qui donc parle au travers de toi ? Arrêterais-tu de respirer en condamnant l’air que tu respires sous prétexte qu’avec cet air, un tueur a tué un enfant sans défense ? Serait-ce que tu ferais, toi, au revenu de base ce que d’autres on fait à l’éducation populaire ?</p>
  <p>Je ne pense pas que tu sois de si mauvaise foi. Je pense plutôt que tu veux nous prévenir des dangers de l’idéologie qui se cache derrière certains types de revenus de base… Et c’est parce que j’ai une haute estime de ton travail que j’ai décidé de reprendre la plume pour apporter certains éclaircissements sur le revenu de base que nous sommes nombreux à défendre, afin que chacun puisse, à partir de nos deux points de vue, se faire le leur… J’aurai plaisir à en discuter avec toi autour d’un bon vin et un bon repas avec des ami-e-s communs comme il se doit à une bonne dispute entre frères de sens.</p>
  <p>Qu’est ce qui te fais dire que <em>TOUS les gens fatigués</em> et <em>des milliers de décroissants</em> se suffiraient de ces huit-cents euros ? Il y a là un fort préjugé que je t’invite à venir par toi même vérifier en décrochant ton parachute <em>idéologique</em> pour atterrir auprès de ces citoyens que tu juges un peu vite d’une hauteur si lointaine… en te rapprochant d’eux, jusqu’à ce que tu sentes la chaleur de leur respiration tranquille. Tu verras que, s’ils baissent les bras, c’est pour semer ce que d’autres mangeront demain, pour construire les maisons que d’autres habiteront demain, pour recueillir, filtrer et recycler l’eau que d’autres boiront demain, pour poser les panneaux solaires, les éoliennes qui produiront demain l’énergie de ceux qui auront appris à la consommer avec un peu plus de modération afin que leurs enfants ne finissent pas avec trop de boue dans leur poumon…</p>
  <p>Tu verras que non seulement ils ne renoncent à rien des projets de la fin du salariat et du patronat, défendu dans les textes fondateurs de la CGT. Mais plus que cela, tu verras qu’ils préparent son avènement en s’émancipant le plus possible des aliénations qui conditionnent leur vie, à savoir un travail forcé et son lien de subordination. Je pense que nous gagnerions à respecter mutuellement ceux qui, justement, œuvrent pour un autre monde, fut-il post-capitaliste et DONC post-marxiste… Nous ne croyons pas que le salariat soit l’alpha et l’omega de toute évolution sociale mais une étape dans l’émancipation qui nous conduit vers un travail librement choisi dans le secteur marchand ou pas.</p>
  <p>Tu critiques un revenu de base qui ne serait financé QUE via l’impôt. C’est une nouvelle fois une méconnaissance de tous les revenus de base. En effet, pour certains, notre idée est aussi de contre-garantir ce revenu de base par une production relocalisée, vitale et durable échangées en monnaie citoyenne locale, ce qui nous permet de ne plus dépendre des multinationales qui produisent et distribuent aujourd’hui 80% des produits consommés. En contre-garantissant cette monnaie citoyenne locale par des euros déposés sur un compte épargne éthique, on prive les banques commerciales de leur base de monnaie centrale qu’elles ne peuvent plus démultiplier par le crédit au seul usage des marchés financiers. Par le fait de déposer cette monnaie centrale sur le compte épargne de banques plus éthiques, nous leur offrons la possibilité de générer du crédit vers l’économie réelle et nous contribuons ainsi à libérer les acteurs économiques que sont les ménages, les entreprises et les collectivités de cet anneau qu’ils ont tous dans le nez que l’on nomme la dette… Nous mettons progressivement fin à l’accumulation des intérêts financiers dans la structure des coûts des biens, services et information vitaux aux citoyens.</p>
  <p>Ce cercle vertueux, amorcé par un revenu d’autonomie (revenu de base en monnaie citoyenne locale) conduit à l’émancipation des acteurs, leur permettant de retrouver une capacité d’épargne et donc de gagner une plus grande indépendance des marchés financiers et du marché de l’emploi contraint et forcé contre de la monnaie… Et cela tout de suite, sans attendre le grand soir où on rasera gratis pour se réveiller le matin avec la tête dans le c…</p>
  <p>Libre à ceux qui veulent continuer à équilibrer les conditions matérielles entre acteurs du secteur marchand (employé et actionnaire) de le faire… Mais ne réduisons pas la lutte à cela, car un jour ces deux rôles ne seront qu’une infime partie dans l’activité humaine… Tant d’activités humaines n’ont pas besoin de contrepartie en monnaie pour que leurs fruits soient donnés ou échangés entre les vivants ! Non, nous ne baissons pas les bras, nous élevons nos comportements au niveau de nos valeurs… et ces valeurs visent à dépasser la société de production pour entrer dans la civilisation de l’émancipation !</p>
  <p>Dire que nous allons supprimer les salaires, les retraites et tous les acquis sociaux est là aussi un jugement à charge sur quelques propositions de revenus de base ultra-libérales et met de côté tous ceux qui s’engagent au contraire à ne rien toucher aux allocations supérieures au revenu de base… voire qui s’engagent à bien plus !</p>
  <p>Je pense que ce que tu n’as pas vu, surement à cause de la hauteur que tu prends avec ton parachute <em>idéologique</em>, que je t’invite une nouvelle fois à lâcher, c’est que la (r)évolution du revenu de base, c’est d’abord la coupure nette et définitive entre mon revenu d’existence et ma participation directe et forcée à la production de biens, de services et d’informations exclusivement aux fins de les vendre sur un marché contre de la monnaie. Il ne s’agit pas de mettre fin à l’ordre marchand mais de le remettre à sa place comme un rivière qui a débordé.</p>
  <p>Avec un revenu de base suffisant, c’est à dire qui donne la possibilité à un citoyen à dire <em>non</em> ou <em>oui</em> à une activité marchande, des pans entiers de l’économie <em>capitaliste</em> vont s’effondrer faute de citoyens à exploiter. Et en même temps, des pans entiers de l’économie de marché vont être revalorisés car les citoyens ne reviendront bosser que contre un revenu et des conditions matérielles meilleures. Je ne crois pas que tout entrepreneur est un démon ni que tout salarié soit un ange… Je crois que certains des deux parties puisent sur leur organisation bien plus que ce qu’elle peut leur rendre. Un revenu de base libérera l’entrepreneuriat sous toutes ses formes : auto-entrepreneur, artisan, commerçant, agriculteur, société anonyme ou pas, à responsabilité limitée ou pas et enfin association, coopérative et collectivités territoriales… Je pense qu’une fois libéré de la soumission à un contrat marchand, chacun pourra se joindre à l’organisation qui lui ressemble le plus, quelle qu’en soit la forme juridique.</p>
  <p>En fait l’instauration d’un revenu de base inconditionnel suffisant, associé à la réappropriation de l’appareil de production, des réseaux de distribution, des moyens d’échanges, des revenus et de la gouvernance, va nous faire entrer dans une civilisation où les humains pourront enfin expérimenter le chemin de leur propre bonheur dans le respect de tous les vivants.</p>
  <p>Tu soulignes que salaire et cotisation sont une conquête ! Oui, c’est vrai bien sûr ! Mais ce n’est pas en faisant évoluer la bougie que nous sommes arrivés à l’ampoule électrique ! Au lieu de nous arc-bouter sur un modèle qui nous vient de l’aire industrielle où les humains étaient attachés à leur machine, nous avons à nous lancer vers le monde qui vient où la partie immatérielle de notre travail va augmenter de façon exponentielle, où son intermittence va s’amplifier. Nos activités vont davantage ressembler à celles d’artistes qu’à celles de fonctionnaires, même si nous aurons bien sûr besoin des activités d’utilité écologique et sociale. C’est déjà le cas, mais dans les années qui viennent, cela va s’accélérer de façon exponentielle. Il ne s’agit pas de la fin du travail mais plutôt de la fin de l’emploi marchand conditionné par des rapports salariaux de maître à esclaves, ou d’enfant à parent que le patron soit un individu aveugle ou un collectif sourd.</p>
  <p>Un revenu de base inconditionnel suffisant, associé à des communs dont l’accès sera garanti (alimentation, santé, éducation, culture, justice…) par contrats et conventions entre toutes les parties prenantes et pas seulement par une ou deux d’entre elles, nous libérera au contraire de cette vision d’un passé lointain où il nous fallait lutter les uns contre les autres pour vivre mieux et plus longtemps !</p>
  <p>Nous sommes nombreux à dire que pour instaurer un revenu de base inconditionnel, la première étape est de réaliser <em>une révolution immobile,</em> c’est à dire que son instauration ne doit <em>ni augmenter les impots ni diminuer les allocations</em>. Autrement dit, on ne prend que les cotisations de solidarité, on laisse donc tel quel les cotisations assurantielles – chômage, maladie — et les revenus de transfert, comme les retraites par exemple, et on fusionne une grande partie de ces 152 mesures de solidarité, si complexes et obscures que l’on n’y comprend plus rien, en une seule qui l’on donne à tous les citoyens sans contrôle ni exigence de contrepartie. Une fois ce nouveau droit créé, comme pour la naissance de congés payés en 1936, qui n’étaient que de quinze jours, nous faisons progresser ce droit vers un niveau suffisant pour que chaque citoyen puisse dire <em>oui</em> ou <em>non</em> à une activité marchande.</p>
  <p>En fait, ce n’est qu’à la fin que j’ai compris pourquoi tu avais besoin de fusionner tous les revenus de base dans celui qui est le plus néolibéral… avec sans doute une certaine mauvaise foi qui prête à sourire un peu comme dans tes conférences gesticulées… Mais là, je trouve que tu tires à vue contre les frères de ton propre camp et cela est peu fraternel… En fait, à la fin de ton message, tu défends le salaire à vie de notre ami Bernard Friot CONTRE le revenu de base… et pour cela il est important que le revenu de base soit une <em>merde néolibérale</em>. Bon, ici se trouve notre désaccord. Si je crois à l’analyse de Bernard, je ne crois pas à sa réponse qui est portée par un modèle idéologique qui nous vient d’un passé révolu.</p>
  <p>Cela n’a rien de mal, c’est juste que je n’y crois pas. Cela ne fait ni de lui, ni de toi, ni du réseau salariat <em>une merde néo-marxiste. C</em>ela fait juste de nous des volontaires qui veulent proposer l’alternative qui nous convient le mieux… Il s’agit de préférer telle ou telle stratégie, tel ou tel choix de société. Celui qui résulte du salaire à vie me convient moins que celui qui résulte d’un revenu de base inconditionnel et suffisant.</p>
  <p>D’ailleurs je te renvoie ici à l’article que j’avais écrit il y a quelques temps : <a href="http://www.revenudebase.info/2013/01/09/revenu-salaire-vie-friot/">Citoyen ou salarié à vie ? Analyse critique du « salaire à vie » de Bernard Friot</a></p>
  <p>Tu verras… le ton y est amical sur les personnes et il appelle à une discussion fraternelle entre nous, moins pour lancer des anathèmes simplificateurs les uns sur les autres mais pour construire de vrais désaccords. Je serais d’ailleurs toujours ok pour inviter Bernard à notre repas pour nous disputer en toute fraternité !</p>

preview_picture:
  http://www.revenudebase.info/wp-content/uploads/2015/07/11707839_1663963350504559_4048162829921492276_n.jpg


title: Location Intelligence Software — CARTO
url: https://carto.com/
created_at: 2017-08-10 23:20:33
updated_at: 2017-08-10 23:20:33
mimetype: text/html
domain_name: carto.com
preview_picture: https://cartodb-libs.global.ssl.fastly.net/cartodb.com/files/img/logo/media-default.0a9ae2ce.png
http_status: 200
content:
  <div class="u-inner u-inner--20"> <div class="Grid"> <div class="Grid-inner Grid-inner--vcenter Grid-inner--shortpadding"> <div class="Grid-cell Grid-cell--col12--mobile u-offset--l640"> <div class="u-inner--s1100"> <div class="desktop"> <div class="centerMap u-boxShadow"> <a href="https://carto.com/builder"> <img src="https://cartodb-libs.global.ssl.fastly.net/cartodb.com/files/img/layout/homepage/builder-asset.acd9ddb5.png" alt="Builder asset" /></a> </div> <div class="toggleMap u-right"> <p class="p4 u-malign u-tspace--24 u-left"> <a href="https://carto.com/#/toggle" class="Toggle js-Toggle u-malign u-rspace--8"> <i class="Toggle-inner"> </i></a> View app </p> </div> </div> <div class="mobile u-boxShadow mobile-offsetRight--200"> <a href="https://carto.com/builder"> <img src="https://cartodb-libs.global.ssl.fastly.net/cartodb.com/files/img/layout/homepage/builder-asset.acd9ddb5.png" alt="Builder asset" /></a> </div> </div> </div>  <div class="Grid-cell Grid-cell--col5 Grid-cell--col12--mobile Grid-cell--col12--tablet u-tspace--40--mobile u-tspace--40--tablet"> <p class="small2">CARTO Builder</p> <h2 class="title1">Escape the GIS Handcuffs</h2> <p class="p1 u-vspace--24">A self-service business user application for spatial analysis and visualization. Builder’s drag and drop analytics empower business analysts to optimize operations and quickly deploy location applications. Free yourself from reliance on legacy GIS products and processes and put the power of location intelligence directly in your hands.</p> <a href="https://carto.com/builder" class="NewButton NewButton--blue js-Action--CTAbody1B">Learn more about Builder</a> </div> </div> </div> </div> <div class="u-inner u-inner--900"> <div class="Grid"> <div class="Grid-inner Grid-inner--vcenter Grid-inner--shortpadding">   <div class="Grid-cell Grid-cell--col5 Grid-cell--col12--tablet Grid-cell--col12--mobile u-tspace--40--mobile"> <p class="small2">Data Observatory</p>  <p class="p1 u-vspace--24">Augment your own data and broaden your analysis with thousands of demographic, economic, and real estate datasets. CARTO Data Observatory provides out of the box access to everything from commuting patterns to household income. Discover hidden patterns and comprehensive insight into where unforeseen opportunities exist.</p> <a href="https://carto.com/data-observatory" class="NewButton NewButton--blue js-Action--CTAbody4">Learn more about Data Observatory</a> </div> </div></div></div><div class="u-inner"> <div class="Grid"> <div class="Grid-inner"> <div class="Grid-cell Grid-cell--col10 Grid-cell--col10--tablet Grid-cell--col12--mobile u-vspace--64 u-vspace--32--mobile u-vspace--32--tablet"> <h2 class="title1">News and resources</h2> <p class="p1">Join the CARTO community to access resources and stay on top of the latest events, webinars, and news.</p> </div> </div> </div> <div class="Grid"> <ul class="Grid-inner"><li class="Grid-cell Grid-cell--col4 Grid-cell--col12--mobile u-vspace--32--tablet">  <h4 class="small2">E-book</h4> <h3 class="title3 u-vspace--24">Download Location Intelligence for Dummies</h3> <a href="http://go.carto.com/get-location-intelligence-for-dummies" class="NewButton NewButton--green js-Action--WEBNregister">I want my copy</a> </li> <li class="Grid-cell Grid-cell--col4 Grid-cell--col12--mobile u-vspace--32--tablet"> <div class="u-icon48 u-vspace--16"> <img src="https://cartodb-libs.global.ssl.fastly.net/cartodb.com/files/img/icons/webinars-green.d188c26f.svg" alt="Webinars icon" /></div> <h4 class="small2">Next webinar</h4> <h3 class="title3 u-vspace--24">Using LI in Outdoor Media: Selling Audiences not Ads</h3> <a href="http://go.carto.com/applying-location-intelligence-in-outdoor-media" class="NewButton NewButton--green js-Action--WEBNregister">Register</a> </li> <li class="Grid-cell Grid-cell--col4 Grid-cell--col12--mobile u-vspace--48 u-vspace--0--mobile"> <div class="u-icon48 u-vspace--16"> <img src="https://cartodb-libs.global.ssl.fastly.net/cartodb.com/files/img/icons/bookmark-green.ac3c0a6f.svg" alt="Bookmark icon" /></div> <h4 class="small2">White Papers</h4> <h3 class="title3 u-vspace--24">Location Intelligence</h3> <a href="http://go.carto.com/location-intelligence-whitepaper" class="NewButton NewButton--secondary js-Action--whitepaper">Download</a> </li> </ul></div> </div> <div class="Video-lightbox"> <div class="Video-lightboxInner u-pr">  <iframe id="videoIframe" src="https://player.vimeo.com/video/173591785?title=0&amp;byline=0&amp;portrait=0" width="1100" height="619" frameborder="0" allowfullscreen="allowfullscreen">[embedded content]</iframe> </div> </div>  


title: A beginner’s guide to Raspberry Pi 3 B and Android Things
url: http://www.andtuts.com/a-beginners-guide-to-raspberry-pi-3-b-and-android-things/
created_at: 2017-08-10 23:20:36
updated_at: 2017-08-10 23:20:36
mimetype: text/html
language: en-US
domain_name: www.andtuts.com
http_status: 200
content:
  <div class="entry__content">
      <p>Aloha! My Raspberry Pi 3 Model B kit is here and I’m going to write a step by step guide on how to set it up with Android Things.</p>
  <img class="wp-image-278 size-full" src="http://www.andtuts.com/wp-content/uploads/2016/12/DSCF1870-Small.jpg" alt="Raspberry Pi3 Model B" width="720" height="480" />Raspberry PI3 Model B
  <p><strong>What is Raspberry Pi 3?</strong></p>
  <p>It’s a small credit card size computer that can be used to develop all kinds of fun stuff. Learn more about it directly from Raspberry foundation <a href="https://www.raspberrypi.org/">website</a>. Below is a picture of Raspberry inside a small case.</p>
  <p><img class="aligncenter wp-image-279 size-full" src="http://www.andtuts.com/wp-content/uploads/2016/12/DSCF1882-Small.jpg" alt="Rapberry Pi 3 inside a case" width="720" height="480" /></p>
  <p><strong>Key specifications of Pi 3 Model B</strong></p>
  <p>There are quite a few models of Raspberry but to develop for <strong>Android Things you need Raspberry Pi 3 Model B</strong>. Below are some of the key specifications of RB Pi 3 Model B.</p>
  <ul><li>A 1.2GHz 64-bit quad-core ARMv8 CPU</li>
  <li>1GB RAM</li>
  <li>4 USB ports</li>
  <li>HDMI output</li>
  <li>Ethernet port</li>
  <li>802.11 n wireless lan</li>
  <li>Bluetooth</li>
  </ul><p><img class="aligncenter wp-image-281 size-full" src="http://www.andtuts.com/wp-content/uploads/2016/12/DSCF1877-Small.jpg" alt="raspberry pi usb ports and ethernet" width="720" height="480" /><img class="aligncenter size-full wp-image-282" src="http://www.andtuts.com/wp-content/uploads/2016/12/DSCF1879-Small.jpg" alt="" width="720" height="480" /><img class="aligncenter wp-image-283 size-full" src="http://www.andtuts.com/wp-content/uploads/2016/12/DSCF1887-Small.jpg" alt="raspberry pi 3 ethernet connected" width="720" height="480" /></p>

  <p><strong>What You will need for Android Things</strong></p>
  <p>To begin developing for Android Things you will need a few things along with your Raspberry Pi as listed below.</p>
  <ol><li>HDMI cable and HDMI display/monitor  –  There are quite a few on Amazon like this one <a href="http://amzn.to/2j1ROgJ">http://amzn.to/2j1ROgJ</a></li>
  <li>micro USB cable</li>
  <li>Micro SD card(with sd adapter) and sd card reader (8GB or more)</li>
  <li>Ethernet cable</li>
  </ol><p>Once you have all the things ready, you are ready to get Android Things up and running.</p>
  <p><strong>Let’s Begin</strong></p>
  <p>Insert your sd card into your computer and download <strong>Win32DiskImager </strong>by <a href="http://sourceforge.net/projects/win32diskimager/">clicking here </a>and then install it.</p>
  <p><strong>Mac Users : </strong>Follow the tutorial here to write image to sd card<strong> <a href="https://www.raspberrypi.org/documentation/installation/installing-images/mac.md">https://www.raspberrypi.org/documentation/installation/installing-images/mac.md</a></strong></p>
  <p>Download <strong>Android Things system image</strong> for Raspberry Pi from <a href="https://developer.android.com/things/preview/download.html">here</a>. It’s about 268mb so might take a while depending on your internet speed. Once downloaded just extract it using your favorite zip utility. I use 7-zip but windows usually comes with a built-in zip utility.</p>
  <p>Now you need to write the image to your sd card. Begin by launching DiskImager utility we downloaded previously. On windows 10 you will have to start it by right clicking and selecting “run as administrator” as shown below.</p>

  <p><img class="aligncenter wp-image-273 size-full" src="http://www.andtuts.com/wp-content/uploads/2016/12/win32diskwin10.png" alt="win32diskimager launch windows 10" width="712" height="268" /></p>

  <p>Next for Image file browse to the unzipped android things image file we downloaded previously and select it. Make sure the <strong>device letter matches</strong> the device letter for your sd card in windows as shown in red below. Click <strong>write</strong> and now you will have to wait for the image to be written to sd card. It took around 10 minutes on my computer.</p>
  <p><img class="aligncenter wp-image-274 size-full" src="http://www.andtuts.com/wp-content/uploads/2016/12/win32diskiamger.png" alt="win32 disk imager writing to flash drive" width="406" height="210" /></p>

  <p>Now your sd card is ready to be inserted into raspberry pi. Insert the micro SD card as shown below.</p>
  <p><img class="aligncenter wp-image-285 size-full" src="http://www.andtuts.com/wp-content/uploads/2016/12/DSCF1884-Small.jpg" alt="raspberry pi 3 with micro sd card inserted" width="720" height="480" /></p>

  <p>Next, follow the steps below</p>

  <div class="quads-location quads-ad1" id="quads-ad1">


  </div>

  <ol><li>Connect your Raspberry Pi to a power source (micro usb)</li>
  <li>connect an hdmi display to hdmi port</li>
  <li>connect Ethernet cable</li>
  </ol><p>As soon as you connect the power source your raspberry will start and launch the operating system (in our case Android Things) as shown below.</p>
  <p><img class="aligncenter wp-image-286 size-full" src="http://www.andtuts.com/wp-content/uploads/2016/12/DSCF1890-Small.jpg" alt="android things starting on screen" width="720" height="480" /></p>
  <img class="wp-image-403 size-large" src="http://www.andtuts.com/wp-content/uploads/2016/12/IMG_20161220_172636883-1024x576.jpg" alt="Android Things" width="700" height="394" />Your LAN ip address for Raspberry pi will be displayed at the bottom
  <p><strong>ADB TOOL</strong></p>
  <p>Now we need to connect to our Raspberry from windows/mac or whatever your development computer is. I’m using windows so I will only cover windows here.</p>
  <p><strong>What is Adb Tool?</strong></p>
  <p>Android Debug Bridge or adb is a command line tool to communicate with our emulator device which can be a phone or a small computer running Android Things as is the case here. You can read more about it <a href="https://developer.android.com/studio/command-line/adb.html">here</a>.</p>
  <p><strong>Where to find adb tool on windows 10?</strong></p>

  <p><em><strong>Update January 13 2017</strong></em></p>
  <p><em>Google has now released a stand alone version of adb (platform tools) which can be downloaded <a href="https://developer.android.com/studio/releases/platform-tools.html">here </a>.</em></p>

  <p>adb tool on windows 10 is located inside username/appdata as shown below. Go to the path below.</p>
  <p>C:\Users\<strong>YourName</strong>\AppData\Local\Android\sdk\platform-tools</p>
  <p>YourName will be your name or account name in windows. Once you are inside platform-tool folder, select shift and right click anywhere inside window. Shift+Rightclick and then click Open command window here as shown below.</p>
  <p><img class="aligncenter wp-image-289 size-full" src="http://www.andtuts.com/wp-content/uploads/2016/12/opencommandhere.png" alt="open command window here" width="300" height="185" /></p>

  <p>This will open command line window and open the folder where adb is located.</p>
  <p><strong>How to connect adb tool to Android Things?</strong></p>
  <p>Now you are ready to connect to your android things device. Note down the ip address as shown on android things screen and run the command <strong>adb connect ipaddress</strong> as shown below.</p>
  <p><img class="aligncenter wp-image-290 size-full" src="http://www.andtuts.com/wp-content/uploads/2016/12/adbconnect.png" alt="adb connect" width="531" height="64" /></p>

  <p>Now you are connected to Raspberry from windows. Run command <strong>adb devices</strong> to confirm.</p>
  <p><img class="aligncenter wp-image-291 size-full" src="http://www.andtuts.com/wp-content/uploads/2016/12/adbconnected.png" alt="adb devices command" width="428" height="51" /></p>
  <p>Remember your ip addresses will be different. Now let’s run the sample project.</p>
  <p><strong>Deploy the Starter/Sample project to Android Things</strong></p>
  <p>Download the sample project from Android Things <a href="https://github.com/androidthings/new-project-template">here</a> and open it in Android Studio.</p>
  <p>Click run as you normally do and you will see a new device listed on top as shown below.</p>
  <p><img class="aligncenter wp-image-292 size-full" src="http://www.andtuts.com/wp-content/uploads/2016/12/androidthings-1.png" alt="android things connected devices list" width="417" height="98" /></p>

  <p>Select the device and click ok and now your sample project will show up on the display connected to raspberry.</p>
  <p><img class="aligncenter wp-image-294 size-full" src="http://www.andtuts.com/wp-content/uploads/2016/12/IMG_20161220_152453756-Small.jpg" alt="starter android things project running on screen" width="853" height="480" /></p>

  <p>There it is. Our Starter app is now running on Raspberry.</p>
  <p>That’s it for now. Let me know any comments or concerns. I will build some projects in future posts and cover more details as I learn them.</p>


  <p>Credit: <a href="https://developer.android.com/things/hardware/raspberrypi.html">https://developer.android.com/things/hardware/raspberrypi.html</a></p>

  <p><iframe width="300" height="150" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="http://ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&amp;OneJS=1&amp;Operation=GetAdHtml&amp;MarketPlace=US&amp;source=ss&amp;ref=as_ss_li_til&amp;ad_type=product_link&amp;tracking_id=andtuts-20&amp;marketplace=amazon&amp;region=US&amp;placement=B01CD5VC92&amp;asins=B01CD5VC92&amp;linkId=79d6dc62cccc6830ee2088228df86815&amp;show_border=true&amp;link_opens_in_new_window=true">[embedded content]</iframe></p>

  <div>  </div>

    
      Category : <ul class="post-categories"><li><a href="http://www.andtuts.com/category/android-things/" rel="category tag">Android Things</a></li>
  	<li><a href="http://www.andtuts.com/category/development/" rel="category tag">Development</a></li></ul>Tag : <a href="http://www.andtuts.com/tag/android-things/" rel="tag">android things</a>  

    <form method="get" class="search-form" action="http://www.andtuts.com/">
  				<div><label>
  					Search for:
  					<input type="search" class="search-field" value="" name="s" /></label>
  				<input type="submit" class="search-submit" value="Search" /></div></form><h2 class="widget__title">Recent Posts</h2>		<ul><li>
  				<a href="http://www.andtuts.com/the-going-global-playbook-book-review/">The Going Global Playbook – Book Review</a>
  						</li>
  					<li>
  				<a href="http://www.andtuts.com/introducing-intent-and-different-types-of-intent/">Introducing Intent and different types of Intent</a>
  						</li>
  					<li>
  				<a href="http://www.andtuts.com/launching-andwire-com/">Launching AndWire.com</a>
  						</li>
  					<li>
  				<a href="http://www.andtuts.com/how-to-add-a-button-and-build-a-simple-interactive-android-app/">How to add a button and build a simple interactive Android App</a>
  						</li>
  					<li>
  				<a href="http://www.andtuts.com/a-beginners-guide-to-raspberry-pi-3-b-and-android-things/">A beginner’s guide to Raspberry Pi 3 B and Android Things</a>
  						</li>
  				</ul><h2 class="widget__title">Recent Comments</h2><ul id="recentcomments"><li class="recentcomments"><a href="http://www.andwire.com/top-five-unlocked-budget-android-phones-under-200/" rel="external nofollow" class="url">Top Five Unlocked Budget Android Phones Under $200 – Android Wire</a> on <a href="http://www.andtuts.com/motorolla-moto-g4-play-review/#comment-35">Motorola Moto G4 Play Review</a></li><li class="recentcomments"><a href="http://www.andwire.com/five-projects-using-android-things/" rel="external nofollow" class="url">Five Projects using Android Things – Android Wire</a> on <a href="http://www.andtuts.com/a-beginners-guide-to-raspberry-pi-3-b-and-android-things/#comment-25">A beginner’s guide to Raspberry Pi 3 B and Android Things</a></li><li class="recentcomments">Kaiser on <a href="http://www.andtuts.com/a-beginners-guide-to-raspberry-pi-3-b-and-android-things/#comment-22">A beginner’s guide to Raspberry Pi 3 B and Android Things</a></li><li class="recentcomments">Shajeel Afzal on <a href="http://www.andtuts.com/a-beginners-guide-to-raspberry-pi-3-b-and-android-things/#comment-21">A beginner’s guide to Raspberry Pi 3 B and Android Things</a></li><li class="recentcomments">Systematic on <a href="http://www.andtuts.com/a-beginners-guide-to-raspberry-pi-3-b-and-android-things/#comment-19">A beginner’s guide to Raspberry Pi 3 B and Android Things</a></li></ul><h2 class="widget__title">Archives</h2>		<ul><li><a href="http://www.andtuts.com/2017/01/">January 2017</a></li>
  	<li><a href="http://www.andtuts.com/2016/12/">December 2016</a></li>
  		</ul><h2 class="widget__title">Categories</h2>		<ul><li class="cat-item cat-item-7"><a href="http://www.andtuts.com/category/android-phones/">Android Phones</a>
  </li>
  	<li class="cat-item cat-item-14"><a href="http://www.andtuts.com/category/android-things/">Android Things</a>
  </li>
  	<li class="cat-item cat-item-4"><a href="http://www.andtuts.com/category/development/androidstudio/">AndroidStudio</a>
  </li>
  	<li class="cat-item cat-item-2"><a href="http://www.andtuts.com/category/development/basics/">Basics</a>
  </li>
  	<li class="cat-item cat-item-12"><a href="http://www.andtuts.com/category/development/">Development</a>
  </li>
  	<li class="cat-item cat-item-13"><a href="http://www.andtuts.com/category/news/">News</a>
  </li>
  		</ul><h2 class="widget__title">Meta</h2>			<ul><li><a href="http://www.andtuts.com/wp-login.php">Log in</a></li>
  			<li><a href="http://www.andtuts.com/feed/">Entries <abbr title="Really Simple Syndication">RSS</abbr></a></li>
  			<li><a href="http://www.andtuts.com/comments/feed/">Comments <abbr title="Really Simple Syndication">RSS</abbr></a></li>
  			<li><a href="https://wordpress.org/" title="Powered by WordPress, state-of-the-art semantic personal publishing platform.">WordPress.org</a></li>			</ul></div>


title: Des routes et des ponts (11) – Les défis de la maintenance
url: https://framablog.org/2016/11/22/des-routes-et-des-ponts-11-les-defis-de-la-maintenance/
created_at: 2017-08-10 23:20:37
updated_at: 2017-08-10 23:20:37
mimetype: text/html
language: fr-FR
domain_name: framablog.org
preview_picture: https://framablog.org/wp-content/uploads/2016/11/6196938171_447ee71493_z.jpg
http_status: 200
content:
  <div class="pdfprnt-buttons pdfprnt-buttons-post pdfprnt-top-right"><a href="https://framablog.org/2016/11/22/des-routes-et-des-ponts-11-les-defis-de-la-maintenance/?print=pdf" class="pdfprnt-button pdfprnt-button-pdf" target="_blank"><img src="https://framablog.org/wp-content/plugins/pdf-print/images/pdf.png" alt="image_pdf" title="View PDF" /></a><a href="https://framablog.org/2016/11/22/des-routes-et-des-ponts-11-les-defis-de-la-maintenance/?print=print" class="pdfprnt-button pdfprnt-button-print" target="_blank"><img src="https://framablog.org/wp-content/plugins/pdf-print/images/print.png" alt="image_print" title="Print Content" /></a></div><p>Dans ce onzième chapitre de son ouvrage <a href="https://fordfoundcontent.blob.core.windows.net/media/2976/roads-and-bridges-the-unseen-labor-behind-our-digital-infrastructure.pdf">Des routes et des ponts</a> que l’équipe Framalang vous traduit semaine après semaine (<a href="https://framablog.org/category/libres-cultures/des-routes-et-des-ponts/">si vous avez raté le début</a>), Nadia Eghbal aborde le problème endémique des infrastructures numériques <em>open source</em>, leur manque de ressources humaines pérennes : entre ceux qui s’y consacrent à corps perdu et s’arrêtent au bord du <em>burnout</em>, les entreprises qui profitent des ressources sans jamais contribuer en retour, ceux qui se lancent ingénument dans le développement sans notion bien nette de sécurité, ceux qui ne peuvent contribuer que sur un temps libre limité… Des témoignages sur ces situations et d’autres encore ont été recueillis dans ce chapitre.</p>
  <p>Comme le souligne l’autrice, cette situation bancale a pour conséquence un coût important en termes d’argent et de sécurité pour l’ensemble de l’industrie numérique qui puise abondamment dans l’infrastructure numérique <em>open source</em>.</p>

  <h2>Négliger les infrastructures a un coût caché</h2>
  <p><em>Traduction Framalang : Piup, jums, Penguin, serici, xi, Asta, Diane, glissière de sécurité, Luc, goofy, lyn</em></p>
  <p>Comme nous l’avons vu, l’infrastructure numérique est un constituant essentiel du monde actuel. Notre société repose sur les logiciels, et ces logiciels s’appuient de plus en plus sur une infrastructure qui utilise des méthodologies <em>open source</em>. Dans la mesure où nous prenons peu d’initiatives pour comprendre et pérenniser notre infrastructure numérique, que mettons-nous en péril ?<br />
  Ne pas réinvestir dans l’infrastructure numérique présente des dangers que l’on peut classer en deux catégories : les coûts directs et les coûts indirects.</p>
  <h4>Les coûts directs</h4>
  <p>Les coûts directs sont les bogues non détectés et les vulnérabilités de sécurité qui peuvent être exploitées à des fins malveillantes, ou qui mènent à des interruptions imprévues dans le fonctionnement des logiciels. Ces coûts sont fortement ressentis et causent des problèmes qui doivent être résolus immédiatement.</p>
  <h4>Les coûts indirects</h4>
  <p>Les coûts indirects se traduisent par exemple par la perte de main-d’œuvre qualifiée, ainsi qu’une croissance faible et peu d’innovation. Même si ces coûts ne sont pas immédiatement perceptibles, ils représentent une valeur sociale difficile à évaluer.</p>
  <h4>Bogues, failles de sécurité et interruptions du service</h4>
  <p>L’introduction de ce rapport relatait les détails de la faille de sécurité Heartbleed, qui a été découverte en avril 2014 dans une bibliothèque logicielle appelée OpenSSL. Du fait de son usage généralisé, notamment pour le fonctionnement de nombreux sites web majeurs, Heartbleed a largement attiré l’attention du public sur le problème des failles de sécurité des logiciels.</p>
  <p>En septembre 2014, une autre faille majeure a été découverte dans un autre outil essentiel appelé Bash. Bash est inclus dans des systèmes d’exploitation populaires tels que Linux et Mac OS, ce qui fait qu’il est installé sur 70 % des machines connectées à internet.</p>
  <p>L’ensemble de bugs de sécurité, surnommés « ShellShock », peuvent être exploités pour permettre un accès non autorisé à un système informatique. Les vulnérabilités étaient restées non-détectées pendant au moins une décennie. Bash a été créé à l’origine par un développeur appelé Brian Fox en 1987, mais depuis 1992 il est maintenu par un seul développeur, Chet Ramey, qui travaille comme architecte technique senior à la Case Western University dans l’Ohio.</p>
  <p>Un autre projet, OpenSSH, fournit une suite d’outils de sécurité dont l’usage est largement répandu sur internet. Des développeurs ont trouvé de multiples failles dans son code qui ont pu être prises en charge et corrigées, y compris celle de juillet 2015, qui permettait aux attaquants de dépasser le nombre maximal d’essais sur les mots de passe, et celle de janvier 2016, qui laissait fuiter les clefs de sécurité privées.</p>
  <p>L’un des aspects du problème est que beaucoup de projets sont des outils anciens, développés au départ par un ou plusieurs développeurs passionnés, qui ont par la suite manqué de ressources pour gérer le succès de leur projet. Avec le temps, les contributions diminuent et les acteurs restants se lassent et s’en vont, mais pour autant le projet est toujours activement utilisé, avec seulement une ou deux personnes tâchant de le maintenir en vie.</p>
  <p>Un autre problème croissant dans le paysage des logiciels actuel, où l’on voit tant de jeunes développeurs inexpérimentés, c’est que les concepts de sécurisation ne sont pas enseignés ou pas considérés comme prioritaires. Les nouveaux développeurs veulent simplement écrire du code qui marche. Ils ne savent pas faire un logiciel sécurisé, ou pensent à tort que le code public qu’ils utilisent dans la sécurité de leurs programmes a été vérifiée. Même les bonnes pratiques de divulgation sécurisée ou de gestion des failles ne sont généralement pas enseignées ni comprises. La sécurité ne devient un enjeu que lorsque le code d’un développeur a été compromis.</p>
  <p>Christopher Allen a coécrit la première version du protocole de transfert sécurisé TLS (Transport Layer Security), dont les versions successives sont devenues un standard utilisé quasiment universellement en ligne, y compris sur des sites comme Google, Facebook ou YouTube. Bien que le protocole soit devenu un standard, Christophe parle ainsi de ses origines :</p>
  <blockquote><p><em> « En tant que co-auteur de TLS, je n’aurais pas prédit que 15 ans plus tard la moitié d’Internet utiliserait une implémentation de TLS maintenue par un ingénieur à quart-temps. C’est ce manque de maintenance qui a conduit au bug tristement célèbre de Heartbleed. Je raconte aujourd’hui cette anecdote à mes collègues qui travaillent sur les crypto-monnaies pour les avertir que leur chiffrage, ultra moderne aujourd’hui, pourrait  être ’dépassé’ dans 10 ans et subir le même sort, le projet n’étant plus aussi passionnant, et leur travail acharné risquerait d’être compromis. »</em></p></blockquote>
  <p>En définitive, la stabilité de nos logiciels repose sur la bonne volonté et la coopération de centaines de développeurs, ce qui représente un risque significatif. La fragilité de notre infrastructure numérique a récemment été démontrée par un développeur nommé Azer Koçulu.<br />
  Azer, un développeur Node.js, hébergeait un certain nombre de bibliothèques sur un gestionnaire de paquets nommé npm. Après un conflit avec npm sur la propriété intellectuelle d’un de ses projets, Azer, mécontent de l’issue du conflit, décida de supprimer toutes les publications qu’il avait pu faire sur npm.</p>
  <p>L’une de ces bibliothèques, left-pad, avait été réutilisée dans des centaines d’autres projets. Même s’il ne s’agissait que de quelques lignes de code, en supprimant le projet left-pad, Azer a « cassé » les algorithmes d’innombrables protocoles logiciels développés par d’autres. La décision d’Azer a provoqué tant de problèmes que npm a pris la décision sans précédent de republier sa bibliothèque, contre la volonté d’Azer, afin de restaurer les fonctionnalités offertes par le reste de l’écosystème.</p>
  <p>Npm a aussi revu sa politique pour qu’il soit plus difficile pour les développeurs de retirer leurs bibliothèques sans avertissement, reconnaissant ainsi que les actions d’un individu peuvent en affecter négativement beaucoup d’autres.</p>
  <h3>Les logiciels ne reçoivent pas la maintenance nécessaire dont ils ont besoin</h3>
  <p>Construire une infrastructure numérique de façon désorganisée implique que tout logiciel sera construit plus lentement et moins efficacement. L’histoire de l’infrastructure Python en fournit un bon exemple.</p>
  <p>L’un des importants projets d’infrastructure pour les développeurs Python se nomme Setuptools. Setuptools fournit un ensemble d’outils qui rendent le développement en Python plus simple et plus standardisé.<br />
  Setuptools a été écrit en 2004, par le développeur PJ Eby. Pendant les quatre années qui ont suivi, l’outil a été largement adopté. Néanmoins, Setuptools était difficile à installer et à utiliser, et Eby était très peu réceptif aux contributions et aux corrections apportées par d’autres, car il voulait, en tant que concepteur, avoir le dernier mot sur Setuptools. En 2008, un groupe de développeurs conduits par Tarek Ziade a décidé de <em>forker</em> le projet pour obliger Eby à faire des améliorations. Ils ont appelé le nouveau projet « Distribute ». En 2013, les deux projets ont fusionné dans Setuptools.<br />
  Ce long désaccord a néanmoins souligné à la fois l’état douteux des outils de l’infrastructure de Python, et la difficulté de mettre en œuvre des améliorations, notamment parce que personne ne se consacrait aux problèmes de la communauté ni ne désirait s’en occuper.</p>
  <p>Les outils de Python ont commencé à s’améliorer quand le groupe de travail Python Packaging Authority (PyPA) s’est formé pour se consacrer spécifiquement à définir de meilleurs standards pour le paquetage. Un développeur, Donald Stufft, fit des outils de paquetage Python le cœur de son travail et fut engagé par HP (devenu HPE) en mai 2015 pour poursuivre son travail (son parcours sera évoqué plus tard dans ce rapport).</p>
  <p>Un autre exemple intéressant est celui de RubyGems.org, un site web utilisé par la plupart des développeurs Ruby pour héberger leurs bibliothèques Ruby. Ruby a été utilisé pour bâtir des sites web majeurs comme Twitter, AirBnB, YellowPages et GitHub lui-même. En 2013, une faille de sécurité de RubyGems.org a été découverte, mais elle ne fut pas réparée avant plusieurs jours, parce que RubyGems.org était entièrement maintenue par des bénévoles. Les bénévoles pensaient régler le problème le week-end, mais pendant ce temps, quelqu’un d’autre a découvert la faille et a piraté le serveur de RubyGems.org. Après l’attaque, les serveurs ont dû être entièrement reconfigurés. Plusieurs bénévoles ont pris sur leur temps de travail, et certains ont même pris des jours de congé, afin de remettre RubyGems.org en état de marche le plus vite possible.</p>
  <p>Comme RubyGems.org est un élément d’infrastructure critique, la faille de sécurité affectait par rebond beaucoup de développeurs et d’entreprises. L’incident a mis en lumière le fait qu’un travail fondé uniquement sur la base du volontariat limitait les garanties de sécurité et de fiabilité que l’on pouvait offrir sur une infrastructure logicielle importante. Des dizaines de développeurs se mobilisèrent de façon « bénévole » pendant l’incident parce que le problème affectait directement leur emploi salarié.</p>
  <p>Malheureusement, aucun d’entre eux n’avait l’expérience requise pour être utile, et aucun d’entre eux n’a continué à offrir son aide une fois les serveurs réparés. En 2015, une organisation nommée Ruby Together a été formée pour aider à financer la maintenance et le développement de l’infrastructure Ruby, entre autres RubyGems.org, en sollicitant des entreprises comme sponsors.</p>
  <h3>La perte de main-d’œuvre qualifiée</h3>
  <p>Comme dans beaucoup de communautés de bénévoles, le « <em>burnout</em> » est commun parmi les contributeurs <em>open source</em>, qui se retrouvent à répondre aux requêtes d’utilisateurs individuels ou d’entreprises, pour un travail sans compensation. Beaucoup de développeurs ont des anecdotes où des entreprises les sollicitaient pour du travail gratuit. Daniel Roy Greenfield, développeur Django et Python, a écrit :</p>
  <blockquote><p><em>« J’ai personnellement eu des demandes pour du travail non-payé (les discussions pour payer le travail n’aboutissent jamais) par des entreprises à haut profit, grandes ou petites, pour [mes projets]. Si je ne réponds pas dans les temps convenus, si je n’accepte pas une </em>pull request<em> merdique, on va me mettre une étiquette de connard. Il n’y a rien de pire que d’être face à des développeurs du noyau Python/PyPA travaillant pour Redhat [sic], qui exigent de toi un travail non payé tout en critiquant ce qu’ils considèrent comme les insuffisances de ton projet, pour te pourrir ta journée et plomber ta foi en l’open source. »</em></p></blockquote>
  <p>(Red Hat est une multinationale du logiciel avec un revenu annuel excédant les 2 milliards d’euros, qui vend des logiciels open source à des clients d’entreprise. Du fait de la nature de leur entreprise, les employés de Red Hat utilisent et contribuent à de nombreux projets open source : en un sens, Red Hat est devenu la tête d’affiche de l’open source dans le monde de l’entreprise. Nous reparlerons de son succès financier plus tard dans ce rapport).</p>
  <p>Read the Docs, service d’hébergement de documentation technique précédemment mentionné, annonce explicitement sur son site qu’il ne s’occupe pas de l’installation personnalisée dans les entreprises ou chez les particuliers.</p>
  <p>L’un des mainteneurs, Eric Holscher, va jusqu’à faire ce commentaire :<br />
  « Je suis à peu près sûr que Read the Docs n’a aucun intérêt à être <em>open source</em>, vu que les utilisateurs privés ne contribuent jamais en retour, et se contentent de demander une assistance gratuite. »<br />
  Maquess, le contributeur OpenSSL, a tenu un discours acerbe à propos des requêtes récurrentes sur ses posts qui parlent de financement :</p>
  <blockquote><p><em>« C’est à vous que je pense, entreprises du Fortune 1000. Vous qui incluez OpenSSL dans vos firewall/dispositifs/cloud/produits financiers ou de sécurité, tous ces produits que vous vendez à profit, ou que vous utilisez pour vos infrastructures et communications internes. Vous qui n’avez pas besoin de financer une équipe interne de programmeurs pour se débattre avec du code crypté, puis qui nous harcelez pour obtenir une assistance gratuite quand vous réalisez que vous êtes incapables de l’utiliser. Vous qui n’avez jamais levé le petit doigt pour contribuer à la communauté open source qui vous a fait ce cadeau. Les concernés se reconnaîtront. Certains développeurs choisissent d’arrêter de maintenir leurs projets parce qu’ils n’ont plus assez de temps à y consacrer, et espèrent que quelqu’un d’autre prendra le relais. Pendant ce temps, les entreprises, les gouvernements et les individus dépendent de ces bibliothèques pour leur bon fonctionnement, inconscients des enjeux sous-jacents. »</em></p></blockquote>
  <p>David Michael Ross, ingénieur manager dans une agence web, a écrit au sujet de son expérience :</p>
  <blockquote><p><em>« Pour moi, c’est là que le bât blesse.  […] On sait qu’on a créé quelque chose gratuitement, par passion, et on voit ce flux infini de personnes qui crient « plus ! encore plus ! » et qui se mettent en colère quand on ne traite pas leur cas particulier.</em><br /><em> Il y avait mon numéro de téléphone sur l’un de mes sites personnels pour que mes amis puissent me joindre. Je l’ai enlevé au bout d’une semaine parce que des gens m’appelaient à toute heure de la journée pour de l’assistance sur les plugins, alors qu’il y a un forum consacré à ça. Il n’y a rien de fondamentalement méchant là-dedans, c’est juste que c’est usant. On se met à avoir peur de vérifier ses mails ou de répondre au téléphone. »<br /></em></p></blockquote>
  <p>Ryan Bigg, qui écrit de la documentation technique pour le <em>framework</em> Ruby on Rails, a annoncé en novembre 2015 qu’il renonçait à tout travail <em>open source</em> :</p>
  <blockquote><p><em>« Je n’ai plus le temps ni l’énergie de m’investir dans l’</em>open source<em>. Je ne retire strictement aucun revenu de mon travail </em>open source<em>, ce qui veut dire que le travail que je fais là, c’est du temps que je pourrais consacrer à des activités perso, ou à écrire. Ce n’est pas justifié d’attendre de moi que je travaille encore, en dehors de mon emploi salarié, sans que je sois honnêtement rétribué pour ça (en temps ou en argent). C’est aussi une recette qui a de bonnes chances de me conduire au </em>burnout<em> ou de me rendre juste globalement aigri. </em></p></blockquote>
  <p>Par ailleurs, la perte de main-d’œuvre qualifiée dans l’<em>open source</em>, ce n’est pas seulement les contributeurs qui démissionnent, c’est aussi ceux qui n’ont jamais contribué du tout. »</p>
  <p>Il existe très peu de statistiques sur la démographie des contributeurs open source, ce qui est déjà révélateur en soi. Une analyse récente de GitHub a révélé que seulement 5,4 % des contributeurs <em>open source</em> étaient des femmes, qui occupent pourtant environ 15 à 20 % des postes techniques dans l’ensemble des entreprises de logiciels.</p>
  <p>L’une des raisons qui font que les contributeurs <em>open source</em> sont un groupe remarquablement plus homogène que le secteur de la technologie dans son ensemble, c’est qu’ils ont besoin de temps et d’argent pour apporter dans un premier temps des contributions significatives. Ces contraintes empêchent des contributeurs par ailleurs qualifiés d’entrer dans cet espace.<br />
  David Maclver, créateur de Hypothésis, une bibliothèque Python qui sert à tester des applications logicielles, explique pourquoi il a pu passer autant de temps sur le projet :</p>
  <blockquote><p><em>« J’ai pu le faire seulement parce que j’avais le temps et l’argent pour le faire. J’avais le temps parce que j’étais obsessionnel, je n’avais personne à charge, et je n’avais pas d’emploi. Je pouvais me permettre de ne pas avoir d’emploi parce que j’avais de l’argent. J’avais de l’argent parce que pendant la dernière moitié de l’année passée, je touchais un salaire deux fois plus élevé que d’habitude, en dépensant deux fois moins que d’habitude, et je traversais une dépression qui me rendait trop borderline pour avoir envie de dépenser mon argent dans quoi que ce soit d’intéressant. Ce ne sont pas des conditions qu’on peut raisonnablement exiger de quelqu’un. […] Est-ce qu’on pourrait produire un logiciel de qualité en moins de temps que ça, en ne travaillant que sur du temps libre ? J’en doute. »</em></p></blockquote>
  <img class="wp-image-8205 size-full" src="https://framablog.org/wp-content/uploads/2016/11/6196938171_447ee71493_z.jpg" alt="6196938171_447ee71493_z" width="474" height="354" /><a href="https://www.flickr.com/photos/hiyori13/">Photo par hiroo yamagata (CC BY 2.0)</a><p>Cory Benfield, un développeur pour les fonctions de base de Python, écrit :</p>
  <blockquote><p><em>« De manière générale, les personnes qui ne sont pas des hommes <a href="https://fr.wikipedia.org/wiki/Cisgenre">cisgenres</a>, hétérosexuels, blancs, de classe moyenne, et anglophones sont moins susceptibles de pouvoir assumer les risques financiers accrus associés à l’absence d’emploi stable. Cela signifie que ces personnes ont vraiment besoin d’un salaire régulier pour pouvoir contribuer le plus efficacement possible. Et nous avons <strong>besoin</strong> de leur contribution : des équipes diversifiées font un meilleur travail que des équipes homogènes. »</em></p></blockquote>
  <p>Charlotte Spencer, qui contribue au framework logiciel Hoodie et au système de bases de données PouchDB, fait écho à cette opinion :</p>
  <blockquote><p><em>« Toutes mes contributions sont purement bénévoles. Je n’en retire pas d’argent, même si j’aimerais beaucoup pouvoir. J’ai demandé à des vétérans de l’</em>open source<em> s’ils étaient payés et ce n’est pas le cas, ce qui m’a découragé d’essayer quoi que ce soit (si ces gens-là ne sont pas payés, pourquoi le serais-je ?). J’y consacre la plus grande partie de mon temps libre, mais j’essaie d’en faire moins parce que ça envahissait trop ma vie. »</em></p></blockquote>
  <p>Jessica Lord, développeuse, a contribué activement à l’<em>open source</em> tout en travaillant à Code for America, une organisation à but non-lucratif qui soutient la technologie dans le secteur public. Urbaniste de formation, elle insiste sur le fait qu’elle n’avait « pas de diplôme en informatique, pas d’expérience formelle en programmation, mais un portfolio GitHub ».</p>
  <p>Ses contributions régulières attirèrent l’attention de la plate-forme GitHub elle-même, pour qui elle travaille désormais. Cependant, Jessica note qu’elle a pu contribuer à l’<em>open source</em> grâce à un concours de circonstances « particulier » : elle a accepté une baisse de salaire pour travailler à Code for America, utilisé toutes ses économies, travaillé « presque non-stop » sur des projets <em>open source</em>, et bénéficié d’une communauté de soutiens.</p>
  <p>À propos du manque de diversité dans l’<em>open source</em>, Jessica écrit :</p>
  <blockquote><p><em>« La valeur des savoirs communs ne peut être surestimée. Nous devons faire mieux. Nous avons besoin des idées de tout le monde. C’est le but que nous devrions chercher à atteindre. Il est nécessaire que l’open source soit ouvert à tous. Pas seulement aux privilégiés ou même aux seuls développeurs. »</em></p></blockquote>
  <p>Ce dernier point soulevé par Jessica Lord est révélateur : permettre à des profils plus divers de participer à l’open source peut aider à pérenniser l’open source en elle-même. D’un point de vue fonctionnel, la grande majorité des contributeurs <em>open source</em> sont des développeurs, mais beaucoup d’autres rôles sont nécessaires pour gérer les projets d’ampleur, comme la rédaction, la gestion de projet ou la communication. Les projets <em>open source</em> ne sont pas différents des autres types d’organisations, y compris les <em>startups</em> où l’on a besoin de personnes se chargeant de l’administration, du marketing, du design, etc., qui sont autant de fonctions nécessaires au fonctionnement de base d’une structure. C’est en partie parce que la culture <em>open source</em> repose principalement sur les développeurs que la pérennité financière est si rarement l’objet de discussions et d’actions concrètes.</p>
  <p>Enfin, l’homogénéité des contributeurs <em>open source</em> impacte les efforts en faveur de la diversité dans le monde de la technologie au sens large, puisque l’<em>open source</em> est étroitement lié à l’embauche. En effet, comme nous l’avons remarqué plus haut, beaucoup d’employeurs utilisent les contributions <em>open source</em>, notamment les profils GitHub, pour découvrir leurs futurs employés potentiels ou pour vérifier les qualifications d’un candidat. Les employeurs qui se fient ainsi essentiellement aux preuves de contributions <em>open source</em> ne recrutent que parmi un vivier de candidats extrêmement restreint.</p>
  <p>Ashe Dryden, dans un essai important intitulé <em>L’Éthique du travail non payé et la Communauté OSS</em>, expliquait :</p>
  <blockquote><p><em>« Juger que quelqu’un est un bon programmeur en se basant uniquement sur le code qu’il rend disponible publiquement, c’est exclure bien plus que les gens marginaux. C’est aussi exclure quiconque n’est pas autorisé à publier son code publiquement pour des raisons de licence ou de sécurité. Cela concerne également un grand nombre de travailleurs freelance ou de contractuels qui, pour des raisons légales, n’ont pas le droit de revendiquer publiquement leur participation à un projet (par exemple s’ils ont signé un accord de confidentialité). Dans une industrie où on lutte pour dénicher assez de talents, pourquoi limitons-nous artificiellement le spectre des candidats ? » <a href="http://www.ashedryden.com/blog/the-ethics-of-unpaid-labor-and-the-oss-community">(source)</a><br /></em></p></blockquote>
  <p>Comment atténuer ou éviter certains des coûts qui s’imposent aux personnes qui participent à l’élaboration d’infrastructures numériques aujourd’hui ? Pour commencer, nous analyserons comment les projets d’infrastructure sont actuellement financés.</p>
  <div title="Diaspora*" id="diaspora-button-container"><a href="denied:javascript:(function(){var url = 'https://framablog.org/2016/11/22/des-routes-et-des-ponts-11-les-defis-de-la-maintenance/' ;var title = 'Des routes et des ponts (11) – Les défis de la maintenance';   window.open('https://framablog.org/wp-content/plugins/share-on-diaspora/new_window.php?url='+encodeURIComponent(url)+'&amp;title='+encodeURIComponent(title),'post','location=no,links=no,scrollbars=no,toolbar=no,width=620,height=400')})()"><img id="diaspora-button-ownimage-img" src="https://framablog.org/wp-content/uploads/2015/01/diaspora.jpg" alt="" /></a></div><div class="twoclick_social_bookmarks_post_8194 social_share_privacy clearfix 1.6.4 locale-fr_FR sprite-en_GB"><div class="twoclick-js"><div id="author-bio-box"><h3><img alt="" src="https://framablog.org/wp-content/plugins/fv-gravatar-cache/images/cd51d90409f606113b4fe8618dcf6870" class="avatar pull-left media-object avatar-90 photo" height="90" width="90" /></h3></div><a target="_blank" href="https://participer.framasoft.org/traduction-rejoignez-framalang/" class="bio-icon bio-icon-website"></a><a target="_blank" href="https://framasphere.org/u/framasoft" class="bio-icon bio-icon-facebook"></a><a target="_blank" href="https://twitter.com/framasoft" class="bio-icon bio-icon-twitter"></a><a target="_blank" href="https://plus.google.com/113481533567002271362/posts" class="bio-icon bio-icon-googleplus">Framalang est le groupe de traduction bénévole et communautaire de Framasoft. Les membres traduisent des articles du monde du Libre à l'intention du public francophone. Pour participer à cette aventure, </a><a href="https://participer.framasoft.org/traduction-rejoignez-framalang/">rejoignez notre liste de diffusion</a> !</div></div>


title: Meubles & déco d'intérieur Nouvelle collection
url: https://www.maisonsdumonde.com/FR/fr/meubles-decoration.htm?isRedirect=1
created_at: 2017-08-10 23:20:41
updated_at: 2017-08-10 23:20:41
mimetype: text/html
domain_name: www.maisonsdumonde.com
http_status: 200
content:
  <div class="global-wrapper">
          
  <div class="bs-temp indoor">
          <div class="row">
                  <div class="collections">
                      <div class="collection">
                          <img alt="" class="lazyload lazypreload img-responsive" src="src" /></div>
                      <div class="collection active">
                          <img alt="" class="lazyload lazypreload img-responsive" src="src" /></div>
                      <div class="collection">
                          <img alt="" class="lazyload lazypreload img-responsive" src="src" /></div>
                      <div class="pager">
                          <p>Nouvelle collection 2017</p>
                          <a href="https://www.maisonsdumonde.com/FR/fr/mobilier-decoration-jardin.htm" class="first item"><i class="visible-xs icon-item arrow-left pull-left"></i> Jardin</a>
                          Maison
                          <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration-enfant.htm" class="last item">Junior <i class="visible-xs icon-item arrow-right pull-right"></i></a>
                      </div>
                  </div>
                  
                  </div>
          
              <div class="row">
                  <div class="owl-carousel">
                      <div class="clearfix lazyload bg">
                          <div class="col-xs-12 col-sm-11 image-slide">
                              <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration/style-vintage.htm">&#13;
                                  <img alt="" class="lazyload img-responsive" src="src" /></a>
                          </div>
                          <div class="col-xs-12 col-sm-5 content-slide">
                              <div class="row">
                                  <div class="col-lg-10 col-lg-offset-1">
                                      <div class="content">
                                          <h3 class="title">Style vintage</h3>
                                          <p>Il a de beaux jours devant lui</p>
                                          <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration/style-vintage.htm" class="btn btn-lg">Je découvre</a>
                                      </div>
                                  </div>
                              </div>
                          </div>
                      </div>
                      <div class="clearfix lazyload bg">
                          <div class="col-xs-12 col-sm-11 image-slide">
                              <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration/style-exotique.htm">&#13;
                                  <img alt="" class="lazyload img-responsive" src="src" /></a>
                          </div>
                          <div class="col-xs-12 col-sm-5 content-slide">
                              <div class="row">
                                  <div class="col-lg-10 col-lg-offset-1">
                                      <div class="content">
                                          <h3 class="title">Style exotique</h3>
                                          <p>Il fait beau chez vous</p>
                                          <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration/style-exotique.htm" class="btn btn-lg">Je découvre</a>
                                      </div>
                                  </div>
                              </div>
                          </div>
                      </div>
                      <div class="clearfix lazyload bg">
                          <div class="col-xs-12 col-sm-11 image-slide">
                              <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration/style-modern-design.htm">&#13;
                                  <img alt="" class="lazyload img-responsive" src="src" /></a>
                          </div>
                          <div class="col-xs-12 col-sm-5 content-slide">
                              <div class="row">
                                  <div class="col-lg-10 col-lg-offset-1">
                                      <div class="content">
                                          <h3 class="title">Style modern design</h3>
                                          <p>Vivez avec votre époque</p>
                                          <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration/style-modern-design.htm" class="btn btn-lg">Je découvre</a>
                                      </div>
                                  </div>
                              </div>
                          </div>
                      </div>
                      <div class="clearfix lazyload bg">
                          <div class="col-xs-12 col-sm-11 image-slide">
                              <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration/style-classique-chic.htm">&#13;
                                  <img alt="" class="lazyload img-responsive" src="src" /></a>
                          </div>
                          <div class="col-xs-12 col-sm-5 content-slide">
                              <div class="row">
                                  <div class="col-lg-10 col-lg-offset-1">
                                      <div class="content">
                                          <h3 class="title">Style classique chic</h3>
                                          <p>Il y a du nouveau dans le classique</p>
                                          <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration/style-classique-chic.htm" class="btn btn-lg">Je découvre</a>
                                      </div>
                                  </div>
                              </div>
                          </div>
                      </div>
                      <div class="clearfix lazyload bg">
                          <div class="col-xs-12 col-sm-11 image-slide">
                              <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration/style-industriel.htm">&#13;
                                  <img alt="" class="lazyload img-responsive" src="src" /></a>
                          </div>
                          <div class="col-xs-12 col-sm-5 content-slide">
                              <div class="row">
                                  <div class="col-lg-10 col-lg-offset-1">
                                      <div class="content">
                                          <h3 class="title">Style industriel</h3>
                                          <p>De l'inspiration à la chaîne</p>
                                          <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration/style-industriel.htm" class="btn btn-lg">Je découvre</a>
                                      </div>
                                  </div>
                              </div>
                          </div>
                      </div>
                      <div class="clearfix lazyload bg">
                          <div class="col-xs-12 col-sm-11 image-slide">
                              <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration/style-maison-de-campagne.htm">&#13;
                                  <img alt="" class="lazyload img-responsive" src="src" /></a>
                          </div>
                          <div class="col-xs-12 col-sm-5 content-slide">
                              <div class="row">
                                  <div class="col-lg-10 col-lg-offset-1">
                                      <div class="content">
                                          <h3 class="title">Style maison de campagne</h3>
                                          <p>Tous vos goûts sont dans la nature</p>
                                          <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration/style-maison-de-campagne.htm" class="btn btn-lg">Je découvre</a>
                                      </div>
                                  </div>
                              </div>
                          </div>
                      </div>
                      <div class="clearfix lazyload bg">
                          <div class="col-xs-12 col-sm-11 image-slide">
                              <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration/style-bord-de-mer.htm">&#13;
                                  <img alt="" class="lazyload img-responsive" src="src" /></a>
                          </div>
                          <div class="col-xs-12 col-sm-5 content-slide">
                              <div class="row">
                                  <div class="col-lg-10 col-lg-offset-1">
                                      <div class="content">
                                          <h3 class="title">Style bord de mer</h3>
                                          <p>Littoralement vôtre</p>
                                          <a href="https://www.maisonsdumonde.com/FR/fr/meubles-decoration/style-bord-de-mer.htm" class="btn btn-lg">Je découvre</a>
                                      </div>
                                  </div>
                              </div>
                          </div>
                      </div>
                  </div>
              </div>
          
              <div class="row">
                  <div class="content">
                          <a href="https://www.maisonsdumonde.com/FR/fr/categorie/nouveautes-salle-a-manger-n268a77a28447677565ed5d64f82de01ded56086.htm">&#13;
                              <img alt="" class="lazyload img-responsive" src="src" />
                                  
                                      Nouveautés
                                      salle à manger
                                      
                                      
                                  </a></div>
                              </div>&#13;
                          
                      </div>
                  <div class="content">
                          <a href="https://www.maisonsdumonde.com/FR/fr/categorie/nouveautes-canapes-n8635d450ecd439e38a92437ea95fc30a880c567.htm">&#13;
                              <img alt="" class="lazyload img-responsive" src="src" />
                                  
                                      Nouveautés
                                      canapés
                                      
                                      
                                  </a></div>
                              </div>&#13;
                          
                      
                  <div>
                          <a href="https://www.maisonsdumonde.com/FR/fr/categorie/nouveautes-salon-n0a6267d577fc0c6987efa126e522a32472d45ec.htm">&#13;
                              <img alt="" class="lazyload img-responsive" src="src" />
                                  
                                      Nouveautés
                                      salon
                                      
                                      
                                  </a></div>
                              &#13;
                          
                      
                  <div>
                          <a href="https://www.maisonsdumonde.com/FR/fr/categorie/nouveautes-chambre-n313a1c8eee74ce2444b9f516b61bc36a050d81a.htm">&#13;
                              <img alt="" class="lazyload img-responsive" src="src" />
                                  
                                      Nouveautés
                                      chambre
                                      
                                      
                                  </a></div>
                              &#13;
                          
                      
                  <div>
                          <a href="https://www.maisonsdumonde.com/FR/fr/categorie/nouveautes-textile-n883764f1acc9da290235dd65b6126b15717e8dc.htm">&#13;
                              <img alt="" class="lazyload img-responsive" src="src" />
                                  
                                      Nouveautés
                                      textile
                                      
                                      
                                  </a></div>
                              &#13;
                          
                      
                  <div>
                          <a href="https://www.maisonsdumonde.com/FR/fr/categorie/nouveautes-deco-murale-n14a851421ca83de8ca2ddb9445afd92e56d1774.htm">&#13;
                              <img alt="" class="lazyload img-responsive" src="src" />
                                  
                                      Nouveautés
                                      décoration murale
                                      
                                      
                                  </a></div>
                              &#13;
                          
                      
                  <div>
                          <a href="https://www.maisonsdumonde.com/FR/fr/categorie/nouveautes-luminaires-n38786434190e9481567c268244f2c7643c41d83.htm">&#13;
                              <img alt="" class="lazyload img-responsive" src="src" />
                                  
                                      Nouveautés
                                      luminaires
                                      
                                      
                                  </a></div>
                              &#13;
                          
                      
                  <div>
                          <a href="https://www.maisonsdumonde.com/FR/fr/categorie/nouveautes-objets-deco-n7f2e4ad81dbd5e367021b16b7f87be5ebc38e37.htm">&#13;
                              <img alt="" class="lazyload img-responsive" src="src" />&#13;
                          </a>
                      </div>
                  
          
              <div class="row catalogue">
                  <div class="col-xs-10 col-xs-offset-1">
                      <div class="text-center content">
                          <div class="row papier">
                              <div class="image">
                                  <img alt="" class="lazyload img-responsive visible-xs" src="src" /></div>
                              <div class="text">
                                  <h3 class="title">Catalogue papier</h3>
                                  <p>Des centaines de pages 100% tendance déco à consulter où vous voulez, quand vous voulez, avec qui vous voulez !</p>
                                  <a href="https://www.maisonsdumonde.com/FR/fr/demande/catalogue.html" class="btn btn-lg">Je commande</a>
                                  <a href="https://www.maisonsdumonde.com/FR/fr/magasins/" class="btn btn-lg">Je le trouve en magasin</a>
                              </div>
                          </div>
                      </div>
                  </div>
              </div>
          <p>&#13;
              Et si on sortait ?&#13;
                  &#13;
                  <a href="https://www.maisonsdumonde.com/FR/fr/mobilier-decoration-jardin.htm" class="btn btn-lg btn-default">Je découvre</a>&#13;
              </p>
          
      
      
      
      
      
      


title: No title found
created_at: 2017-08-10 23:20:53
updated_at: 2017-08-10 23:20:53
domain_name: www.developpez.com
http_status: 500
url:
  http://www.developpez.com/actu/103858/Chine-un-professeur-se-sert-d-une-technologie-de-reconnaissance-faciale-pour-determiner-le-degre-d-ennui-en-cours-afin-d-ameliorer-son-enseignement/

content:
[cell repeats an earlier one in this file: 191 characters]


title: No title found
created_at: 2017-08-10 23:21:04
updated_at: 2017-08-10 23:21:04
domain_name: www.developpez.com
http_status: 500
url:
  http://www.developpez.com/actu/99378/Un-programme-de-reconnaissance-faciale-d-une-startup-russe-permet-d-identifier-un-inconnu-dans-la-rue-instantanement-juste-en-prenant-sa-photo/

content:
[cell repeats an earlier one in this file: 191 characters]


title: Journal Faire un peu d'argent avec le logiciel Libre, l'après Wallabag...
created_at: 2017-08-10 23:21:08
updated_at: 2017-08-10 23:21:08
mimetype: text/html
language: fr
domain_name: linuxfr.org
http_status: 200
url:
  https://linuxfr.org/users/matunixe/journaux/faire-un-peu-d-argent-avec-le-logiciel-libre-l-apres-wallabag

content:
  <p>Bonjour'nal,</p>
  <p>Alors que j'étais en pleine réflexion sur le devenir du <a href="https://unixcorn.org">projet Unixcorn</a> et notamment son financement (dépendant actuellement à 98% de mon portefeuille) j'ai découvert l'article de blog de Nicolas Loeuillet, racontant le lancement de son entreprise <a href="http://wallabag.it">wallabag.it</a> : <a href="http://nicolas.loeuillet.org/billets/service-wallabag-it">http://nicolas.loeuillet.org/billets/service-wallabag-it</a></p>
  <p>Ça me titillais depuis bien longtemps, après avoir travaillé comme administrateur système dans une grande entreprise helvète, avoir repris les études en Bretagne, travailler à mon compte me faisais de l’œil et m'attirais grandement. Non pas grâce au statut, ou l'écosystème environnant (French-Tech-mes-fesses très peu pour moi) mais pour l'indépendance et la capacité de travailler d'un peu n'importe où sans contraintes.<br />J'ai donc contacté Nicolas et lui ai fait part de mon projet, le remerciant au passage pour <a href="http://nicolas.loeuillet.org/billets/retours-mise-ligne-wallabagit">son second article nous contant le début de son aventure</a>, il sembla de suite enjoué et m'encouragea à me lancer. Voila ce qui fut fait en ce début de mois de janvier…</p>
  <p>J'ai donc créé une micro-entreprise de vente de services, <a href="http://whiskers.systems">Whiskers Systems</a>, axés pour l'instant autour de trois logiciels phares :</p>
  <ul><li>Nextcloud : <a href="http://nextcloud.com">http://nextcloud.com</a>
  </li>
  <li>GitLab : <a href="http://gitlab.com">http://gitlab.com</a>
  </li>
  <li>Mailcow : <a href="http://mailcow.email">http://mailcow.email</a>
  </li>
  </ul><p>Je propose ensuite deux types d'offres, la première est l'hébergement de l'utilisateur sur notre propre infrastructure (sauf pour GitLab où il est possible de créer un compte gratuitement sur <a href="https://git.unixcorn.org">l'instance d'Unixcorn</a>) et la seconde qui est l'installation, la configuration et la maintenance d'un serveur dédié avec la solution choisie.</p>
  <p>J'ai donc créé un site internet, à base d'un "template" HTML simple (qui s’avérera être le même que celui de wallabag.it 🙈) et publié quelques offres avec la solution de payement française <a href="http://payplug.fr">PayPlug</a>. Celui-ci n'est pas encore terminé, les versions anglophones, néerlandaises et allemandes ne sont pas encore en ligne, pas encore de logo, etc.<br />Si vous avez des retours à faire ce sera avec plaisir, l'expérience étant toute nouvelle pour moi. 😀</p>
  <p>Bonne visite !</p>


url: https://www.tech2tech.fr/les-nouveautes-du-regime-auto-entrepreneur-pour-2017/
created_at: 2017-08-10 23:21:09
updated_at: 2017-08-10 23:21:09
mimetype: text/html
language: fr-FR
domain_name: www.tech2tech.fr
preview_picture: https://www.tech2tech.fr/wp-content/uploads/2017/01/auto-entrepreneur-2017-660x330.jpg
http_status: 200
title:
  Les nouveautés du régime Auto-Entrepreneur pour 2017 - Tech2Tech | News, Astuces, Tutos, Vidéos autour de l'informatique

content:
  <div id="toc_container" class="no_bullets"><p class="toc_title">Sommaire</p><ul class="toc_list"><li><a href="https://www.tech2tech.fr/les-nouveautes-du-regime-auto-entrepreneur-pour-2017/#Ce_qui_a_change_en_2016">Ce qui a changé en 2016</a><ul><li><a href="https://www.tech2tech.fr/les-nouveautes-du-regime-auto-entrepreneur-pour-2017/#Lrsquoauto-entrepreneur_devient_micro-entrepreneur">L’auto-entrepreneur devient « micro-entrepreneur »</a></li><li><a href="https://www.tech2tech.fr/les-nouveautes-du-regime-auto-entrepreneur-pour-2017/#Le_taux_du_regime_micro-social_augmentera_legerement">Le taux du régime micro-social augmentera légèrement</a></li><li><a href="https://www.tech2tech.fr/les-nouveautes-du-regime-auto-entrepreneur-pour-2017/#Les_prestations_maternite_seront_de_nouveau_reduites_en_cas_de_revenus_tres_faibles">Les prestations maternité seront de nouveau réduites en cas de revenus très faibles</a></li></ul></li><li><a href="https://www.tech2tech.fr/les-nouveautes-du-regime-auto-entrepreneur-pour-2017/#Ce_qui_change_en_2017">Ce qui change en 2017</a><ul><li><a href="https://www.tech2tech.fr/les-nouveautes-du-regime-auto-entrepreneur-pour-2017/#Nouveaux_plafonds_du_chiffre_drsquoaffaires">Nouveaux plafonds du chiffre d’affaires</a></li><li><a href="https://www.tech2tech.fr/les-nouveautes-du-regime-auto-entrepreneur-pour-2017/#Mise_a_jour_de_la_penalite_en_cas_de_non-declaration_du_chiffre_drsquoaffaires">Mise à jour de la pénalité en cas de non-déclaration du chiffre d’affaires</a></li><li><a href="https://www.tech2tech.fr/les-nouveautes-du-regime-auto-entrepreneur-pour-2017/#Participation_et_dispense_du_stage_de_preparation_a_lrsquoinstallation_SPI">Participation et dispense du stage de préparation à l’installation (SPI)</a></li><li><a href="https://www.tech2tech.fr/les-nouveautes-du-regime-auto-entrepreneur-pour-2017/#Validation_des_trimestres_de_retraite_pour_un_auto_entrepreneur_en_2017">Validation des trimestres de retraite pour un auto entrepreneur en 2017</a></li><li><a href="https://www.tech2tech.fr/les-nouveautes-du-regime-auto-entrepreneur-pour-2017/#Delai_pour_lrsquoouverture_drsquoun_compte_bancaire_dedie_a_lrsquoauto_entreprise">Délai pour l’ouverture d’un compte bancaire dédié à l’auto entreprise</a></li><li><a href="https://www.tech2tech.fr/les-nouveautes-du-regime-auto-entrepreneur-pour-2017/#Exoneration_des_cotisations_soumise_a_une_condition_de_revenu_dans_les_DOM">Exonération des cotisations soumise à une condition de revenu dans les DOM</a></li><li><a href="https://www.tech2tech.fr/les-nouveautes-du-regime-auto-entrepreneur-pour-2017/#Taux_de_cotisations_inchanges_sur_2017">Taux de cotisations inchangés sur 2017</a></li></ul></li></ul></div>
  <p>Chaque nouvelle année apporte son lot de changement pour le régime d’auto-entrepreneur. Si j’en parle c’est que beaucoup d’entre vous, dont moi, somme sous ce régime. D’ailleurs, j’avais fait un article pour vous expliquer <a href="https://www.tech2tech.fr/devenir-auto-entrepreneur-en-informatique/">comment devenir auto-entrepreneur dans l’informatique</a>.</p>
  <p>Avant de parler des <a href="https://www.tech2tech.fr/les-nouveautes-du-regime-auto-entrepreneur-pour-2016/2/">nouveautés de 2017 pour le régime Auto-Entrepreneur</a>, un petit retour en arrière avec ce qui a changé en 2016. Nous verrons ensuite les nouveautés pour 2017.</p>
  <h2>Ce qui a changé en 2016</h2>
  <p>– Les auto-entrepreneurs actuellement en activité ne seront pas impactés par ce changement : pour eux, rien ne change sauf le nom !</p>
  <p>– Les micro-entrepreneurs qui débuteront leur activité en 2016 seront soumis aux mêmes règles que les auto-entrepreneurs actuels ; il ne sera donc plus possible de choisir le régime fiscal de la micro-entreprise et le régime de droit commun du RSI.</p>
  <h2>Ce qui change en 2017</h2>
  <h3>Nouveaux plafonds du chiffre d’affaires</h3>
  <p>Après 3 ans de gel, de 2014 à 2016, les <strong>plafonds de chiffre d’affaires en auto entrepreneur ont été revalorisés pour l’année 2017</strong> ainsi que les seuils de tolérance, dont voici ci-dessous les tableaux récapitulatifs sur 2017 selon le type d’activité de l’auto entreprise :</p>
  <table border="1" width="100%" cellspacing="0" cellpadding="0"><thead><tr><td>
  <p style="text-align: center;"><strong>Activités auto entrepreneur</strong></p>
  </td>
  <td>
  <p style="text-align: center;">Plafond de Chiffre d’Affaires en 2014-2015-2016</p>
  </td>
  <td>
  <p style="text-align: center;"><strong>Plafond de Chiffre d’Affaires en 2017</strong></p>
  </td>
  <td>
  <p style="text-align: center;">Seuil de tolérance en 2014-2015-2016</p>
  </td>
  <td>
  <p style="text-align: center;"><strong>Seuil de tolérance en 2017</strong></p>
  </td>
  </tr><tr><td>
  <p style="text-align: center;">Activité de prestation de services</p>
  </td>
  <td>
  <p style="text-align: center;">32 900 € HT</p>
  </td>
  <td>
  <p style="text-align: center;"><strong>33 100 € HT</strong></p>
  </td>
  <td>
  <p style="text-align: center;">34 900 € HT</p>
  </td>
  <td>
  <p style="text-align: center;"><strong>35 100 € HT</strong></p>
  </td>
  </tr><tr><td>
  <p style="text-align: center;">Activité d’achat / vente de marchandises</p>
  </td>
  <td>
  <p style="text-align: center;">82 200 € HT</p>
  </td>
  <td>
  <p style="text-align: center;"><strong>82 800 € HT</strong></p>
  </td>
  <td>
  <p style="text-align: center;">90 300 € HT</p>
  </td>
  <td>
  <p style="text-align: center;"><strong>90 900 € HT</strong></p>
  </td>
  </tr></thead></table><p><strong><span style="text-decoration: underline;"><br />ATTENTION :</span></strong> Cette limite de chiffre d’affaires (CA) à ne pas dépasser pour un auto entrepreneur en 2017 est valable sur une <strong>année civile complète, du 1er janvier au 31 janvier</strong>. Si l’auto entreprise est lancée dans le courant de l’année, il faudra alors appliquer la règle du prorata temporis.</p>
  <p>A noter également que la « <strong>période de tolérance</strong> », correspondant à l’intervalle entre un chiffre d’affaires de 33 100 € et 35 100 €, ou entre 82 800 € et 90 900 € ne s’applique pas la 1ère année d’activité du micro entrepreneur.</p>
  <h3>Mise à jour de la pénalité en cas de non-déclaration du chiffre d’affaires</h3>
  <p>Pour cette nouvelle année 2017 le <strong>montant du plafond de la sécurité sociale a aussi été modifié</strong>, dont le plafond mensuel qui permet de calculer la pénalité encourue par l’auto entrepreneur en cas de non-déclaration mensuelle ou trimestrielle selon son échéance. <strong>Cette pénalité pour chaque déclaration non effectuée s’élève à 50€</strong> (1,50% du plafond mensuel de sécurité sociale en vigueur arrondi à l’euro supérieur).</p>
  <p><strong><span style="text-decoration: underline;">Pour rappel :</span></strong> L’auto entrepreneur doit systématiquement faire sa déclaration chaque mois ou chaque trimestre, <strong>même si le montant est égal à zéro</strong>, et, si le chiffre d’affaires (CA) de l’année précédente est supérieur à 50% des seuils du régime, cette déclaration doit obligatoirement être réalisée sur internet, sous peine de pénalités supplémentaires.</p>
  <h3>Participation et dispense du stage de préparation à l’installation (SPI)</h3>
  <p>Un auto entrepreneur artisan a l’obligation de s’immatriculer au registre des métiers et de l’artisanat (RM) et <strong>doit suivre un stage de préparation à l’installation (SPI)</strong>. La nouveauté 2017 permet au micro entrepreneur d’<strong>effectuer ce SPI dans un délai de 30 jours maximum après l’immatriculation</strong>.</p>
  <p>De plus, les auto entrepreneurs ayant bénéficié d’un <strong>accompagnement à la création d’entreprise d’une durée minimale de 30 heures, délivré par un réseau d’aide à la création</strong>, pourront être dispensés du stage de préparation à l’installation (SPI). Cet accompagnement doit notamment comprendre une formation à la gestion d’un niveau au moins équivalent à celui du stage.</p>
  <h3>Validation des trimestres de retraite pour un auto entrepreneur en 2017</h3>
  <p>Depuis le 1er janvier 2017, le SMIC (Salaire minimum de croissance) a été revalorisé avec une augmentation de 0.93%, soit un <strong>SMIC horaire brut de 9.76 euros</strong>. Ce chiffre étant pris en compte dans le <strong>calcul de validation des trimestres de retraite pour un auto entrepreneur en 2017</strong> (150 fois la valeur du SMIC horaire), voici le tableau récapitulatif des montants de chiffre d’affaires à réaliser pour valider le nombre de trimestres de retraite :</p>
  <table border="1" width="100%" cellspacing="0" cellpadding="0" style="text-align: left;"><tbody><tr><td>
  <p style="text-align: center;"><strong>Activités</strong></p>
  </td>
  <td>
  <p style="text-align: center;"><strong>Abattement applicable sur le CA</strong></p>
  </td>
  <td>
  <p style="text-align: center;"><strong>Validation 1 trimestre</strong></p>
  </td>
  <td>
  <p style="text-align: center;"><strong>Validation 2 trimestres</strong></p>
  </td>
  <td>
  <p style="text-align: center;"><strong>Validation 3 trimestres</strong></p>
  </td>
  <td>
  <p style="text-align: center;"><strong>Validation 4 trimestres</strong></p>
  </td>
  </tr><tr><td>Vente / Hôtellerie / Restauration</td>
  <td>
  <p style="text-align: center;">71 %</p>
  </td>
  <td>
  <p style="text-align: center;">5 048 €</p>
  </td>
  <td>
  <p style="text-align: center;">10 097 €</p>
  </td>
  <td>
  <p style="text-align: center;">15 145 €</p>
  </td>
  <td>
  <p style="text-align: center;">20 193 €</p>
  </td>
  </tr><tr><td>Prestations de service BIC</td>
  <td>
  <p style="text-align: center;">50 %</p>
  </td>
  <td>
  <p style="text-align: center;">2 928 €</p>
  </td>
  <td>
  <p style="text-align: center;">5 856 €</p>
  </td>
  <td>
  <p style="text-align: center;">8 784 €</p>
  </td>
  <td>
  <p style="text-align: center;">11 712 €</p>
  </td>
  </tr><tr><td>Prestations de service BNC et Activités Libérales</td>
  <td>
  <p style="text-align: center;">34 %</p>
  </td>
  <td>
  <p style="text-align: center;">2 218 €</p>
  </td>
  <td>
  <p style="text-align: center;">4 436 €</p>
  </td>
  <td>
  <p style="text-align: center;">6 655 €</p>
  </td>
  <td>
  <p style="text-align: center;">8 873 €</p>
  </td>
  </tr></tbody></table><h3>
  Délai pour l’ouverture d’un compte bancaire dédié à l’auto entreprise</h3>
  <p>Depuis 2015 l’auto entrepreneur a l’obligation d’ouvrir un compte bancaire, professionnel ou compte courant, <strong>regroupant l’ensemble des transactions financières liées à son activité d’auto entreprise</strong>. La nouvelle réglementation pour l’année 2017 ajoute un délai supplémentaire au créateur auto entrepreneur.</p>
  <p>Le travailleur indépendant ayant opté pour le régime micro entrepreneur est autorisé à ouvrir ce compte bancaire <strong>au plus tard 12 mois après la création de son entreprise</strong>. Il est tout de même conseillé d’effectuer cette démarche dès les premières entrées d’argent afin de bien distinguer les revenus personnels des revenus professionnels, et d’en faciliter aussi le suivi comptable.</p>
  <h3>Exonération des cotisations soumise à une condition de revenu dans les DOM</h3>
  <p>A partir du 1er janvier 2017, les travailleurs non-salariés qui s’installent outre-mer (Guadeloupe, Guyane, Martinique, La Réunion, Saint-Barthélemy et Saint-Martin) auront une <strong>exonération de leurs cotisations sociales personnelles soumise à une condition de revenu</strong>. Ce revenu sera calculé sur la base du plafond annuel de la sécurité sociale 2017 (PASS).</p>
  <p>Les auto entrepreneurs qui ont créé leur activité dans les DOM avant le 1er janvier 2017 bénéficient toujours d’une <strong>exonération totale de leurs cotisations pendant les 2 premières années d’activité</strong> (24 mois).</p>
  <h3>Taux de cotisations inchangés sur 2017</h3>
  <p>Le régime micro entrepreneur permet de calculer et de <strong>payer les charges sociales obligatoires et éventuellement l’impôt sur le revenu (IR)</strong>, en fonction du chiffre d’affaires ou des recettes. Des taux de cotisations forfaitaires sont appliqués selon le tableau ci-dessous pour un auto entrepreneur en 2017 :</p>
  <table border="1" width="100%" cellspacing="0" cellpadding="0" style="text-align: left;"><tbody><tr><td>
  <p style="text-align: center;"><strong>Organisme de retraite</strong></p>
  </td>
  <td>
  <p style="text-align: center;"><strong>Type d’activités</strong></p>
  </td>
  <td>
  <p style="text-align: center;"><strong>Exemple d’activités concernées</strong></p>
  </td>
  <td>
  <p style="text-align: center;"><strong>Régime micro social simplifié (cotisations sociales 2017)</strong></p>
  </td>
  <td>
  <p style="text-align: center;"><strong>Impôts (IR)</strong></p>
  </td>
  <td>
  <p style="text-align: center;"><strong>Prélèvement social et fiscal</strong></p>
  </td>
  </tr><tr><td>RSI</td>
  <td>Ventes de marchandises (BIC)</td>
  <td>Restaurateurs, opticiens, magasins prêt-à-porter, chaussures…</td>
  <td>
  <p style="text-align: center;">13,40%</p>
  </td>
  <td>
  <p style="text-align: center;">1 %</p>
  </td>
  <td>
  <p style="text-align: center;">14,40%</p>
  </td>
  </tr><tr><td>RSI</td>
  <td>Prestations de service BIC</td>
  <td>Coiffeurs, cordonniers, plombiers…</td>
  <td>
  <p style="text-align: center;">23,10%</p>
  </td>
  <td>
  <p style="text-align: center;">1,7 %</p>
  </td>
  <td>
  <p style="text-align: center;">24,80%</p>
  </td>
  </tr><tr><td>RSI</td>
  <td>Prestations de service BNC</td>
  <td>Agent commercial, exploitant d’auto-école, coiffeur à domicile…</td>
  <td>
  <p style="text-align: center;">23,10%</p>
  </td>
  <td>
  <p style="text-align: center;">2,2 %</p>
  </td>
  <td>
  <p style="text-align: center;">25,30%</p>
  </td>
  </tr><tr><td>CIPAV</td>
  <td>Activités libérales (BNC)</td>
  <td>Architecte, psychologue, consultant…</td>
  <td>
  <p style="text-align: center;">22,90%</p>
  </td>
  <td>
  <p style="text-align: center;">2,2 %</p>
  </td>
  <td>
  <p style="text-align: center;">25,10%</p>
  </td>
  </tr></tbody></table><p>A noter que ces taux sont réduits dans le cas d’un auto entrepreneur bénéficiant de l’ACCRE (aide aux chômeurs créateurs ou repreneurs d’entreprise).</p>
  <p>Sources :</p>
  <p>http://www.myae.fr<br />http://www.ameli.fr<br />https://www.afecreation.fr<br />http://www.assemblee-nationale.fr<br />http://business.lesechos.fr<br />https://www.federation-auto-entrepreneur.fr</p>
  <h3></h3>


title: #LoRaChallenge : et les gagnants sont...
url: http://www.usine-digitale.fr/article/lorachallenge-et-les-gagnants-sont.N489679
created_at: 2017-08-10 23:21:11
updated_at: 2017-08-10 23:21:11
mimetype: text/html
domain_name: www.usine-digitale.fr
preview_picture: http://www.usine-digitale.fr/mediatheque/9/6/5/000510569_pageListeTypeACropped/hackathon-lora.jpg
http_status: 200
content:
  <img src="http://www.usine-digitale.fr/mediatheque/9/6/5/000510569_homePageUne/hackathon-lora.jpg" alt="#LoRaChallenge : et les gagnants sont..." width="930" height="618" />#LoRaChallenge : et les gagnants sont... © Stéphanie Mundubeltz - L'Usine Digitale
  						
  			
  										
  													
  							
  				
  				<div class="blocTexteType1">
  					<p>
  	Moins de quarante-huit heures pour imaginer un objet connecté basse consommation, ses usages, son mode de commercialisation…  C'est le défi qu'ont relevé 25 équipes engagées dans le premier hackathon LoRa en France, organisé à Paris les 17 et 18 janvier 2017 par L'Usine Digitale. Les deux géants des télécoms français qui déploient le réseau bas débit longue portée en France, <a title="Actus sur l'entreprise de télécommunications Orange - L'Usine Digitale" href="http://www.usine-digitale.fr/orange/" rel="" target="" class="lien-contextuel">Orange</a> et <a title="Actualité du groupe industriel diversifié sur Bouygues" href="http://www.usinenouvelle.com/bouygues-telecom/" rel="" target="" class="lien-contextuel">Bouygues</a> Télécom (via sa filiale Objenious) étaient là, ainsi que des industriels français dans trois verticales clés : Groupama pour l'agriculture, <a title="L'actualité économique de Schneider Electric sur L'Usine Nouvelle" href="http://www.usinenouvelle.com/schneider-electric/" rel="" target="" class="lien-contextuel">Schneider Electric</a> pour la smart city et Colas pour la mobilité.</p>

  <p>
  	Objectif : imaginer de solutions innovantes pour répondre aux besoins du grand public et des professionnels, en utilisant l'écosystème de capteurs LoRa. Avec, évidemment, une contrainte : créer des objets consommant très peu d'énergie et peu gourmands en données, puisque c’est la raison d'être des réseaux LoRa.</p>

  <p>
  	Les participants, étudiants, ingénieurs, issus de start-up ou de grands groupes, ont déployé une belle énergie pour tenter de mettre au point des ébauches d'objets et de business. Ils avaient à leur disposition des machines de prototypage, ainsi que les conseils des professionnels d'Objenious, d'Orange et des trois groupes partenaires.</p>

  <p>
  	A l'issue de deux jours de travail intense, la tension était palpable dans la salle principale de l'un des lieux de référence du hardware en France, L'Usine I/O. Chaque équipe a eu quatre minutes pour pitcher son projet. A l'issue du passage des 25 équipes devant le jury, deux prix ont été remis dans chaque catégorie : un prix "espoir" et un prix "expert".</p>

  <p>
  	Voici les projets qui ont retenu l'attention du jury. Leur équipe va recevoir 5000 euros, mais surtout un accompagnement par l'industriel référent de sa catégorie.</p>

  <p>
  	Smart agri (avec Groupama)</p>
  <ul><li>
  		Prix expert pour "NEXXtep", outil de prévention contre les incendies des fourrages</li>
  	<li>
  		Prix espoir pour le "Smart bac", un abreuvoir connecté pour les exploitations agricoles, permettant un usage raisonné de la ressource en eau, imaginé par deux jeunes de la start-up Green Systèmes.</li>
  </ul>
  <p>
  	Smart city (avec Schneider Electric)</p>
  <ul><li>
  		Prix expert pour "Smile GPL 4 ever", un compteur électrique low-cost pour microgrid en direction des pays émergents</li>
  	<li>
  		Prix espoir pour "Smart light", solution de monitoring de l'éclairage public</li>
  </ul>
  <p>
  	Smart mobility (avec Colas)</p>
  <ul><li>
  		Prix expert pour "Roadware", un ensemble capteur / affichage dynamique pour alerter les conducteurs de la présence de verglas</li>
  	<li>
  		Prix espoir pour "Find Park", un stationnement connecté pour personnes en situation de handicap ('pour empêcher les automobilistes valides indélicats de s'y garer)</li>
  </ul>
  <p>
  	L'ensemble des tweets de la soirée #LoRaChallenge<br /> </p>
  <div style="text-align: center;">
  	<a class="twitter-timeline" href="https://twitter.com/hashtag/LoRaChallenge">Tweets sur #LoRaChallenge</a> </div>
  																
  					
  					
  											<div class="contentSignature">
  							<a href="http://www.usinenouvelle.com/la-redaction/sylvain-arnulf.5126" class="nomAuteur">Sylvain Arnulf</a>
  															<a href="https://twitter.com/@SRNLF" class="twitterAuteur" target="_blank" rel="nofollow">@SRNLF</a>
  													</div>
  					
  											
  						
  						
  						
  					
                      				</div>
  			
  			&#13;
      &#13;


title: PDF
url: https://data.jousse.org/pomodoro/TechniquePomodoro.pdf
created_at: 2017-08-10 23:21:13
updated_at: 2017-08-10 23:21:13
mimetype: application/pdf
domain_name: data.jousse.org
http_status: 200
content:
  La technique Pomodoro<br />
  Par Francesco Cirillo<br />
  Première date de publicaton   : 19 octobre 2006<br />
  Date de publicaton de cete version   : 15 juin 2007<br />
  Date de traducton 15 juin 2007<br />
  L’informaton contenue dans cet ebook a été vérifée et documentée avec le plus grand soin. L’auteur, ainsi que toute personne ayant  <br />
  collaboré à sa créaton, producton ou distributon, ne peut être tenu responsable de l’utlisaton qui en serait fait ainsi que de ses  <br />
  conséquences.<br />
  Cet ouvrage est sous licence Creatve Commons. Pour consulter les modalités de cete licence, visitez  <br />
  http://creativecommons.org/licenses/bync-nd/3.0/ ou écrivez à<br />
  Creative Commons<br />
  171 Second Street, Suite 300<br />
  San Francisco,<br />
  California, 94105, USA.<br />
  Toutes les marques citées dans ce texte sont la propriété respective de leurs propriétaires.<br />
  1<br />
  <br />
  Table des Matières<br />
  Préface .................................................................................................................................................... 4<br />
  Remerciements ................................................................................................................................... 4<br />
  Introducton ............................................................................................................................................ 6<br />
  Contexte ................................................................................................................................................. 7<br />
  Objectfs de la technique Pomodoro .................................................................................................. 8<br />
  3.2 Hypothèses de travail ................................................................................................................... 8<br />
  Matériel et méthodes ............................................................................................................................. 9<br />
  Objectf 1        : déterminer l’efort requis afn de venir à bout d’une actvité    ......................................... 10<br />
  Commencer la première Pomodoro ............................................................................................. 11<br />
  Toutes les 4 Pomodoros ................................................................................................................ 12<br />
  Terminer une actvité .................................................................................................................... 12<br />
  Compilaton .................................................................................................................................. 13<br />
  Amélioraton ................................................................................................................................. 14<br />
  Utlité de la Pomodoro .................................................................................................................. 15<br />
  Diminuer les interruptons ................................................................................................................ 15<br />
  Les interruptons internes ou volontaires ..................................................................................... 15<br />
  Exemple concret ........................................................................................................................... 17<br />
  Interruptons externes – la faute aux autres ................................................................................. 20<br />
  Interruptons systématques ......................................................................................................... 22<br />
  Compilaton des données        : erreurs qualitatves d’estmaton du planning    ................................... 23<br />
  Objectf 3        : estmer l’efort requis pour terminer une tâche    ............................................................. 24<br />
  Pomodoros disponibles ................................................................................................................ 25<br />
  Scénarii possibles .......................................................................................................................... 26<br />
  Compilaton des estmatons ......................................................................................................... 28<br />
  Gérer l’exploraton ........................................................................................................................ 29<br />
  Objectf 4        : Améliorer l’efcacité de la Pomodoro    ............................................................................ 29<br />
  La structure de la Pomodoro ........................................................................................................ 29<br />
  La structure d’une série de Pomodoros ........................................................................................ 30<br />
  Objectf 5        : défnir un horaire    ........................................................................................................... 30<br />
  Le scénario idéal ........................................................................................................................... 31<br />
  Scénario avec interruptons .......................................................................................................... 32<br />
  Optmisaton de votre horaire ....................................................................................................... 33<br />
  2<br />
  <br />
  Autres objectfs ................................................................................................................................. 34<br />
  Résultats ............................................................................................................................................... 37<br />
  Courbe d’apprentssage .................................................................................................................... 37<br />
  Durée de la Pomodoro ...................................................................................................................... 37<br />
  Varier la durée des pauses ................................................................................................................ 38<br />
  Percepton du temps afnée ............................................................................................................. 38<br />
  Les sons de la Pomodoro .................................................................................................................. 39<br />
  Utlisateurs de la Pomodoro ......................................................................................................... 39<br />
  Personnes partageant l’espace de travail de l’utlisateur .............................................................. 39<br />
  Forme de la Pomodoro ..................................................................................................................... 40<br />
  Anxiété de la sonnerie ...................................................................................................................... 40<br />
  Interruptons internes intempestves ................................................................................................ 41<br />
  La prochaine Pomodoro sera meilleure ............................................................................................ 42<br />
  Pomodoro mécanique ou logiciel? ................................................................................................... 42<br />
  Améliorer ses estmatons ................................................................................................................ 43<br />
  Pomodoro et motvaton ................................................................................................................... 43<br />
  Et si tout devait tourner de travers? ................................................................................................. 43<br />
  Limites de la Pomodoro .................................................................................................................... 44<br />
  Quand ne pas utliser la Pomodoro? ................................................................................................. 44<br />
  Conclusions ........................................................................................................................................... 45<br />
  Inversion de la dépendance par rapport au temps ........................................................................... 45<br />
  Maîtriser la complexité ..................................................................................................................... 45<br />
  Détachement .................................................................................................................................... 46<br />
  Observaton et retour contnu .......................................................................................................... 46<br />
  Rythme de travail supportable .......................................................................................................... 46<br />
  Bibliographie ......................................................................................................................................... 48<br />
  Annexe 1        : règles et glossaire    ............................................................................................................... 49<br />
  Annexe 2        : Feuille «        Choses à faire        aujourd’hui        »    ................................................................................. 51<br />
  Appendice 3        : Feuille d’inventaire d’actvités    ........................................................................................ 53<br />
  3<br />
  <br />
  1. Préface<br />
  L’idée originale de la technique Pomodoro a germé dans mon esprit vers la fn des années 80,  <br />
  durant ma première année à l’université. Une fois l’exaltaton des examens réussis de la première  <br />
  année passée, je m’étais retrouvé dans un creux, une période de faible productvité et de grande  <br />
  confusion. J’allais en cours tous les jours, j’étudiais puis je rentrais à la maison avec la furieuse  <br />
  sensaton de ne pas savoir ce que je faisais.  À  un tel point que j’avais l’impression de perdre mon  <br />
  temps. Pendant ce temps, les prochaines échéances approchaient à une vitesse efrénée, sans que je  <br />
  puisse y faire quoi que ce soit.<br />
  Durant l’une de mes sessions d’étude sur le campus, je me mis à observer atentvement mes  <br />
  congénères. Je tentais également de porter un œil critque sur moi-même, concernant mon  <br />
  organisaton, ma manière de communiquer avec les autres ainsi que ma méthode d’étudier. Il fut clair  <br />
  d’emblée que le nombre élevé de distractons et de coupures, couplées à un faible niveau de  <br />
  concentraton et de motvaton, étaient les causes principales de la confusion qui m’habitait.<br />
  Je me suis donc lancé un pari, aussi utle qu’humiliant   : «   es-tu capable d’étudier, vraiment  <br />
  étudier, pendant 10 minutes?   ». J’avais besoin d’un arbitre impartal afn de chronométrer le temps.  <br />
  Ayant trouvé dans la cuisine une minuterie en forme de Pomodoro (tomate en italien), c’est ainsi que  <br />
  tout commença. J’avais trouvé ma Pomodoro.<br />
  Je n’ai pas gagné mon pari immédiatement. En fait, il fallut du temps et beaucoup d’eforts avant  <br />
  que je ne triomphe.<br />
  Ce pett déf allait me conduire à examiner et à comprendre des dynamiques bien plus  <br />
  complexes. Au départ, je cherchais simplement à améliorer ma méthode d’étude. Plus tard, cete  <br />
  technique allait devenir bien plus versatle, pouvant s’appliquer à tout type de tâche. Plus le champ  <br />
  d’applicaton s’agrandissait, plus je devais étudier et comprendre des problèmes de plus en plus  <br />
  complexes, jusqu’à examiner la dynamique du travail d’équipe. C’est ainsi que, pett à pett, est née la  <br />
  technique Pomodoro, qui est décrite dans cet ebook.<br />
  Après des années d’enseignement de la technique Pomodoro à l’occasion de cours publics ou de  <br />
  sessions de tutorat de groupe, l’intérêt du grand public a grandi. De plus en plus de gens veulent  <br />
  savoir de quoi il s’agit, comment la metre en pratque, d’où l’existence de cet ouvrage. Mon espoir  <br />
  est qu’il permetra de vous aider à ateindre vos buts. De mon côté, je contnue à faire évoluer la  <br />
  technique.<br />
  4<br />
  <br />
  1.1 Remerciements<br />
  Je voudrais tout d’abord remercier mon mentor et ami, Giovanni Caputo, qui m’a accompagné  <br />
  tout au long de cete aventure.<br />
  Je remercie également toutes les personnes ayant appliqué la technique Pomodoro, que ce soit  <br />
  individuellement ou en groupe. Ils ont grandement contribué à sa popularité, ce qui m’a encouragé à  <br />
  écrire ce livre. Piergiuliano Bossi, Claudia Sandu, Meihua Su, Federico De Felici, Alessandra del  <br />
  Vecchio et Jill Connelly, pour en citer quelques-uns.<br />
  Grâce à tous ces élèves ayant assisté à mes ateliers de travail, j’ai reçu des retours importants  <br />
  m’ayant permis d’afner la technique.   A ndrea Narduzzi, Bruno Bossola, Giannandrea Castaldi,  <br />
  Roberto Crivelli, Ernesto Di Blasio, Alberto Quario, Loris Ugolini, Silvano Trea, Alberico Gualfet,  <br />
  Marco Dani, Luigi Mengoni, Leonardo Marinangeli et Nicola Canalini m’ont été d’une aide précieuse.<br />
  Enfn, grâce à la seconde génératon d’utlisateurs de Pomodoro, ceux qui l’ont apprise  <br />
  indirectement grâce à des notes ou des autres ayant assimilé la méthode. J’ai rédigé ce document  <br />
  spécialement pour eux   : Mateo Vaccari (ainsi que tous ceux à l’ESSAP), Simone Genini, Carlo  <br />
  Botglieri, Gabriele Lana (ainsi que mes amis de Milano XPUG), Alejandro Barrionuevo et Stefano  <br />
  Castelvetri (entre autres).<br />
  5<br />
  <br />
  2. Introduction<br />
  Pour la plupart d’entre nous, le temps est un ennemi. L’anxiété que suscite le tc-tac d’une  <br />
  horloge, surtout lorsqu’on à une date-butoir à respecter, entraîne l’inefcacité et les tergiversatons.  <br />
  La technique Pomodoro a été créée afn de nous permetre de dompter le temps, de l’utliser de  <br />
  manière ratonnelle afn de faire ce que nous devons faire, de la façon dont nous voulons le faire,  <br />
  nous donnant le pouvoir d’améliorer contnuellement notre rendement, que ce soit pour l’étudiant  <br />
  ou le travailleur en entreprise. Ce livre présente la technique Pomodoro telle qu’elle fut défnie en  <br />
  1992 par l’auteur, enseignée individuellement depuis 1998 et en groupe depuis 1999.<br />
  Dans le chapitre «   Contexte   », on posera le problème de la geston du temps, les objectfs de la  <br />
  technique Pomodoro ainsi que les hypothèses de travail. Le chapitre «   Matériel et méthodes   » couvre  <br />
  la parte pratque de la technique, en expliquant comment ateindre ses objectfs en travaillant pas à  <br />
  pas. Le chapitre «   Résultats   » aborde une série d’observatons basée sur l’expérience de personnes  <br />
  ayant appliqué la technique. Le chapitre «   Conclusions   » identfe les facteurs expliquant comment la  <br />
  technique Pomodoro ateint les objectfs fxés. Ce livre présente les bases de la technique Pomodoro.  <br />
  Le livre inttulé «   Appliquer la technique Pomodoro en groupe   » s’utlise dans ce contexte partculier. <br />
  6<br />
  <br />
  3. Contexte<br />
  Qui n’a jamais vécu des moments d’anxiété lorsqu’étant confronté à une tâche devant absolument  <br />
  être terminée avant un certain délai? Dans ces circonstances, qui n’a jamais ressent le besoin de  <br />
  metre le travail de côté afn de se changer les idées? Qui n’a jamais eu la sensaton désagréable  <br />
  d’être un esclave du temps, courant toujours entre 2 obligatons? On pare au plus pressé sans avoir  <br />
  de temps à consacrer aux choses que nous aimons faire.<br />
  Ces vers du poème de Baudelaire «   L’horloge   » vous seront peut-être familiers   :<br />
  Souviens-toi  que le Temps est un joueur avide<br />
  Qui gagne sans tricher, à tout coup! C&#39;est la loi.<br />
  Le jour décroît; la nuit augmente;  souviens-toi!<br />
  Le goufre a toujours soif; la clepsydre se vide.<br />
  N’est-ce pas la vraie nature du temps   ? Ou est-ce simplement l’une des façons de pouvoir  <br />
  l’appréhender   ? De manière plus générale, pourquoi les gens ont-ils autant de problèmes avec le  <br />
  temps   ? D’où cete anxiété, que nous avons tous vécue un jour («   le temps passe vite   »), provient-<br />
  elle ?<br />
  Les philosophes, penseurs, scientfques… bref, quiconque s’étant penché sur la queston de savoir ce  <br />
  qu’est le temps ou de défnir la relaton entre le temps et l’humain s’est cassé les dents. Car la  <br />
  réponse à une telle queston est trop vaste. Seuls quelques penseurs sont parvenus à nous fournir des  <br />
  éléments de réponse satsfaisants. Par exemple, selon les travaux de Bergson (3) et de Minkowski  <br />
  (13), 2 aspects profondément interdépendants semblent entrer en corrélaton avec le temps   :<br />
  · Le devenir. Un aspect du temps abstrait et dimensionnel, qui nous pousse à mesurer le  <br />
  temps (en heures, minutes et secondes). L’idée de représenter le temps sur un axe,  <br />
  comme nous le ferions pour des dimensions spatales. Le concept de durée d’un  <br />
  évènement (la distance entre 2 points sur cet axe temporel). L’idée du retard (encore une  <br />
  distance entre 2 points de l’axe temporel).<br />
  · La succession d’évènements, soit un aspect concret de l’ordre temporel. On se réveille, on  <br />
  se lave, on prend son pett-déjeuner, on étudie, on déjeune, on fait une sieste, on joue,  <br />
  on soupe puis on va se coucher. Les enfants développent cete noton du temps bien  <br />
  avant celle du temps abstrait qui passe, sans se soucier des évènements qui se déroulent.  <br />
  De ces 2 aspects, c’est le devenir qui suscite l’angoisse. Il est, par nature, insaisissable, indéfni et  <br />
  infni. Le temps passe, nous fle entre les doigts et se projete vers l’avenir (16). Si nous essayons de  <br />
  nous comparer au temps qui passe, nous nous sentons impuissants, oppressés, esclaves, vaincus. Plus  <br />
  les secondes s’égrènent, plus ces sentments sont forts. Nous perdons notre élan vital (3), donc notre  <br />
  capacité à accomplir. «   2 heures ont déjà passé et je n’ai pas encore fni; 2 jours ont déjà passé et je  <br />
  n’ai pas encore fni   ». Dans un moment de faiblesse, le but de l’actvité qui nous occupe peut même  <br />
  7<br />
  <br />
  nous échapper. La succession d’évènements, par contre, semble ne pas comporter cete noton  <br />
  d’anxiété. Dans certains cas, cete succession régulière d’actvités, en rythme, peut même induire le  <br />
  calme.<br />
  3.1 Objectifs de la technique Pomodoro<br />
  L’objectf de la technique Pomodoro est de fournir un outl facile à utliser afn d’améliorer votre  <br />
  productvité (ainsi que celle des personnes travaillant pour vous), ce qui vous permetra de   :<br />
  · Supprimer l’anxiété découlant du devenir<br />
  · Augmenter l’atenton et la concentraton en minimisant les interruptons<br />
  · Améliorer la compréhension des conséquences de vos décisions<br />
  · Booster votre motvaton et la conserver à un haut niveau<br />
  · Soutenir la déterminaton pour ateindre ses objectfs<br />
  · Peaufner le processus d’estmaton, qualitatvement et quanttatvement<br />
  · Améliorer votre technique d’étude ou de travail<br />
  · Renforcer votre déterminaton et votre courage face à des situatons complexes<br />
  3.2 Hypothèses de travail<br />
  La technique Pomodoro est basée sur les 3 hypothèses suivantes   :<br />
  · Une manière diférente d’appréhender le temps (c’est-à-dire non axée sur le devenir)  <br />
  aténue l’anxiété, ce qui a pour conséquence d’améliorer l’efcacité.<br />
  · Une meilleure utlisaton de l’esprit permet d’ateindre une plus grande clarté de pensée,  <br />
  un degré de conscience plus élevé ainsi qu’une meilleure concentraton,  le tout  <br />
  contribuant à faciliter le processus d’apprentssage.<br />
  · L’utlisaton de techniques simples et non gênantes réduit la difculté d’appliquer la  <br />
  technique tout en favorisant la contnuité. Votre énergie se focalise donc sur l’objectf et  <br />
  non sur la technique en elle-même. Beaucoup de méthodes de geston du temps  <br />
  échouent car elles requièrent trop d’atenton, ce qui nuit à l’objectf fnal.<br />
  8<br />
  <br />
  4. Matériel et méthodes<br />
  Les étapes de la technique Pomodoro sont au nombre de 5   :<br />
  Quoi Quand Pourquoi<br />
  Planifcaton En début de journée Déterminer les actvités du jour<br />
  Suivi Pendant la journée Collecter des données brutes sur les eforts efectués et  <br />
  autres mesures intéressantes<br />
  Compilaton En fn de journée Compilaton des observatons du jour<br />
  Transformaton En fn de journée Transformaton des données brutes en informaton<br />
  Mise en forme En fn de journée Présentaton de l’informaton en un format facilitant sa  <br />
  compréhension et permetant de dégager des pistes  <br />
  menant à des progrès<br />
  Tableau 4.1   : les étapes de la technique Pomodoro<br />
  Note   La technique Pomodoro s’étale sur une journée, mais on peut réduire ce laps de temps. Dans ce  <br />
  cas, les 5 étapes se déroulent plus fréquemment<br />
  Fig 4.1 La Pomodoro<br />
  Afn de metre en œuvre la technique, vous aurez besoin de   :<br />
  - Une Pomodoro, soit une minuterie de cuisine.<br />
  - Une feuille «   Choses à faire   » (voir appendice 2), que vous remplirez avant de débuter chaque  <br />
  nouvelle journée, indiquant   :<br />
  o Un en-tête avec  le lieu, la date et votre nom<br />
  o La liste des choses à faire, classées selon leur priorité<br />
  o La secton «   Non prévu et urgent   » lorsque des imprévus arrivent. Ces actvités  <br />
  peuvent bouleverser le planning inital.<br />
  - Un inventaire d’actvités (appendice 3), consistant en   :<br />
  9<br />
  <br />
  o Un en-tête avec  votre nom<br />
  o La liste des tâches que vous efectuez au cours de la journée, au fur et à mesure que  <br />
  vous les faites. À la fn de la journée, les tâches terminées sont cochées.<br />
  - Une feuille de données   : elle content les données brutes dont nous avons besoin pour créer  <br />
  des rapports pertnents et des graphiques. Selon les objectfs poursuivis, les champs à remplir  <br />
  varient. En général, il faut remplir la date, une descripton et le nombre de Pomodoros qu’une  <br />
  tâche a consommé. Cete feuille doit être mise à jour au moins une fois par jour, le plus  <br />
  souvent en fn de journée.<br />
  Dans les exemples simplifés de cet ebook, la compilaton, transformaton et mise en forme  <br />
  sont faites directement sur la feuille de données.<br />
  Note   Pour des raisons pratques, les feuilles utlisées dans cet ebook indiquent uniquement les lignes  <br />
  concernant le sujet abordé. Des modèles simplifés de feuilles sont fournis dans les appendices afn  <br />
  que vous puissiez implémenter la technique.<br />
  Une approche évolutve de la technique Pomodoro est présentée ci-dessous, un exemple  <br />
  progressif d’utlisaton de la méthode. La nature progressive de la technique signife clairement que  <br />
  les objectfs doivent être ateints dans l’ordre tel que donné ci-dessous.<br />
  4.1 Objectif 1   : déterminer l’effort requis afin de venir à bout d’une activité<br />
  Une Pomodoro traditonnelle dure 30 minutes, soit 25 minutes de travail et 5 minutes de pause.  <br />
  Avant de débuter la journée, choisissez les tâches que vous planifez d’efecteur dans l’inventaire  <br />
  d’actvités, indiquez la priorité et listez-les sur la feuille «   Choses à faire   » (Fig. 4.2)<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Marco Rossi<br />
  Rédiger un artcle sur l’apprentssage de la musique  <br />
  (10 pages max)<br />
  Retravailler l’artcle en le lisant à haute voix<br />
  En faire une version abrégée de max 3 pages<br />
    Fig. 4.2 Feuille «   Choses à faire   »<br />
  10<br />
  <br />
  4.1.1 Commencer la première Pomodoro<br />
  Réglez la minuterie sur 25 minutes puis débutez la première actvité de la feuille «   Choses à  <br />
  faire   ». Quiconque faisant parte de l’actvité (s’il s’agit d’un groupe) doit être en mesure de voir le  <br />
  temps restant (fg. 2.3).<br />
    Fig. 4.3   : le temps restant doit toujours être visible<br />
  On ne peut pas interrompre une Pomodoro, il s’agit de 25 minutes de travail pur. On ne peut  <br />
  fractonner une Pomodoro   : une demi-Pomodoro ou un quart de Pomodoro, ça n’existe pas, il  <br />
  s’agit d’une unité indivisible. Si une Pomodoro est interrompue par quelqu’un ou un évènement,  <br />
  elle ne sera pas comptabilisée. Il faudra en recommencer une nouvelle. Lorsque la Pomodoro  <br />
  sonne, marquez une croix à côté de l’actvité et faites une pause de 3-5 minutes.<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Marco Rossi<br />
  Rédiger un artcle sur l’apprentssage de la musique  <br />
  (10 pages max) X<br />
  Retravailler l’artcle en le lisant à haute voix<br />
  En faire une version abrégée de max 3 pages<br />
  Fig. 4.4 Feuille «   Choses à faire   » après la première Pomodoro<br />
  Lorsque la Pomodoro sonne, cela signife que la tâche est temporairement terminée. Vous  <br />
  n’avez pas le droit de contnuer à travailler, même pour quelques minutes supplémentaires, même si  <br />
  vous pensez que cela serait utle afn de terminer une tâche entamée.<br />
  La pause de 3-5 minutes vous donne l’occasion de vous aérer l’esprit et de vous déconnecter  <br />
  du travail. Cela permet à l’esprit d’assimiler ce qui a été étudié durant ces 25 minutes. Vous pouvez  <br />
  aussi efectuer des exercices bons pour votre santé, ce qui améliorera votre rendement durant la  <br />
  prochaine Pomodoro. Vous pouvez vous dégourdir les jambes, vous désaltérer ou penser à votre  <br />
  prochaine destnaton de vacances. Stretching ou exercices de respiraton sont d’autres possibilités.  Si  <br />
  vous travaillez en groupe, vous pouvez échanger quelques blagues ou converser à propos de sujets  <br />
  légers.<br />
  Durant cete courte interrupton, il est déconseillé de s’engager dans des actvités demandant  <br />
  un efort intellectuel. Par exemple, ne débatez pas d’un problème professionnel avec un collègue, ne  <br />
  rédigez pas un courriel important, ne passez pas un appel téléphonique urgent, etc. Faire des choses  <br />
  de ce genre aurait pour conséquences de bloquer l’intégraton mentale constructve, indispensable  <br />
  afn de vous sentr frais et dispos pour la prochaine Pomodoro. Vous devriez inclure ces actvités sur  <br />
  11<br />
  <br />
  votre liste et leur assigner des Pomodoros. Il est évident qu’à l’occasion de ce break, vous ne devez  <br />
  pas penser au travail accompli durant les Pomodoros. Une fois la pause terminée, réglez la minuterie  <br />
  sur 25 minutes et contnuez l’actvité en cours jusqu’à ce que la sonnerie retentsse.  Contnuez à  <br />
  ajouter des croix au fur et à mesure que les Pomodoros passent.<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Marco Rossi<br />
  Rédiger un artcle sur l’apprentssage de la musique  <br />
  (10 pages max) X X<br />
  Retravailler l’artcle en le lisant à haute voix<br />
  En faire une version abrégée de max 3 pages<br />
  Fig. 4.5 Feuille «   Choses à faire   » après la seconde Pomodoro<br />
  De nouveau, faites une pause de 3-5 minutes et enchaînez ensuite avec une autre Pomodoro.<br />
  4.1.2 Toutes les 4 Pomodoros<br />
  Après 4 Pomodoros, arrêtez ce que vous faites pour prendre une pause plus longue, de 15 à 30  <br />
  minutes.<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Marco Rossi<br />
  Rédiger un artcle sur l’apprentssage de la musique  <br />
  (10 pages max) X X X X<br />
  Retravailler l’artcle en le lisant à haute voix<br />
  En faire une version abrégée de max 3 pages<br />
  Fig. 4.6 Feuille «   Choses à faire   » après la fn de la première série de Pomodoros<br />
  Cete pause de 15 à 30 minutes est idéale pour faire un peu de rangement, aller se  <br />
  chercher un bon pett café, écouter les messages de sa messagerie vocale, vérifer sa boîte mail ou  <br />
  simplement se reposer, marcher un peu ou faire des exercices d’étrements. Encore une fois, évitez  <br />
  d’efectuer des tâches complexes qui empêcheraient l’organisaton des données dans votre esprit et  <br />
  leur intégraton. Ne pensez pas à ce que vous venez de faire, relaxez-vous.<br />
  4.1.3 Terminer une activité<br />
  Contnuer votre efort, Pomodoro après Pomodoro, jusqu’à ce que la tâche soit terminée.  <br />
  Marquez la dernière Pomodoro d’une croix.<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Marco Rossi<br />
  Rédiger un artcle sur l’apprentssage de la musique   X X X X X<br />
  12<br />
  <br />
  (10 pages max)<br />
  Retravailler l’artcle en le lisant à haute voix<br />
  En faire une version abrégée de max 3 pages<br />
  Fig. 4.7 Feuille «   Choses à faire   » après la fn d’une tâche<br />
  Les scénarii spécifques doivent être traités avec du bon sens   :<br />
  · Si vous terminez une tâche alors que la Pomodoro n’a pas sonné, la règle suivante  <br />
  s’applique   : si une Pomodoro débute, elle doit impératvement sonner. Vous pouvez  <br />
  utliser ce temps additonnel pour approfondir votre étude (17), réviser ou améliorer ce  <br />
  que vous venez de faire. Notez ce que vous avez fait durant ce laps de temps.<br />
  · Si vous terminez une actvité dans les 5 premières minutes de la Pomodoro et qu’il n’est  <br />
  pas possible d’approfondir ou d’améliorer ce qui a été fait ou vu, vous avez le droit de ne  <br />
  pas comptabiliser cete Pomodoro et de passer à la suivante. C’est la seule excepton  <br />
  permetant d’interrompre une Pomodoro. <br />
  Lorsqu’une actvité de la liste est terminée, passez à la suivante et ainsi de suite, en  <br />
  respectant les pauses entre les Pomodoros et les séries de 4.<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Marco Rossi<br />
  Rédiger un artcle sur l’apprentssage de la musique  <br />
  (10 pages max) X X X X X<br />
  Retravailler l’artcle en le lisant à haute voix X X<br />
  En faire une version abrégée de max 3 pages X X X<br />
  Fig. 4.8 Feuille «   Choses à faire   » d’une journée terminée<br />
  4.1.4 Compilation<br />
  À la fn de chaque journée, les Pomodoros efectuées sont comptabilisées dans un  <br />
  tableau. Il peut soit être sur papier, soit dans un fchier Excel ou autre base de données,  <br />
  ce qui est évidemment plus pratque. <br />
  Les données que l’on note et que l’on compile dépendent des facteurs que vous voulez  <br />
  observer et des rapports que vous désirez générer. L’objectf peut être de simplement  <br />
  indiquer le nombre de Pomodoros consommées par tâche. Pour ce faire, on peut utliser  <br />
  un tableau indiquant la date, l’heure du début, le type d’actvité, la descripton, le  <br />
  nombre de Pomodoros consommées, un champ «   notes   » pour les remarques (par  <br />
  13<br />
  <br />
  exemple les amélioratons que l’on peut envisager, ou des problèmes ayant surgi). Le  <br />
  modèle de fchier de compilaton variera donc suivant l’individu et ses objectfs. Il est très  <br />
  simple à établir, même sur papier.<br />
  Compilaton des données<br />
  Date Début Type Actvité Pomodoros Notes<br />
  12-jul-06 8h30 Écriture Apprendre la musique 5 7 pages<br />
  12-jul-06 11h30 Relecture Apprendre la musique 2<br />
  12-jul-06 14h00 Résumé Apprendre la musique 3 De 7 à 3 pages<br />
  Fig. 4.9 Compilaton des données<br />
  Comment Marco a-t-il pu remplir l’heure de début d’actvité s’il ne l’a pas notée au  <br />
  préalable? Avec la technique Pomodoro, il n’y a pas besoin de le faire. À partr du  <br />
  moment où on compte le nombre de Pomodoros, on peut facilement établir l’heure de  <br />
  début de chaque actvité par la suite. C’est l’élément-clé de la technique. <br />
  Note   La manière la plus simple de déterminer l’heure de début d’une actvité est de commencer par  <br />
  l’actvité la plus récente et de remonter dans le temps, jusqu’à la première.<br />
  4.1.5 Amélioration<br />
  La compilaton des données fournit un outl pratque pour les personnes appliquant la  <br />
  technique Pomodoro à des fns d’observaton et d’aide à la décision dans le cadre d’une  <br />
  amélioraton des procédures de travail. Par exemple, vous pouvez vous demander  <br />
  combien de Pomodoros vous passez par semaine à une tâche défnie, à l’exploraton de  <br />
  nouvelles idées. Ou combien de Pomodoros vous travaillez par semaine, etc. Vous pouvez  <br />
  aussi déterminer si les étapes d’une procédure sont utles ou pas, si leur suppression  <br />
  impacterait le résultat fnal.<br />
  Par exemple, on peut voir sur le tableau 4.9  que 10 Pomodoros furent nécessaires à  <br />
  Marco pour écrire, relire et résumer un artcle sur l’apprentssage de la musique. Cela  <br />
  semble beaucoup. Marco voudrait fnir une telle tâche en 9 Pomodoros, ou moins. Il  <br />
  pourrait utliser le temps gagné pour ses loisirs. «   Je voudrais rédiger mon prochain  <br />
  artcle en moins de temps, tout en conservant la même qualité. Comment? Où puis-je  <br />
  gagner du temps? Quelles actvités sont réellement utles? Comment puis-je les  <br />
  réorganiser afn d’être plus productf?   » C’est ce genre de questons qui permet de  <br />
  14<br />
  <br />
  progresser. On ne trouve pas nécessairement les solutons, mais on a au moins des pistes  <br />
  de réfexion.  La compilaton faite en fn de journée ne devrait pas excéder une  <br />
  Pomodoro, recherche d’amélioratons comprise.<br />
  4.1.6 Utilité de la Pomodoro<br />
  La Pomodoro devient un symbole du temps, qui mesure son écoulement et devient donc  <br />
  une unité de mesure. On peut quantfer l’efort requis pour efectuer une tâche, même  <br />
  par plusieurs personnes. On peut compter en Pomodoros/personne, Pomodoros/paire ou  <br />
  Pomodoros/ équipe, chaque unité permetant de mesurer l’efort de manière homogène.  <br />
  Il n’est pas possible de convertr ces unités, par exemple il n’est pas possible de convertr  <br />
  des Pomodoros/paire en en Pomodoros/personne.<br />
  Admetons que nous voulions évaluer le coût d’une actvité efectuée par plus d’une  <br />
  personne, que ce soit individuellement, en paires ou en groupes. En appliquant une unité  <br />
  de mesure monétaire, il est clair que nous pouvons comparer et additonner les eforts.  <br />
  Par exemple, prenons le cas d’une tâche efectuée par 2 Pomodoros/personne et 3  <br />
  Pomodoros/paire. En termes d’efort, on ne peut les additonner ou les comparer  <br />
  d’aucune manière qui soit. Pourtant, en déterminant un coût par Pomodoro, disons 10 €,  <br />
  on peut donc en déduire que l’actvité a coûté (2 x 10) + (3 x 2 x 10) =  80 €. <br />
  4.2 Diminuer les interruptions<br />
  La durée d’une Pomodoro, soit 25 minutes, semble être assez courte afn qu’il soit possible de résister  <br />
  aux distractons qui pourraient nous détourner de notre tâche. Mais l’expérience prouve que, lorsque  <br />
  vous avez commencé à utliser la technique Pomodoro, les interruptons peuvent devenir un réel  <br />
  problème. C’est pourquoi il est essentel de metre en place une stratégie afn de minimiser les  <br />
  interruptons inutles, afn d’améliorer le nombre de Pomodoros terminées sans avoir dû subir la  <br />
  moindre coupure. Il en existe de 2 natures   : les interruptons internes et externes.<br />
  4.2.1 Les interruptions internes ou volontaires<br />
  Même si une Pomodoro ne dure que 25 minutes, il ne sera pas chose aisée pour tout le  <br />
  monde de fnir les premières Pomodoros sans jamais interrompre le travail. Que ce soit  <br />
  15<br />
  <br />
  pour aller chercher à boire, se lever ou faire quelque chose qui nous semble si urgent,  <br />
  comme consulter un résultat sportf sur le net ou vérifer sa boîte email. Il se peut aussi  <br />
  que l’on se mete à repenser son planning, par exemple concernant nos priorités de la  <br />
  journée.<br />
  Ces types de distractons, ou moyens de reporter la tâche qui nous occupe, sont ce  <br />
  que nous appellerons des interruptons internes. Dans la plupart des cas, elles  <br />
  matérialisent notre peur de ne pas être capable de fnir notre tâche dans les délais  <br />
  imparts. Les interruptons internes sont typiques chez les personnes ayant des soucis de  <br />
  concentraton. <br />
  Comment peut-on s’en débarrasser?<br />
  En combatant sur 2 fronts à la fois, vous   :<br />
  - Faites en sorte que ces interruptons soient bien visibles. Chaque fois que l’envie de vous  <br />
  arrêter se fait sentr, marquez-la avec une apostrophe sur votre feuille de suivi. Ensuite, faites  <br />
  l’une de ces choses   :<br />
  o Ajoutez une nouvelle actvité sur votre feuille «   Choses à faire   » dans la case «   Non  <br />
  planifé et urgent   » si vous pensez que ce soit vraiment le cas.<br />
  o Ajoutez une nouvelle actvité dans votre inventaire, en indiquant entre parenthèses  <br />
  (NP) pour non planifé. Indiquez une date-butoir si nécessaire.<br />
  - Redoublez d’ardeur afn de fnir la Pomodoro en cours. Une fois l’apostrophe notée, contnuez  <br />
  votre tâche jusqu’à ce que la sonnerie de la Pomodoro retentsse.  N’oubliez pas la règle   :  <br />
  lorsqu’une Pomodoro a démarré, vous devez en entendre la sonnerie.<br />
  L’objectf est d’accepter qu’une interrupton puisse se produire, il ne faut pas les rejeter  <br />
  arbitrairement. Si  le motf de l’interrupton est important, planifez la tâche afn de vous en occuper  <br />
  plus tard.<br />
  16<br />
  <br />
  4.2.2 Exemple concret<br />
  Cet exemple sera plus parlant afn de clarifer la manière de gérer les interruptons.  <br />
  Durant la seconde Pomodoro de la rédacton de l’artcle sur l’apprentssage de la  <br />
  musique, Marco a soudainement ressent le besoin d’appeler Carole afn de lui demander  <br />
  quelle est la prochaine date de concert de leur groupe de rock favori. Marco s’est  <br />
  demandé   :   «   Est-ce vraiment urgent? Dois-je le faire aujourd’hui? Non, pas vraiment. Je  <br />
  peux le faire plus tard, même demain   ». Marco a ajouté une apostrophe sur sa feuille  <br />
  «   Choses à faire   » dans le champ où il comptabilise ses Pomodoros, a ajouté une ligne à  <br />
  son inventaire d’actvités non planifées. Il a ensuite poursuivi la tâche qui l’occupait avant  <br />
  l’interrupton.  <br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Marco Rossi<br />
  Rédiger un artcle sur l’apprentssage de la  <br />
  musique (10 pages max) X <br />
  ‘<br />
  Retravailler l’artcle en le lisant à haute voix<br />
  En faire une version abrégée de max 3 pages<br />
  Fig. 4.10 Feuille «Choses à faire» après une interrupton<br />
  Inventaire d’actvités Marco Rossi<br />
  …<br />
  NP Appeler Carole concernant prochain concert<br />
  …<br />
  Fig. 4.11 Inventaire d’actvités   : ajout d’une actvité non planifée<br />
  Marco s’est ensuite posé la queston   :   «   Est-ce que je dois le faire pour demain? Non, d’ici fn  <br />
  de semaine, c’est bon   ». Marco indique alors la date limite à côté du NP.<br />
  Inventaire d’actvités Marco Rossi<br />
  …<br />
  NP (14-jul) Appeler Carole concernant prochain concert<br />
  …<br />
  Fig. 4.12 Inventaire d’actvités   : ajout d’une actvité non planifée avec date-butoir<br />
  Si Marco ressent une irrésistble envie de pizza 10 minutes plus tard, il ajoutera une apostrophe. Il  <br />
  notera également cete actvité dans sa liste de choses à faire dans la catégorie   «   urgent et non  <br />
  planifé». Il contnue ensuite sa Pomodoro. <br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Marco Rossi<br />
  Rédiger un artcle sur l’apprentssage de la  <br />
  musique (10 pages max) X <br />
  ‘ ’<br />
  Retravailler l’artcle en le lisant à haute voix<br />
  En faire une version abrégée de max 3 pages<br />
  17<br />
  <br />
  Non planifé et urgent<br />
  Commande pizza<br />
  Fig. 4.13 Feuille «Choses à faire» après une interrupton urgente<br />
  Jusqu’ici, la Pomodoro n’a pas été interrompue. Elle a contnué de tourner et Marco a poursuivi son  <br />
  travail tout en s’occupant des interruptons. Il est clair que celles-ci doivent être traitées en un  <br />
  minimum de temps, quelques secondes au maximum. Si ce n’est pas le cas, la Pomodoro en cours ne  <br />
  pourra être comptabilisée. Lorsque la Pomodoro sonne, on ajoute une croix à côté de l’actvité  <br />
  concernée.<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Marco Rossi<br />
  Rédiger un artcle sur l’apprentssage de la  <br />
  musique (10 pages max) X X<br />
  ‘ ’<br />
  Retravailler l’artcle en le lisant à haute voix<br />
  En faire une version abrégée de max 3 pages<br />
  Non planifé et urgent<br />
  Commande pizza<br />
  Fig. 4.14 Feuille «Choses à faire» après une interrupton urgente et fn d’une nouvelle Pomodoro<br />
  Quand Marco va-t-il commander la pizza? Suivant le degré d’urgence qu’il veut atribuer à  <br />
  cete tâche, Marco peut choisir d’appeler sa pizzéria préférée et la commander tout de suite, ou  <br />
  simplement atendre la fn d’une série de 4 Pomodoros et le faire durant sa longue pause. Marco  <br />
  choisit de poursuivre son travail et commence une nouvelle Pomodoro. 8 interruptons vont survenir  <br />
  durant celle-ci. L’une d’entres-elles sera ajoutée dans la liste des tâches à faire. Pour les autres, Marco  <br />
  n’a pas d’autre choix que de les ajouter dans la liste des tâches urgentes. <br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Marco Rossi<br />
  Rédiger un artcle sur l’apprentssage de la  <br />
  musique (10 pages max) X X<br />
  ‘ ’ ‘ ’ ‘ ’ ‘ ’ ‘ ’<br />
  Retravailler l’artcle en le lisant à haute voix<br />
  En faire une version abrégée de max 3 pages<br />
  Non planifé et urgent<br />
  Commande pizza<br />
  Choisir nouveau vélo<br />
  Lire artcle apprendre musique en Asie<br />
  Chercher concerts jazz à Rome en juillet<br />
  Vérifer boîte mail<br />
  Commander plat chinois à emporter<br />
  Ranger troirs bureau<br />
  Tailler crayons<br />
  Fig. 4.15 Feuille «Choses à faire» après plusieurs interruptons urgentes<br />
  18<br />
  <br />
  Le fait de voir ce type d’actvité en dessous de l’inttulé «   urgent   » peut faire sourire. Mais  <br />
  c’est ainsi que Marco les a perçues. Nous devons insister sur le fait qu’avec la technique Pomodoro,  <br />
  beaucoup de choses amusantes nous viennent à l’esprit durant le travail, mais nous décidons  <br />
  sciemment de les reporter à plus tard. Le fait de les lister en actvités urgentes nous permet de  <br />
  mesurer à quel point notre esprit peut être distrait durant le travail, combien il est difcile de se tenir  <br />
  concentré en permanence. Ces interruptons sont souvent la matérialisaton d’une peur d’échouer  <br />
  dans la tâche qui nous occupe.<br />
  Vous ne serez pas surpris d’apprendre que de nombreuses interruptons s’avèreront être tout sauf  <br />
  urgentes, même pour la personne les ayant notées. À la fn de la Pomodoro ou de la journée, les  <br />
  éléments urgents seront plus que probablement traités de diférentes façons.<br />
  · Certains seront transférés sur la liste des tâches à faire. Par exemple, on pourra choisir ce  <br />
  vélo le lendemain.<br />
  · On s’occupera de certaines tâches durant la longue pause. C’est un excellent moment  <br />
  pour vérifer les dates de concerts de jazz en juillet à Rome, par exemple.<br />
  · Certains éléments seront tout bonnement supprimés. Marco a-t-il vraiment envie de  <br />
  manger de la pizza avec des rouleaux de printemps et du canard laqué? Il a peut-être  <br />
  décidé qu’il mangerait juste un morceau de baguete avec de la charcuterie.<br />
  Lorsqu’on relit la liste des tâches urgentes, après la Pomodoro ou à la fn de la journée, c’est un esprit  <br />
  neuf qui inspecte les éléments notés. Le caractère urgent des choses s’estompe, seules les tâches  <br />
  importantes sont listées dans l’inventaire des tâches. La technique Pomodoro fait en sorte que les  <br />
  interruptons soient traitées en minimisant l’impact sur le travail accompli. On traitera ces  <br />
  interruptons   :<br />
  · Soit durant la prochaine Pomodoro (on réorganise le planning).<br />
  · En les planifant plus tard dans la journée.<br />
  · En s’en occupant plus tard, au fl des Pomodoros. Cela nous permetra de faire pett à  <br />
  pett la distncton entre l’essentel, qui est réellement urgent, et l’accessoire.<br />
  Lorsqu’on s’occupe de ces tâches urgentes durant la journée, on indique à côté de l’actvité la  <br />
  Pomodoro correspondante. De toutes les interruptons dont nous avons parlé, on peut considérer  <br />
  que toutes ont été traitées. Notez que le mécanisme de traitement de ces arrêts consiste à inverser le  <br />
  lien de dépendance entre l’interrupton et le travail. Au lieu de perturber le travail, l’arrêt s’intègre  <br />
  dans une Pomodoro.<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Marco Rossi<br />
  Rédiger un artcle sur l’apprentssage de la  <br />
  musique (10 pages max) X X<br />
  ‘ ’ ‘ ’ ‘ ’ ‘ ’ ‘ ’<br />
  Retravailler l’artcle en le lisant à haute voix<br />
  En faire une version abrégée de max 3 pages<br />
  19<br />
  <br />
  Non planifé et urgent<br />
  Commande pizza<br />
  Choisir nouveau vélo<br />
  Lire artcle apprendre musique en Asie X<br />
  Chercher concerts jazz à Rome en juillet<br />
  Vérifer boîte mail<br />
  Commander plat chinois à emporter<br />
  Ranger troirs bureau<br />
  Tailler crayons<br />
  Fig. 4.16 Feuille «Choses à faire» après une tâche urgente accomplie durant la journée<br />
  Si vous êtes amené à devoir interrompre une Pomodoro, que ce soit à cause d’une tentaton  <br />
  irrésistble ou pour vous occuper de quelque chose de très urgent, vous n’avez qu’une seule opton à  <br />
  votre dispositon   : annuler la Pomodoro en cours, même si elle est sur le point de sonner (une  <br />
  Pomodoro est une unité indivisible). N’oubliez pas de mentonner l’interrupton avec une apostrophe.  <br />
  Et ne metez pas de croix! Prenez votre pause afn de vous préparer pour la prochaine Pomodoro.<br />
  Le but du système est de vous sensibiliser aux distractons qui vous coupent de votre travail. En les  <br />
  notant et en les traitant de la sorte, on peut minimiser leur impact et prévenir leur appariton.<br />
  4.2.3 Interruptions externes – la faute aux autres<br />
  Les personnes travaillant dans des environnements publics peuvent être interrompues.  <br />
  Votre partenaire d’étude peut vous demander de lui expliquer un paragraphe, ou vous  <br />
  proposer un lieu pour le déjeuner, le téléphone sonne, un collègue vous demande de lui  <br />
  fournir un rapport, votre client de messagerie émet un bip à chaque message reçu. Que  <br />
  faire?<br />
  Il faut bien entendu se prémunir contre les interruptons externes. Jusqu’ici nous avons  <br />
  vu comment luter contre les interruptons internes. Le risque étant que les autres nous  <br />
  empêchent de marquer des croix à côté de nos actvités planifées. <br />
  La grosse diférence avec une interrupton externe est qu’elle exige que l’on communique  <br />
  avec une terce personne afn de la traiter. Le principe de traitement de ces interruptons  <br />
  est similaire à l’interrupton interne   : inverser la dépendance. <br />
  Quelques exemples vont clarifer le concept. Un appel téléphonique peut toujours être  <br />
  dévié vers une messagerie vocale. Un courriel ne disparaîtra pas de votre boîte après x  <br />
  heures, on peut simplement désactver les alertes sonores dans les préférences de son  <br />
  client de messagerie. Si un collègue ou un camarade vient vous trouver, vous pouvez leur  <br />
  signifer gentment que vous êtes occupé (certaines personnes disent, non sans humour  <br />
  20<br />
  <br />
  «   je suis en plein milieu d’une Pomodoro   »). Dites à cete personne que vous l’appellerez  <br />
  plus tard (dans 15 minutes, une heure ou demain, suivant le caractère urgent de la  <br />
  demande).<br />
  Si on se base sur les faits, les urgences dont on doit s’occuper immédiatement sont  <br />
  extrêmement rares dans la vie. Un délai de 25 minutes ou de 2 heures est amplement  <br />
  sufsant pour traiter des tâches «   urgentes   ». Ce court délai ne nuira pas à la personne  <br />
  étant venue vous voir, mais aura l’énorme avantage de ne pas vous interrompre dans  <br />
  votre travail. Avec la pratque, vous constaterez à quel point il est facile de reporter des  <br />
  tâches soi-disant urgentes, même au lendemain, tout en satsfaisant la personne ayant  <br />
  besoin de vos services.<br />
  Donc, protéger la Pomodoro, cela signife   : informer efcacement, négocier rapidement  <br />
  afn de postposer l’interrupton ainsi que de tenir votre promesse de faire ce à quoi vous  <br />
  vous êtes engagé. La stratégie «   Informer, Négocier et Agir   » vous permet donc de gérer  <br />
  ces interruptons externes en les reportant à une autre Pomodoro de la journée ou du  <br />
  lendemain, suivant le caractère urgent de la demande. L’inversion de la dépendance se  <br />
  fait à travers le mécanisme   : nous ne dépendons plus des interruptons, car les  <br />
  interruptons dépendent de nous (par exemple lorsque nous planifons la tâche de  <br />
  rappeler la personne qui est venue nous voir).<br />
  Le retour des personnes ayant commencé à utliser la technique Pomodoro est souvent  <br />
  identque   : ils découvrent qu’une Pomodoro (soit  25 minutes) fait l’objet de 10 à 15  <br />
  interruptons externes. Si les personnes venant vous voir constatent que vous tenez vos  <br />
  promesses quand il s’agit de leur fournir plus tard ce dont pourquoi ils étaient venus vous  <br />
  voir, qu’il ne s’agit pas d’un prétexte pour les remballer, vous verrez que ces personnes  <br />
  joueront le jeu. Beaucoup de gens travaillant avec des adeptes de la méthode Pomodoro  <br />
  disent que ces personnes savent respecter le temps des autres. Dans la pratque, on gère  <br />
  ces interruptons de la même manière qu’avec les interruptons internes, on doit aussi  <br />
  répondre à 2 impératfs   :<br />
  · Rendre ces interruptons visibles. À chaque fois qu’une interrupton externe se produit,  <br />
  notez un tret sur la feuille de choses à faire, tout en suivant la stratégie «   Informer,  <br />
  Négocier et Agir   ». Ensuite, faites l’un ou l’autre   :<br />
  21<br />
  <br />
  o Ajoutez la nouvelle actvité sur la feuille «   Choses à faire   » dans la secton «   Non  <br />
  planifé et urgent   », tout en prenant soin d’indiquer quand vous avez promis  <br />
  d’accéder à la requête.<br />
  o Ajoutez la nouvelle actvité dans l’inventaire d’actvités, en mentonnant (NP).  <br />
  Mentonnez le délai si un engagement a été pris.<br />
  · Redoublez d’ardeur dans le travail de la Pomodoro en cours. Lorsque le tret est ajouté,  <br />
  contnuez le boulot jusqu’à ce que la sonnerie retentsse.<br />
  En agissant de la sorte, vous n’oublierez pas vos engagements tout en comptabilisant les  <br />
  interruptons, sans devoir interrompre la Pomodoro. L’exemple ci-dessous montre 2  <br />
  interruptons externes ayant été traitées diféremment. Elles se sont produites durant la  <br />
  seconde Pomodoro de la tâche «   Écrire un artcle sur l’apprentssage de la musique   ».<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Marco Rossi<br />
  Rédiger un artcle sur l’apprentssage de la  <br />
  musique (10 pages max) - -<br />
  X<br />
  Retravailler l’artcle en le lisant à haute voix<br />
  En faire une version abrégée de max 3 pages<br />
  Non planifé et urgent<br />
  Envoyer le brouillon de l’artcle à Luke<br />
  Fig. 4.17 Feuille «Choses à faire» après une interrupton urgente<br />
  Inventaire d’actvités Marco Rossi<br />
  …<br />
  NP (13-jul) Appeler Mr Neri pour interview<br />
  …<br />
  Fig. 4.18 Inventaire d’actvités   : ajout d’une actvité non planifée avec date-butoir<br />
  Si une Pomodoro doit absolument être interrompue, que ce soit à cause d’une faiblesse  <br />
  humaine ou pour s’occuper d’une réelle urgence, vous n’avez pas d’autre choix que d’annuler la  <br />
  Pomodoro en cours, même si elle est sur le point de sonner. Ajouter un tret à côté de l’actvité  <br />
  concernée. Et ne metez pas de croix! Prenez votre pause afn de vous préparer pour la prochaine  <br />
  Pomodoro.<br />
  Quantfer et appréhender la nature des interruptons permet de vous sensibiliser aux  <br />
  distractons qui vous coupent dans votre travail. Négociez et planifez suivant le degré d’urgence de la  <br />
  demande.<br />
  4.2.4 Interruptions systématiques<br />
  La première conséquence tangible découlant de l’applicaton de la technique Pomodoro,  <br />
  nous imposant de gérer les interruptons internes et externes, est qu’elle nous pousse à  <br />
  réorganiser notre temps afn de les gérer (appels, courriels, réunions, etc.). La manière la  <br />
  22<br />
  <br />
  plus logique de procéder consiste à réserver une Pomodoro par jour (ou plus, suivant vos  <br />
  besoins) afn de les traiter. Le mécanisme d’inversion de la dépendance, protégeant la  <br />
  Pomodoro, permet de convertr les interruptons en Pomodoros dédiées à la  <br />
  communicaton. Nous voulons insister sur le fait que vous devez poursuivre ces objectfs   :<br />
  · Reporter ces Pomodoros au maximum, en diminuant la priorité au maximum.<br />
  · En faisant en sorte de limiter au maximum le nombre de Pomodoros dédiées à la geston  <br />
  des interruptons.<br />
  Les personnes commençant à utliser la technique Pomodoro sont souvent frappées de  <br />
  constater le nombre de Pomodoros consacrées à l’étude ou au travail (sans interruptons  <br />
  non gérées) en comparaison avec celles dédiées à l’organisaton même du travail (dont  <br />
  une parte découle de la geston des interruptons). Dans certaines équipes, les membres  <br />
  commencent avec 2 à 3 Pomodoros dédiées au travail, le reste étant utlisé pour la  <br />
  communicaton (réunions, appels téléphoniques et courriels).<br />
  4.2.5 Compilation des données   : erreurs qualitatives d’estimation du planning<br />
  Jetez un coup d’œil à la liste des actvités ajoutées au cours de la journée, marquées  <br />
  comme étant (NP) dans l’inventaire d’actvité, et comparez-la avec les éléments listés sur  <br />
  la feuille «   choses à faire   », soit les tâches non planifées et urgentes. Plus les actvités  <br />
  non planifées sont nombreuses, plus la marge d’erreur dans votre estmaton initale  <br />
  était erronée. Mesurer le nombre d’actvités non planifées vous permet donc d’évaluer  <br />
  vos capacités de planifcaton. Cela est également valable concernant le nombre  <br />
  d’interruptons internes et externes. Il est intéressant de les suivre afn de tenter de  <br />
  réduire leur nombre au fl du temps. <br />
  23<br />
  <br />
  4.3 Objectif 3   : estimer l’effort requis pour terminer une tâche<br />
  Lorsque vous commencez à maîtriser la technique en ayant ateint les 2 premiers objectfs, vous  <br />
  pouvez commencer à travailler sur l’aspect quanttatf des choses. L’objectf, qui est à long terme, est  <br />
  de prédire avec précision l’efort requis pour terminer une tâche.<br />
  L’inventaire d’actvités liste toutes les tâches devant être faites. Ces actvités sont créées durant la  <br />
  planifcaton, essentelle afn d’identfer les méthodes permetant d’ateindre vos objectfs (au début  <br />
  d’un projet par exemple) et de gérer avec succès les interruptons. Certaines actvités perdent tout  <br />
  leur sens au fl du temps, elles peuvent donc être supprimées de l’inventaire.<br />
  Au début de chaque journée, estmez le nombre de Pomodoros requises afn de fnir chaque tâche de  <br />
  la liste. Vous pouvez modifer vos estmatons précédentes si vous le désirez. Indiquez votre  <br />
  estmaton dans le champ prévu à cet efet. L’estmaton en Pomodoros peut être exprimée en  <br />
  Pomodoros/personne, Pomodoros/paire ou Pomodoros/groupe, cela n’a pas d’importance. Dans  <br />
  l’exemple ci-dessous, il s’agit de Pomodoros/personne.<br />
  Inventaire d’actvités Lucy Banks<br />
  …<br />
  NP (13-jul) Répondre aux questons sur thermodynamique 2<br />
  Répéter tout haut les lois de la thermodynamique à Marco 3<br />
  Résumer les lois de la thermodynamique par écrit 3<br />
  Appeler Laura pour l’inviter au séminaire sur la thermodynamique<br />
  Appeler Marco pour qu’il me rendre mon PC portable!<br />
  Appeler Andrew   : on achète les tckets pour le concert?<br />
  Envoyer un mail à Nick concernant exercice 2 page 24<br />
  …<br />
  Fig. 4.19 Inventaire d’actvités   : Estmaton quotdienne<br />
  N’oubliez pas qu’une estmaton doit être faite en Pomodoros entères, hors de queston  <br />
  d’indiquer 5,5. Si c’est le chifre qui vous vient en tête, indiquez 6. Si votre estmaton est supérieure à  <br />
  5-7 Pomodoros, cela signife probablement que l’actvité est bien trop complexe. Il est donc  <br />
  préférable de la scinder en plusieurs actvités. Faites une estmaton séparée pour chacune d’elles, et  <br />
  listez-les dans l’inventaire. La règle est   : plus de 5-7 Pomodoros? Scindez-les. En procédant de la  <br />
  sorte, non seulement les actvités deviennent moins complexes, mais vos estmatons deviennent plus  <br />
  précises. Cet efet est d’autant plus intéressant lorsqu’il s’agit d’actvités incrémentales au lieu de  <br />
  simples actvités plus pettes (une actvité incrémentale est celle qui fournit des résultats utles dès sa  <br />
  réalisaton). <br />
  24<br />
  <br />
  Si votre estmaton est inférieure à une Pomodoro (par exemple le temps requis afn d’appeler  <br />
  Laura pour l’inviter au séminaire sur la thermodynamique, ou d’appeler Marco pour récupérer le PC  <br />
  portable), il vous faudra grouper de telles actvités jusqu’à ce que votre estmaton ateigne une  <br />
  Pomodoro. La règle est   : si cete actvité demande moins d’une Pomodoro, ajoutez des tâches afn  <br />
  d’ateindre l’estmaton minimale. Vous avez donc 2 optons lorsque l’estmaton d’une actvité est  <br />
  inférieure à une Pomodoro   :<br />
  · Combiner des actvités similaires de l’inventaire jusqu’à ce que le temps requis pour les  <br />
  efectuer ateigne 1 Pomodoro (fg. 4.20).<br />
  · Laissez le champ «   estmaton   » vide jusqu’à ce que des actvités similaires s’ajoutent dans  <br />
  la liste.<br />
  Inventaire d’actvités Lucy Banks<br />
  …<br />
  NP (13-jul) Répondre aux questons sur thermodynamique 2<br />
  Répéter tout haut les lois de la thermodynamique à Marco 3<br />
  Résumer les lois de la thermodynamique par écrit 3<br />
  Appeler Laura pour l’inviter au séminaire sur la thermodynamique<br />
  Appeler Marco pour qu’il me rendre mon PC portable! + Appeler  <br />
  Andrew   : on achète les tckets pour le concert? 1<br />
  Envoyer un mail à Nick concernant exercice 2 page 24<br />
  …<br />
  Fig. 4.20 Inventaire d’actvités   : consolidaton d’actvités pour ateindre une Pomodoro<br />
  En optant pour l’une ou l’autre stratégie, rappelez-vous que l’un des objectfs de l’inventaire  <br />
  d’actvités est de faciliter la sélecton des tâches dans votre liste «   Choses à faire   » quotdienne. Optez  <br />
  pour la première soluton si vous avez des actvités similaires ou complémentaires dans la liste, tandis  <br />
  que vous reporterez les autres. Plus vous aurez de tâches listées dans votre inventaire, plus il sera  <br />
  facile de les consolider, en cas de besoin.<br />
  Note   – Si vous travaillez sur papier, écrivez avec un crayon afn de pouvoir facilement efectuer des  <br />
  modifcatons dans vos listes.<br />
  4.3.1 Pomodoros disponibles<br />
  Vous avez désormais réalisé l’estmaton du  Pomodoros requises pour chaque actvité.  <br />
  Vous pouvez donc choisir les actvités que vous allez ajouter sur votre feuille «   Choses à  <br />
  faire   » de la journée. Sur base du nombre de Pomodoros disponibles pour la journée,  <br />
  vous faites votre choix. Indiquez le nombre de Pomodoros quotdiennes disponibles sur  <br />
  votre liste de choses à faire. En principe, vous devez le faire avant de commencer à  <br />
  25<br />
  <br />
  choisir des actvités. Listez les actvités par priorité, et indiquez le nombre de Pomodoros  <br />
  requises par tâche. Pour ce faire, le plus pratque est de faire fgurer des carrés vides dans  <br />
  la parte où vous comptabilisez les Pomodoros.<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Lucy Banks<br />
  Pomodoros disponibles   : 8<br />
  Répondre aux questons sur thermodynamique<br />
     <br />
  Répéter tout haut les lois de la thermodynamique  <br />
  à Marco       <br />
  Résumer les lois de la thermodynamique par écrit<br />
        <br />
  Fig. 4.21 Feuille «Choses à faire»   : estmaton des Pomodoros requises<br />
  Il est inutle d’ajouter des tâches supplémentaires. S’il s’avère qu’il vous a fallu moins de  <br />
  temps pour efecteur le travail, vous pourrez rajouter par la suite des actvités. En  <br />
  atendant, tenez-vous au planning établi.<br />
  4.3.2 Scénarii possibles<br />
  Enclenchez la minuterie et commencez la première actvité de la liste. Indiquez une croix  <br />
  à chaque fn de Pomodoro.<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Lucy Banks<br />
  Pomodoros disponibles   : 8<br />
  Répondre aux questons sur thermodynamique<br />
     <br />
  Répéter tout haut les lois de la thermodynamique  <br />
  à Marco       <br />
  Résumer les lois de la thermodynamique par écrit<br />
        <br />
  Fig. 4.22 Feuille «Choses à faire»   : estmaton des Pomodoros requises et fnies<br />
          Si vous avez terminé l’actvité dans le nombre prévu de Pomodoros, indiquez- le comme  <br />
  ceci   :<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Lucy Banks<br />
  Pomodoros disponibles   : 8<br />
  Répondre aux questons sur thermodynamique<br />
     <br />
  Répéter tout haut les lois de la thermodynamique  <br />
  à Marco       <br />
  Résumer les lois de la thermodynamique par écrit<br />
        <br />
  Fig. 4.23 Feuille «Choses à faire»   : tâche réalisée dans le nombre estmé de Pomodoros<br />
  Si vous avez sous-estmé le nombre de Pomodoros, cochez le nombre de cases utlisées et  <br />
  barrez l’actvité, comme ceci   :<br />
  26<br />
  <br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Lucy Banks<br />
  Pomodoros disponibles   : 8<br />
  Répondre aux questons sur thermodynamique<br />
     <br />
  Répéter tout haut les lois de la thermodynamique  <br />
  à Marco       <br />
  Résumer les lois de la thermodynamique par écrit<br />
        <br />
  Fig. 4.24 Feuille «Choses à faire»   : tâche dont l’efort a été surestmé<br />
  Si, au contraire, vous avez sous-estmé une tâche, vous avez 2 optons   :<br />
  · Contnuer à travailler en ajouter les Pomodoros consommées afn de venir à bout de  <br />
  l’actvité, comme ceci   :<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Lucy Banks<br />
  Pomodoros disponibles   : 8<br />
  Répondre aux questons sur thermodynamique<br />
     <br />
  Répéter tout haut les lois de la thermodynamique  <br />
  à Marco       <br />
  Résumer les lois de la thermodynamique par écrit<br />
          X<br />
  Fig. 4.25 Feuille «Choses à faire»   : tâche dont l’efort a été surestmé<br />
  · Soit revoir l’estmaton initale. Dans ce cas, on utlisera un moyen de diférencier  <br />
  l’estmaton initale de celle révisée. Dans l’exemple ci-dessous, on utlise des cercles au  <br />
  lieu de carrés.<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Lucy Banks<br />
  Pomodoros disponibles   : 8<br />
  Répondre aux questons sur thermodynamique<br />
     <br />
  Répéter tout haut les lois de la thermodynamique  <br />
  à Marco       <br />
  Résumer les lois de la thermodynamique par écrit<br />
              <br />
  Fig. 4.26 Feuille «Choses à faire»   : estmaton révisée<br />
  Dans l’exemple ci-dessous, 4 Pomodoros  furent nécessaires à Lucy afn de rédiger le résumé,  <br />
  soit une Pomodoro de plus que l’estmaton originale, ainsi qu’une Pomodoro de moins que la  <br />
  révision de l’estmaton.<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Lucy Banks<br />
  Pomodoros disponibles   : 8<br />
  Répondre aux questons sur thermodynamique<br />
     <br />
  Répéter tout haut les lois de la thermodynamique  <br />
  à Marco       <br />
  Résumer les lois de la thermodynamique par écrit<br />
              <br />
  Fig. 4.27 Feuille «Choses à faire»   : actvité terminée après révision de l’estmaton de l’efort<br />
  27<br />
  <br />
  Vu que les actvités ne dépassent pas les 5-7 Pomodoros (car lorsque c’est le cas, on les sépare en  <br />
  sous-tâches), il est rare de devoir estmer plus de 2 fois le temps requis pour efectuer une actvité. Si  <br />
  cela devait vous arriver, il conviendrait d’analyser pourquoi l’estmaton de cete tâche fut si  <br />
  compliquée.<br />
  4.3.3 Compilation des estimations<br />
  Maintenant que le concept d’estmaton quanttatve est clair, nous pouvons étendre les  <br />
  objectfs de nos rapports. Par exemple   :<br />
  · Mesurer l’exacttude de nos estmatons, en analysant les diférentels entre l’efort  <br />
  estmé et celui fourni.<br />
  · Identfer les actvités ayant besoin d’une nouvelle estmaton<br />
  Nous devons désormais metre à jour notre page de compilaton des résultats. Le  <br />
  contenu du rapport variera suivant les circonstances et les besoins, les 2 exemples ci-<br />
  dessous vous fourniront de quoi vous inspirer   :<br />
  Date Heure Type actvité Descripton Estm Utlisé Dif<br />
  12-jul 10h00 Étude Répondre aux questons  <br />
  sur thermodynamique 2 2 0<br />
  12-jul 11h30 Révision Répéter tout haut les lois  <br />
  de la thermodynamique  <br />
  à Marco 3 2 -1<br />
  12-jul 14h00 Synthèse Résumer les lois de la  <br />
  thermodynamique par  <br />
  écrit 3 4 1<br />
  Fig. 2.28 Feuille de compilaton des résultats   : rapport sur estmaton initale.<br />
  Date Heure Type actvité Descripton Estm Utlisé Dif  <br />
  1 Dif<br />
  2<br />
  12-jul 10h00 Étude Répondre aux  <br />
  questons sur  <br />
  thermodynamique 2 2 0<br />
  12-jul 11h30 Révision Répéter tout haut les  <br />
  lois de la  <br />
  thermodynamique à  <br />
  Marco 3 2 1<br />
  12-jul 14h00 Synthèse Résumer les lois de la  <br />
  thermodynamique par  <br />
  écrit 3+2 4 -1 1<br />
  28<br />
  <br />
  Fig. 2.29 Feuille de compilaton des résultats   : rapport sur estmaton initale et révisée<br />
  Les possibilités de rapports sont évidemment quasi infnies. Dans les exemples que nous  <br />
  prenons, ils sont assez simples et peuvent donc être établis à la main. Plus la situaton est complexe,  <br />
  plus il deviendra obligatoire d’utliser des feuilles de calcul, bases de données et autres programmes  <br />
  informatques. Atenton tout de même à ne pas compliquer les choses plus que nécessaire. La  <br />
  simplicité doit être préservée autant que faire se peut.<br />
  Le premier objectf de l’amélioraton des estmatons quanttatves est d’éliminer le besoin de la  <br />
  troisième estmaton tout en ayant des marges d’erreur faibles. L’objectf suivant sera d’éliminer la  <br />
  seconde estmaton, tout en limitant encore la marge d’erreur. Enfn, l’objectf fnal sera d’estmer les  <br />
  tâches grâce à une seule estmaton, dont la marge d’erreur sera très basse.<br />
  4.3.4 Gérer l’exploration<br />
  Il n’est pas toujours possible d’estmer le temps requis pour efectuer une actvité.  <br />
  Lorsqu’on débute un nouveau projet ou l’étude d’un nouveau sujet, il est intéressant de  <br />
  consacrer du temps à l’exploraton de nouvelles pistes. Trouver des sources nouvelles,  <br />
  vous faire une idée de la structure des textes que vous devrez consulter ou étudier,  <br />
  défnir plus clairement vos objectfs, etc.  Pour favoriser l’exploraton, il est utle de la  <br />
  planifer. Lorsque les Pomodoros allouées sont consommées, passez à la suite du plan ou  <br />
  contnuez votre exploraton.<br />
  4.4 Objectif 4   : Améliorer l’efficacité de la Pomodoro<br />
  Lorsque vous devenez capable de fnaliser vos Pomodoros sans être interrompu tout en maîtrisant  <br />
  l’art de l’estmaton, on peut pousser la technique encore plus loin.<br />
  4.4.1 La structure de la Pomodoro<br />
  La première évoluton concerne la structure de la Pomodoro. Les 3 à 5 premières minutes  <br />
  de la Pomodoro peuvent être utlisées afn de revoir ce qui a été étudié précédemment  <br />
  (et pas uniquement durant la dernière Pomodoro) afn de le graver dans votre esprit. Les  <br />
  3 à 5 minutes de la fn de la Pomodoro peuvent être consacrées à ce que vous venez de  <br />
  faire. Si possible en remontant les liens de cause à efet, en procédant de manière  <br />
  antchronologique. <br />
  29<br />
  <br />
  Note   – Les dernières minutes de la Pomodoro doivent servir à revoir ce qui a été vu. Si vous voulez  <br />
  vérifer la qualité de votre travail et de votre méthode, vous devriez dédier une ou 2 Pomodoros à  <br />
  cete actvité (des observatons brèves peuvent déjà être faites durant la compilaton des données).<br />
  Ces changements ne requièrent pas d’ajuster la durée de la Pomodoro. L’amélioraton de  <br />
  la noton du temps que la technique induira vous permetra de sentr quand il est temps  <br />
  d’utliser ces 3-5 minutes. Si vous éprouvez des difcultés à le faire, il est fort probable  <br />
  que vous ne maîtrisiez pas encore les bases de la technique.<br />
  4.4.2 La structure d’une série de Pomodoros<br />
  On peut aussi introduire une seconde évoluton. Celle-ci est en relaton avec le système  <br />
  de série de Pomodoros (4 avant la longue pause). Il s’agit d’utliser la première Pomodoro  <br />
  afn de répéter ce qui a été vu durant la journée. Similairement, la dernière Pomodoro est  <br />
  utlisée pour revoir ce qui a été vu dans la série en cours. La révision est plus efcace si  <br />
  vous lisez à haute voix ou en le faisant de manière conversatonnelle avec votre  <br />
  partenaire d’étude. La répétton systématque et la révision stmulent les bienfaits de la  <br />
  «   surétude», facilitant ainsi l’enregistrement de l’informaton.<br />
  4.5 Objectif 5   : définir un horaire<br />
  Tout une série de raisons expliquent pourquoi vous ne devez jamais sous-estmer l’importance  <br />
  d’établir et de respecter un horaire.<br />
  · Un horaire fxe une limite. Les limites nous permetent de nous garder sur le droit  <br />
  chemin, d’être concrets et de réaliser. Elles nous motvent afn de faire de notre mieux  <br />
  pour terminer des tâches dans un temps impart. C’est le rôle de la sonnerie de la  <br />
  Pomodoro.<br />
  · Un horaire trace une ligne de démarcaton entre le travail et le temps libre. On défnit ce  <br />
  dernier comme une période pour efectuer des choses n’ayant pas un objectf précis, ou  <br />
  non planifées (15). Ce moment permet de recharger nos bateries, d’aérer nos esprits.  <br />
  Sans temps libre, nous perdons toute créatvité, intérêt et curiosité. Nous nous vidons de  <br />
  notre énergie. Sans essence, un moteur ne peut tourner (4).<br />
  · Un horaire permet de faire le bilan de la journée. Une fois notre liste des choses à faire  <br />
  établie, notre objectf est d’accomplir les tâches listées de la meilleure façon qui soit, tout  <br />
  30<br />
  <br />
  en respectant les délais que nous nous sommes fxés. Si nous échouons, nous cherchons  <br />
  à savoir pourquoi. Nous pouvons aussi déterminer le temps passé à travailler tout au long  <br />
  de la journée.<br />
  Il n’est pas nécessaire de se tracasser à propos du temps que l’on a gaspillé. Avec la technique  <br />
  Pomodoro, il suft de les compter et on peut déterminer avec exacttude le temps de travail  <br />
  efectf. On peut mieux gérer son efort sur plusieurs jours.<br />
  Le seul danger de l’horaire, c’est qu’il soit sous-estmé. Il est facile de ne pas le respecter.  <br />
  Admetons qu’il soit 15 heures. Vous avez perdu du temps durant la journée, donc vous  <br />
  n’avez pas accompli autant de choses que prévu. Vous vous dites alors   : «   je vais faire des  <br />
  heures sup’ de soir pour ratraper le retard   ». Un mélange d’héroïsme et de culpabilité vous  <br />
  fait réaliser une entorse au règlement. Résultat des courses, votre performance de ce soir  <br />
  sera médiocre. Elle se répercutera demain et plus tard dans la semaine. Plus vous rallongez  <br />
  l’horaire, moins vous êtes efcace. La culpabilité grandit. Pourquoi? Jouer les héros ne suft  <br />
  pas? Les heures supplémentaires de travail, sacrifées sur l’autel du courage, ne sont-elles pas  <br />
  sufsantes?<br />
  Vous prenez le risque d’entrer dans un cercle vicieux   : l’horaire s’allonge, la fatgue grandit, la  <br />
  productvité diminue, l’horaire s’allonge. La règle d’or est donc de toujours respecter l’horaire.  <br />
  Cela vous permet de vous immuniser contre le syndrome des «   encore 5 minutes puis  <br />
  j’arrête   ». Lorsque l’horaire touche à sa fn, comme c’est le cas pour une Pomodoro, le travail  <br />
  cesse. Autre règle importante   : un horaire doit comporter des plages de repos. <br />
  Note   – Il arrive que des imprévus arrivent, ceux qui vous forcent à efectuer de longues heures  <br />
  supplémentaires. On peut alors ajuster l’horaire afn de prendre en compte, temporairement, ces  <br />
  heures additonnelles de travail. Afn de ne pas rentrer dans le cercle vicieux que nous venons de  <br />
  décrire, on veillera à ne pas faire d’heures supplémentaires durant plus de 5 jours d’aflée. Établissez  <br />
  un horaire exceptonnel pour cete période, tout en vous ménageant du repos supplémentaire une  <br />
  fois le coup de feu passé. <br />
  4.5.1 Le scénario idéal<br />
  Prenons pour exemple cet horaire   : 8h30-13h00 et 14h00-17h30. Il est 8h30, Albert  <br />
  enclenche sa première Pomodoro du jour. Il peut utliser cete Pomodoro  pour revoir ce  <br />
  qui a été vu le jour précédent, pour parcourir l’inventaire d’actvités afn de remplir sa  <br />
  feuille de choses à faire, ainsi que la planifcaton de sa journée. Dans cete Pomodoro  <br />
  dédiée à l’organisaton de sa journée, Albert vérife si son bureau est bien en ordre. La  <br />
  Pomodoro sonne, il marque une croix et prend sa pause.<br />
  31<br />
  <br />
  Une autre Pomodoro débute, la première dédiée au travail pur et dur. Albert travaille  <br />
  encore pendant 2 autres Pomodoros. La première série de 4 est terminée, il prend sa  <br />
  longue pause. Bien qu’Albert ait envie de poursuivre son travail, il décide de respecter  <br />
  son temps de repos, vu la rude journée qui l’atend. Après une vingtaine de minutes, il  <br />
  enclenche de nouveau sa Pomodoro, c’est repart pour une série de 4. Il regarde ensuite  <br />
  sa montre, il est déjà 12h53. Juste le temps de ranger rapidement son bureau, de classer  <br />
  quelques documents et de vérifer que sa feuille de choses à faire est bien remplie. Il part  <br />
  ensuite déjeuner. <br />
  À 14h00, Albert est pile-poil à l’heure, assis à son bureau. Il démarre une nouvelle  <br />
  Pomodoro. Il ne prend pas beaucoup de repos entre les Pomodoros. Une fois la série de 4  <br />
  terminée, il ressent un coup de mou. Il décide donc d’aller se dégourdir les jambes.  <br />
  Trente minutes plus tard, Albert est de retour pour une nouvelle Pomodoro. Elle sonne,  <br />
  une croix, repos. Albert profte de sa dernière Pomodoro pour évaluer ce qu’il a fait  <br />
  durant la journée, remplit ses tableaux, note 2-3 commentaires concernant des pistes  <br />
  d’amélioratons, écrit des notes sur la feuille de choses à faire du lendemain et range son  <br />
  bureau. La Pomodoro sonne. Pett break. Albert consulte sa toquante, il est 17h27.  <br />
  Encore un peu de rangement jusqu’à 17h30 et le début du temps libre.<br />
  2 remarques concernant ce scénario   :<br />
  · Le nombre de Pomodoros opératonnelles ne coïncide jamais avec le nombre d’heures  <br />
  d’étude ou de travail. Lorsqu’on travaille ou étudie durant 8 heures par jour, 2 Pomodoros  <br />
  sont réservées aux tâches d’organisaton (une heure) et 12 Pomodoros (6 heures) au  <br />
  travail en lui-même.<br />
  · Le temps qui passe est un critère secondaire lorsqu’on utlise cete technique. Si aucune  <br />
  interrupton non traitée ne se produit, la fn de la matnée ou de la journée sera  <br />
  simplement dictée par la succession de Pomodoros. L’horaire est établi par les séries de  <br />
  Pomodoros. Peu importe l’heure, vu que l’horaire est fxé et qu’on sait à l’avance plus ou  <br />
  moins l’heure qu’il est à tout moment (la longueur des pauses jouant un rôle).  <br />
  4.5.2 Scénario avec interruptions<br />
  Admetons que nous soyons à la deuxième Pomodoro du scénario ci-dessus. <br />
  32<br />
  <br />
  Albert est interrompu et ne peut traiter l’arrêt en le reportant, cela arrive. La Pomodoro  <br />
  est donc annulée. Finalement, Albert peut se remetre au boulot. Il vérife sa montre. Il  <br />
  est 12h20. En quelques secondes, il réorganise sa dernière session, il ne lui reste qu’une  <br />
  Pomodoro à efectuer. Il prend tout de même un court break avant de la démarrer. En  <br />
  fait, il décide de bien prendre son temps afn de retrouver sa concentraton. Quand il se  <br />
  sent prêt, il recommence une nouvelle Pomodoro.<br />
  Durant l’après-midi, à la fn de la troisième série de 4 Pomodoros, Albert ressent le besoin  <br />
  de prendre une pause bien plus longue que les 3-5 minutes auxquelles il a droit. Il décide  <br />
  d’aller faire une promenade de 30 minutes. Avant de sortr, il modife rapidement son  <br />
  planning. De sa dernière série de 2 Pomodoros, dont une est dédiée à la planifcaton, il  <br />
  en supprime une. S’il lui reste un peu de temps, il rangera son bureau et vérifera sa boîte  <br />
  de récepton. Albert revient de sa promenade à 16h47. Il remonte la Pomodoro, elle  <br />
  sonne, une croix marquée puis pause. Temps libre.<br />
  4.5.3 Optimisation de votre horaire<br />
  Une journée de travail se compose de plusieurs Pomodoros. Comment les organiser afn  <br />
  d’améliorer votre productvité? L’optmisaton de votre horaire est le résultat d’un  <br />
  processus contnu d’observaton et d’évaluaton des résultats observés. L’objectf consiste  <br />
  à renforcer au maximum le principe de succession régulière des actvités.<br />
  Pour un étudiant consacrant toute la journée à l’étude, l’horaire de base serait de 8h30-<br />
  12h30 et 13h30-17h30. 2 séries en matnée, respectvement de 4 et 3 Pomodoros. Même  <br />
  topo durant l’après-midi. Les séries dicteront les périodes de repos.<br />
  Les Pomodoros de chaque série peuvent être organisées diféremment. Par exemple, la  <br />
  première Pomodoro du premier groupe peut être utlisée afn de planifer votre journée.  <br />
  Les 3 suivantes seront consacrées à l’étude d’un sujet, ainsi que les 2 premières de la  <br />
  série suivante. La dernière Pomodoro quant à elle sera utlisée afn de lire et répondre à  <br />
  ses courriels, à vérifer sa messagerie vocale et à appeler des camarades, si besoin. On  <br />
  l’utlisera aussi afn de traiter les interruptons du matn. La première Pomodoro de la  <br />
  première série de l’après-midi nous permet de revoir ce qui a été étudié le matn. Les 3  <br />
  Pomodoros suivantes sont consacrées à l’étude. Les 2 premières Pomodoros de la  <br />
  dernière série sont dédiées à la révision des sujets étudiés ces derniers jours ainsi que ce  <br />
  matn. Enfn, on remplit les diférentes feuilles de données durant la dernière et on les  <br />
  analyse. Votre horaire ressemble donc à [1+3], [2+1] / [1+3], [2+1].<br />
  33<br />
  <br />
  Le postulat de départ de cet horaire d’étude est que nous sommes plus productfs le  <br />
  matn, les heures juste après le déjeuner étant celles durant lesquelles nous sommes le  <br />
  moins efcaces. Ces suppositons sont évidemment subjectves. Pourquoi faisons-nous un  <br />
  horaire? En collectant tous les jours des données sur la façon dont nous travaillons, nous  <br />
  pouvons identfer les périodes durant lesquelles nous ne sommes pas productfs. On  <br />
  peut même aller plus loin en identfant les bons moments pour l’étude, la révision ou la  <br />
  fertlité de notre créatvité. Lorsqu’on connaît ces informatons, on peut donc adapter  <br />
  l’horaire en conséquence. Commencer plus tôt ou plus tard, allonger ou diminuer  <br />
  certaines séries, etc. La technique Pomodoro permet de mieux vous connaître. <br />
  La clé du succès afn de pouvoir établir un horaire efcace réside dans votre capacité à le  <br />
  moduler intelligemment suivant vos besoins. Jusqu’ici, nous avons utlisé des séries de 4  <br />
  Pomodoros, car l’expérience a prouvé que c’est l’arrangement le plus efcace. Mais le  <br />
  nombre de 4 n’est en aucun cas une contrainte, vous pouvez en ajouter ou en soustraire.  <br />
  Le break en fn de série est toujours d’applicaton. Pour être efcace, un horaire doit être  <br />
  adaptable. Le processus d’amélioraton doit être contnuel. Osez expérimenter, surtout au  <br />
  début.<br />
  Note   – L’expérience montre que les changements de saison imposent une modifcaton de l’horaire.<br />
  4.6 Autres objectifs<br />
  Nous nous sommes contentés, jusqu’à présent, de décrire les bases de la technique Pomodoro.  <br />
  Jusqu’ici, en collectant et en compilant les données, sans que cela ne demande beaucoup de temps,  <br />
  nous obtenons des rapports utles concernant l’efort fourni par actvité et les erreurs quanttatves et  <br />
  qualitatves à propos de nos estmatons. Il est évident que si on désire progresser davantage,  <br />
  l’objectf de nos rapports évoluera au fl du temps. Il serait contre-productf de suivre toutes les  <br />
  données d’analyse que l’on peut collecter. On se limitera donc à l’utle, aux éléments que l’on veut  <br />
  améliorer. La technique Pomodoro a été conçue dans le but d’apporter la fexibilité nécessaire afn de  <br />
  faire face à ces changements. Pour compiler ces nouvelles données, nous aurons besoin de créer de  <br />
  nouvelles feuilles, en plus de celles décrites dans les paragraphes précédents. Pendant que l’on  <br />
  implémente ces changements, il est crucial  de garder à l’esprit les principes essentels permetant de  <br />
  préserver le caractère d’adaptabilité de la technique. Par ordre d’importance   :<br />
  1. Rappelez-vous qu’utliser l’outl informatque afn de collecter les données accroît la  <br />
  complexité. Courbe d’apprentssage et perte de fexibilité par rapport à une feuille de  <br />
  papier, un crayon et une gomme sont à antciper.<br />
  34<br />
  <br />
  2. Les opératons de collecte des données doivent être réduites à leur plus simple  <br />
  expression, même si cela signife reporter certaines tâches au stade de la compilaton. La  <br />
  collecte des données doit se faire le plus simplement possible, l’idéal restant le papier et  <br />
  un crayon. Écrire permet aussi de mieux se rappeler de ce que l’on note.<br />
  3. Privilégiez également la simplicité durant vos tâches de compilaton, en utlisant les outls  <br />
  adaptés au niveau de complexité. Avant de passer à une feuille de calcul ou à une base de  <br />
  données, essayez de travailler sur papier. Avant de passer à un programme sur mesure,  <br />
  essayez d’abord la feuille de calcul ou la base de données. Simplicité.<br />
  4. Si la transformaton et la visualisaton vous posent problème (complexité et répéttvité  <br />
  des tâches), posez-vous la queston de savoir si les données que vous compilez sont  <br />
  vraiment utles ou pas. Si elles le sont, il vous faudra passer à la feuille de calcul ou la  <br />
  base de données, éventuellement un logiciel sur mesure. Une feuille Excel est déjà très  <br />
  puissante afn de trier, fltrer, grouper des données et efectuer des calculs automatques  <br />
  complexes.<br />
  5. Votre imaginaton est votre meilleure arme afn de luter contre la complexifcaton du  <br />
  système.<br />
  Par exemple, nous avons vu dans les paragraphes précédents une tâche s’inttulant «   L’apprentssage  <br />
  de la musique   ». Cet objectf s’ateint à travers une série de tâches. Chaque tâche devenant un  <br />
  objectf séparé devant être ateint simultanément, alors… comment faire? <br />
  Suivant les circonstances, vous pouvez adapter la descripton de la tâche, afn de metre en avant  <br />
  l’objectf (fg. 4.30). Une autre opton consiste à ajouter une colonne «   Objectfs   » sur la feuille  <br />
  d’inventaire d’actvités, sur la feuille «   Choses à faire   », ou celle de compilaton des données. On peut  <br />
  décrire l’objectf en toutes letres, utliser des codes ou une abréviaton.  Pour connaître l’efort total  <br />
  requis par un objectf, il suft d’additonner les valeurs de tous les sous-objectfs.<br />
  Choses à faire aujourd’hui Rome, 12 juillet 2006, Marco Rossi<br />
  Rédiger un artcle sur l’apprentssage de la musique  <br />
  (10 pages max)<br />
  Retravailler l’artcle en le lisant à haute voix<br />
  En faire une version abrégée de max 3 pages<br />
    Fig. 4.30 Feuille «   Choses à faire   »<br />
  35<br />
  <br />
  Il se peut que vous vouliez également savoir combien de temps (en termes de jours passés) cela vous  <br />
  a pris afn d’ateindre un objectf (2). Il suft simplement de mesurer la diférence entre la date de la  <br />
  première Pomodoro dédiée à cete actvité, et la date de fn de celle-ci.  Vous pouvez même connaître  <br />
  le nombre d’heures que vous avez passées à travailler sur cet objectf en additonnant les Pomodoros.<br />
  Le choix des données que nous collectons sera toujours dicté par les objectfs qualitatfs et quanttatfs  <br />
  que nous poursuivons. On s’eforcera toujours de commencer par la simplicité, la complexifcaton  <br />
  étant uniquement introduite suite à des besoins identfés durant la pratque de la technique.<br />
  36<br />
  <br />
  5 Résultats<br />
  La technique Pomodoro a été appliquée avec succès pour toute une série de tâches   : organisaton du  <br />
  travail et de l’étude, l’écriture de livres ou de rapports techniques, la préparaton de présentatons, la  <br />
  geston de projets, de réunion. L’organisaton d’évènements, de conférences et de formatons. Voici  <br />
  quelques observatons recueillies à travers divers témoignages de personnes ayant utlisé la  <br />
  technique Pomodoro.<br />
  5.1 Courbe d’apprentissage<br />
  Appliquer la technique Pomodoro se fait généralement en un clin d’œil. Maîtriser la technique prend  <br />
  entre 7 et 20 jours, dans le cadre d’un efort quotdien et contant. Lorsque l’implémentaton se fait en  <br />
  paire ou en groupe, cet apprentssage est accéléré.<br />
  Note   – L’expérience montre que l’applicaton de la technique est facilitée lorsqu’est implémentée  <br />
  avec des paires ou des groupes. Les résultats sont également plus homogènes. Lorsqu’on travaille de  <br />
  cete façon, on utlise une seule Pomodoro par paire.<br />
  5.2 Durée de la Pomodoro<br />
  On doit prendre 2 facteurs en considératon concernant la durée de la Pomodoro, afn de maximiser  <br />
  son efcacité   :<br />
  · La Pomodoro doit représenter une unité atomique efectve du travail. En d’autres mots,  <br />
  la Pomodoro mesure des unités égales d’efort contnu, chaque unité étant comparable  <br />
  avec une autre. Le souci étant, comme chacun le sait, que le temps n’est pas égal quand il  <br />
  s’agit de mesurer l’intensité d’un efort. Tous les mois ne sont pas égaux. Dans les pays  <br />
  méditerranéens, il y a beaucoup moins de jours de travail en décembre qu’en août.  <br />
  L’efort fourni chaque semaine n’est pas égal. On ne travaille pas le même nombre  <br />
  d’heures chaque jour. Si on preste 8 heures par jour le lundi, il se peut que l’on ne fasse  <br />
  que 5 heures le lendemain, à cause d’une visite chez le dentste. Alors que vous ferez  <br />
  peut-être 10 ou 12 heures le jeudi (en espérant que cela n’arrive pas trop souvent).  <br />
  Chaque heure ne fournit pas le même rendement, notamment à cause des interruptons.  <br />
  Comme unité de mesure, un intervalle encore plus court, disons 10 minutes, permet de  <br />
  réduire plus encore la probabilité d’une interrupton, mais il ne permet pas de faire  <br />
  grand-chose, tandis qu’on passe trop de temps à collecter les données. En prenant en  <br />
  compte tous ces arguments, la durée idéale semble être de 30 minutes. <br />
  · La Pomodoro a pour objectf d’encourager la prise de conscience, la concentraton ainsi  <br />
  que la clarté d’esprit. Il a été prouvé que des intervalles de 20 à 45 minutes de travail,  <br />
  37<br />
  <br />
  coupée par des pauses de quelques minutes, maximisent l’atenton et l’actvité mentale  <br />
  (15).<br />
  À la lumière de ces 2 faits, nous en avons conclu que la durée idéale se situe entre 20 à 35 minutes,  <br />
  40 minutes au grand maximum. L’expérience a aussi montré que 30 minutes est la durée idéale.<br />
  Note   – Dans diférents groupes pour lesquels la technique Pomodoro fut implémentée, on avait  <br />
  permis à chaque équipe de décider de la durée de leur Pomodoro, à la seule conditon que ce choix  <br />
  soit dicté   par la recherche de la performance, en se basant sur des faits concrets. La plupart de ces  <br />
  groupes commencèrent avec de très longues Pomodoros (25 minutes, cela leur semblait trop court),  <br />
  puis passèrent à 2 heures, puis 45 minutes, 10 minutes. En fn de course, tout le monde s’est accordé  <br />
  pour dire que 30 minutes est la durée idéale. <br />
  5.3 Varier la durée des pauses<br />
  La durée des pauses variera selon le degré de fatgue. Le break en fn de série doit osciller autour des  <br />
  15 à 30 minutes. Par exemple, si vous avez travaillé intensivement tout au long de la journée, vous  <br />
  aurez tendance à utliser le maximum de temps entre les séries de l’après-midi. Si vous avez des tas  <br />
  de problèmes à régler et que vous êtes très confus, vous pourriez avoir besoin de 25 minutes entre  <br />
  chaque série. Si vous êtes très fatgué, il peut être bénéfque d’aller au-delà des 30 minutes, même  <br />
  plus d’une fois au cours de la journée. Atenton que cela risque de couper le rythme entre les séries  <br />
  de Pomodoros. Ceci est le signe d’un besoin de repos et de temps libre, adaptez donc votre horaire  <br />
  jusqu’à ce que vous ayez récupéré. <br />
  Ne commetez pas l’erreur de réduire vos pauses sous prétexte que vous êtes sous pression. Votre  <br />
  esprit a besoin de ces moments afn d’intégrer ce que vous venez de faire. Il pourra ainsi se préparer  <br />
  à recevoir de l’informaton supplémentaire, vous permetant ainsi de résoudre vos problèmes durant  <br />
  la prochaine Pomodoro. Diminuer ou supprimer vos pauses peut vous conduire dans une impasse  <br />
  mentale, vous empêchant de trouver des solutons.  <br />
  Note   – lorsqu’on débute avec la technique, il est bon, à l’occasion de la pause entre chaque série, de  <br />
  régler la Pomodoro sur 25 minutes afn de réguler la pause. L’objectf n’est pas d’imposer les 25  <br />
  minutes de pause, mais de s’assurer que vous n’excédez pas la demi-heure.  Avec l’expérience, vous  <br />
  serez capable de gérer au mieux vos temps de pause.<br />
  38<br />
  <br />
  5.4 Perception du temps affinée<br />
  Le premier avantage que procure la technique Pomodoro, observable dès les premiers jours de son  <br />
  implémentaton, est une plus grande concentraton, découlant d’un changement dans la percepton  <br />
  du temps. Celle-ci semble aténuer les sensatons suivantes   :<br />
  1. Les 25 minutes des premières Pomodoros semblent passer plus lentement.<br />
  2. Après quelques jours d’implémentaton de la technique, les utlisateurs déclarent pouvoir  <br />
  «   sentr   » quand la Pomodoro est arrivée à mi-parcours.<br />
  3. Après une semaine d’applicaton constante, les utlisateurs sont capables de sentr lorsque la  <br />
  Pomodoro est arrivée dans les 5 dernières minutes du compte à rebours. Ceci à cause de la  <br />
  fatgue ressente sur la fn de la Pomodoro.<br />
  Il est possible de stmuler la capacité d’appréhender le temps qui passe diféremment via des  <br />
  exercices visant à améliorer notre conscience du temps, à partr de 2 angles diférents   : des  <br />
  utlisateurs de la Pomodoro et des personnes en interacton avec ces utlisateurs. Ce changement  <br />
  dans la percepton du temps semble induire un plus haut niveau de concentraton.<br />
  5.5 Les sons de la Pomodoro<br />
  La Pomodoro produit 2 sons   : le tc-tac et la sonnerie.  Encore une fois, ces sons sont perçus de 2  <br />
  manières diférentes, selon que l’on soit un utlisateur ou une personne partageant l’espace de travail  <br />
  d’un utlisateur.<br />
  5.5.1 Utilisateurs de la Pomodoro<br />
  Commençons avec les utlisateurs. Lorsqu’ils commencent à travailler avec la technique, le tc-tac et  <br />
  les sonneries peuvent les agacer.  Il est possible de limiter le bruit émis, mais l’expérience montre  <br />
  qu’au fl du temps (en fait, seulement quelques jours après l’implémentaton du système), 2 choses se  <br />
  produisent   :<br />
  · Le tc-tac, d’abord agaçant, devient un son apaisant. «   J’entends le tc-tac, je travaille et  <br />
  tout se passe pour le mieux   ».<br />
  · Après un bout de temps, les utlisateurs n’entendent même plus la sonnerie, tellement le  <br />
  niveau de concentraton est élevé. En fait, cela devient même problématque dans de  <br />
  nombreux cas de fgure. <br />
  Ces modifcatons dans la percepton des sons de la Pomodoro prouvent également que l’utlisateur a  <br />
  subi de profonds changements quant à la percepton du temps qui passe. <br />
  39<br />
  <br />
  5.5.2 Personnes partageant l’espace de travail de l’utilisateur<br />
  Imaginons maintenant le cas des personnes devant «   se farcir la tomate   ». Ce genre de situaton se  <br />
  produit lorsqu’on travaille dans un espace public, par exemple une bibliothèque ou une salle d’étude  <br />
  d’université. Afn de respecter la tranquillité d’autrui, on a testé toute une série de solutons. Par  <br />
  ordre d’efcacité   : les chronomètres silencieux qui clignotent ou des modèles sonnant discrètement,  <br />
  les téléphones portables avec vibreur ou équipés d’un programme spécial le faisant clignoter (comme  <br />
  PomodoroMobile de XPLabs), les minuteries de cuisine sans sonnerie, des logiciels faisant ofce de  <br />
  Pomodoro (comme JTomato de Bruno Bossola, l’un des premiers à être apparu). Le tc-tac et la  <br />
  sonnerie de plusieurs Pomodoros dans un environnement de travail dans lequel plusieurs équipes  <br />
  utlisent la technique sont en général bien tolérés.<br />
  5.6 Forme de la Pomodoro<br />
  Il est évident que votre minuterie ne doit pas nécessairement être en forme de tomate. Le marché  <br />
  des minuteries ouvrant la porte à toutes les fantaisies, on trouve de tout   : des pommes, des poires,  <br />
  des soucoupes volantes, etc. Choisir sa propre Pomodoro (lire minuterie) permet de rendre la  <br />
  technique plus amusante et plus accessible.<br />
  5.7 Anxiété de la sonnerie<br />
  Pendant les premières Pomodoros de l’apprentssage de la technique, certaines personnes ressentent  <br />
  une anxiété, due à un sentment d’être l’esclave de la vilaine tomate. L’expérience montre que cete  <br />
  sensaton se manifeste chez 2 profls   :<br />
  · Les personnes peu habituées à l’autodiscipline<br />
  · Les personnes obnubilées pas la performance<br />
  Dans les 2 cas, il sera difcile de se concentrer sur l’objectf principal de la technique   : permetre à  <br />
  toute personne d’améliorer son rendement de travail ou d’étude à travers sa propre observaton.<br />
  Pour les personnes ayant du mal à se discipliner, l’anxiété de la sonnerie découle souvent de la peur  <br />
  que la technique Pomodoro puisse être utlisée par un ters afn de mesurer leur performance. Il est  <br />
  important de préciser que le but de la technique n’est pas de metre en place un mécanisme de  <br />
  surveillance externe. La technique Pomodoro n’est pas un instrument taylorien afn de surveiller les  <br />
  heures prestées ou le travail accompli. Au contraire, il s’agit d’une démarche personnelle visant au  <br />
  progrès. Son applicaton doit être faite sur base volontaire.<br />
  Le problème des personnes obnubilées par la performance est un cas plus courant que le précédent.  <br />
  Si chaque tc est perçu comme une invitaton à travailler plus vite, si chaque tac pose la queston  <br />
  «   Travailles-tu assez vite?   », ce sont les signes d’un syndrome que l’on appelle «   le syndrome du  <br />
  devenir   ». C’est un problème qui est actuellement fréquent. La peur à la base de cete perturbaton  <br />
  psychologique est de ne pas être à la hauteur, une incapacité de prouver aux autres et à soi-même  <br />
  40<br />
  <br />
  que l’on peut être efcace. La technique Pomodoro a pour objectf de faire des comparaisons avec  <br />
  des unités comparables, mais par rapport à soi, et non par rapport aux autres. Pourtant, ces  <br />
  personnes veulent à tout prix réussir dans les temps. Pour ce faire, ils utlisent des raccourcis, mais  <br />
  ceux-ci sont contre-productfs. Ils provoquent des interruptons et des défauts de qualité qui  <br />
  accentuent la peur du temps. On entre alors dans un cercle vicieux. Il est évidemment impossible,  <br />
  dans ces circonstances, de percevoir ce tc-tac comme étant un son apaisant. La soluton pourrait se  <br />
  trouver dans le prochain tac, mais on ne la verra pas tant que notre esprit sera focalisé sur le temps  <br />
  qui passe.<br />
  La première chose à intégrer, lorsqu’on commence à apprendre la technique Pomodoro, c’est qu’il  <br />
  n’est pas important d’avoir l’air d’aller vite. Ce qui nous intéresse, c’est d’aller efectvement vite. On y  <br />
  arrive en s’observant, en examinant ses méthodes de travail, en développant les valeurs de la  <br />
  contnuité. C’est pourquoi la seule chose «   comptant   », lorsqu’on commence à metre en œuvre la  <br />
  méthode, c’est de compter en efet les Pomodoros.<br />
  S’il vous faut 4 Pomodoros pour faire un simple résumé de 2 pages alors que vous pensiez pouvoir le  <br />
  faire en 2, ce n’est pas grave. Ce qui importe, c’est que vous sachiez combien de Pomodoros cela vous  <br />
  a pris, et comment faire en sorte de faire tomber le nombre de Pomodoros à 2.<br />
  Le challenge de départ de la technique consiste à être en mesure de collecter les données et  <br />
  d’analyser le travail fourni toutes les 30 minutes, pas de se fxer des objectfs en termes de  <br />
  productvité. Travaillez, notez les données, observez et faites les ajustements nécessaires. Une fois ce  <br />
  principe assimilé, le tc-tac sonne diféremment. Pour être rapide, il faut être concentré.<br />
  L’étape suivante consiste à estmer avec succès, et, pourquoi pas, faire mieux que prévu concernant le  <br />
  délai impart à une tâche. C’est l’une des règles du jeu de la technique Pomodoro, mais atenton, pas  <br />
  d’entourloupe!  Il peut être frustrant de voir que les X remplissent les cases sans que l’on ait  <br />
  l’impression d’avancer. Mais il faut redoubler de courage et contnuer à travailler, en restant calmes et  <br />
  concentrés, afn de réussir dans notre entreprise. Stmuler la contnuité permet d’ateindre la  <br />
  productvité et la créatvité. Chaque tc de la minuterie, si vous l’entendez, doit être une invitaton à la  <br />
  concentraton et à la persistance.<br />
  Note   – lorsqu’on débute, parvenir à terminer une Pomodoro sans aucune interrupton par jour est  <br />
  déjà un résultat exceptonnel. Le jour suivant, vous essaierez de réitérer l’exploit, ou même d’aller au-<br />
  delà en le faisant sur 2 ou 3 Pomodoros. Avec cete technique, le nombre de Pomodoros  <br />
  consommées n’est pas la fn en soi. L’objectf est de trouver la méthode permetant d’en faire de plus  <br />
  en plus, pett à pett. Cete approche progressive doit également être adoptée après une période  <br />
  prolongée durant laquelle la méthode a été mise de côté, par exemple à un retour de vacances.  <br />
  Lorsque c’est le cas, il vous faudra un peu de patence avant de parvenir à terminer de nouveau 10-12  <br />
  Pomodoros par jour.<br />
  41<br />
  <br />
  5.8 Interruptions internes intempestives<br />
  Lorsque les interruptons internes vous paraissent être importantes au point de ne pouvoir être  <br />
  reportées, il devient difcile de terminer ne fut-ce qu’une Pomodoro par jour. Si cela vous arrive,  <br />
  nous vous conseillons de régler la minuterie sur 25 minutes et de vous forcer, Pomodoro après  <br />
  Pomodoro, d’augmenter (et surtout, de ne jamais réduire) le temps de travail non interrompu.  <br />
  L’objectf fnal étant d’ateindre ces 25 minutes de travail, sans interrupton. «   Durant cete  <br />
  Pomodoro, j’ai pu travailler 10 minutes sans m’interrompre. Durant la prochaine, je vais travailler sans  <br />
  m’arrêter pendant au moins 10 minutes, et peut-être même pendant 11 ou 12 minutes   ». Les  <br />
  résultats fniront tôt ou tard par arriver.<br />
  5.9 La prochaine Pomodoro sera meilleure<br />
  La sensaton d’avoir le temps de faire les choses, mais de mal les faire provoque souvent des  <br />
  blocages. Votre esprit commence à vagabonder, dans le passé et dans le futur. «   Si j’avais fait cete  <br />
  recherche sur internet hier, et si j’avais envoyé ce courriel la semaine dernière… Comment vais-je bien  <br />
  pouvoir faire pour rendre ce rapport la semaine prochaine?   » Ces questons provoquent des  <br />
  sentments de culpabilité et créent de l’anxiété.<br />
  La technique Pomodoro permet de focaliser votre concentraton sur le travail en cours. Votre  <br />
  atenton se concentre sur le moment présent, tandis qu’on cherche, durant des moments dédiés à  <br />
  ces objectfs, comment stmuler la contnuité et comment aborder les actvités dans l’ordre le plus  <br />
  logique qui soit. <br />
  Lorsque vous êtes perdu, n’hésitez donc pas à consacrer une Pomodoro afn de remetre tout au  <br />
  clair   : tâches, priorités, etc. Si le plan est clair mais qu’il vous manque un pett quelque chose, comme  <br />
  de la déterminaton ou du courage, enclenchez la Pomodoro sans perdre une seule minute.<br />
  Les personnes sujetes aux tergiversatons déclarent bénéfcier du fait que la Pomodoro les aide à se  <br />
  concentrer, et ainsi à terminer des tâches mineures (des actvités de 5-7 Pomodoros) sans devoir se  <br />
  préoccuper de desseins plus importants. Une Pomodoro à la fois, une actvité à la fois, un objectf à la  <br />
  fois. Pour les personnalités hésitantes, il est important de comprendre que l’objectf inital est de  <br />
  terminer une Pomodoro sans avoir subi la moindre interrupton. <br />
  5.10 Pomodoro mécanique ou logiciel?<br />
  Laquelle est la plus efcace, la minuterie mécanique ou la soluton informatque? L’expérience prouve  <br />
  que la version mécanique, palpable, est bien plus efcace. Afn de dispenser ses bienfaits, une bonne  <br />
  Pomodoro doit répondre à ces critères   :<br />
  · Vous devez pouvoir la remonter. Le fait de remonter la minuterie est un acte déclarant  <br />
  votre déterminaton à travailler.<br />
  · Elle doit indiquer clairement le temps restant et doit émetre un tc-tac. Cela permet de  <br />
  symboliser le temps qui passe et de nous tenir concentrés.<br />
  42<br />
  <br />
  · Elle doit sonner quand le temps impart touche à sa fn.<br />
  De plus, les utlisateurs devraient inventer un pett geste qu’ils exécuteront dès la fn de la Pomodoro  <br />
  ou d’une actvité. C’est pourquoi il est préférable d’utliser une minuterie manuelle.<br />
  5.11 Améliorer ses estimations<br />
  L’un des résultats les plus quantfables est la capacité à estmer le temps requis pour efectuer une  <br />
  tâche. On peut la développer à travers 2 stratégies   :<br />
  · Amélioraton quanttatve de l’estmaton en réduisant l’écart entre les Pomodoros  <br />
  estmées et consommées. L’auto-observaton et la subdivision du temps en période de 30  <br />
  minutes permetent d’améliorer la précision des observatons. L’expérience montre qu’un  <br />
  nombre d’estmatons erronées au-dessus et au dessous du chifre inital, plus ou moins  <br />
  égales, est un signe d’amélioraton. Le fait d’être plus précis, mais en étant  <br />
  systématquement en dessous ou au dessus du chifre réel, n’est pas meilleur, que du  <br />
  contraire. Apprendre à bien antciper est crucial si on veut devenir efcace.<br />
  · Amélioraton qualitatve des estmatons en réduisant le nombre d’actvités n’ayant pas  <br />
  été planifées en début de journée sur la feuille «   Choses à faire   ». Soit en identfant la  <br />
  liste des actvités globales devant être faite (version minimale), soit en étant capable de  <br />
  lister toutes les actvités requises afn d’ateindre ces objectfs de la manière la plus  <br />
  efcace qui soit (version idéale). Une sous-estmaton globale se produit lorsqu’on est  <br />
  incapable d’identfer toutes les actvités requises afn d’ateindre notre but, ou lorsqu’on  <br />
  réalise que les actvités choisies ne sont pas les plus judicieuses afn d’y parvenir. Avec la  <br />
  technique Pomodoro, les actvités non planifées sont enregistrées au fur et à mesure de  <br />
  leur appariton. Analyser et comprendre la nature de ces actvités permet les utlisateurs  <br />
  de la technique de renforcer leurs capacités d’organisaton et de prévision. <br />
  Pourquoi la technique Pomodoro améliore-t-elle l’estmaton sur ces 2 fronts? L’une des causes  <br />
  l’expliquant découle de la subdivision de toute actvité ayant été estmée à plus de 5-7 Pomodoros en  <br />
  sous-actvités. Il est évident que de plus pettes actvités sont plus faciles à estmer, la marge d’erreur  <br />
  diminue donc. La simplifcaton qui en découle permet également d’identfer plus facilement des  <br />
  solutons. Le but de ce scindement n’est pas d’avoir le plus possible d’actvités. L’objectf est  <br />
  d’ateindre le niveau de complexité le plus bas possible. <br />
  5.12 Pomodoro et motivation<br />
  La technique Pomodoro permet de booster la motvaton de 3 façons   :<br />
  · En terminant plusieurs actvité par jour, ni trop compliquées, ni trop simples (plus de 5-7  <br />
  Pomodoros = subdivision en sous-tâches).  Cela permet d’ateindre ses objectfs (13).<br />
  · En infuençant directement le développement personnel au jour le jour.<br />
  · En vous sensibilisant à la manière dont vous travaillez grâce à l’observaton <br />
  43<br />
  <br />
  5.13 Et si tout devait tourner de travers?<br />
  Que faire en cas de gros rush, si on est pris d’une crise de panique ou de quelque chose de similaire?  <br />
  Que faire si on se trouve dans une impasse alors que la date-butoir approche à grands pas? Comment  <br />
  faire face à une paralysie totale? Cela arrive, nous sommes tous des êtres humains. La technique  <br />
  Pomodoro est très utle dans ces circonstances.<br />
  Tout d’abord, observez la situaton. Essayez de comprendre ce qui n’a pas fonctonné durant la  <br />
  dernière Pomodoro. Si nécessaire, réorganisez vos actvités. Soyez ouvert durant ce processus, tâchez  <br />
  de découvrir de nouvelles stratégies afn d’identfer les actvités essentelles. Concentrez-vous sur la  <br />
  prochaine Pomodoro. Contnuez à travailler. La concentraton et la prise de conscience de ce que vous  <br />
  faites mènent à la rapidité, Pomodoro après Pomodoro.<br />
  Si vous êtes partculièrement fatgué, vous devrez organiser des séries de Pomodoros plus courtes  <br />
  (par exemple 3) tout en les séparant par des pauses plus longues. Plus vous êtes fatgué ou habité  <br />
  d’un sentment de panique, plus il est important de réviser et de récapituler ce qui a déjà été vu. Il est  <br />
  inutle de vouloir progresser à tout prix. L’objectf n’est jamais de récupérer le temps perdu. Vous  <br />
  devrez être en mesure de vous remetre sur les bons rails pour le pain vous restant sur la planche.  <br />
  Vous changerez volontairement l’aiguillage afn d’arriver à destnaton.<br />
  5.14 Limites de la Pomodoro<br />
  Le désavantage majeur de la Pomodoro réside dans le fait que vous devez accepter la présence d’un  <br />
  pett outl mécanique afn d’ateindre vos objectfs. Stopper l’utlisaton de la technique Pomodoro  <br />
  estompe la plupart des efets positfs que nous avons décrits. Même si vous parvenez à conserver la  <br />
  capacité de scinder vos tâches et contnuez à prendre des pauses régulières, la discipline imposée par  <br />
  la Pomodoro semble être la raison principale expliquant pourquoi un tel niveau d’efcacité est  <br />
  ateint.<br />
  5.15 Quand ne pas utiliser la Pomodoro?<br />
  Il ne faut jamais utliser la Pomodoro durant vos temps libres. Cela voudrait dire que ces actvités sont  <br />
  planifées et ont un objectf précis. Pas vraiment ce qu’on peut appeler du temps libre. Si vous décidez  <br />
  de lire un livre pour votre plaisir, n’utlisez pas la technique Pomodoro. En le faisant, vous empiéterez  <br />
  sur les Pomodoros consacrées à votre travail.<br />
  44<br />
  <br />
  6 Conclusions<br />
  Dans les faits, les efets positfs de la technique Pomodoro sur la productvité d’un individu ou d’une  <br />
  équipe s’expliquent par plusieurs facteurs. Voici les raisons que nous avons identfées à ce jour.<br />
  6.1 Inversion de la dépendance par rapport au temps<br />
  La Pomodoro devient un symbole abstrait du temps, une boîte pouvant enfermer et limiter le devenir,  <br />
  de laquelle le temps dépend, en fn de compte. C’est justement en cassant et en inversant la  <br />
  dépendance envers le devenir qu’une vision nouvelle du temps émerge. En nous mesurant à une  <br />
  abstracton du temps, la Pomodoro, nous pouvons casser la dépendance directe qui nous lie au  <br />
  concept du devenir.<br />
  Spécifquement, le concept de metre en boîte le temps, couplé à la noton typiquement  <br />
  Pomodorienne du compte à rebours (de 25 minutes à 0) génère une tension positve facilitant la prise  <br />
  de décision. De manière plus générale, elle stmule le contact vital nécessaire afn de vous afrmer  <br />
  tout en accomplissant des tâches. <br />
  Le temps qui passe n’est plus perçu comme une chose négatve, mais positve. Chaque Pomodoro est  <br />
  une opportunité unique pour s’améliorer. En situaton de crise, elle est une chance de se réorganiser.  <br />
  Plus le temps passe, plus les opportunités d’améliorer votre méthodologie augmentent. Plus le temps  <br />
  passe, plus il sera facile d’estmer et de planifer vos tâches. Plus le temps passe, plus l’anxiété  <br />
  s’estompera, faisant place à la conscience, une plus grande déterminaton de tous les instants ainsi  <br />
  qu’une meilleure évaluaton de la situaton et des étapes à suivre. Tous ces éléments augmentent la  <br />
  produc tvité.<br />
  Le même processus d’inversion de la dépendance s’applique aux interruptons, afn de les réduire,  <br />
  puis de les éliminer. Ce qui augmente la concentraton et la contnuité dans le travail, ce qui induit  <br />
  également une hausse sensible de la productvité. <br />
  6.2 Maîtriser la complexité<br />
  On peut booster sa motvaton en accomplissant chaque jour quelques actvités stmulantes, ni trop  <br />
  complexes, ni trop simples, en appliquant les règles suivantes   :<br />
  · Si l’actvité dure plus de 5-7 Pomodoros, scindez-la en tâches plus pettes.<br />
  · Si l’actvité dure moins d’une Pomodoro, groupez-la avec d’autres.<br />
  Une actvité simple est en principe plus facile à estmer, ce qui entraîne une amélioraton quanttatve  <br />
  de l’estmaton.  Le scindement des actvités permet également de renforcer notre déterminaton à  <br />
  ateindre nos objectfs. <br />
  45<br />
  <br />
  6.3 Détachement<br />
  Les pauses régulières entre les Pomodoros sont essentelles afn d’avoir l’esprit clair. Nos capacités  <br />
  mentales étant à leur maximum, cete conscience nous permet d’ateindre une productvité plus  <br />
  élevée. Il est important de noter que certains environnements de travail sont hostles aux pauses,  <br />
  étant perçues comme des signes de faiblesse. La culture d’entreprise de nombreuses sociétés semble  <br />
  dire   :   «   Les vrais managers commencent le travail à 9h00 et rentrent chez eux à 22h00, sans jamais  <br />
  quiter leur bureau.» Ce genre extrême de pratque obstnée mène régulièrement à la frustraton et à  <br />
  un manque de concentraton durant le travail, ce qui entraîne alors une inefcacité. Le burn-out  <br />
  guete.<br />
  En appliquant la technique Pomodoro, de nombreux utlisateurs ont découvert la valeur et l’efcacité  <br />
  du détachement. Une pause toutes les 25 minutes vous permet de voir les choses d’un autre œil,  <br />
  donc de trouver des solutons diférentes. On se rend régulièrement compte d’une erreur durant la  <br />
  pause, tandis que la créatvité se développe durant ce moment. Le détachement renforce la valeur de  <br />
  la contnuité. <br />
  Atenton, la pause doit en être une vraie. Il ne s’agit pas d’interrompre le travail en cours après la  <br />
  sonnerie, tout en contnuant à réféchir à ce que l’on était en train de faire.  Avec la technique  <br />
  Pomodoro, on doit s’habituer à s’arrêter et de se détacher du travail contnu, car le contraire est  <br />
  contre-productf. Arrêt, détachement et observaton de soi sont les secrets de la réussite. L’arrêt  <br />
  représente une force, et non une faiblesse.<br />
  6.4 Observation et retour continu<br />
  La technique Pomodoro représente une méthode de comparaison sur 25 minutes. Les 5 premières et  <br />
  dernières minutes d’une Pomodoro, utlisées pour la révision de ce qui a été couvert, vous  <br />
  permetent déjà d’évaluer si votre stratégie est la bonne. Le travail en binômes accentue ce  <br />
  phénomène positf, mois spectaculaire chez les individus ou avec les équipes. Dans les situatons  <br />
  critques, on peut même agir dès la Pomodoro suivante, en réorganisant le planning de la journée.<br />
  Compiler les données une fois par jour, tandis que l’on enregistre les données toutes les 30 minutes,  <br />
  permet d’évaluer l’efcacité de notre organisaton sur base de chifres tangibles. En observant ces  <br />
  données, on peut prendre les bonnes décisions concernant notre stratégie, améliorer le choix des  <br />
  tâches à faire, défnir des objectfs plus clairs ou scinder des actvités, éliminer des doublons ou des  <br />
  tâches peu utles, tester des alternatves permetant de réduire la marge d’erreur des estmatons.<br />
  L’opportunité de pouvoir contrôler la productvité de son travail est stmulante.<br />
  6.5 Rythme de travail supportable<br />
  Respecter l’horaire en termes de plages de travail et de pauses contribue à établir la contnuité. Afn  <br />
  de garantr systématquement une haute productvité, il n’est pas utle d’étudier ou de travailler  <br />
  comme un fou du matn au soir. Une machine produira plus en fonctonnant sans arrêt, mais l’être  <br />
  humain n’en est pas une.<br />
  46<br />
  <br />
  En respectant les pauses, vous pourrez étudier ou travailler à votre rythme.  Vous fatguerez, ce qui  <br />
  est naturel, mais vous ne vous épuiserez pas. En gérant la complexité des tâches et en les coupant par  <br />
  des breaks, on s’assure un rendement idéal, qui ne peut s’ateindre qu’en respectant son rythme  <br />
  biologique. <br />
  47<br />
  <br />
  7 Bibliographie<br />
  (1) Charles Baudelaire,  I fori del male,  Feltrinelli, 1991; ISBN 88-07-82028-5.<br />
  (2) Kent Beck, “Sofware-In-Process: A New/Old Project Metric”,<br />
  htp://citeseer.ist.psu.edu/context/2433183/0.<br />
  (3) Henri Bergson,  L’evoluzione creatrice,  Cortna Rafaello, 2002; ISBN 88-70-78780-X.<br />
  (4) Jerome Bruner,  La mente a più dimensioni,  Laterza 2003; ISBN 88-420-6860-8<br />
  (5) Jane B. Burka e Lenora M. Yuen,  Procrastnaton,  Perseus Books, 1983;<br />
  ISBN 0-201-10190-4.<br />
  (6) Tony Buzan, 1982,  The Brain User’s Guide,  E.P. Duton<br />
  (7) _______,  Make the Most of Your Mind,  Fireside Editon, 1988; ISBN 0-671-49519-4<br />
  (8) _______,  Use Both Sides of Your Brain,  Penguin Book, 1991; ISBN 0-452-26603-3.<br />
  (9) Hans-Georg Gadamer,  L’enigma del tempo,  Zanichelli, 1996, ISBN 88-08-09056-6.<br />
  (10) _______,  Verità e metodo,  Studi Bompiani, 2001, ISBN 88-452-5039-3.<br />
  (11) Tom Gilb,  Principles of Sofware Engineering Management,  Addison Wesley, 1996,<br />
  ISBN 0-201-19246-2.<br />
  (12) Carlo Maria Martni,  Figli di Crono,  Cortna Rafaello, 2001; ISBN 88-70-78714-1.<br />
  (13) Abraham H. Maslow,  Verso una psicologia dell’essere,  Astrolabio, 1971;<br />
  ISBN 88-34-00184-2.<br />
  (14) Steve McConnell,  Rapid Development,  Microsof Press, 1996; ISBN 15-56-15900-5.<br />
  (15) Yona McGregor e Tony Buzan,  A Guide to Animal Farm,  Hodder &amp; Stoughton, 1998;<br />
  ISBN 0-340-66401-0.<br />
  (16) Eugène Minkowski,  Il tempo vissuto,  Einaudi Editore, Torino, 1971;<br />
  ISBN 88-06-30767-3.<br />
  (17) Anita Molino,  L’arte dell’apprendere,  Tecniche Nuove, 1997; ISBN 88-481-0396-0.<br />
  48<br />
  <br />
  Annexe 1   : règles et glossaire<br />
  Règles  <br />
  · Une Pomodoro dure 25 minutes + 5 minutes de pause (§ 4.1).<br />
  · Après une série de 4 Pomodoros suit une pause de 15-30 minutes (§ 4.1.2).<br />
  · La Pomodoro est une unité indivisible. Il n’y a pas de demi ou un quart de Pomodoro (§  <br />
  4.1).<br />
  · Une Pomodoro entamée doit sonner.<br />
  o Si une Pomodoro est irrémédiablement interrompue (interrupton non traitée, §  <br />
  4.2.2), elle est considérée comme étant nulle et ne sera pas comptabilisée à l’aide  <br />
  d’une croix (§ 4.1.1).<br />
  o Si une actvité est terminée alors que la Pomodoro tourne toujours, utlisez le  <br />
  temps restant pour la révision (§ 4.1.3).<br />
  · Protégez la Pomodoro (§ 4.2.3). Informez efcacement, négociez rapidement afn de  <br />
  planifer la tâche induite par l’interrupton, et tenez vos promesses.<br />
  · Si une tâche est estmée à plus de 5-7 Pomodoros, scindez-la (§ 4.3, § 5.11, § 6.2). Les  <br />
  tâches complexes doivent être subdivisées.<br />
  · Si l’estmaton d’une tâche dure moins d’une Pomodoro, consolidez-la avec d’autres (§  <br />
  4.3, § 6.2).<br />
  · Les résultats s’obtennent Pomodoro après Pomodoro (§ 5.8).<br />
  · La prochaine Pomodoro sera meilleure (§ 5.9).<br />
  Glossaire<br />
  · Pomodoro.     Minuterie de cuisine utlisée pour mesurer les intervalles de 25 minutes. Le  <br />
  nom de la technique provient de la première minuterie utlisée pour son applicaton   : elle  <br />
  était en forme de tomate (pomodoro en italien).<br />
  · Mise en boîte du temps.     Cete technique impose de se tenir au programme établi. En cas  <br />
  d’erreur, on réassignera ces actvités dès la Pomodoro suivante.<br />
  49<br />
  <br />
  · Erreur qualitatve d’estmaton.     Cete erreur se produit lorsqu’on a été incapable  <br />
  d’identfer une tâche indispensable à la réalisaton d’un objectf.<br />
  · Erreur quanttatve d’estmaton.     Cete erreur se produit lorsqu’une estmaton  <br />
  concernant le nombre requis de Pomodoros pour efectuer une tâche est erronée. <br />
  50<br />
  <br />
  Annexe 2   : Feuille «   Choses à faire   aujourd’hui   »<br />
  Choses à faire aujourd’hui Lieu, date, nom<br />
  Non planifé et urgent<br />
  51<br />
  <br />
  Appendice 3   : Feuille d’inventaire d’activités<br />
  Inventaire d’actvités<br />
  52


title: Great Alternatives to Hamburger Menus – UX Planet
url: https://uxplanet.org/great-alternatives-to-hamburger-menus-d4c76d9414dd?gi=3f4863e524a8
created_at: 2017-08-10 23:21:16
updated_at: 2017-08-10 23:21:16
mimetype: text/html
domain_name: uxplanet.org
preview_picture: https://cdn-images-1.medium.com/max/1200/1*hNsKEgCEgCJ9cnqmYgivsw.png
http_status: 200
content:
  <div class="section-content"><div class="section-inner sectionLayout--fullWidth"><div class="aspectRatioPlaceholder is-locked"><img class="graf-image" src="https://cdn-images-1.medium.com/max/2000/1*hNsKEgCEgCJ9cnqmYgivsw.png" alt="image" /></div></div><div class="section-inner sectionLayout--insetColumn"><p id="a521" class="graf graf--p graf-after--figure">This is a much debated topic and while designers, developers mostly agree on when it is a good idea to use a navigational drawer and when not there are still a lot of mobile apps that rely on this pattern. It usually boils down to the fact that there is no place to put navigation on a small screen, because it lacks a well thought out information architecture or just because of the sheer amount of content.</p><p class="graf graf--p graf-after--p">If your app gets too complex, think about unbundling. Look at what Facebook did with Messenger. They broke out functionality around key actions and put it in their own separate app.</p><p id="ab7a" class="graf graf--p graf-after--p">Hamburger menus drive engagement down, slow down exploration and confuse people. If you are reading this, it won’t confuse you, but it damn will confuse others who might be happy to consume your content.</p><h3 class="graf graf--h3 graf-after--p">Tabs</h3></div><div class="section-inner sectionLayout--insetColumn"><p id="f924" class="graf graf--p graf-after--figure">Tabs help organize content in categories, like you would under a navigational drawer. People will instantly know how to use it. Use labels or combine it with icons.</p><h3 id="ca25" class="graf graf--h3 graf-after--p">Bottom navigation</h3></div><div class="section-inner sectionLayout--insetColumn"><p class="graf graf--p graf-after--figure">A close relative of tabs deserving its own category. The pattern is adopted on both platforms — iOS and Android — mostly “always visible” and composed of icons with labels. The navigation bar could be hidden/revealed on downward and upward scrolling. One note that I would add, even though Google recommends not using a description for the inactive icons in some cases, I am strongly for using labels. Don’t make navigation a guessing game for users.</p><h3 class="graf graf--h3 graf-after--p">Show more</h3></div><div class="section-inner sectionLayout--insetColumn"><p class="graf graf--p graf-after--figure">If there are more menu items that fit on the screen you can add a show more option. Reduce your list to the top four actions that you want your users to make and put the remaining items under a modal or popup or even a new page. You have the option to expand your settings here and enrich it as it fits with requirements.</p><h3 class="graf graf--h3 graf-after--p">Scrollable navigation</h3></div><div class="section-inner sectionLayout--insetColumn"><p class="graf graf--p graf-after--figure">Similar to “Show more” this is another approach for longer lists. Make it scrollable so that users can move it from side-to-side. Icon only solution can work with well educated power users, but make sure to test it before commiting.</p><h3 id="a073" class="graf graf--h3 graf-after--p">Inline</h3></div><div class="section-inner sectionLayout--insetColumn"><p id="e33e" class="graf graf--p graf-after--figure">You can lay out top categories in the main application hub. That would be your home page in case of a web app. These groups can be laid out as a list with distinctive headers. Under the categories you can present the content as horizontally scrollable cards for easy access or whatever works best for the content.</p><h3 id="d648" class="graf graf--h3 graf-after--p">Segmented control</h3></div><div class="section-inner sectionLayout--insetColumn"><p id="a18d" class="graf graf--p graf-after--figure">If there are only a couple of destinations, you can use a segmented control. All options are visible at once and can be accessed with a single tap.</p><h3 class="graf graf--h3 graf-after--p">Don’t hide search</h3></div><div class="section-inner sectionLayout--insetColumn"><p class="graf graf--p graf-after--figure">It’s not just navigation that people hide behind the hamburger menu. If search is a key functionality of your app, it needs to be in front of people. Don’t hide it. You can either display it at the top of the screen or have a visible reference which will go into search mode.</p><h3 class="graf graf--h3 graf-after--p">Always design with content</h3><p class="graf graf--p graf-after--h3 graf--trailing">I cannot stress this enough. Always design with real content, otherwise you’ll end up with placeholders, lorem ipsums and hamburger menus inside hamburger menus. Content on its own doesn’t make sense, and layouts without content either.</p></div></div><div class="section-content"><div class="section-inner sectionLayout--insetColumn"><p id="eb6e" class="graf graf--p graf--leading">The fact that hamburger menus are a bad choice is backed up by actual numbers and is proven by companies that make money on time spent in-app. So if you have to convince someone — a client, boss or manager — why switching to a more obvious navigational pattern is a good idea, this could help.</p><ul class="postList"><li class="graf graf--li graf-after--p">As @lukew puts it <a href="http://www.lukew.com/ff/entry.asp?1945" class="markup--anchor markup--li-anchor" rel="noopener" target="_blank">Obvious always wins</a>.</li><li class="graf graf--li graf-after--li">Facebook, YouTube, Spotify did away with it. This is <a href="https://techcrunch.com/2016/05/03/spotify-ditches-the-controversial-hamburger-menu-in-ios-app-redesign/?ncid=tcdaily" class="markup--anchor markup--li-anchor" rel="noopener" target="_blank">why</a>.</li><li class="graf graf--li graf-after--li">Project management company Redbooth switched to bottom navigation after extensive research and doubled usage, in-app time and engagement. Read about it <a href="https://redbooth.com/blog/hamburger-menu-iphone-app" class="markup--anchor markup--li-anchor" rel="noopener" target="_blank">here</a>.</li></ul><p class="graf graf--p graf-after--li"><em class="markup--em markup--p-em">Don’t make your navigation the drawer where you put all things you don’t have a place for. Think it through and use alternatives if you can. Obvious should always be the preferred choice. Make sure to subscribe for more articles like this and check out the </em><a href="https://mobiscroll.com/" class="markup--anchor markup--p-anchor" rel="noopener" target="_blank"><em class="markup--em markup--p-em">tools we build</em></a><em class="markup--em markup--p-em"> to help you create better navigation.</em></p><div class="aspectRatioPlaceholder is-locked"><img class="graf-image" src="https://cdn-images-1.medium.com/max/1600/1*U0RlZBy4_FrSS_Eie2OOcQ.png" alt="image" /></div><p class="graf graf--p graf-after--figure graf--trailing"><em class="markup--em markup--p-em">Written by </em><a href="https://twitter.com/kovlex" class="markup--anchor markup--p-anchor" rel="noopener" target="_blank"><em class="markup--em markup--p-em">Levi Kovacs</em></a><em class="markup--em markup--p-em">. Originally published on the </em><a href="https://blog.mobiscroll.com/great-alternatives-to-hamburger-menus/" class="markup--anchor markup--p-anchor" rel="noopener" target="_blank"><em class="markup--em markup--p-em">Mobiscroll blog</em></a><em class="markup--em markup--p-em">.</em></p></div></div><div class="section-content"><div class="section-inner sectionLayout--insetColumn"><p id="a949" class="graf graf--p graf--leading graf--trailing"><em class="markup--em markup--p-em">If you enjoyed reading, it would be great if you could hit the green </em>💚 <em class="markup--em markup--p-em">‘Recommend’ button below to help others find it on Medium.</em></p></div></div>


title: L'ergonomie, indispensable à l'adoption massive du libre - Matthias Dugué - Luc Chaffard
created_at: 2017-08-10 23:21:17
updated_at: 2017-08-10 23:21:17
mimetype: text/html
language: fr
domain_name: www.april.org
http_status: 200
url:
  https://www.april.org/l-ergonomie-indispensable-l-adoption-massive-du-libre-matthias-dugue-luc-chaffard

content:
  <p><a href="http://data.passageenseine.org/2016/mp4/PSESHSF-2016%20-%20m4dz%20(Matthias%20Dugu%c3%a9)%20Luc%20Chaffard%20-%20L'ergonomie,%20indispensable%20%c3%a0%20l'adoption%20massive%20du%20libre.mp4"><img src="https://www.april.org/sites/default/files/ergo_pseshsf.png" alt="Matthias Dugué - Luc Chaffard" /></a></p>
  <p><strong>Titre :</strong> L'ergonomie, indispensable à l'adoption massive du Libre.<br /><strong>Intervenants :</strong> Matthias Dugué , alias M4DZ - Luc Chaffard<br /><strong>Lieu :</strong> PSESHSF - Pas Sage En Seine - Hacker Space Festival<br /><strong>Date :</strong> Juillet 2016<br /><strong>Durée :</strong> 39 min 45<br /><strong><a href="http://data.passageenseine.org/2016/mp4/PSESHSF-2016%20-%20m4dz%20(Matthias%20Dugu%c3%a9)%20Luc%20Chaffard%20-%20L'ergonomie,%20indispensable%20%c3%a0%20l'adoption%20massive%20du%20libre.mp4">Visionner la conférence</a></strong><br /><strong>Licence de la transcription:</strong> <a href="http://www.gnu.org/licenses/licenses.html#VerbatimCopying">Verbatim</a></p>
  <h2>Description</h2>
  <p>Une informatique libre est synonyme d’une société libre. Une adoption massive est nécessaire afin d’atteindre cet objectif.</p>
  <p>Afin d’y arriver, une interface utilisateur facile d'approche et ergonomique, construite avec le support de ses utilisateurs, est la clé.</p>
  <p>En partant de l'approche développée par une équipe de libristes, Cozy Cloud, nous verrons comment écouter ses utilisateurs et les impliquer dans les étapes stratégiques du projet, du support au design en passant par le développement : les mains dans le cambouis, laissez vos utilisateurs hacker vos interfaces.</p>
  <h2>Transcription</h2>
  <p><strong>Matthias :</strong> Ce n'était pas prévu mais nous voilà quand même pour vous parler un peu d'ergo et de Libre et de la nécessité de travailler l'ergo et de faire de l’ergo intelligemment quand on veut faire du Libre, si on veut faire les choses bien jusqu’au bout. Alors qui qu'on est ? Ton micro, sinon les gens ne t’entendent pas en direct. Coucou les gens !</p>
  <p><strong>Luc :</strong> Ça va être un petit réflexe à prendre, ça. Je suis Luc, le <i>Product Designer</i> de chez Cozy. </p>
  <p><strong>Matthias :</strong> Moi je suis M4dz, je travaille chez Cozy également, je fais du dev d'interface, principalement. Avec Luc, on travaille conjointement sur le <i>design</i> et sur l'ergo des interfaces de notre produit. Notre produit c'est donc Cozy. Cozy, pour ceux qui ne savent pas, c'est une solution de serveur <i><a href="https://www.april.org/position-sur-la-terminologie-logiciel-libre-open-source" class="alinks-link" title="Position sur la terminologie logiciel libre - open source">open source</a></i> personnel, auto hébergeable. L’idée c’est de permettre aux gens d’installer leurs propres instances de serveur et, via des outils qui sont intégrés à l’ensemble, de pouvoir reprendre le contrôle sur ses données, de pouvoir se réapproprier tout ça, se libérer des GAFA ou des GAFAM, ou des GAFAMeee - mettez ce que vous voulez derrière - en gros, de redevenir vraiment possesseur de ce qu'on a et d’arrêter de disséminer un peu les choses.</p>
  <p>Pourquoi je vous dis ça ? Pour une raison simple. C'est que, si on veut que ça marche et si on veut que les gens adhèrent à notre produit et s'en servent au maximum et donc se libèrent au maximum, on n’a pas le choix, il va falloir que ça passe par une adoption de masse, parce que tout seul on ne gagnera jamais la guerre. Et, pour cette adoption de masse, eh bien il faut que l'ergo soit au cœur de notre processus de réflexion, sinon, les amateurs éclairés pourront toujours s’en sortir ; les gens qui ont juste besoin que ça marche seront clairement perdus avec ça. </p>
  <p>Petite démonstration par l'exemple. Ça c'est le bureau GNOME de 2002. Je ne vous fais pas le topo, GNOME, tout ça, etc. C'est tiré des notes de version de GNOME. </p>
  <p>Ça c'est le bureau GNOME 3, 2011, dix ans plus tard - cinq ans déjà - et il y a quand même eu un <i>gap</i> assez énorme entre ça, qui était utilisable, mais qui piquait un peu et ça, qui est utilisable et qui est déjà un peu plus <i>smooth</i>. Après, on aime ou on n'aime pas, ce n'est pas forcément la question. Perso, GNOME n’est pas mon bureau de prédilection, mais, force est de constater que sur la même période de temps Mac OS faisait aussi un <i>gap</i> entre 2001 et 2010 avec une vraie progression en termes d’ergo et GNOME a suivi le même mouvement et, au final, on retrouve des paradigmes à peu près équivalents. Ça, ça a été très pensé au départ pour travailler sur de la tablette. L’idée c’est vraiment de permettre aux gens de s’approprier l’outil pour pouvoir s’en servir, parce que si on les force à utiliser un truc qui ressemble à Windows 95, ça va être un peu plus tendu quoi ! Donc il va falloir prendre ça en main dès le départ et il faut le penser.</p>
  <p><strong>Luc :</strong> Attention, moment <i>Captain Obvious</i>, si on veut une adoption de masse, il faut forcément rendre le produit accessible au maximum de gens. Donc, prenons par exemple notre ami à tous Google, qu’on aime tous ici. Google, à l’époque, quand ils sont arrivés avec leur moteur de recherche, ils avaient juste un moteur de recherche. Leur plus gros concurrent, qui était en face d’eux, Yahoo, on arrivait sur leur site, c’était un peu de tout, de rien, des news, des images, enfin un gros n’importe quoi, et on sait maintenant qui est devant tout le monde à l’heure actuelle. Donc autant s’inspirer de nos ennemis pour mieux les combattre. </p>
  <p><strong>Matthias :</strong> C’est <i>Rage Against The Machine</i>. C’est la <i>slide corporate</i>. Alors <i><a href="https://www.april.org/position-sur-la-terminologie-logiciel-libre-open-source" class="alinks-link" title="Position sur la terminologie logiciel libre - open source">open source</a></i>, ergo et <i>design</i>. Le statut de la relation entre les trois et les univers entre les trois, c’est que, eh bien c’est compliqué. C’est compliqué parce que l’<i><a href="https://www.april.org/position-sur-la-terminologie-logiciel-libre-open-source" class="alinks-link" title="Position sur la terminologie logiciel libre - open source">open source</a></i>, le Libre, l’ergo, et le <i>design</i>, ensemble, ils ont parfois du mal à dialoguer.</p>
  <p><strong>Luc :</strong> Tout simplement, quand on arrive sur un <a href="https://www.april.org/node/10307" class="alinks-link" title="Logiciel libre">logiciel libre</a>, première phase à faire, l’installation pour la plupart des logiciels. Le commun des mortels n’a juste même pas envie. Ça demande des process compliqués, une documentation que la plupart des gens n’arrivent pas à lire. Il faut un bac + 15, les gens ne vont pas à ce stade. Et même pour le peu des élus qui y arrivent, ils arrivent sur une interface, certes, qui a des belles promesses, mais qui est juste inutilisable. Qui paraît cohérente pour un ingénieur, mais pour quelqu’un, on va dire, de plus normal, du commun des mortels, ça n’a aucun sens.</p>
  <p><strong>Matthias :</strong> Tout ça, ça implique un vrai manque de confiance entre les différents acteurs qui collaborent au projet. Il y a des gens qui dev dans la salle ? Il y a beaucoup de devs dans la salle, qui font un peu d’interface, un peu de machin comme ça ? D’accord. OK . Il y a des gens qui font de l’ergo, pure et dure ? OK. Ouais, en mode comme ça quoi ! Voilà ! En brasse coulée ! En gros, l’un des principaux soucis, c’est qu’il y a un vrai manque de dialogue, un vrai manque de confiance entre les différents acteurs du projet. Quand vous développez une interface en tant que dev et que avez imaginé votre produit, vous, vous savez très bien où vous voulez aller donc, pour vous, c’est limpide. Ça ne le sera pas forcément pour l’essentiel des gens. Donc il faut collaborer avec des gens qui sont capables de vous apporter du savoir-faire, vous apporter de l’expérience, de l’expertise - des ergonomes, par exemple, des <i>designers</i>, entre autres - mais ça veut dire qu’il va falloir faire confiance à ces gens-là, il va falloir travailler avec ces gens-là et pas contre ces gens-là.</p>
  <p>Le problème, c’est qu’on est dans une espèce de relation qu’on a nommée assez aimablement une relation « égosexuelle », je nomme le « aimablement » quand même, parce que, très vite, on en vient à faire de l’entre-soi. On fait un produit, on l’a pensé pour nous, on l’aime bien, c’est notre bébé, on l’a vachement pensé, on le raisonne énormément. C’est super ! Pas très inclusif, mais c‘est super ! Donc l’enjeu c’est d’apprendre à vivre ensemble, c’est d’apprendre…</p>
  <p><strong>Luc :</strong> À travailler ensemble. Inaudible. Un, deux.</p>
  <p><strong>Matthias :</strong> Tu as un choc de micro ! Interlude. Ah c’est possible. Ça fait de la lumière. Tiens, parle avec moi !</p>
  <p><strong>Luc :</strong> On va se mettre avec Matthias. Bonjour Matthias. [Luc enlace les épaules de Matthias.]</p>
  <p><strong>Matthias :</strong> Coucou les gens !</p>
  <p><strong>Luc :</strong> [Si la femme de Matthias regarde, il ne se passe rien, je tiens juste à le dire.] En gros, la preuve en est, c’est parfait pour cette slide, Matthias est développeur <i>frontpage</i>, je suis <i>designer</i>, nous partageons la même culture. On fait tous les deux partie de la génération <i>Dragon Ball Z</i>. On a passé beaucoup plus de temps derrière notre ordi ou notre petite Nes plutôt que dehors à jouer au ballon. </p>
  <p><strong>Matthias :</strong> Salopard !</p>
  <p><strong>Luc :</strong> Je t’ai déjà vu jouer au ballon, excuse-moi Matthias ! Je ne suis pas bien en forme aujourd’hui. On partage des mêmes valeurs. On a peut-être un langage différent parce que, à un moment de notre vie, il y a en a un qui a choisi les crayons de couleur alors que l’autre a préféré se « focusser » sur l’ordinateur, mais, malgré tout, on partage des mêmes valeurs sauf que le langage est différent. Et c’est juste une communication qu’on a besoin de se réapproprier et être capable de ne pas juger l’autre parce qu’il n’utilise pas les bons termes. Et juste s’écouter et être capable de partager ensemble.</p>
  <p><strong>Matthias :</strong> Tu veux qu’on s’embrasse là ?</p>
  <p><strong>Luc :</strong> C’est un peu cochon ça !</p>
  <p><strong>Matthias :</strong> Non, on ne va pas le faire. Du coup, il y a une très belle citation dont je n’arrive pas à retrouver la source, que je vais peut-être un peu démesurément attribuer à Stallman qui est en face, donc coucou, et qui dit : « Si le libre ne parvient finalement qu’à libérer que du <a href="https://www.april.org/node/10308" class="alinks-link" title="Code source">code source</a> ça sera un échec ». Si vous retrouvez la source, j’offre des câlins, vraiment ! Je n’arrive pas à remettre la main dessus. L’idée c’est vraiment de dire ouvrir des choses, c’est super, libérer des choses c’est bien. Si tout ce qu’on arrive à libérer, derrière, ce n’est que de la ligne de code, on aura perdu quoi ! La philosophie est nettement plus énorme que ça ! Elle va bien au-delà de tout ça !</p>
  <p><strong>Luc :</strong> Du coup l’ergonomie, eh bien quésaco ? Qu’est-ce que ça veut dire ? C’est un joli terme.</p>
  <p><strong>Matthias :</strong> J’aime bien quésaco !</p>
  <p><strong>Luc :</strong> C’est principalement ce qu’on utilise par le terme d'UX qui veut dire <i>user experience</i> en anglais donc expérience de l’utilisateur. C’est le principe d’offrir une utilisation de votre produit sans friction. La personne qui va venir là, elle n’est pas là pour vous faire plaisir, elle est là pour qu’on lui simplifie la vie sur une tâche de son quotidien. Elle n’est pas là pour réfléchir comment votre produit fonctionne et pourquoi il y a ça ici, comment j’accède à ça, comment je configure telle chose ou quoi. Non ! La personne est venue parce qu’elle a un objectif, elle a compris une valeur ajoutée et son seul objectif, c’est d’être <i>badass</i>, c’est ce que vous lui avez vendu quoi : votre produit lui permet de résoudre des problèmes dans son quotidien qu’elle ne pouvait pas avoir ailleurs. Ce n’est pas comprendre votre produit.</p>
  <p><strong>Matthias :</strong> Ça nécessite de savoir qui est votre utilisateur. Donc quand vous commencez à travailler sur une solution, quand vous commencez à réfléchir à un produit, vous avez une idée, un projet, un machin qui va changer la vie des gens - vous avez raison, on en a besoin - il faut déjà savoir à qui vous vous adressez. Savoir à qui vous vous adressez ça veut dire déterminer un ensemble d’utilisateurs, en marketing on parle de niche ou de marché. C’est ça ! C’est de savoir à qui vous voulez vous adresser. Parce que, simplement dire « mon produit s’adresse aux gens qui ont Internet », vous ciblez quand même une portion extrêmement large de la population. Ça va être extrêmement compliqué de les avoir. Donc il faut être suffisamment précis.</p>
  <p>Et deuxième principe à garder à l’esprit, toujours, c’est que, même si vous avez imaginé votre produit, même si vous le connaissez, même si vous le savez, que vous le vivez, vous n’êtes pas un utilisateur avec un pouvoir de vote supérieur à celui des autres. Vous n’êtes qu’un utilisateur parmi tant d’autres. Ce n’est pas parce que vous avez votre usage et votre réflexion que ce sont ceux de l’ensemble des gens. Au contraire, votre usage sera souvent un peu biaisé parce que vous connaissez votre produit. Donc il faut garder ça à l’esprit.</p>
  <p>Il faut déterminer un parcours utilisateur. Déterminer un parcours utilisateur, qu’est-ce que c’est ? Eh bien c’est déterminer quelle est la fonctionnalité phare de votre produit ou de votre solution. On ne fait pas des couteaux suisses, on ne fait jamais des couteaux suisses. La philosophie UNIX c’est ça, c’est un outil, une chose, et ça le fait bien, et ça ne fait que ça. Finalement, c’est ça qu’il faut appliquer quand vous concevez un nouveau produit, c’est que, même s’il y a une myriade de choses autour, vous avez une fonctionnalité qui est le cœur même de votre produit et c’est ça qui le fera vivre. Donc il va falloir trouver ce que c’est que cette fonctionnalité et il va falloir précisément déterminer comment on y accède et comment on s’en sert. À partir du moment où vous déterminez ce passage-là, ce parcours-là, le parcours de l’utilisateur, vous avez déjà libéré et défriché 60 % du boulot.</p>
  <p><strong>Luc :</strong> On a souvent aussi une confusion entre le principe de <i>design</i> et d’ergonomie. Le principe de <i>design</i>, en fait, souvent appelé également UI, <i>User Interface</i>, c’est la partie graphique de son interface. Donc c’est se dire « ce bouton va être bleu parce que le bleu renvoie à telle émotion ou renvoie à mon produit qui a choisi cette couleur pour x raisons. » Je ne fais partie de votre <i>branding</i> [image de marque, NdT], je ne sais pas pourquoi. Et l’ergonomie, donc l’UX qui est là, sur la partie comportementale. Donc comprendre le <i>behavior</i> [comportement, NdT] de votre utilisateur et de dire - je prends l’exemple d’un bouton qui est un peu ridicule, mais bon - de se dire « ce bouton je vais le placer à cet endroit, ça va être mon action principale, parce que sur cette page, à ce moment-là, c’est ce qu’il y a de plus cohérent pour mon utilisateur, c’est ce qu’il a envie de faire. »</p>
  <p>Après toute cette belle théorie qu’on vous a dite, vous allez nous demander <i>bullshit</i> ou pas, quoi ? Je pense que ce n’est pas non plus trop compliqué de vous expliquer que ouais, forcément, ça va améliorer la satisfaction de votre utilisateur, pour la simple et bonne raison que votre produit n’est plus fait sans lui, mais il est inclus dans une boucle, avec lui. Donc chaque intervention sur votre produit est faite avec cette personne qui l’utilise. Donc forcément, ça va également augmenter votre rétention d’utilisateurs. Les personnes nouvelles qui vont arriver, de base, un produit qui a été fait avec d’autres gens comme elles, il y a de grandes chances qu’elles y restent et qu’elles se sentent à la maison. Et forcément, vous allez aussi réduire vos coûts de développement, pour la simple et bonne raison que vous allez arrêter de développer des trucs, perdre du temps en développement, l’envoyer dans la nature, voir ce qui se passe, ne pas savoir vraiment si c’est utilisé ou pas, les problèmes qui sont dessus, etc. Là vous rentrez dans une boucle où chaque chose qui est codée, en soi, a été validée. Donc ce ne sont plus des hypothèses, mais vous vous basez sur des données.</p>
  <p>Donc, en gros, l’ergonomie qu’est-ce que c’est ? C’est créer une solution avec vos utilisateurs pour qu’ils se sentent à la maison, en fait. Tout simplement.</p>
  <p><strong>Matthias :</strong> Ça c’est bien beau, c’est de la théorie c’est super, voilà comment ça marche. Question c’est : comment est-ce qu’on fait ça ? Comment est-ce qu’on arrive à ce degré-là ? Une bonne pratique, qui est celle qu’on essaie de mettre en place le plus possible chez Cozy, c’est de travailler de façon <i>user centric</i>, donc travailler sur l’utilisateur, avec l’utilisateur, et ne pas le faire intervenir en fin de boucle. Ça veut dire que dès le départ, quand vous avez une hypothèse à valider, quand vous avez une idée qu’il va falloir confronter, on va déjà faire intervenir les utilisateurs, avant même que la <i>feature</i> soit disponible, avant même que ça soit codé, que ça soit enfoncé dans le code, on va commencer à en parler aux gens. On va commencer par leur dire « voilà, on a pensé à ça, qu’est-ce que vous en pensez ? » On va commencer à échanger avec les gens. Parce que travailler comme ça, ça va permettre de collecter des infos, de collecter leurs retours, de voir un peu ce dont ils ont envie, ce dont ils ont besoin. Synthétiser ces infos-là, les croiser, voir un peu ce qui s’en dégage, trouver les grandes tendances, les grands concepts, et puis en tirer quelque chose de concret, quelque chose que vous allez vraiment pouvoir utiliser.</p>
  <p>Vous avez plusieurs moyens de faire ça. Vous pouvez passer par plein de canaux et, vraiment, je vous encourage à passer par plein de canaux parce que pour trouver les gens qui vont être accrochés à votre produit, vous n’avez pas le choix, il va falloir aller les chercher. Et vous ne pouvez pas aller les chercher si vous les faites sortir de leur zone de confort. Il faut aller les voir. Il faut aller les retrouver. Donc des canaux vous en avez plein : les forums, parce que c’est là que les utilisateurs lambda vont aller discuter le plus possible, l’IRC pour le support, les réseaux sociaux qui vont servir de levier pour attirer des gens, les plateformes de <i>social coding</i> pour pouvoir attirer des développeurs parce que les développeurs vont peut-être plutôt vous faire des retours sur des bugs et des tickets dans des <i>issues</i>, dans les plateformes de gestion, plutôt que de passer par les forums, etc. Donc c’est à vous d’être tentaculaire et ce n’est pas à vos utilisateurs de s’adapter à votre unique canal de discussion. Vous avez besoin d’adresser un maximum de monde.</p>
  <p>Une fois que vous avez trouvé vos utilisateurs, l’important c’est de réussir à en tirer les informations dont on a besoin pour réussir à avancer. Donc ce sont des process d’interviews, c’est le concept idéal, finalement, plutôt en face à face ou en petits groupes. En tout cas, toujours avec une présence physique, même si ce n’est que de la visioconf, parce que ça va vous permettre, à un moment, d’avoir aussi une part de langage émotionnelle qui est importante. Il faut que les gens soient à l’aise quand ils discutent avec vous. Il faut que vous parliez à bâtons rompus de votre produit. Donc vous commencez. Vous, vous vous êtes défini un objectif. Vous savez ce que vous allez vouloir obtenir de votre utilisateur, quelles infos sont essentielles pour vous. Mais ce n’est pas comme ça qu’il faut le présenter à votre utilisateur. Il faut que ça soit une discussion sur un coin de table dans un bistrot. Il faut que le mec se sente bien. Même nous, d’ailleurs. Il faut que tout le monde se sente bien, que votre utilisateur soit bien et qu’il ait juste envie d’en profiter et que vous puissiez discuter de votre produit, vous soyez suffisamment neutre pour ne pas trop l’influencer, pas le guider, pas noter. Ne prenez pas des notes ! Prenez des notes après, évidemment, puisque vous en avez besoin pour revenir dessus, mais ne prenez pas des notes en même temps. Il n’y a rien de pire que de parler à un type qui prend des notes ! On a l’impression qu’il n’écoute pas ce que vous êtes en train de lui raconter. D’un seul coup, ça ferme les gens et puis il n’y a plus d’échange, de vrai échange concret, émotionnel. C’est de la discussion, c’est de la discussion simple. Mais ça marche bien ! Nous, on a des super retours quand on arrive à organiser des ateliers comme ça avec les utilisateurs. Alors, de par notre structure un peu décentralisée, on le fait par petits groupes, donc on fait cinq/six personnes et puis on discute un peu. Il en sort des idées qu’on laisse maturer après. Ce n’est pas grave, ça prend du temps, mais voilà ! Au moins, il y a des choses qui en ressortent et puis ça décante.</p>
  <p><strong>Luc :</strong> Une fois que vous avez collecté toutes ces données, c’est là où vous pouvez enfin retourner derrière votre petit bureau, enfin avec vous-même, et du coup, avec toutes ces informations, le plus gros challenge que vous allez avoir, à ce moment-là, c’est d’être capable d’extraire l’information. Les gens aiment dire des choses. Il y a une grande différence entre la demande et le besoin. Quelqu’un va essayer de dire n’importe quoi et, au final, il faut comprendre pourquoi il l’a dit. Comment, dans son usage, je pourrais, en fait, lui simplifier la vie ? Quelle est vraiment l’information à extraire de ce qu’il m’a raconté ? Être capable, aussi, de croiser, du coup, toutes ces informations collectées avec tous mes utilisateurs. Être capable de prioriser ce qui est important dans ce qu’on m’a dit. Où je vais ? Où sont sont mes erreurs ? Qu’est-ce que j’ai fait de complètement ridicule ? Pourquoi les gens n’arrivent pas à faire telle action sur telle page ? Apprendre, du coup, de toutes ces données, en les croisant.</p>
  <p>Une fois que vous avez tout ça, c’est là où vous pouvez vous amuser avec votre petit papier à faire, des petits <i>wireframes</i>, qui est de faire des sketches sur papier ou, si vous êtes plus à l’aise, vous pouvez directement partir sur Gimp à faire des formes un peu plus simplifiées. Si vous sentez encore plus à l’aise, vous pouvez vous amuser à mettre votre charte graphique à l’intérieur pour donner une sensation un peu plus réelle. Si vous êtes vraiment motivé, vous pouvez aller même jusqu’à utiliser des prototypes dynamiques type, InVision ou Marvel. Je n’ai pas, je ne connais pas de logiciels <i><a href="https://www.april.org/position-sur-la-terminologie-logiciel-libre-open-source" class="alinks-link" title="Position sur la terminologie logiciel libre - open source">open source</a></i>, malheureusement, qui fassent ce genre de choses. Je m’en excuse de donner des logiciels privateurs.</p>
  <p><strong>Matthias :</strong> Pas encore !</p>
  <p><strong>Luc :</strong> Pas encore, mais j’espère que ça va donner des idées à certains. Et en fait, ces prototypes dynamiques permettent, à travers des images, de mettre des zones cliquables et de donner l’impression d’une vraie <em>app</em> codée, alors que non, c’est juste du bluff. Ce sont des images et on clique et ça nous envoie à un lien vers une autre image. Et rien qu’avec ça, en fait, on peut de nouveau tester rapidement sans développement. Ça prend, en général, pas plus de quelques jours, quand on commence à être un peu à l’aise dessus et, une fois de plus, ça permet de collecter de l’information, de collecter de nouveau de l’information sur ce qu’on a fait, rapidement, genre <em>sketcher</em> sur un bout de papier. En terme général, vous avez une idée, vous avez fait attention à ce que les gens vous ont dit. Vous <em>challengez</em> ce que vous avez appris avec vos hypothèses. Vous pouvez vous amuser, du coup, à le mettre sur papier. Hop, un petit message sur IRC, un petit message sur le forum. Qu’est-ce que vous en pensez ? Est-ce que je vous ai bien compris ? Est-ce qu’on va dans le bon sens ? Etc. Passer, comme ça, à différentes étapes, apprendre, itérer, être capable, du coup d’améliorer ce que vous avez dessiné. Être capable de réparer si c’était directement sur du développement et même, si vous étiez juste dans cette phase de <i>design</i>, là, vous pouvez passer sur une phase de développement où, du coup, vous perdez beaucoup moins de temps et votre développement a beaucoup plus de sens.</p>
  <p>En soi, vous arrêtez de développer pour voir, puisque vous savez déjà, vous avez collecté les data, vous êtes déjà dans la validation. Donc maintenant, vous pouvez juste rester focus sur le développement. Et, tout simplement, on répète à chaque fois qu’on fait quelque chose, toujours redemander à sa base d’utilisateurs, voir ce qu’ils en pensent. On en arrive au cycle Lean, très simple, qui est « je construis, je mesure et j’apprends », etc.,etc.,etc. Dès que je balance quelque chose, dès que j’ai une hypothèse, il faut la confronter avec les gens, être capable d’avoir de l’information des gens qui utilisent quotidiennement votre produit.</p>
  <p><strong>Matthias :</strong> Seconde citation, on aime bien, de Henry Ford cette fois, qui disait simplement que s’il avait vraiment écouté ses utilisateurs complètement, la seule chose qu’on lui aurait demandée, c’était des chevaux plus rapides et pas forcément des moteurs à explosion.</p>
  <p>Pourquoi c’est pertinent dans notre cas ? C’est pertinent parce que vous avez besoin de ce support de vos utilisateurs. Vous avez besoin de travailler avec eux, main dans la main, pour pouvoir avancer sur votre produit, aller dans la bonne direction. Après, votre produit vous l’avez imaginé, vous l’avez conçu, vous en portez la vision. Et cette notion de vision est super importante parce que, quoi que vous fassiez, quoi que vous expliquiez à vos utilisateurs, il y aura toujours une part d’inconnu par rapport à votre vision, une part de choses que les gens n’arrivent pas vraiment à comprendre, à maîtriser, mais ils sentent bien que c’est dans cette direction-là qu’il faut aller. Vous, votre devoir, c’est d’être inspirant vis-à-vis de vos utilisateurs. C’est de faire en sorte que ça les pousse à aller plus loin dans votre produit et que vous puissiez avancer avec eux. Mais vous restez garant de cette vision ; vous êtes le garde-fou. Après, les chemins qui vont être pris vont vous être dictés par vos utilisateurs, mais l’endroit où aller, c’est vous qui l’avez en tête, et il ne faut pas perdre ce point-là de vue. </p>
  <p>Donc si je résume, pour faire simple : il faut discuter avec les utilisateurs ; il faut diversifier les canaux ; il faut aller chercher les gens au maximum et non pas les pousser à venir vous voir : il faut que ce soit vous qui ratissiez. Il faut que vous appreniez de vos utilisateurs, vous tiriez les enseignements de tout le travail que vous faites avec eux et quand je dis avec eux, c’est vraiment travailler <b>avec</b> les gens. Et surtout conserver toujours le contrôle de là où vous voulez aller, de votre solution, de ce que vous voulez faire, mais en étant le plus inclusif et le plus participatif possible.</p>
  <p><strong>Luc :</strong> Donc en résumé, le principe même c’est : soyez inclusif, mais soyez-le réellement ! Soyez réellement à l’écoute de vos utilisateurs. Essayez de comprendre, de vous mettre à leur place. Arrêtez aussi de le prendre personnellement : une critique, ce n’est pas vous qu’on juge, c’est votre travail. Vous n’êtes pas votre travail, vous n’êtes pas votre produit. Les gens sont là, quand ils vous donnent une critique négative, ils sont là pour aller dans le bon sens, pour améliorer votre produit pour que les gens apprécient votre produit, l’utilisent. Et ça n’a jamais été une critique par rapport à vous, vos compétences, ou quoi que ce soit. Il faut être capable de faire la différence entre la personne que vous êtes et le travail que vous fournissez.</p>
  <p><strong>Matthias :</strong> Deuxième bon conseil - enfin bon conseil, vous en faites ce que vous voulez, c’est cadeau, hop ! - deuxième conseil : l’ergo ce n’est pas le <i>design</i>. Faire de l‘ergo, je vais faire un raccourci rapide, je vais dire « tout le monde est capable de faire à peu près de la bonne ergo ». En gros, tout le monde est capable d’être de bon conseil à partir du moment où il comprend les enjeux de votre produit, pour vous donner les bonnes directions, pour vous montrer, si jamais vous prenez une direction qui n’est pas forcément la bonne. Tout le monde n’est pas ergonome, nuance, tout le monde peut apporter sa pierre à l’édifice. Donc ça c’est important et ça, ça va dans la bonne direction.</p>
  <p>Le <i>design</i> c’est ce qu’on disait tout à l’heure, c’est quelque chose qui est plus émotionnel. C’est quelque chose qui est plus lié à du comportement, à une image de marque, à ce que vous voulez mettre derrière, au message que vous voulez véhiculer et ça, c’est plus compliqué. Tout le monde ne sera pas de bon conseil. La nièce de la coiffeuse de la belle-sœur de votre femme, ne sera pas forcément la meilleure pour vous dire que « oui, le bleu c’est mieux ! » Non ! Il y a des considérations à prendre : votre marque, votre produit, ce que vous imaginez, vous l’avez en tête. C’est important de travailler dans cette direction-là. Donc écouter les gens, oui, sur certains conseils, pas sur d’autres. Sur de l’ergo c’est bien, sur du <i> c’est plus compliqué. Quoi qu’il en soit, encore une fois, l’idée c’est de travailler avec les gens. Faites intervenir des ergonomes. Faites intervenir des <i>designers</i>. Étendez votre champ de compétences autour de vous parce qu’on a tous des savoir-faire différents. Et là où les gens seront de bon conseil en ergo, ils ne le seront pas forcément en dev, et inversement. Donc on peut tous faire des choses bien. Si on veut vraiment les pousser jusqu’au bout, il faut s’entourer des bonnes personnes, il faut travailler le plus possible avec les gens.</i></p>
  <p>Reste une question, puisqu’on parle de <i>, c’est : est-ce qu’on peut <i>open sourcer</i> du <i>design</i> ? Vraie question. Vraie question compliquée. <i>Open sourcer</i> de l’ergo, c’est ce qu’on raconte depuis une petite demi-heure, c’est possible, ce n’est pas très difficile, il suffit d’être assez inclusif avec les gens et de faire travailler les gens ensemble. Ce n’est pas très difficile sur le papier, dans la réalité il faut être <i>open man</i>, mais c’est toujours possible. Donc faire de l’<i><a href="https://www.april.org/position-sur-la-terminologie-logiciel-libre-open-source" class="alinks-link" title="Position sur la terminologie logiciel libre - open source">open source</a></i> en ergo c’est jouable.</i></p>
  <p>Faire de l’<i><a href="https://www.april.org/position-sur-la-terminologie-logiciel-libre-open-source" class="alinks-link" title="Position sur la terminologie logiciel libre - open source">open source</a></i> en <i>design</i>, ça veut dire faire intervenir des gens sur votre image et sur le message que vous voulez véhiculer. C’est moins simple. C’est pour ça qu’on est vachement attentifs à cette distinction entre ergo et <i>design</i>. Il y a vraiment une frontière entre les deux, qui est ténue, parce que les ergonomes font du <i>design</i> et inversement. Et effectivement, envoyer un <i>frame</i> sans les codes couleurs qui vont avec, ce n’est pas forcément efficace. Donc il faut garder un peu de nuance là-dessus. Mais <i>open sourcer</i> du <i>design</i> est-ce que c’est jouable ? </p>
  <p>Il y a une initiative de Mozilla, en ce moment, qui travaille à une vision <i><a href="https://www.april.org/position-sur-la-terminologie-logiciel-libre-open-source" class="alinks-link" title="Position sur la terminologie logiciel libre - open source">open source</a></i> de leur marque. Donc ils essaient d’<i>open sourcer</i> l’image de marque de Mozilla et de voir comment ils arrivent à le faire vivre. Ça date de quelques semaines, c’est une initiative qui est très jeune. Peut-être que ça va marcher. Peut-être que ça ne va pas marcher. Pour le moment on n’en sait trop rien, l’avenir nous le dira, mais, en tout cas, c’est une expérience intéressante. Nous, on tente le pari aussi la semaine prochaine puisqu’on a des ateliers en <i>meet-up</i> et on a notamment un atelier dédié à l’image de Cozy. Donc on va tenter la même chose : faire participer les gens, faire participer les utilisateurs, dialoguer un maximum autour de ça. Peut-être qu’on va se planter ! C’est possible ! Ce n’est pas grave ! Il y a peut-être de grandes chances ! On se prendra un mur, ce n’est pas grave, mais au moins, on aura essayé. En tout cas, l’idée c’est de se dire « il n’y a pas que sur du code qu’on peut faire intervenir des contributions. Il n’y a pas que sur du code qu’on peut faire intervenir des gens. Il y a plein d’autres domaines autour. » Et si on veut que notre solution soit adoptée par le plus grand nombre, eh bien on n’a pas le choix, il va falloir faire participer ce plus grand nombre.</p>
  <p>Merci à vous et si vous avez des questions, on vous écoute.</p>
  <p><em>Applaudissements</em></p>
  <p>Et on a même un micro main. On va rigoler, on va se battre avec un petit micro HF.</p>
  <p><strong>Public :</strong> Bonjour. J’ai une question. Comment faire, justement, dans le cas d’un développement distribué ? On imagine qu’on est en agile parce que sinon ça n’a pas trop de sens. Donc ça veut dire rendre compte du <i>board</i>, du <i>kanban</i>, enfin peu importe, il faut que ça, ce soit public, en fait, j’imagine. Ça veut dire très bien décrire les objectifs de chaque <i>story</i>. Qu’est-ce que ça serait vos conseils ou les pratiques que vous mettez en place et que vous avez déjà expérimentées ?</p>
  <p><strong>Matthias :</strong> Tu veux répondre. </p>
  <p><strong>Luc :</strong> Nous, juste chez Cozy, en fait souvent, quand on a des tout petits problèmes où on voit strictement qu’il y a une fonctionnalité qui n’a vraiment aucun sens et que les gens nous demandent comment faire, là, en terme général, on comprend. Ce sont des gens qui se plaignent soit via GitHub, qui peuvent se plaindre aussi également via le forum. Là forcément on se dit « un nous le dit, ouais, on n’a pas le temps. Deux, trois, quatre, ça commence à arriver en top priorité. » Là on fait un petit <i>fix</i> rapidement, sans se poser trop de questions. </p>
  <p>Sur des <i>features</i> un peu plus complexes, donc il y a ces phases qu’on fait en début de <i>milestone</i> qui sont des interviews utilisateurs. Nos <i>Product Owners</i>, en fait, essaient d’avoir entre cinq et dix interviews d’utilisateurs, histoire de comprendre l’usage des utilisateurs, à l’heure actuelle, sur leur Cozy, comprendre pourquoi ils utilisent Cozy, savoir si c’est juste une question de valeur ou si c’est également parce qu’on leur simplifie un peu la vie. J’espère qu’on en est un peu là, quand même ! En fait, en comprenant du coup leur usage, comme on a dit tout à l’heure, on croise toutes ces données et là, on comprend où aller. Et souvent, c’est là où il y a des fonctionnalités un peu plus complexes qui vont arriver, et c’est là où moi j’interviens, où je vais commencer à <i>designer</i> cette partie-là. Et là, on fait intervenir, une fois qu’on a fini un sprint de deux semaines, donc moi pendant deux semaines je travaille là-dessus, j’essaie de confronter les idées,etc. Et là, on va faire un petit post sur le forum qui va être ensuite <i>pingué</i> via Twitter, via IRC, etc., pour que les gens l’utilisent. Donc souvent j’utilise ce prototype dynamique où les gens peuvent cliquer, etc., et les gens peuvent même mettre des commentaires directement sur le <i>design</i> pour me dire « là ça n’a pas de sens ; là tu es trop <i>designer</i> pour moi, tu es un <i>hipster</i>, vas-y, rentre chez toi ! », ce genre de choses. Et de là on comprend : on s’est peut-être un peu trop enflammés, on va retravailler ça, etc. Et en fait, on rentre dans une boucle comme ça de <i>feed-back look</i>. Tant que les gens - ce n’est même pas nous qui sommes satisfaits - c’est tant que les gens, nos utilisateurs du quotidien, ne sont pas satisfaits par ce qu’on leur a proposé, on ne rentrera pas en phase de développement, en fait.</p>
  <p>Et une fois que ça, ça a été validé par les gens - il y a toujours un type qui n’est pas content, mais celui-là on ne pourra jamais l’avoir ce n’est pas grave - là on peut rentrer, du coup, faire des petites cartes Trello ou GitHub, répartir, couper cette tâche, cette fonctionnalité, pour qu’elle rentre, du coup, en agile sur des sprints de deux semaines, etc. Et toujours remettre en question le travail qu’on a fait.</p>
  <p><strong>Matthias :</strong> Ça veut dire qu’on a des process de développement qui sont en cycle rapide, quinze jours, sur des <i>milestones</i> de trois mois. C’est vraiment interne à ce qu’on fait, donc c’est librement adaptable, mais on est très bien conscients qu’une nouvelle fonctionnalité peut mettre plus de temps à arriver, en fait. Parce que, effectivement, ces échanges avec les utilisateurs sont importants à prendre en main. Après, ça veut dire aussi qu’une fois qu’on le met en prod, généralement, on est plutôt bien partis, donc on ne va pas trop faire de rétropédalage.</p>
  <p><strong>Public :</strong> J’ai une petite réflexion sur le <i>design</i> par rapport au logiciel libre, surtout un logiciel libre qui veut s’ouvrir à un maximum de gens. Je caricature un peu, mais je vois deux grandes tendances. Il y a la tendance iPhone où, en gros, le <i>design</i> s’impose à toi parce qu’il a été prédéfini pour toi et, même si tu cherches à développer sous iPhone, tu es dans une <i>round map</i>, tu ne peux pas faire autrement, etc. Et je dirais, la version extrême de l’autre côté, c’est le CyanogemMod, dans lequel tu peux tout paramétrer, jusqu’à la taille du petit pixel de n’importe quoi. Vous qui avez un logiciel qui veut à la fois être <i><a href="https://www.april.org/position-sur-la-terminologie-logiciel-libre-open-source" class="alinks-link" title="Position sur la terminologie logiciel libre - open source">open source</a></i> et se diriger vers le plus grand nombre, comment vous avez trouvé l’équilibre entre les deux ?</p>
  <p><strong>Matthias :</strong> Tu veux répondre ou j’enchaîne ? </p>
  <p><strong>Luc :</strong> Vas-y.</p>
  <p><strong>Matthias :</strong> Encore une fois, je pense que c’est une question de curseur et c’est une question d’ajustement. Peut-être qu’un élément de réponse ça va être de commencer à fournir aux gens de quoi structurer leur réalisation et leur produit tout en restant dans la philosophie Cozy. J’explique un peu l’idée. L’idée de Cozy c’est que derrière il y a une espèce d’App Store, de marché quoi, dans lequel des développeurs peuvent proposer leurs applications pour faire tourner sur Cozy. Si vous êtes développeur et que vous voulez faire des applications sur Cozy, venez ! C’était la <i>slide branding</i>. L’idée c’est de se dire que, partant de là, on n’impose rien, donc effectivement, on laisse librement les développeurs travailler sur leur produit. On n’impose rien au niveau du <i>design</i>, on n’impose pas grand-chose. On commence à avoir des <i>guidelines</i> qui commencent à se structurer, mais ce sont encore des raquettes un peu trouées dans lesquelles il faut qu’on enrichisse beaucoup de choses. C’est très long, ça prend beaucoup de temps et d’énergie. </p>
  <p>L’une des approches qu’on cherche à avoir là et à rationaliser, c’est d’avoir un SDK [<em>software development kit</em>, NdT], un petit <i>framework</i> dédié au <i>front</i> et qui fournisse un maximum de composants d’interfaces qui soient <i>prédesignés</i>, qui puissent être faciles à customiser, de façon à ce qu’on puisse les adapter, mais qui puissent être aussi utilisés comme briques de base pour monter des interfaces. Après, on veut les utiliser, on les utilise ; on ne veut pas les utiliser, on ne les utilise pas. Et ce n’est pas grave, et on ne va jamais râler parce qu’une interface n’utilise pas le SDK de Cozy. À la limite on s’en fout ! Les premiers utilisateurs de ce truc-là, alors hop-là je me fais un tacle tout seul, mais ce n’est pas grave, pour le coup ça va être nous. C’est-à-dire que nous, pour développer des <em>apps</em>, ça va être super pratique de pouvoir avoir cet outil-là et de mutualiser un maximum de choses.</p>
  <p>Peut-être qu’un bon élément de réponse, ça peut être des choses comme ça. Des éléments sous-jacents qui sont des notions organiques simples. J’aime bien la notion de <i>design</i> atomique où on se dit, finalement une interface c’est quoi ? Eh bien c’est comme un organisme, et cet organisme se décompose en sous-parties qui sont des organes, qui eux-mêmes se décomposent en sous-parties qui sont des molécules et qui elles-mêmes se décomposent en sous-parties qui sont des atomes. Et cette notion de <i>design</i> atomique un peu organique, est intéressante dans ce qu’elle permet, si on s’adresse plutôt sur la couche basse, donc plutôt la couche atomes et molécules de dire « eh bien voilà, on vous fournit déjà des éléments que vous pouvez facilement utiliser pour aller dans une direction qui nous semble être intéressante. » </p>
  <p>L’autre bonne approche, eh bien c’est ce qu’on dit depuis tout à l’heure, c’est faire de l’<i><a href="https://www.april.org/position-sur-la-terminologie-logiciel-libre-open-source" class="alinks-link" title="Position sur la terminologie logiciel libre - open source">open source</a></i> ergo. C’est de ne jamais prendre les décisions de façon trop arbitraire et d’inclure les gens au maximum. Si les composants, à la base, ont déjà été pensés avec les gens pour que ça soit le plus pratique pour eux, eh bien on se sauve la vie sur pas mal de trucs derrière. On se sauve du temps, surtout. Mais c’est du curseur à ajuster et on n’aura jamais tout le monde. On ne satisfera jamais tout le monde et, en même temps, avoir une position hyper dictatoriale ce n’est pas très intéressant non plus. Donc il faut ajuster. C’est comme la sécu quoi, il faut ajuster entre « est-ce qu’on laisse tout ouvert ? » ou « est-ce qu’on ferme tout ? », mais on n’a plus personne parce que c’est super chiant à utiliser. Tu veux rajouter un petit truc ?</p>
  <p><strong>Luc :</strong> Non, je suis d’accord.</p>
  <p><strong>Matthias :</strong> Ça m’arrange| !</p>
  <p><strong>Public :</strong> On a une question sur Twitter. On a parlé d’ergonomie et de <i>design</i> et quid de l’accessibilité qui est généralement le gros parent pauvre quand on fait des applications ?</p>
  <p><strong>Matthias :</strong> Oh ! Yes ! Alors pour la petite anecdote, je ne sais pas qui a posé cette question sur Twitter, je lui fais des bisous. Pour la petite anecdote, il y a eu changement de programme tout ça, à Pas Sage En Seine, et en fait, la conf qu’on est en train de donner là, on l’a donnée il y a deux heures au HackerSpace, là-bas. On me dit là-bas en fait, donc je suis très mauvais en orientation. Et c’est rigolo, parce que cette question est arrivée quasiment dans les mêmes termes. Et donc la question qui avait été posée, c’était « est-ce qu’on peut se servir des référentiels d’accessibilité qu’on a, ou des recommandations d’accessibilité qu’on a, pour pouvoir servir de base à une bonne ergonomie ? »</p>
  <p>Je vais faire la même réponse, parce que j’en étais très satisfait ! C’est de dire qu’on a des super référentiels d’accessibilité, sur le Web et en France. L’un des gros problèmes c’est que ces référentiels d’accessibilité, si on veut intégralement les implémenter, déjà c’est une tannée sans nom et, en plus, on se retrouve avec des interfaces qui sont généralement assez mal fichues au final, parce qu’eux ils adressent, ce n’est pas beau ce terme je suis désolé, ils cherchent à résoudre un ensemble de problèmes qui est tellement dense et tellement vaste et tellement complexe que c‘est se dire « je vais tout implémenter pour dire je vais tout implémenter et avoir une super note ! » C’est bidon, ça ne sert à rien.</p>
  <p>Par contre, ce qui est intéressant, c’est de se dire qu’on est 80 % de la population en situation de handicap. Porter des lunettes, vous êtes en situation de handicap. Vous êtes obligé de faire comme ça pour pouvoir lire [Matthias tend le bras], vous êtes en situation de handicap. Vous vous retrouvez dans le métro avec votre téléphone avec un fond de <i>edge</i> qui ne passe pas, vous êtes en situation de handicap. Donc cette situation de handicap existe partout, tout le temps ; elle est variable : des fois vous le serez, des fois vous ne le serez pas. En tout cas, ça s’adressera toujours à vous. Donc utiliser l’accessibilité comme moteur à une bonne ergo, comme une base de travail, c’est hyper intéressant. L’appliquer bêtement et de façon irraisonnée, ça ne résoudra pas plus les problèmes de vos utilisateurs, à la limite, ça pourra peut-être en créer. Tu veux compléter ?</p>
  <p><strong>Luc :</strong> C’est souvent le problème de choses comme ça qui sont définies pour une certaine catégorie de personnes qui va, forcément du coup, très bien répondre à ces gens-là mais qui, au contraire, va être un problème d’accessibilité pour tous les autres. Typiquement, quelqu’un nous a posé la question suite à cette discussion aussi de, par exemple, le produit, si quelqu’un est aveugle comment on fait ? Il est venu avec la solution simple de dire « ouais, on met un gros bouton spécial gens aveugles », qui correspond peut-être à 1 % des utilisateurs et peut-être que là je m’emballe même encore. Et le problème de ça c’est : pour qu’il le voie, le bouton, il faut forcément qu’il soit gros, mais on répond juste à une personne qui va, au contraire, polluer l’interface, du coup pour tous les autres qui vont nous faire : « Mais pourquoi vous faites ça ? » Donc, c’est aussi un peu la complexité de savoir comme tu as dit, de trouver le bon équilibre. Typiquement, un cas d’accessibilité assez simple, c’est savoir jouer des contrastes. On est de plus en plus sur des écrans qui tendent avec une qualité magnifique, avec écran Retina, enfin c’est splendide ! Et, malheureusement, il y a très peu de gens qui les ont et la plupart des gens sont encore sur des écrans avec des résolutions pas top et avec des contrastes qui ne les gèrent pas aussi bien. Ce qui fait qu’on se retrouve sur des cas assez compliqués où les gens n’arrivent même pas à lire ce qu’on a mis, et, en fait, l’ergonomie perd pour le <em>design</em>. C’est là où il faut faire attention. Je pense que ce sont des petits cas comme ça où il faut faire attention aux cas d’accessibilité.</p>
  <p><strong>Matthias :</strong> Et c’est là que travailler avec les utilisateurs c‘est important. Encore une fois vous développez une solution pour un ensemble de personnes données. Si, effectivement, 90 % de votre public c’est un public malvoyant, forcément il faut le prendre en compte dès le départ. C’est évident ! Est-ce qu’il y a d’autres questions ? Merci beaucoup.</p>
  <p><em>Applaudissements.</em></p>


