Browse Source

Article sur BMC

Phyks (Lucas Verney) 4 years ago
parent
commit
a40acdf364

+ 2
- 2
blog/2014/11/index.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (6)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (6)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (16)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (4)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (4)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (14)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (12)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (4)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (2)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (14)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (4)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (64)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (66)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (16)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/2014/08/sortez_vos_emails.html">Sortez vos emails, c'est pas sale&nbsp;!</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/01/bmc.html">Gestion d'articles scientifiques avec BMC</a></li><li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>

+ 84
- 2
blog/2014/index.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (12)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (12)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (32)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (28)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (4)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (28)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (8)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (64)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (66)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (16)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/2014/08/sortez_vos_emails.html">Sortez vos emails, c'est pas sale&nbsp;!</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/01/bmc.html">Gestion d'articles scientifiques avec BMC</a></li><li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>
@@ -43,6 +43,88 @@
43 43
                 </div>
44 44
 
45 45
                 <div id="articles">
46
+<article>
47
+	<aside>
48
+		<p class="day">09</p>
49
+		<p class="month">Novembre</p>
50
+	</aside>
51
+	<div class="article">
52
+		<header><h1 class="article_title"><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></h1></header>
53
+		<!-- 
54
+    @author=Phyks
55
+    @date=09112014-1945
56
+    @title=Getting ipv6 to work with a Kimsufi server
57
+    @tags=Phyks
58
+-->
59
+
60
+<p>Starting from yesterday, my server (<a href="http://phyks.me">phyks.me</a>) should be available using ipv6. This was not the case before due to laziness and a lack of configuration. However, as setting ipv6 on a Kimsufi seems to not be really straight-forward (out of date documentation, information disseminated over the web and difficult to find between basic mistakes and real errors…), I think it may be useful to keep some notes here. Hope it can help anyone.</p>
61
+<p>The <a href="http://help.ovh.co.uk/Ipv4Ipv6">doc</a> explains that OVH has not set ipv6 autoconfig on their servers, and that you should configure the default route and IP address yourself.</p>
62
+<p>To find your ip address, it is pretty easy: just go to your manager and look for the ipv6 address in the IP section.</p>
63
+<p><code>ip -6 addr add YOUR_IPV6_ADDRESS/64 dev eth0</code></p>
64
+<p>This will add the ipv6 address to your network device. Then, you have to manually add the default gateway. To get its address, you should remove the last two digits of your ipv6 address and put <code>FF:FF:FF:FF:FF</code> instead. This means that <code>2001:41d0:1:4462::1/64</code> will give you a default gateway <code>2001:41d0:1:44FF:FF:FF:FF:FF</code>.</p>
65
+<p>Then, you should add a default route <em>via</em> this gateway</p>
66
+<p><code>ip -6 r a default via 2001:41d0:1:44FF:FF:FF:FF:FF</code></p>
67
+<p>This is the standard procedure explained in OVH guide and many posts around the web such as <a href="https://www.skyminds.net/serveur-dedie-mise-en-place-de-lipv6/">this one</a> (in French). It may work in some cases, however, in my case, I could not reach the default gateway and then, I could not add this route.</p>
68
+<p>I found <a href="http://forum.ovh.co.uk/showthread.php?6435-Getting-IPv6-working-on-kimsufi&amp;p=44965&amp;viewfull=1#post44965">a comment</a> on the OVH forum giving a solution.</p>
69
+<p>You should first add a route to reach the gateway</p>
70
+<p><code>ip -6 r a 2001:41d0:1:44FF:FF:FF:FF:FF dev eth0</code></p>
71
+<p>and then, you can add the default route <em>via</em> this gateway</p>
72
+<p><code>ip -6 r a default via 2001:41d0:1:44FF:FF:FF:FF:FF</code></p>
73
+		<footer><p class="date">Le 09/11/2014 à 19:45</p>
74
+		<p class="tags">Tags : <a href="//phyks.me/tags/Phyks.html">Phyks</a></p></footer>
75
+	</div>
76
+</article>
77
+<article>
78
+	<aside>
79
+		<p class="day">08</p>
80
+		<p class="month">Novembre</p>
81
+	</aside>
82
+	<div class="article">
83
+		<header><h1 class="article_title"><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></h1></header>
84
+		<!-- 
85
+    @author=Phyks
86
+    @date=08112014-1845
87
+    @title=Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites
88
+    @tags=Dev, Web
89
+-->
90
+
91
+<h2>Overview</h2>
92
+<p>Many websites and blogs are statically generated and the webserver only serves static files. It is the case of many doc websites and more and more blogs, starting from this one, as <a href="http://jekyllrb.com/">Jekyll</a>&nbsp;/ <a href="http://blog.getpelican.com/">Pelican</a> develops.</p>
93
+<p>This is really useful to reduce the complexity of the website and the load on the webserver. All the complex logic is done at the generation.</p>
94
+<p>However, this also means you do not have dynamic pages on your website to handle search queries. Then, you are left with two (or three) choices&nbsp;:</p>
95
+<ol>
96
+<li>Use an external search engine, such as an embedded Google search box. This raises some privacy concerns and make you depends on an external service. </li>
97
+<li>(Use a JS search engine such as the <a href="http://www.airpair.com/angularjs#/10-filters-core-">filters</a> provided by Angular.JS. This only works on the displayed content, and is not a real solution). </li>
98
+<li>Stop worrying about search engine on your website and let the users <code>wget</code>-ing and <code>grep</code>-ing your website on their computers. This is not the most user-friendly solution…</li>
99
+</ol>
100
+<p>There are a couple of solutions around, mostly based on <a href="http://lunrjs.com/">Lunr.js</a> which generates an index from the articles available, and use this index for fulltext search. This is the best solution I found so far but it is still not perfect. Although there is a stemmer and an index generation to reduce the amount of data to be transferred, the data is not stored in a very efficient way, and the full index is sent as JSON. An example implementation for Jekyll is available through <a href="https://github.com/slashdotdash/jekyll-lunr-js-search">the jekyll-lunr-js-search plugin</a>.</p>
101
+<p>I had the idea of a client side search engine in mind for a while, but was facing the same problem as Lunr.js: how not to send a full (very large) index over the network to every single client&nbsp;? Not having an optimized data structure would basically mean sending twice the content of the website to the client. It may not be a practical problem nowadays, as transfer speed is not always the limiting resource, but it is still not to be considered as a good practice, in my opinion, especially if your website might be accessed from mobile devices.</p>
102
+<p>I came accross <a href="http://www.stavros.io/posts/bloom-filter-search-engine/?print">this article</a> from Stavros Korokithakis and thought something similar could be achieved directly in the browser. Instead of using a standard dictionary to store the index, this article proposes to use a Bloom filter per article. Bloom filters are very interesting probabilistic structures which can store whether an element is or not in a set, with a fixed number of bits. It can return false positives: if an element is in the set, it always returns <code>True</code>, but if an element is not in the set, it may say it is actually in, with a small probability. <a href="https://en.wikipedia.org/wiki/Bloom_filter">Wikipedia page</a> on the subject has all the necessary stuff to understand these data structures.</p>
103
+<p>I wrote it in the context of my blog, which means a Python script to generate the index at pages generation, and a client side search engine in JavaScript, running in browser.</p>
104
+<p>A demo is available <a href="https://phyks.github.io/BloomySearch/">here</a>. It contains all the articles of my blog, as of writing this article, totalizing 160k characters, and only 7kB of index, allowing 10% of false positives, which may be a bit too much for a really reliable search engine. Reducing the error rate will lead to an increase in the index size (11kB for 1% of false positives and the same amount of characters).</p>
105
+<h2>Details of the implementation</h2>
106
+<p>As JavaScript is not the easier language to use for hashing and binary data manipulation, I started by implementing the client side search engine. Then, it would be easier to adapt the Python code to the JS lib than doing the contrary. Actually, I found <a href="https://github.com/jasondavies/bloomfilter.js">this bloomfilters.js library</a> from Jason Davies which was doing most of the job and did not need many modifications. I edited it a bit to support a construction with a <code>capacity</code> and an <code>error_rate</code>, instead of an explicit number of bits and times to apply the hashing function. This forked version is available <a href="https://github.com/Phyks/bloomfilter.js/blob/master/bloomfilter.js">here</a>.</p>
107
+<p>Then, I reimplemented this library in Python, to generate readable Bloom filters for the JavaScript script.</p>
108
+<h3>Server side</h3>
109
+<p>The generation script takes every articles in a given directory and for each of them:</p>
110
+<ol>
111
+<li>It gets a set of all the words in this article, ignoring too short words. </li>
112
+<li>It applies <a href="http://tartarus.org/martin/PorterStemmer/">Porter Stemming Algorithm</a> to reduce drastically the number of words to keep. </li>
113
+<li>It generates a Bloom filters containing all of these words.</li>
114
+</ol>
115
+<p>Finally, it concatenates all the per article Bloom filters in a binary file, to be sent to the client. It also generates a JSON index mapping the id of the Bloom filter in the binary file to the corresponding URL and title for each article.</p>
116
+<h3>Client side</h3>
117
+<p>Upon loading, the JavaScript script downloads the binary file (see <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data">this MDN doc</a> for more details) containing the Bloom filters and the JSON index, and regenerate BloomFilters on the client side.</p>
118
+<p>When the client searches for something, the JavaScript script splits the query in words and iterate over the Bloom filters to search for the words. That's it =)</p>
119
+<h2>(Fun) facts found while reimplementing the Bloom filters library in Python</h2>
120
+<p>First problem I had to deal with&nbsp;: the difference between JavaScript <code>Number</code> type and Python <code>int</code>. JavaScript has only one type for all numbers (<code>int</code> or <code>floats</code>) and it is <code>Number</code> (see <a href="https://stackoverflow.com/questions/307179/what-is-javascripts-highest-integer-value-that-a-number-can-go-to-without-losin">this SO thread</a>). They are 64-bit floating point values, with a magnitude no greater than 2<sup>53</sup>. However, when doing bitwise operations, they are casted to 32 bits before doing the operation. This is something to take care of, because Python's <code>int</code> can be 64 bits (<a href="http://legacy.python.org/dev/peps/pep-0237/">http://legacy.python.org/dev/peps/pep-0237/</a>). Then, when a bitwise operation overflows in JavaScript, it may not overflow the same way in Python.</p>
121
+<p>The solution to this problem was to use <code>ctypes.c_int</code> in Python for bitwise operations, as proposed <a href="https://stackoverflow.com/questions/1694507/difference-between-operator-in-js-and-python">here</a>.</p>
122
+<p>Another problem was the difference between modulo behaviour with negative numbers in Python and in JavaScript. Unlike C, C++ and JavaScript, Python's modulo operator (%) always return a number having the same sign as the divisor (<a href="https://stackoverflow.com/questions/3883004/negative-numbers-modulo-in-python">Source</a>). Then, we have to reimplement the C behaviour in a modulo function in Python.</p>
123
+<p>Finally, there was no “shift right adding zeros” (logical right shift) in Python, contrary to JS, see <a href="https://stackoverflow.com/questions/5832982/how-to-get-the-logical-right-binary-shift-in-python">this SO thread</a>. </p>
124
+		<footer><p class="date">Le 08/11/2014 à 18:45</p>
125
+		<p class="tags">Tags : <a href="//phyks.me/tags/Dev.html">Dev</a>, <a href="//phyks.me/tags/Web.html">Web</a></p></footer>
126
+	</div>
127
+</article>
46 128
             </div>
47 129
             <footer id="rss">
48 130
                 <p><a href="//phyks.me/rss.xml"><img src="//phyks.me/img/rss.png" alt="RSS"/></a></p>

+ 93
- 0
blog/2015/01/bmc.html View File

@@ -0,0 +1,93 @@
1
+<!DOCTYPE html>
2
+<html lang="fr">
3
+    <head>
4
+        <meta charset="utf-8">
5
+        <title>Phyks' blog - Gestion d'articles scientifiques avec BMC</title>
6
+		<link rel="stylesheet" href="//phyks.me/design.css"/>
7
+        <link type="text/plain" rel="author" href="//phyks.me/humans.txt"/>
8
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
+        <link rel="alternate" type="application/rss+xml" title="RSS" href="//phyks.me/rss.xml" />
10
+    </head>
11
+    <body>
12
+        <div id="wrapper">
13
+            <!-- Sidebar -->
14
+                <aside id="sidebar-wrapper">
15
+                    <header><h1><a href="//phyks.me">~Phyks</a></h1></header>
16
+
17
+                    <h2>Catégories</h2>
18
+                        <nav id="sidebar-tags">
19
+                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (64)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (66)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (16)</a> </div>
20
+                        </nav>
21
+
22
+                    <h2>Derniers articles</h2>
23
+                        <ul id="sidebar-articles">
24
+                            <li><a href="//phyks.me/2015/01/bmc.html">Gestion d'articles scientifiques avec BMC</a></li><li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25
+                        </ul>
26
+
27
+                    <h2>Liens</h2>
28
+                        <ul id="sidebar-links">
29
+                            <li><a href="//phyks.me/contact.html" title="Contact">Me contacter</a></li>
30
+                            <li class="monospace"><a href="//links.phyks.me" title="Mon Shaarli">find ~phyks -type l</a></li>
31
+                            <li><a href="https://github.com/phyks/" rel="me" title="Github">Mon Github</a></li>
32
+                            <li><a href="//phyks.me/divers.html" title="Divers">Divers</a></li>
33
+                        </ul>
34
+                </aside>
35
+
36
+            <!-- Page content -->
37
+                <header id="header">
38
+                    <h1><a href="//phyks.me">~Phyks</a></h1>
39
+                </header>
40
+
41
+                <div id="note_responsive">
42
+                    <p><em>Note</em> : Cliquez sur la bande bleue à gauche pour faire apparaître le menu.</p>
43
+                </div>
44
+
45
+                <div id="articles">
46
+<article>
47
+	<aside>
48
+		<p class="day">02</p>
49
+		<p class="month">Janvier</p>
50
+	</aside>
51
+	<div class="article">
52
+		<header><h1 class="article_title"><a href="//phyks.me/2015/01/bmc.html">Gestion d'articles scientifiques avec BMC</a></h1></header>
53
+		<!-- 
54
+    @author=Phyks
55
+    @date=02012015-1805
56
+    @title=Gestion d'articles scientifiques avec BMC
57
+    @tags=Phyks
58
+-->
59
+
60
+<p>Lorsqu'on fait de la recherche scientifique (ou de la veille), on est très vite amener à stocker de très nombreux articles en PDFs. On ne s'en sert pas forcément à tous les coups, mais il est essentiel de pouvoir les retrouver et s'y référer simplement. De même, de plus en plus d'ouvrages sont disponibles en formats numériques, et il est également utile de les stocker pour pouvoir les retrouver et les citer facilement. Bref, il faut un moyen simple de&nbsp;:</p>
61
+<ul>
62
+<li>Stocker des fichiers PDF et DJVU.</li>
63
+<li>Les retrouver facilement.</li>
64
+<li>Exporter des citations dans un format correct, pour pouvoir les citer au besoin (BibTeX etc.).</li>
65
+</ul>
66
+<p>Actuellement, je connais deux méthodes&nbsp;:</p>
67
+<ol>
68
+<li>Utiliser un logiciel tout-en-un de gestion bibliographique comme le leader du secteur, <a href="http://www.mendeley.com/">Mendeley</a>, propriétaire, qui permet d'importer ses PDFs sans y réfléchir. Il s'occupe de tout trier, de récupérer les informations dans les bases de données en ligne (auteurs, titre, revue, etc.), ce qui nécessiteraient une recherche dans le PDF voire de l'OCR autrement. On peut annoter ses documents, pour se rappeler qui est quoi, et il peut générer automatiquement les citations qui vont bien, dans le format voulu, quand on écrit un article ou un rapport. C'est top, mais c'est propriétaire et payant pour certaines fonctions avancées. Une grande partie du monde de la recherche l'utilise, mais c'est pas parfait quand même. Et c'est lourd et très (trop) complet, en cherchant à faire un réseau social autour de la recherche. Son concurrent open-source, <a href="http://zotero.org/">Zotero</a> est aussi lourd, si ce n'est plus, peu ergonomique, et pas très performant. Bref, ce n'est pas une solution idéale. </li>
69
+<li>De l'autre côté, de nombreux chercheurs ont juste un dossier <code>~/Papers</code> et mettent tous leurs PDFs en vrac dedans. Certains tiennent un index, avec plus ou moins de succès, ou renomment les fichiers (et il faut alors garder toujours le même masque si on ne veut pas s'y perdre). C'est léger, fonctionnel, mais pas pratique. Trop contraignant à la longue. Et lorsqu'on rédige un document, on ne peut pas avoir facilement les données nécessaires pour citer l'article et on passe alors des heures sur les sites de revues pour trouver lesdites citations.</li>
70
+</ol>
71
+<p>Du coup, j'ai écrit un petit script sans prétention en Python qui s'occupe de toutes les étapes chronophages et insupportables de la deuxième solution&nbsp;: <a href="https://github.com/Phyks/BMC">BMC</a>.</p>
72
+<p>Le principe est très simple&nbsp;: on lui donne un dossier où stocker les articles (typiquement <code>~/Papers</code>) et un masque de renommage pour renommer les fichiers PDFs. Quand on veut ajouter un fichier PDF à sa collection, on lui dit de le faire (<code>bmc import fichier.pdf</code> ou <code>bmc download URL</code>) et il s'occupe de tout&nbsp;:</p>
73
+<ul>
74
+<li>Il va récupérer le fichier PDF ou djvu, si besoin</li>
75
+<li>Il va chercher et extraire le code DOI (pour les articles) ou ISBN (pour les livres) dans le fichier</li>
76
+<li>Grâce à ce code, il va automatiquement récupérer les données bibliographiques associées, qu'il va stocker au format <code>bibtex</code>, pour être facilement réutilisé avec <code>LaTeX</code>.</li>
77
+<li>Finalement, il va stocker le fichier à importer dans le répertoire d'import et ajouter les données bibliographiques à un fichier d'index (<code>index.bib</code>).</li>
78
+</ul>
79
+<p>Comme ça, tout se fait tout seul sans qu'on y pense. Il peut utiliser d'éventuels proxy (y compris SOCKS) pour récupérer les articles (si vous travaillez chez vous mais que votre institution vous fournit un proxy pour télécharger des articles par exemple). Il peut aussi chercher les nouvelles versions disponibles pour les articles ajoutés (typiquement sur <a href="http://arxiv.org/">arxiv</a>, un dépôt d'articles en <a href="http://pablo.rauzy.name/openaccess/introduction.html#libre-acces">open-access</a>). Il peut aussi comparer l'état actuel de votre index et de votre répertoire de stockage, pour identifier d'éventuels problèmes (articles non ajoutés par le script ou articles mal supprimés). On peut aussi ajouter un tag sur chaque fichier, qui se retrouvera alors classé dans un sous-répertoire, pour organiser ses articles par projet.</p>
80
+<p>Lorsque vous voulez citer un article, il vous suffit de demander à BMC l'entrée Bibtex correspondante (<code>bmc export ARTICLE</code>).</p>
81
+<p>Comme il utilise des technos établies (citations Bibtex pour l'index + stockage en fichiers), il n'y a aucun risque de perdre ses données si le script n'est plus maintenu, ou n'est plus compatible. Tout sera toujours accessible, comme ce que vous auriez fait à la main. Et vous pouvez vous passer du script et aller vous-même chercher dans l'index l'entrée qui vous convient.</p>
82
+<p>Enfin, j'espère ajouter prochainement de nouvelles fonctionnalités, selon ce qui est le plus demandé&nbsp;: recherche dans la base de données (qui est d'ores et déjà possible en faisant une recherche dans le fichier d'index, recherche de doublons, recherche de version publiée pour les articles en open-access, …). N'hésitez pas à me faire des retours&nbsp;! </p>
83
+		<footer><p class="date">Le 02/01/2015 à 18:05</p>
84
+		<p class="tags">Tags : <a href="//phyks.me/tags/Phyks.html">Phyks</a></p></footer>
85
+	</div>
86
+</article>
87
+            </div>
88
+            <footer id="rss">
89
+                <p><a href="//phyks.me/rss.xml"><img src="//phyks.me/img/rss.png" alt="RSS"/></a></p>
90
+            </footer>
91
+        </div>
92
+    </body>
93
+</html>

+ 93
- 0
blog/2015/01/index.html View File

@@ -0,0 +1,93 @@
1
+<!DOCTYPE html>
2
+<html lang="fr">
3
+    <head>
4
+        <meta charset="utf-8">
5
+        <title>Phyks' blog - 2015/01</title>
6
+		<link rel="stylesheet" href="//phyks.me/design.css"/>
7
+        <link type="text/plain" rel="author" href="//phyks.me/humans.txt"/>
8
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
+        <link rel="alternate" type="application/rss+xml" title="RSS" href="//phyks.me/rss.xml" />
10
+    </head>
11
+    <body>
12
+        <div id="wrapper">
13
+            <!-- Sidebar -->
14
+                <aside id="sidebar-wrapper">
15
+                    <header><h1><a href="//phyks.me">~Phyks</a></h1></header>
16
+
17
+                    <h2>Catégories</h2>
18
+                        <nav id="sidebar-tags">
19
+                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (64)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (66)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (16)</a> </div>
20
+                        </nav>
21
+
22
+                    <h2>Derniers articles</h2>
23
+                        <ul id="sidebar-articles">
24
+                            <li><a href="//phyks.me/2015/01/bmc.html">Gestion d'articles scientifiques avec BMC</a></li><li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25
+                        </ul>
26
+
27
+                    <h2>Liens</h2>
28
+                        <ul id="sidebar-links">
29
+                            <li><a href="//phyks.me/contact.html" title="Contact">Me contacter</a></li>
30
+                            <li class="monospace"><a href="//links.phyks.me" title="Mon Shaarli">find ~phyks -type l</a></li>
31
+                            <li><a href="https://github.com/phyks/" rel="me" title="Github">Mon Github</a></li>
32
+                            <li><a href="//phyks.me/divers.html" title="Divers">Divers</a></li>
33
+                        </ul>
34
+                </aside>
35
+
36
+            <!-- Page content -->
37
+                <header id="header">
38
+                    <h1><a href="//phyks.me">~Phyks</a></h1>
39
+                </header>
40
+
41
+                <div id="note_responsive">
42
+                    <p><em>Note</em> : Cliquez sur la bande bleue à gauche pour faire apparaître le menu.</p>
43
+                </div>
44
+
45
+                <div id="articles">
46
+<article>
47
+	<aside>
48
+		<p class="day">02</p>
49
+		<p class="month">Janvier</p>
50
+	</aside>
51
+	<div class="article">
52
+		<header><h1 class="article_title"><a href="//phyks.me/2015/01/bmc.html">Gestion d'articles scientifiques avec BMC</a></h1></header>
53
+		<!-- 
54
+    @author=Phyks
55
+    @date=02012015-1805
56
+    @title=Gestion d'articles scientifiques avec BMC
57
+    @tags=Phyks
58
+-->
59
+
60
+<p>Lorsqu'on fait de la recherche scientifique (ou de la veille), on est très vite amener à stocker de très nombreux articles en PDFs. On ne s'en sert pas forcément à tous les coups, mais il est essentiel de pouvoir les retrouver et s'y référer simplement. De même, de plus en plus d'ouvrages sont disponibles en formats numériques, et il est également utile de les stocker pour pouvoir les retrouver et les citer facilement. Bref, il faut un moyen simple de&nbsp;:</p>
61
+<ul>
62
+<li>Stocker des fichiers PDF et DJVU.</li>
63
+<li>Les retrouver facilement.</li>
64
+<li>Exporter des citations dans un format correct, pour pouvoir les citer au besoin (BibTeX etc.).</li>
65
+</ul>
66
+<p>Actuellement, je connais deux méthodes&nbsp;:</p>
67
+<ol>
68
+<li>Utiliser un logiciel tout-en-un de gestion bibliographique comme le leader du secteur, <a href="http://www.mendeley.com/">Mendeley</a>, propriétaire, qui permet d'importer ses PDFs sans y réfléchir. Il s'occupe de tout trier, de récupérer les informations dans les bases de données en ligne (auteurs, titre, revue, etc.), ce qui nécessiteraient une recherche dans le PDF voire de l'OCR autrement. On peut annoter ses documents, pour se rappeler qui est quoi, et il peut générer automatiquement les citations qui vont bien, dans le format voulu, quand on écrit un article ou un rapport. C'est top, mais c'est propriétaire et payant pour certaines fonctions avancées. Une grande partie du monde de la recherche l'utilise, mais c'est pas parfait quand même. Et c'est lourd et très (trop) complet, en cherchant à faire un réseau social autour de la recherche. Son concurrent open-source, <a href="http://zotero.org/">Zotero</a> est aussi lourd, si ce n'est plus, peu ergonomique, et pas très performant. Bref, ce n'est pas une solution idéale. </li>
69
+<li>De l'autre côté, de nombreux chercheurs ont juste un dossier <code>~/Papers</code> et mettent tous leurs PDFs en vrac dedans. Certains tiennent un index, avec plus ou moins de succès, ou renomment les fichiers (et il faut alors garder toujours le même masque si on ne veut pas s'y perdre). C'est léger, fonctionnel, mais pas pratique. Trop contraignant à la longue. Et lorsqu'on rédige un document, on ne peut pas avoir facilement les données nécessaires pour citer l'article et on passe alors des heures sur les sites de revues pour trouver lesdites citations.</li>
70
+</ol>
71
+<p>Du coup, j'ai écrit un petit script sans prétention en Python qui s'occupe de toutes les étapes chronophages et insupportables de la deuxième solution&nbsp;: <a href="https://github.com/Phyks/BMC">BMC</a>.</p>
72
+<p>Le principe est très simple&nbsp;: on lui donne un dossier où stocker les articles (typiquement <code>~/Papers</code>) et un masque de renommage pour renommer les fichiers PDFs. Quand on veut ajouter un fichier PDF à sa collection, on lui dit de le faire (<code>bmc import fichier.pdf</code> ou <code>bmc download URL</code>) et il s'occupe de tout&nbsp;:</p>
73
+<ul>
74
+<li>Il va récupérer le fichier PDF ou djvu, si besoin</li>
75
+<li>Il va chercher et extraire le code DOI (pour les articles) ou ISBN (pour les livres) dans le fichier</li>
76
+<li>Grâce à ce code, il va automatiquement récupérer les données bibliographiques associées, qu'il va stocker au format <code>bibtex</code>, pour être facilement réutilisé avec <code>LaTeX</code>.</li>
77
+<li>Finalement, il va stocker le fichier à importer dans le répertoire d'import et ajouter les données bibliographiques à un fichier d'index (<code>index.bib</code>).</li>
78
+</ul>
79
+<p>Comme ça, tout se fait tout seul sans qu'on y pense. Il peut utiliser d'éventuels proxy (y compris SOCKS) pour récupérer les articles (si vous travaillez chez vous mais que votre institution vous fournit un proxy pour télécharger des articles par exemple). Il peut aussi chercher les nouvelles versions disponibles pour les articles ajoutés (typiquement sur <a href="http://arxiv.org/">arxiv</a>, un dépôt d'articles en <a href="http://pablo.rauzy.name/openaccess/introduction.html#libre-acces">open-access</a>). Il peut aussi comparer l'état actuel de votre index et de votre répertoire de stockage, pour identifier d'éventuels problèmes (articles non ajoutés par le script ou articles mal supprimés). On peut aussi ajouter un tag sur chaque fichier, qui se retrouvera alors classé dans un sous-répertoire, pour organiser ses articles par projet.</p>
80
+<p>Lorsque vous voulez citer un article, il vous suffit de demander à BMC l'entrée Bibtex correspondante (<code>bmc export ARTICLE</code>).</p>
81
+<p>Comme il utilise des technos établies (citations Bibtex pour l'index + stockage en fichiers), il n'y a aucun risque de perdre ses données si le script n'est plus maintenu, ou n'est plus compatible. Tout sera toujours accessible, comme ce que vous auriez fait à la main. Et vous pouvez vous passer du script et aller vous-même chercher dans l'index l'entrée qui vous convient.</p>
82
+<p>Enfin, j'espère ajouter prochainement de nouvelles fonctionnalités, selon ce qui est le plus demandé&nbsp;: recherche dans la base de données (qui est d'ores et déjà possible en faisant une recherche dans le fichier d'index, recherche de doublons, recherche de version publiée pour les articles en open-access, …). N'hésitez pas à me faire des retours&nbsp;! </p>
83
+		<footer><p class="date">Le 02/01/2015 à 18:05</p>
84
+		<p class="tags">Tags : <a href="//phyks.me/tags/Phyks.html">Phyks</a></p></footer>
85
+	</div>
86
+</article>
87
+            </div>
88
+            <footer id="rss">
89
+                <p><a href="//phyks.me/rss.xml"><img src="//phyks.me/img/rss.png" alt="RSS"/></a></p>
90
+            </footer>
91
+        </div>
92
+    </body>
93
+</html>

+ 93
- 0
blog/2015/index.html View File

@@ -0,0 +1,93 @@
1
+<!DOCTYPE html>
2
+<html lang="fr">
3
+    <head>
4
+        <meta charset="utf-8">
5
+        <title>Phyks' blog - 2015</title>
6
+		<link rel="stylesheet" href="//phyks.me/design.css"/>
7
+        <link type="text/plain" rel="author" href="//phyks.me/humans.txt"/>
8
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
+        <link rel="alternate" type="application/rss+xml" title="RSS" href="//phyks.me/rss.xml" />
10
+    </head>
11
+    <body>
12
+        <div id="wrapper">
13
+            <!-- Sidebar -->
14
+                <aside id="sidebar-wrapper">
15
+                    <header><h1><a href="//phyks.me">~Phyks</a></h1></header>
16
+
17
+                    <h2>Catégories</h2>
18
+                        <nav id="sidebar-tags">
19
+                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (64)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (66)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (16)</a> </div>
20
+                        </nav>
21
+
22
+                    <h2>Derniers articles</h2>
23
+                        <ul id="sidebar-articles">
24
+                            <li><a href="//phyks.me/2015/01/bmc.html">Gestion d'articles scientifiques avec BMC</a></li><li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25
+                        </ul>
26
+
27
+                    <h2>Liens</h2>
28
+                        <ul id="sidebar-links">
29
+                            <li><a href="//phyks.me/contact.html" title="Contact">Me contacter</a></li>
30
+                            <li class="monospace"><a href="//links.phyks.me" title="Mon Shaarli">find ~phyks -type l</a></li>
31
+                            <li><a href="https://github.com/phyks/" rel="me" title="Github">Mon Github</a></li>
32
+                            <li><a href="//phyks.me/divers.html" title="Divers">Divers</a></li>
33
+                        </ul>
34
+                </aside>
35
+
36
+            <!-- Page content -->
37
+                <header id="header">
38
+                    <h1><a href="//phyks.me">~Phyks</a></h1>
39
+                </header>
40
+
41
+                <div id="note_responsive">
42
+                    <p><em>Note</em> : Cliquez sur la bande bleue à gauche pour faire apparaître le menu.</p>
43
+                </div>
44
+
45
+                <div id="articles">
46
+<article>
47
+	<aside>
48
+		<p class="day">02</p>
49
+		<p class="month">Janvier</p>
50
+	</aside>
51
+	<div class="article">
52
+		<header><h1 class="article_title"><a href="//phyks.me/2015/01/bmc.html">Gestion d'articles scientifiques avec BMC</a></h1></header>
53
+		<!-- 
54
+    @author=Phyks
55
+    @date=02012015-1805
56
+    @title=Gestion d'articles scientifiques avec BMC
57
+    @tags=Phyks
58
+-->
59
+
60
+<p>Lorsqu'on fait de la recherche scientifique (ou de la veille), on est très vite amener à stocker de très nombreux articles en PDFs. On ne s'en sert pas forcément à tous les coups, mais il est essentiel de pouvoir les retrouver et s'y référer simplement. De même, de plus en plus d'ouvrages sont disponibles en formats numériques, et il est également utile de les stocker pour pouvoir les retrouver et les citer facilement. Bref, il faut un moyen simple de&nbsp;:</p>
61
+<ul>
62
+<li>Stocker des fichiers PDF et DJVU.</li>
63
+<li>Les retrouver facilement.</li>
64
+<li>Exporter des citations dans un format correct, pour pouvoir les citer au besoin (BibTeX etc.).</li>
65
+</ul>
66
+<p>Actuellement, je connais deux méthodes&nbsp;:</p>
67
+<ol>
68
+<li>Utiliser un logiciel tout-en-un de gestion bibliographique comme le leader du secteur, <a href="http://www.mendeley.com/">Mendeley</a>, propriétaire, qui permet d'importer ses PDFs sans y réfléchir. Il s'occupe de tout trier, de récupérer les informations dans les bases de données en ligne (auteurs, titre, revue, etc.), ce qui nécessiteraient une recherche dans le PDF voire de l'OCR autrement. On peut annoter ses documents, pour se rappeler qui est quoi, et il peut générer automatiquement les citations qui vont bien, dans le format voulu, quand on écrit un article ou un rapport. C'est top, mais c'est propriétaire et payant pour certaines fonctions avancées. Une grande partie du monde de la recherche l'utilise, mais c'est pas parfait quand même. Et c'est lourd et très (trop) complet, en cherchant à faire un réseau social autour de la recherche. Son concurrent open-source, <a href="http://zotero.org/">Zotero</a> est aussi lourd, si ce n'est plus, peu ergonomique, et pas très performant. Bref, ce n'est pas une solution idéale. </li>
69
+<li>De l'autre côté, de nombreux chercheurs ont juste un dossier <code>~/Papers</code> et mettent tous leurs PDFs en vrac dedans. Certains tiennent un index, avec plus ou moins de succès, ou renomment les fichiers (et il faut alors garder toujours le même masque si on ne veut pas s'y perdre). C'est léger, fonctionnel, mais pas pratique. Trop contraignant à la longue. Et lorsqu'on rédige un document, on ne peut pas avoir facilement les données nécessaires pour citer l'article et on passe alors des heures sur les sites de revues pour trouver lesdites citations.</li>
70
+</ol>
71
+<p>Du coup, j'ai écrit un petit script sans prétention en Python qui s'occupe de toutes les étapes chronophages et insupportables de la deuxième solution&nbsp;: <a href="https://github.com/Phyks/BMC">BMC</a>.</p>
72
+<p>Le principe est très simple&nbsp;: on lui donne un dossier où stocker les articles (typiquement <code>~/Papers</code>) et un masque de renommage pour renommer les fichiers PDFs. Quand on veut ajouter un fichier PDF à sa collection, on lui dit de le faire (<code>bmc import fichier.pdf</code> ou <code>bmc download URL</code>) et il s'occupe de tout&nbsp;:</p>
73
+<ul>
74
+<li>Il va récupérer le fichier PDF ou djvu, si besoin</li>
75
+<li>Il va chercher et extraire le code DOI (pour les articles) ou ISBN (pour les livres) dans le fichier</li>
76
+<li>Grâce à ce code, il va automatiquement récupérer les données bibliographiques associées, qu'il va stocker au format <code>bibtex</code>, pour être facilement réutilisé avec <code>LaTeX</code>.</li>
77
+<li>Finalement, il va stocker le fichier à importer dans le répertoire d'import et ajouter les données bibliographiques à un fichier d'index (<code>index.bib</code>).</li>
78
+</ul>
79
+<p>Comme ça, tout se fait tout seul sans qu'on y pense. Il peut utiliser d'éventuels proxy (y compris SOCKS) pour récupérer les articles (si vous travaillez chez vous mais que votre institution vous fournit un proxy pour télécharger des articles par exemple). Il peut aussi chercher les nouvelles versions disponibles pour les articles ajoutés (typiquement sur <a href="http://arxiv.org/">arxiv</a>, un dépôt d'articles en <a href="http://pablo.rauzy.name/openaccess/introduction.html#libre-acces">open-access</a>). Il peut aussi comparer l'état actuel de votre index et de votre répertoire de stockage, pour identifier d'éventuels problèmes (articles non ajoutés par le script ou articles mal supprimés). On peut aussi ajouter un tag sur chaque fichier, qui se retrouvera alors classé dans un sous-répertoire, pour organiser ses articles par projet.</p>
80
+<p>Lorsque vous voulez citer un article, il vous suffit de demander à BMC l'entrée Bibtex correspondante (<code>bmc export ARTICLE</code>).</p>
81
+<p>Comme il utilise des technos établies (citations Bibtex pour l'index + stockage en fichiers), il n'y a aucun risque de perdre ses données si le script n'est plus maintenu, ou n'est plus compatible. Tout sera toujours accessible, comme ce que vous auriez fait à la main. Et vous pouvez vous passer du script et aller vous-même chercher dans l'index l'entrée qui vous convient.</p>
82
+<p>Enfin, j'espère ajouter prochainement de nouvelles fonctionnalités, selon ce qui est le plus demandé&nbsp;: recherche dans la base de données (qui est d'ores et déjà possible en faisant une recherche dans le fichier d'index, recherche de doublons, recherche de version publiée pour les articles en open-access, …). N'hésitez pas à me faire des retours&nbsp;! </p>
83
+		<footer><p class="date">Le 02/01/2015 à 18:05</p>
84
+		<p class="tags">Tags : <a href="//phyks.me/tags/Phyks.html">Phyks</a></p></footer>
85
+	</div>
86
+</article>
87
+            </div>
88
+            <footer id="rss">
89
+                <p><a href="//phyks.me/rss.xml"><img src="//phyks.me/img/rss.png" alt="RSS"/></a></p>
90
+            </footer>
91
+        </div>
92
+    </body>
93
+</html>

+ 3
- 3
blog/archives.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (12)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (12)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (32)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (28)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (4)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (28)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (8)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (64)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (66)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (16)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/2014/08/sortez_vos_emails.html">Sortez vos emails, c'est pas sale&nbsp;!</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/01/bmc.html">Gestion d'articles scientifiques avec BMC</a></li><li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>
@@ -43,7 +43,7 @@
43 43
                 </div>
44 44
 
45 45
                 <div id="articles">
46
-<article><div class="article"><h1 class="article_title">Archives</h1><ul><li><a href="//phyks.me/2014">2014</a></li><ul><li><a href="//phyks.me/2014/11">Novembre</a></li><li><a href="//phyks.me/2014/10">Octobre</a></li><li><a href="//phyks.me/2014/08">Août</a></li><li><a href="//phyks.me/2014/07">Juillet</a></li><li><a href="//phyks.me/2014/04">Avril</a></li><li><a href="//phyks.me/2014/03">Mars</a></li><li><a href="//phyks.me/2014/02">Février</a></li></ul><li><a href="//phyks.me/2013">2013</a></li><ul><li><a href="//phyks.me/2013/12">Décembre</a></li><li><a href="//phyks.me/2013/11">Novembre</a></li></ul></ul></div></article>            </div>
46
+<article><div class="article"><h1 class="article_title">Archives</h1><ul><li><a href="//phyks.me/2015">2015</a></li><ul><li><a href="//phyks.me/2015/01">Janvier</a></li></ul><li><a href="//phyks.me/2014">2014</a></li><ul><li><a href="//phyks.me/2014/11">Novembre</a></li><li><a href="//phyks.me/2014/10">Octobre</a></li><li><a href="//phyks.me/2014/08">Août</a></li><li><a href="//phyks.me/2014/07">Juillet</a></li><li><a href="//phyks.me/2014/04">Avril</a></li><li><a href="//phyks.me/2014/03">Mars</a></li><li><a href="//phyks.me/2014/02">Février</a></li></ul><li><a href="//phyks.me/2013">2013</a></li><ul><li><a href="//phyks.me/2013/12">Décembre</a></li><li><a href="//phyks.me/2013/11">Novembre</a></li></ul></ul></div></article>            </div>
47 47
             <footer id="rss">
48 48
                 <p><a href="//phyks.me/rss.xml"><img src="//phyks.me/img/rss.png" alt="RSS"/></a></p>
49 49
             </footer>

+ 43
- 25
blog/index.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (12)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (12)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (32)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (28)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (4)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (28)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (8)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (64)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (66)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (16)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/2014/08/sortez_vos_emails.html">Sortez vos emails, c'est pas sale&nbsp;!</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/01/bmc.html">Gestion d'articles scientifiques avec BMC</a></li><li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>
@@ -45,6 +45,47 @@
45 45
                 <div id="articles">
46 46
 <article>
47 47
 	<aside>
48
+		<p class="day">02</p>
49
+		<p class="month">Janvier</p>
50
+	</aside>
51
+	<div class="article">
52
+		<header><h1 class="article_title"><a href="//phyks.me/2015/01/bmc.html">Gestion d'articles scientifiques avec BMC</a></h1></header>
53
+		<!-- 
54
+    @author=Phyks
55
+    @date=02012015-1805
56
+    @title=Gestion d'articles scientifiques avec BMC
57
+    @tags=Phyks
58
+-->
59
+
60
+<p>Lorsqu'on fait de la recherche scientifique (ou de la veille), on est très vite amener à stocker de très nombreux articles en PDFs. On ne s'en sert pas forcément à tous les coups, mais il est essentiel de pouvoir les retrouver et s'y référer simplement. De même, de plus en plus d'ouvrages sont disponibles en formats numériques, et il est également utile de les stocker pour pouvoir les retrouver et les citer facilement. Bref, il faut un moyen simple de&nbsp;:</p>
61
+<ul>
62
+<li>Stocker des fichiers PDF et DJVU.</li>
63
+<li>Les retrouver facilement.</li>
64
+<li>Exporter des citations dans un format correct, pour pouvoir les citer au besoin (BibTeX etc.).</li>
65
+</ul>
66
+<p>Actuellement, je connais deux méthodes&nbsp;:</p>
67
+<ol>
68
+<li>Utiliser un logiciel tout-en-un de gestion bibliographique comme le leader du secteur, <a href="http://www.mendeley.com/">Mendeley</a>, propriétaire, qui permet d'importer ses PDFs sans y réfléchir. Il s'occupe de tout trier, de récupérer les informations dans les bases de données en ligne (auteurs, titre, revue, etc.), ce qui nécessiteraient une recherche dans le PDF voire de l'OCR autrement. On peut annoter ses documents, pour se rappeler qui est quoi, et il peut générer automatiquement les citations qui vont bien, dans le format voulu, quand on écrit un article ou un rapport. C'est top, mais c'est propriétaire et payant pour certaines fonctions avancées. Une grande partie du monde de la recherche l'utilise, mais c'est pas parfait quand même. Et c'est lourd et très (trop) complet, en cherchant à faire un réseau social autour de la recherche. Son concurrent open-source, <a href="http://zotero.org/">Zotero</a> est aussi lourd, si ce n'est plus, peu ergonomique, et pas très performant. Bref, ce n'est pas une solution idéale. </li>
69
+<li>De l'autre côté, de nombreux chercheurs ont juste un dossier <code>~/Papers</code> et mettent tous leurs PDFs en vrac dedans. Certains tiennent un index, avec plus ou moins de succès, ou renomment les fichiers (et il faut alors garder toujours le même masque si on ne veut pas s'y perdre). C'est léger, fonctionnel, mais pas pratique. Trop contraignant à la longue. Et lorsqu'on rédige un document, on ne peut pas avoir facilement les données nécessaires pour citer l'article et on passe alors des heures sur les sites de revues pour trouver lesdites citations.</li>
70
+</ol>
71
+<p>Du coup, j'ai écrit un petit script sans prétention en Python qui s'occupe de toutes les étapes chronophages et insupportables de la deuxième solution&nbsp;: <a href="https://github.com/Phyks/BMC">BMC</a>.</p>
72
+<p>Le principe est très simple&nbsp;: on lui donne un dossier où stocker les articles (typiquement <code>~/Papers</code>) et un masque de renommage pour renommer les fichiers PDFs. Quand on veut ajouter un fichier PDF à sa collection, on lui dit de le faire (<code>bmc import fichier.pdf</code> ou <code>bmc download URL</code>) et il s'occupe de tout&nbsp;:</p>
73
+<ul>
74
+<li>Il va récupérer le fichier PDF ou djvu, si besoin</li>
75
+<li>Il va chercher et extraire le code DOI (pour les articles) ou ISBN (pour les livres) dans le fichier</li>
76
+<li>Grâce à ce code, il va automatiquement récupérer les données bibliographiques associées, qu'il va stocker au format <code>bibtex</code>, pour être facilement réutilisé avec <code>LaTeX</code>.</li>
77
+<li>Finalement, il va stocker le fichier à importer dans le répertoire d'import et ajouter les données bibliographiques à un fichier d'index (<code>index.bib</code>).</li>
78
+</ul>
79
+<p>Comme ça, tout se fait tout seul sans qu'on y pense. Il peut utiliser d'éventuels proxy (y compris SOCKS) pour récupérer les articles (si vous travaillez chez vous mais que votre institution vous fournit un proxy pour télécharger des articles par exemple). Il peut aussi chercher les nouvelles versions disponibles pour les articles ajoutés (typiquement sur <a href="http://arxiv.org/">arxiv</a>, un dépôt d'articles en <a href="http://pablo.rauzy.name/openaccess/introduction.html#libre-acces">open-access</a>). Il peut aussi comparer l'état actuel de votre index et de votre répertoire de stockage, pour identifier d'éventuels problèmes (articles non ajoutés par le script ou articles mal supprimés). On peut aussi ajouter un tag sur chaque fichier, qui se retrouvera alors classé dans un sous-répertoire, pour organiser ses articles par projet.</p>
80
+<p>Lorsque vous voulez citer un article, il vous suffit de demander à BMC l'entrée Bibtex correspondante (<code>bmc export ARTICLE</code>).</p>
81
+<p>Comme il utilise des technos établies (citations Bibtex pour l'index + stockage en fichiers), il n'y a aucun risque de perdre ses données si le script n'est plus maintenu, ou n'est plus compatible. Tout sera toujours accessible, comme ce que vous auriez fait à la main. Et vous pouvez vous passer du script et aller vous-même chercher dans l'index l'entrée qui vous convient.</p>
82
+<p>Enfin, j'espère ajouter prochainement de nouvelles fonctionnalités, selon ce qui est le plus demandé&nbsp;: recherche dans la base de données (qui est d'ores et déjà possible en faisant une recherche dans le fichier d'index, recherche de doublons, recherche de version publiée pour les articles en open-access, …). N'hésitez pas à me faire des retours&nbsp;! </p>
83
+		<footer><p class="date">Le 02/01/2015 à 18:05</p>
84
+		<p class="tags">Tags : <a href="//phyks.me/tags/Phyks.html">Phyks</a></p></footer>
85
+	</div>
86
+</article>
87
+<article>
88
+	<aside>
48 89
 		<p class="day">09</p>
49 90
 		<p class="month">Novembre</p>
50 91
 	</aside>
@@ -1217,29 +1258,6 @@ modèle d'accessibilité…</p>
1217 1258
 		<p class="tags">Tags : <a href="//phyks.me/tags/Smartphone.html">Smartphone</a></p></footer>
1218 1259
 	</div>
1219 1260
 </article>
1220
-<article>
1221
-	<aside>
1222
-		<p class="day">12</p>
1223
-		<p class="month">Avril</p>
1224
-	</aside>
1225
-	<div class="article">
1226
-		<header><h1 class="article_title"><a href="//phyks.me/2014/04/out.html">Interruptions possibles de service dans les prochains jours</a></h1></header>
1227
-		<!--
1228
-	@author=Phyks
1229
-	@date=12042014-1630
1230
-	@title=Interruptions possibles de service dans les prochains jours
1231
-	@tags=Phyks
1232
--->
1233
-<p>Je vais changer mon serveur kimsufi que j'ai depuis 1 an, pour un nouveau de la gamme 2013, largement plus puissant pour le même prix. Du coup, je vais tout transférer sur la nouvelle machine (mufasa.phyks.me) dans les prochains jours, et, me connaissant, je vais sûrement rater un truc :)</p>
1234
-
1235
-<p>Du coup, il se peut que vous rencontriez quelques difficultés à accéder à mon site dans les prochains jours. J'éditerai cet article quand tout sera migré.</p>
1236
-
1237
-<p>Update (13/04, 17h33) : Migration terminée. Tout s'est bien passé en fait, et je ne crois pas avoir eu d'interruption de service (à part <a href="http://git.phyks.me">git.phyks.me</a> pendant quelques heures).</p>
1238
-
1239
-		<footer><p class="date">Le 12/04/2014 à 16:30</p>
1240
-		<p class="tags">Tags : <a href="//phyks.me/tags/Phyks.html">Phyks</a></p></footer>
1241
-	</div>
1242
-</article>
1243 1261
 <p class="archives"><a href="//phyks.me/archives.html">Archives</a></p>            </div>
1244 1262
             <footer id="rss">
1245 1263
                 <p><a href="//phyks.me/rss.xml"><img src="//phyks.me/img/rss.png" alt="RSS"/></a></p>

+ 44
- 24
blog/rss.xml View File

@@ -7,7 +7,50 @@
7 7
 		<language>fr</language>
8 8
 		<copyright>CC BY</copyright>
9 9
 		<webMaster>webmaster@phyks.me (Phyks)</webMaster>
10
-		<lastBuildDate>Fri, 02 Jan 2015 15:49:16 -0000</lastBuildDate>
10
+		<lastBuildDate>Fri, 02 Jan 2015 16:35:28 -0000</lastBuildDate>
11
+		<item>
12
+			<title>Gestion d'articles scientifiques avec BMC</title>
13
+			<link>http://phyks.me/2015/01/bmc.html</link>
14
+			<guid isPermaLink="true">http://phyks.me/2015/01/bmc.html</guid>
15
+			<description>Lorsqu'on fait de la recherche scientifique (ou de la veille), on est très vite amener à stocker de très nombreux articles en PDF…</description>
16
+			<content:encoded><![CDATA[<div class="article">
17
+<header></header>
18
+<!-- 
19
+    @author=Phyks
20
+    @date=02012015-1805
21
+    @title=Gestion d'articles scientifiques avec BMC
22
+    @tags=Phyks
23
+-->
24
+<p>Lorsqu'on fait de la recherche scientifique (ou de la veille), on est très vite amener à stocker de très nombreux articles en PDFs. On ne s'en sert pas forcément à tous les coups, mais il est essentiel de pouvoir les retrouver et s'y référer simplement. De même, de plus en plus d'ouvrages sont disponibles en formats numériques, et il est également utile de les stocker pour pouvoir les retrouver et les citer facilement. Bref, il faut un moyen simple de :</p>
25
+<ul>
26
+<li>Stocker des fichiers PDF et DJVU.</li>
27
+<li>Les retrouver facilement.</li>
28
+<li>Exporter des citations dans un format correct, pour pouvoir les citer au besoin (BibTeX etc.).</li>
29
+</ul>
30
+<p>Actuellement, je connais deux méthodes :</p>
31
+<ol>
32
+<li>Utiliser un logiciel tout-en-un de gestion bibliographique comme le leader du secteur, <a href="http://www.mendeley.com/">Mendeley</a>, propriétaire, qui permet d'importer ses PDFs sans y réfléchir. Il s'occupe de tout trier, de récupérer les informations dans les bases de données en ligne (auteurs, titre, revue, etc.), ce qui nécessiteraient une recherche dans le PDF voire de l'OCR autrement. On peut annoter ses documents, pour se rappeler qui est quoi, et il peut générer automatiquement les citations qui vont bien, dans le format voulu, quand on écrit un article ou un rapport. C'est top, mais c'est propriétaire et payant pour certaines fonctions avancées. Une grande partie du monde de la recherche l'utilise, mais c'est pas parfait quand même. Et c'est lourd et très (trop) complet, en cherchant à faire un réseau social autour de la recherche. Son concurrent open-source, <a href="http://zotero.org/">Zotero</a> est aussi lourd, si ce n'est plus, peu ergonomique, et pas très performant. Bref, ce n'est pas une solution idéale. </li>
33
+<li>De l'autre côté, de nombreux chercheurs ont juste un dossier <code>~/Papers</code> et mettent tous leurs PDFs en vrac dedans. Certains tiennent un index, avec plus ou moins de succès, ou renomment les fichiers (et il faut alors garder toujours le même masque si on ne veut pas s'y perdre). C'est léger, fonctionnel, mais pas pratique. Trop contraignant à la longue. Et lorsqu'on rédige un document, on ne peut pas avoir facilement les données nécessaires pour citer l'article et on passe alors des heures sur les sites de revues pour trouver lesdites citations.</li>
34
+</ol>
35
+<p>Du coup, j'ai écrit un petit script sans prétention en Python qui s'occupe de toutes les étapes chronophages et insupportables de la deuxième solution : <a href="https://github.com/Phyks/BMC">BMC</a>.</p>
36
+<p>Le principe est très simple : on lui donne un dossier où stocker les articles (typiquement <code>~/Papers</code>) et un masque de renommage pour renommer les fichiers PDFs. Quand on veut ajouter un fichier PDF à sa collection, on lui dit de le faire (<code>bmc import fichier.pdf</code> ou <code>bmc download URL</code>) et il s'occupe de tout :</p>
37
+<ul>
38
+<li>Il va récupérer le fichier PDF ou djvu, si besoin</li>
39
+<li>Il va chercher et extraire le code DOI (pour les articles) ou ISBN (pour les livres) dans le fichier</li>
40
+<li>Grâce à ce code, il va automatiquement récupérer les données bibliographiques associées, qu'il va stocker au format <code>bibtex</code>, pour être facilement réutilisé avec <code>LaTeX</code>.</li>
41
+<li>Finalement, il va stocker le fichier à importer dans le répertoire d'import et ajouter les données bibliographiques à un fichier d'index (<code>index.bib</code>).</li>
42
+</ul>
43
+<p>Comme ça, tout se fait tout seul sans qu'on y pense. Il peut utiliser d'éventuels proxy (y compris SOCKS) pour récupérer les articles (si vous travaillez chez vous mais que votre institution vous fournit un proxy pour télécharger des articles par exemple). Il peut aussi chercher les nouvelles versions disponibles pour les articles ajoutés (typiquement sur <a href="http://arxiv.org/">arxiv</a>, un dépôt d'articles en <a href="http://pablo.rauzy.name/openaccess/introduction.html#libre-acces">open-access</a>). Il peut aussi comparer l'état actuel de votre index et de votre répertoire de stockage, pour identifier d'éventuels problèmes (articles non ajoutés par le script ou articles mal supprimés). On peut aussi ajouter un tag sur chaque fichier, qui se retrouvera alors classé dans un sous-répertoire, pour organiser ses articles par projet.</p>
44
+<p>Lorsque vous voulez citer un article, il vous suffit de demander à BMC l'entrée Bibtex correspondante (<code>bmc export ARTICLE</code>).</p>
45
+<p>Comme il utilise des technos établies (citations Bibtex pour l'index + stockage en fichiers), il n'y a aucun risque de perdre ses données si le script n'est plus maintenu, ou n'est plus compatible. Tout sera toujours accessible, comme ce que vous auriez fait à la main. Et vous pouvez vous passer du script et aller vous-même chercher dans l'index l'entrée qui vous convient.</p>
46
+<p>Enfin, j'espère ajouter prochainement de nouvelles fonctionnalités, selon ce qui est le plus demandé : recherche dans la base de données (qui est d'ores et déjà possible en faisant une recherche dans le fichier d'index, recherche de doublons, recherche de version publiée pour les articles en open-access, …). N'hésitez pas à me faire des retours ! </p>
47
+<footer>
48
+<p class="tags">Tags : <a href="http://phyks.me/tags/Phyks.html">Phyks</a></p></footer>
49
+</div>]]></content:encoded>
50
+			<pubDate>Fri, 02 Jan 2015 16:05:00 -0000</pubDate>
51
+			<category>Phyks</category>
52
+			<author>webmaster@phyks.me (Phyks)</author>
53
+		</item>
11 54
 		<item>
12 55
 			<title>Getting ipv6 to work with a Kimsufi server</title>
13 56
 			<link>http://phyks.me/2014/11/ipv6_kimsufi.html</link>
@@ -1025,28 +1068,5 @@ modèle d'accessibilité…</p>
1025 1068
 			<category>Smartphone</category>
1026 1069
 			<author>webmaster@phyks.me (Phyks)</author>
1027 1070
 		</item>
1028
-		<item>
1029
-			<title>Interruptions possibles de service dans les prochains jours</title>
1030
-			<link>http://phyks.me/2014/04/out.html</link>
1031
-			<guid isPermaLink="true">http://phyks.me/2014/04/out.html</guid>
1032
-			<description>Je vais changer mon serveur kimsufi que j'ai depuis 1 an, pour un nouveau de la gamme 2013, largement plus puissant pour le même pri…</description>
1033
-			<content:encoded><![CDATA[<div class="article">
1034
-<header></header>
1035
-<!--
1036
-	@author=Phyks
1037
-	@date=12042014-1630
1038
-	@title=Interruptions possibles de service dans les prochains jours
1039
-	@tags=Phyks
1040
--->
1041
-<p>Je vais changer mon serveur kimsufi que j'ai depuis 1 an, pour un nouveau de la gamme 2013, largement plus puissant pour le même prix. Du coup, je vais tout transférer sur la nouvelle machine (mufasa.phyks.me) dans les prochains jours, et, me connaissant, je vais sûrement rater un truc :)</p>
1042
-<p>Du coup, il se peut que vous rencontriez quelques difficultés à accéder à mon site dans les prochains jours. J'éditerai cet article quand tout sera migré.</p>
1043
-<p>Update (13/04, 17h33) : Migration terminée. Tout s'est bien passé en fait, et je ne crois pas avoir eu d'interruption de service (à part <a href="http://git.phyks.me">git.phyks.me</a> pendant quelques heures).</p>
1044
-<footer>
1045
-<p class="tags">Tags : <a href="http://phyks.me/tags/Phyks.html">Phyks</a></p></footer>
1046
-</div>]]></content:encoded>
1047
-			<pubDate>Sat, 12 Apr 2014 13:30:00 -0000</pubDate>
1048
-			<category>Phyks</category>
1049
-			<author>webmaster@phyks.me (Phyks)</author>
1050
-		</item>
1051 1071
 	</channel>
1052 1072
 </rss>

+ 534
- 2
blog/tags/Arch.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (12)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (12)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (32)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (28)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (4)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (28)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (8)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (64)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (66)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (16)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/2014/08/sortez_vos_emails.html">Sortez vos emails, c'est pas sale&nbsp;!</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/01/bmc.html">Gestion d'articles scientifiques avec BMC</a></li><li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>
@@ -173,6 +173,402 @@
173 173
 </article>
174 174
 <article>
175 175
 	<aside>
176
+		<p class="day">26</p>
177
+		<p class="month">Octobre</p>
178
+	</aside>
179
+	<div class="article">
180
+		<header><h1 class="article_title"><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></h1></header>
181
+		<!-- 
182
+    @author=Phyks
183
+    @date=26102014-2240
184
+    @title=Balancer le son de ses hauts-parleurs sur le réseau
185
+    @tags=Arch, Linux
186
+-->
187
+
188
+<p>J'ai un PC fixe et un portable, et je cherchais un moyen de balancer le son de mon portable sur les hauts-parleurs de bonne qualité branchés sur mon PC fixe, quand je suis sur le même réseau. Et en fait, c'est très simple à faire avec PulseAudio.</p>
189
+<h2>La première méthode, simple, qui marche partout</h2>
190
+<p>S'assurer d'avoir <code>pulseaudio</code> configuré sur ses ordinateurs, et installer <code>paprefs</code>. Lancer <code>paprefs</code> et dans l'onglet <code>Multicast/RTP</code>, cocher la case <em>receiver</em> sur le PC sur lequel les hauts-parleurs sont branchés, et la case <em>sender</em> sur l'autre.</p>
191
+<p>Sur le PC qui envoie la musique (<em>sender</em>), vous avez le choix entre trois options, dont seulement deux nous intéressent&nbsp;: <code>Send audio from local speakers</code> (qui enverra tout le son local sur les hauts-parleurs distants) et <code>Create separate audio device for Multicast/RTP</code> (qui vous rajoutera une sortie son <code>Multicast/RTP</code> que vous pourrez utiliser ou non, par application).</p>
192
+<p>Si vous n'avez pas de pare-feu et que vous êtes bien sur le même réseau, c'est tout ce que vous avez à faire&nbsp;!</p>
193
+<p>Par contre, vous remarquerez vite que la qualité n'est pas top (au moins chez moi)&nbsp;: un bon FLAC d'un côté ressort vite comme un MP3 64k d'il y a quelques années de l'autre côté…</p>
194
+<h2>La deuxième solution, encore plus simple, qui marche mieux&nbsp;!</h2>
195
+<p>La deuxième solution consiste à utiliser les deux premiers onglets de <code>paprefs</code>&nbsp;: <code>Network Access</code> et <code>Network Server</code>.</p>
196
+<p>Sur le PC qui envoie le son, cochez la case <code>Make discoverable PulseAudio network sound devices available locally</code> dans le premier onglet.</p>
197
+<p>Sur le PC qui reçoit le son, cochez les trois premières cases (<code>Activer l'accès réseau aux périphériques de son locaux</code>).</p>
198
+<p>Et c'est tout =) Vous aurez désormais les sorties audio de votre autre PC qui apparaîtront chez vous (par exemple dans <code>Audio -&gt; Périphérique audio</code> dans VLC). Et pour le coup, plus aucun problème de qualité à signaler&nbsp;! Testé en filaire, et aucun problème de débit&nbsp;/ lag&nbsp;/ son à signaler pour l'instant.</p>
199
+<p>À noter cependant que chez moi, j'ai deux sorties qui sont disponibles, une appelée <code>Audio interne…</code> et l'autre appelée <code>Simultaneous output to Audio interne…</code>. Si j'utilise la deuxième, j'ai le son qui saute, et c'est inutilisable, mais la première fonctionne nickel.</p>
200
+<h2>Références</h2>
201
+<p>Principalement un seul lien&nbsp;: <a href="http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/#index2h3">http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/#index2h3</a>. Mais ils font tout à coup de ligne de commande et c'est en fait bien plus simple de passer par paprefs. </p>
202
+		<footer><p class="date">Le 26/10/2014 à 22:40</p>
203
+		<p class="tags">Tags : <a href="//phyks.me/tags/Arch.html">Arch</a>, <a href="//phyks.me/tags/Linux.html">Linux</a></p></footer>
204
+	</div>
205
+</article>
206
+<article>
207
+	<aside>
208
+		<p class="day">26</p>
209
+		<p class="month">Octobre</p>
210
+	</aside>
211
+	<div class="article">
212
+		<header><h1 class="article_title"><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></h1></header>
213
+		<!-- 
214
+    @author=Phyks
215
+    @date=26102014-2240
216
+    @title=Balancer le son de ses hauts-parleurs sur le réseau
217
+    @tags=Arch, Linux
218
+-->
219
+
220
+<p>J'ai un PC fixe et un portable, et je cherchais un moyen de balancer le son de mon portable sur les hauts-parleurs de bonne qualité branchés sur mon PC fixe, quand je suis sur le même réseau. Et en fait, c'est très simple à faire avec PulseAudio.</p>
221
+<h2>La première méthode, simple, qui marche partout</h2>
222
+<p>S'assurer d'avoir <code>pulseaudio</code> configuré sur ses ordinateurs, et installer <code>paprefs</code>. Lancer <code>paprefs</code> et dans l'onglet <code>Multicast/RTP</code>, cocher la case <em>receiver</em> sur le PC sur lequel les hauts-parleurs sont branchés, et la case <em>sender</em> sur l'autre.</p>
223
+<p>Sur le PC qui envoie la musique (<em>sender</em>), vous avez le choix entre trois options, dont seulement deux nous intéressent&nbsp;: <code>Send audio from local speakers</code> (qui enverra tout le son local sur les hauts-parleurs distants) et <code>Create separate audio device for Multicast/RTP</code> (qui vous rajoutera une sortie son <code>Multicast/RTP</code> que vous pourrez utiliser ou non, par application).</p>
224
+<p>Si vous n'avez pas de pare-feu et que vous êtes bien sur le même réseau, c'est tout ce que vous avez à faire&nbsp;!</p>
225
+<p>Par contre, vous remarquerez vite que la qualité n'est pas top (au moins chez moi)&nbsp;: un bon FLAC d'un côté ressort vite comme un MP3 64k d'il y a quelques années de l'autre côté…</p>
226
+<h2>La deuxième solution, encore plus simple, qui marche mieux&nbsp;!</h2>
227
+<p>La deuxième solution consiste à utiliser les deux premiers onglets de <code>paprefs</code>&nbsp;: <code>Network Access</code> et <code>Network Server</code>.</p>
228
+<p>Sur le PC qui envoie le son, cochez la case <code>Make discoverable PulseAudio network sound devices available locally</code> dans le premier onglet.</p>
229
+<p>Sur le PC qui reçoit le son, cochez les trois premières cases (<code>Activer l'accès réseau aux périphériques de son locaux</code>).</p>
230
+<p>Et c'est tout =) Vous aurez désormais les sorties audio de votre autre PC qui apparaîtront chez vous (par exemple dans <code>Audio -&gt; Périphérique audio</code> dans VLC). Et pour le coup, plus aucun problème de qualité à signaler&nbsp;! Testé en filaire, et aucun problème de débit&nbsp;/ lag&nbsp;/ son à signaler pour l'instant.</p>
231
+<p>À noter cependant que chez moi, j'ai deux sorties qui sont disponibles, une appelée <code>Audio interne…</code> et l'autre appelée <code>Simultaneous output to Audio interne…</code>. Si j'utilise la deuxième, j'ai le son qui saute, et c'est inutilisable, mais la première fonctionne nickel.</p>
232
+<h2>Références</h2>
233
+<p>Principalement un seul lien&nbsp;: <a href="http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/#index2h3">http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/#index2h3</a>. Mais ils font tout à coup de ligne de commande et c'est en fait bien plus simple de passer par paprefs. </p>
234
+		<footer><p class="date">Le 26/10/2014 à 22:40</p>
235
+		<p class="tags">Tags : <a href="//phyks.me/tags/Arch.html">Arch</a>, <a href="//phyks.me/tags/Linux.html">Linux</a></p></footer>
236
+	</div>
237
+</article>
238
+<article>
239
+	<aside>
240
+		<p class="day">26</p>
241
+		<p class="month">Octobre</p>
242
+	</aside>
243
+	<div class="article">
244
+		<header><h1 class="article_title"><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></h1></header>
245
+		<!-- 
246
+    @author=Phyks
247
+    @date=26102014-2240
248
+    @title=Balancer le son de ses hauts-parleurs sur le réseau
249
+    @tags=Arch, Linux
250
+-->
251
+
252
+<p>J'ai un PC fixe et un portable, et je cherchais un moyen de balancer le son de mon portable sur les hauts-parleurs de bonne qualité branchés sur mon PC fixe, quand je suis sur le même réseau. Et en fait, c'est très simple à faire avec PulseAudio.</p>
253
+<h2>La première méthode, simple, qui marche partout</h2>
254
+<p>S'assurer d'avoir <code>pulseaudio</code> configuré sur ses ordinateurs, et installer <code>paprefs</code>. Lancer <code>paprefs</code> et dans l'onglet <code>Multicast/RTP</code>, cocher la case <em>receiver</em> sur le PC sur lequel les hauts-parleurs sont branchés, et la case <em>sender</em> sur l'autre.</p>
255
+<p>Sur le PC qui envoie la musique (<em>sender</em>), vous avez le choix entre trois options, dont seulement deux nous intéressent&nbsp;: <code>Send audio from local speakers</code> (qui enverra tout le son local sur les hauts-parleurs distants) et <code>Create separate audio device for Multicast/RTP</code> (qui vous rajoutera une sortie son <code>Multicast/RTP</code> que vous pourrez utiliser ou non, par application).</p>
256
+<p>Si vous n'avez pas de pare-feu et que vous êtes bien sur le même réseau, c'est tout ce que vous avez à faire&nbsp;!</p>
257
+<p>Par contre, vous remarquerez vite que la qualité n'est pas top (au moins chez moi)&nbsp;: un bon FLAC d'un côté ressort vite comme un MP3 64k d'il y a quelques années de l'autre côté…</p>
258
+<h2>La deuxième solution, encore plus simple, qui marche mieux&nbsp;!</h2>
259
+<p>La deuxième solution consiste à utiliser les deux premiers onglets de <code>paprefs</code>&nbsp;: <code>Network Access</code> et <code>Network Server</code>.</p>
260
+<p>Sur le PC qui envoie le son, cochez la case <code>Make discoverable PulseAudio network sound devices available locally</code> dans le premier onglet.</p>
261
+<p>Sur le PC qui reçoit le son, cochez les trois premières cases (<code>Activer l'accès réseau aux périphériques de son locaux</code>).</p>
262
+<p>Et c'est tout =) Vous aurez désormais les sorties audio de votre autre PC qui apparaîtront chez vous (par exemple dans <code>Audio -&gt; Périphérique audio</code> dans VLC). Et pour le coup, plus aucun problème de qualité à signaler&nbsp;! Testé en filaire, et aucun problème de débit&nbsp;/ lag&nbsp;/ son à signaler pour l'instant.</p>
263
+<p>À noter cependant que chez moi, j'ai deux sorties qui sont disponibles, une appelée <code>Audio interne…</code> et l'autre appelée <code>Simultaneous output to Audio interne…</code>. Si j'utilise la deuxième, j'ai le son qui saute, et c'est inutilisable, mais la première fonctionne nickel.</p>
264
+<h2>Références</h2>
265
+<p>Principalement un seul lien&nbsp;: <a href="http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/#index2h3">http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/#index2h3</a>. Mais ils font tout à coup de ligne de commande et c'est en fait bien plus simple de passer par paprefs. </p>
266
+		<footer><p class="date">Le 26/10/2014 à 22:40</p>
267
+		<p class="tags">Tags : <a href="//phyks.me/tags/Arch.html">Arch</a>, <a href="//phyks.me/tags/Linux.html">Linux</a></p></footer>
268
+	</div>
269
+</article>
270
+<article>
271
+	<aside>
272
+		<p class="day">26</p>
273
+		<p class="month">Octobre</p>
274
+	</aside>
275
+	<div class="article">
276
+		<header><h1 class="article_title"><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></h1></header>
277
+		<!-- 
278
+    @author=Phyks
279
+    @date=26102014-2240
280
+    @title=Balancer le son de ses hauts-parleurs sur le réseau
281
+    @tags=Arch, Linux
282
+-->
283
+
284
+<p>J'ai un PC fixe et un portable, et je cherchais un moyen de balancer le son de mon portable sur les hauts-parleurs de bonne qualité branchés sur mon PC fixe, quand je suis sur le même réseau. Et en fait, c'est très simple à faire avec PulseAudio.</p>
285
+<h2>La première méthode, simple, qui marche partout</h2>
286
+<p>S'assurer d'avoir <code>pulseaudio</code> configuré sur ses ordinateurs, et installer <code>paprefs</code>. Lancer <code>paprefs</code> et dans l'onglet <code>Multicast/RTP</code>, cocher la case <em>receiver</em> sur le PC sur lequel les hauts-parleurs sont branchés, et la case <em>sender</em> sur l'autre.</p>
287
+<p>Sur le PC qui envoie la musique (<em>sender</em>), vous avez le choix entre trois options, dont seulement deux nous intéressent&nbsp;: <code>Send audio from local speakers</code> (qui enverra tout le son local sur les hauts-parleurs distants) et <code>Create separate audio device for Multicast/RTP</code> (qui vous rajoutera une sortie son <code>Multicast/RTP</code> que vous pourrez utiliser ou non, par application).</p>
288
+<p>Si vous n'avez pas de pare-feu et que vous êtes bien sur le même réseau, c'est tout ce que vous avez à faire&nbsp;!</p>
289
+<p>Par contre, vous remarquerez vite que la qualité n'est pas top (au moins chez moi)&nbsp;: un bon FLAC d'un côté ressort vite comme un MP3 64k d'il y a quelques années de l'autre côté…</p>
290
+<h2>La deuxième solution, encore plus simple, qui marche mieux&nbsp;!</h2>
291
+<p>La deuxième solution consiste à utiliser les deux premiers onglets de <code>paprefs</code>&nbsp;: <code>Network Access</code> et <code>Network Server</code>.</p>
292
+<p>Sur le PC qui envoie le son, cochez la case <code>Make discoverable PulseAudio network sound devices available locally</code> dans le premier onglet.</p>
293
+<p>Sur le PC qui reçoit le son, cochez les trois premières cases (<code>Activer l'accès réseau aux périphériques de son locaux</code>).</p>
294
+<p>Et c'est tout =) Vous aurez désormais les sorties audio de votre autre PC qui apparaîtront chez vous (par exemple dans <code>Audio -&gt; Périphérique audio</code> dans VLC). Et pour le coup, plus aucun problème de qualité à signaler&nbsp;! Testé en filaire, et aucun problème de débit&nbsp;/ lag&nbsp;/ son à signaler pour l'instant.</p>
295
+<p>À noter cependant que chez moi, j'ai deux sorties qui sont disponibles, une appelée <code>Audio interne…</code> et l'autre appelée <code>Simultaneous output to Audio interne…</code>. Si j'utilise la deuxième, j'ai le son qui saute, et c'est inutilisable, mais la première fonctionne nickel.</p>
296
+<h2>Références</h2>
297
+<p>Principalement un seul lien&nbsp;: <a href="http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/#index2h3">http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/#index2h3</a>. Mais ils font tout à coup de ligne de commande et c'est en fait bien plus simple de passer par paprefs. </p>
298
+		<footer><p class="date">Le 26/10/2014 à 22:40</p>
299
+		<p class="tags">Tags : <a href="//phyks.me/tags/Arch.html">Arch</a>, <a href="//phyks.me/tags/Linux.html">Linux</a></p></footer>
300
+	</div>
301
+</article>
302
+<article>
303
+	<aside>
304
+		<p class="day">18</p>
305
+		<p class="month">Octobre</p>
306
+	</aside>
307
+	<div class="article">
308
+		<header><h1 class="article_title"><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></h1></header>
309
+		<!-- 
310
+    @author=Phyks
311
+    @date=18102014-2240
312
+    @title=Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet
313
+    @tags=Arch, Dev, Linux
314
+-->
315
+
316
+<p>J'ai un Raspberry Pi et mon portable sous Arch Linux, et je me promène pas mal avec les deux. Mais je n'ai pas toujours de routeur à disposition pour brancher les deux sur le même réseau et travailler facilement. Il est très simple de mettre en place en 5 minutes une configuration me permettant de connecter le Raspberry Pi sur mon portable, et de partager la connexion Internet issue du wifi de mon PC avec le Raspberry Pi. Comme ça, plus de problèmes, je peux bosser sur le Raspberry Pi n'importe où.</p>
317
+<p>C'est parti&nbsp;!</p>
318
+<p><em>Note</em>&nbsp;: J'utilise cette configuration pour développer, et elle n'est donc pas forcément optimale et devrait sûrement être adaptée pour être utilisée en production.</p>
319
+<h2>Installation d'un serveur dhcp sur le portable</h2>
320
+<p>Commençons par installer un serveur dhcp sur le PC avec Arch, pour éviter de devoir saisir une adresse IP fixe sur le Raspberry Pi. Comme ça, on peut utiliser n'importe quelle image sans réfléchir, comme si on avait un routeur qui va bien.</p>
321
+<p>Le plus simple est de suivre <a href="https://wiki.archlinux.org/index.php/Dhcpd">cette page de la documentation</a>.</p>
322
+<ol>
323
+<li>On attribue une adresse IP fixe à l'interface ethernet (ici 192.168.192.1, attention à ce que ça ne rentre pas en conflit avec votre configuration réseau).</li>
324
+</ol>
325
+<pre><code>ip link set up dev enp4s0f2
326
+ip addr add 192.168.192.1/24 dev enp4s0f2
327
+</code></pre>
328
+
329
+<ol>
330
+<li>
331
+<p>Déplacer le fichier <code>/etc/dhcpd.conf</code> fourni par défaut vers <code>/etc/dhcpd.conf.example</code> pour pouvoir le modifier sereinement.</p>
332
+</li>
333
+<li>
334
+<p>Éditer le fichier <code>/etc/dhcpd.conf</code>. À titre indicatif, voici le mien&nbsp;:</p>
335
+</li>
336
+</ol>
337
+<pre><code>option domain-name-servers 8.8.8.8, 8.8.4.4;
338
+
339
+option subnet-mask 255.255.255.0;
340
+option routers 192.168.192.1;
341
+subnet 192.168.192.0 netmask 255.255.255.0 {
342
+    range 192.168.192.10 192.168.192.20;
343
+}
344
+</code></pre>
345
+
346
+<p>Je spécifie d'utiliser les serveurs DNS de Google (qui sont disponibles partout -si vous avez un serveur sur votre ordinateur, vous pouvez le mettre à la place), que le routeur est à l'adresse <code>192.168.192.1</code> et que j'attribue des adresses dans la gamme <code>192.168.192.10-192.168.192.20</code>.</p>
347
+<ol>
348
+<li>Vous pouvez lancer le service dhcpd avec <code>systemctl start dhcpd4</code>. Je préfèrais restreindre l'interface sur laquelle le serveur DHCP tournait, pour ne l'utiliser que sur l'interface ethernet. Pour se faire, il suffit de suivre les instructions « Listening on only one interface - Service file » de la <a href="https://wiki.archlinux.org/index.php/Dhcpd">documentation Arch Linux</a>.</li>
349
+</ol>
350
+<h2>Configuration du pare-feu et du noyau</h2>
351
+<p>Il faut ensuite configurer <code>iptables</code> et le noyau pour rediriger les paquets réseau vers le Raspberry Pi.</p>
352
+<p>Pour ce faire,</p>
353
+<pre><code>iptables -A FORWARD -o wlp3s0 -i enp4s0f2 -s 192.168.192.1/24 -m conntrack --ctstate NEW -j ACCEPT
354
+iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
355
+iptables -A POSTROUTING -t nat -j MASQUERADE
356
+</code></pre>
357
+
358
+<p>et on dit active le <em>forwarding</em> dans le noyau&nbsp;:</p>
359
+<pre><code>echo 1 | tee&nbsp;/proc/sys/net/ipv4/ip_forward
360
+</code></pre>
361
+
362
+<h2>Le script qui va bien</h2>
363
+<p>Une fois le serveur <code>dhcpd</code> configuré, <a href="https://snippet.phyks.me/?snippet=5442cd90a8204">ce script</a> permet de tout démarrer&nbsp;/ arrêter.</p>
364
+<p>Attention, le <em>flush</em> dans la fonction <code>stop</code> peut être trop brutal pour vous. </p>
365
+		<footer><p class="date">Le 18/10/2014 à 22:40</p>
366
+		<p class="tags">Tags : <a href="//phyks.me/tags/Arch.html">Arch</a>, <a href="//phyks.me/tags/Dev.html">Dev</a>, <a href="//phyks.me/tags/Linux.html">Linux</a></p></footer>
367
+	</div>
368
+</article>
369
+<article>
370
+	<aside>
371
+		<p class="day">18</p>
372
+		<p class="month">Octobre</p>
373
+	</aside>
374
+	<div class="article">
375
+		<header><h1 class="article_title"><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></h1></header>
376
+		<!-- 
377
+    @author=Phyks
378
+    @date=18102014-2240
379
+    @title=Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet
380
+    @tags=Arch, Dev, Linux
381
+-->
382
+
383
+<p>J'ai un Raspberry Pi et mon portable sous Arch Linux, et je me promène pas mal avec les deux. Mais je n'ai pas toujours de routeur à disposition pour brancher les deux sur le même réseau et travailler facilement. Il est très simple de mettre en place en 5 minutes une configuration me permettant de connecter le Raspberry Pi sur mon portable, et de partager la connexion Internet issue du wifi de mon PC avec le Raspberry Pi. Comme ça, plus de problèmes, je peux bosser sur le Raspberry Pi n'importe où.</p>
384
+<p>C'est parti&nbsp;!</p>
385
+<p><em>Note</em>&nbsp;: J'utilise cette configuration pour développer, et elle n'est donc pas forcément optimale et devrait sûrement être adaptée pour être utilisée en production.</p>
386
+<h2>Installation d'un serveur dhcp sur le portable</h2>
387
+<p>Commençons par installer un serveur dhcp sur le PC avec Arch, pour éviter de devoir saisir une adresse IP fixe sur le Raspberry Pi. Comme ça, on peut utiliser n'importe quelle image sans réfléchir, comme si on avait un routeur qui va bien.</p>
388
+<p>Le plus simple est de suivre <a href="https://wiki.archlinux.org/index.php/Dhcpd">cette page de la documentation</a>.</p>
389
+<ol>
390
+<li>On attribue une adresse IP fixe à l'interface ethernet (ici 192.168.192.1, attention à ce que ça ne rentre pas en conflit avec votre configuration réseau).</li>
391
+</ol>
392
+<pre><code>ip link set up dev enp4s0f2
393
+ip addr add 192.168.192.1/24 dev enp4s0f2
394
+</code></pre>
395
+
396
+<ol>
397
+<li>
398
+<p>Déplacer le fichier <code>/etc/dhcpd.conf</code> fourni par défaut vers <code>/etc/dhcpd.conf.example</code> pour pouvoir le modifier sereinement.</p>
399
+</li>
400
+<li>
401
+<p>Éditer le fichier <code>/etc/dhcpd.conf</code>. À titre indicatif, voici le mien&nbsp;:</p>
402
+</li>
403
+</ol>
404
+<pre><code>option domain-name-servers 8.8.8.8, 8.8.4.4;
405
+
406
+option subnet-mask 255.255.255.0;
407
+option routers 192.168.192.1;
408
+subnet 192.168.192.0 netmask 255.255.255.0 {
409
+    range 192.168.192.10 192.168.192.20;
410
+}
411
+</code></pre>
412
+
413
+<p>Je spécifie d'utiliser les serveurs DNS de Google (qui sont disponibles partout -si vous avez un serveur sur votre ordinateur, vous pouvez le mettre à la place), que le routeur est à l'adresse <code>192.168.192.1</code> et que j'attribue des adresses dans la gamme <code>192.168.192.10-192.168.192.20</code>.</p>
414
+<ol>
415
+<li>Vous pouvez lancer le service dhcpd avec <code>systemctl start dhcpd4</code>. Je préfèrais restreindre l'interface sur laquelle le serveur DHCP tournait, pour ne l'utiliser que sur l'interface ethernet. Pour se faire, il suffit de suivre les instructions « Listening on only one interface - Service file » de la <a href="https://wiki.archlinux.org/index.php/Dhcpd">documentation Arch Linux</a>.</li>
416
+</ol>
417
+<h2>Configuration du pare-feu et du noyau</h2>
418
+<p>Il faut ensuite configurer <code>iptables</code> et le noyau pour rediriger les paquets réseau vers le Raspberry Pi.</p>
419
+<p>Pour ce faire,</p>
420
+<pre><code>iptables -A FORWARD -o wlp3s0 -i enp4s0f2 -s 192.168.192.1/24 -m conntrack --ctstate NEW -j ACCEPT
421
+iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
422
+iptables -A POSTROUTING -t nat -j MASQUERADE
423
+</code></pre>
424
+
425
+<p>et on dit active le <em>forwarding</em> dans le noyau&nbsp;:</p>
426
+<pre><code>echo 1 | tee&nbsp;/proc/sys/net/ipv4/ip_forward
427
+</code></pre>
428
+
429
+<h2>Le script qui va bien</h2>
430
+<p>Une fois le serveur <code>dhcpd</code> configuré, <a href="https://snippet.phyks.me/?snippet=5442cd90a8204">ce script</a> permet de tout démarrer&nbsp;/ arrêter.</p>
431
+<p>Attention, le <em>flush</em> dans la fonction <code>stop</code> peut être trop brutal pour vous. </p>
432
+		<footer><p class="date">Le 18/10/2014 à 22:40</p>
433
+		<p class="tags">Tags : <a href="//phyks.me/tags/Arch.html">Arch</a>, <a href="//phyks.me/tags/Dev.html">Dev</a>, <a href="//phyks.me/tags/Linux.html">Linux</a></p></footer>
434
+	</div>
435
+</article>
436
+<article>
437
+	<aside>
438
+		<p class="day">18</p>
439
+		<p class="month">Octobre</p>
440
+	</aside>
441
+	<div class="article">
442
+		<header><h1 class="article_title"><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></h1></header>
443
+		<!-- 
444
+    @author=Phyks
445
+    @date=18102014-2240
446
+    @title=Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet
447
+    @tags=Arch, Dev, Linux
448
+-->
449
+
450
+<p>J'ai un Raspberry Pi et mon portable sous Arch Linux, et je me promène pas mal avec les deux. Mais je n'ai pas toujours de routeur à disposition pour brancher les deux sur le même réseau et travailler facilement. Il est très simple de mettre en place en 5 minutes une configuration me permettant de connecter le Raspberry Pi sur mon portable, et de partager la connexion Internet issue du wifi de mon PC avec le Raspberry Pi. Comme ça, plus de problèmes, je peux bosser sur le Raspberry Pi n'importe où.</p>
451
+<p>C'est parti&nbsp;!</p>
452
+<p><em>Note</em>&nbsp;: J'utilise cette configuration pour développer, et elle n'est donc pas forcément optimale et devrait sûrement être adaptée pour être utilisée en production.</p>
453
+<h2>Installation d'un serveur dhcp sur le portable</h2>
454
+<p>Commençons par installer un serveur dhcp sur le PC avec Arch, pour éviter de devoir saisir une adresse IP fixe sur le Raspberry Pi. Comme ça, on peut utiliser n'importe quelle image sans réfléchir, comme si on avait un routeur qui va bien.</p>
455
+<p>Le plus simple est de suivre <a href="https://wiki.archlinux.org/index.php/Dhcpd">cette page de la documentation</a>.</p>
456
+<ol>
457
+<li>On attribue une adresse IP fixe à l'interface ethernet (ici 192.168.192.1, attention à ce que ça ne rentre pas en conflit avec votre configuration réseau).</li>
458
+</ol>
459
+<pre><code>ip link set up dev enp4s0f2
460
+ip addr add 192.168.192.1/24 dev enp4s0f2
461
+</code></pre>
462
+
463
+<ol>
464
+<li>
465
+<p>Déplacer le fichier <code>/etc/dhcpd.conf</code> fourni par défaut vers <code>/etc/dhcpd.conf.example</code> pour pouvoir le modifier sereinement.</p>
466
+</li>
467
+<li>
468
+<p>Éditer le fichier <code>/etc/dhcpd.conf</code>. À titre indicatif, voici le mien&nbsp;:</p>
469
+</li>
470
+</ol>
471
+<pre><code>option domain-name-servers 8.8.8.8, 8.8.4.4;
472
+
473
+option subnet-mask 255.255.255.0;
474
+option routers 192.168.192.1;
475
+subnet 192.168.192.0 netmask 255.255.255.0 {
476
+    range 192.168.192.10 192.168.192.20;
477
+}
478
+</code></pre>
479
+
480
+<p>Je spécifie d'utiliser les serveurs DNS de Google (qui sont disponibles partout -si vous avez un serveur sur votre ordinateur, vous pouvez le mettre à la place), que le routeur est à l'adresse <code>192.168.192.1</code> et que j'attribue des adresses dans la gamme <code>192.168.192.10-192.168.192.20</code>.</p>
481
+<ol>
482
+<li>Vous pouvez lancer le service dhcpd avec <code>systemctl start dhcpd4</code>. Je préfèrais restreindre l'interface sur laquelle le serveur DHCP tournait, pour ne l'utiliser que sur l'interface ethernet. Pour se faire, il suffit de suivre les instructions « Listening on only one interface - Service file » de la <a href="https://wiki.archlinux.org/index.php/Dhcpd">documentation Arch Linux</a>.</li>
483
+</ol>
484
+<h2>Configuration du pare-feu et du noyau</h2>
485
+<p>Il faut ensuite configurer <code>iptables</code> et le noyau pour rediriger les paquets réseau vers le Raspberry Pi.</p>
486
+<p>Pour ce faire,</p>
487
+<pre><code>iptables -A FORWARD -o wlp3s0 -i enp4s0f2 -s 192.168.192.1/24 -m conntrack --ctstate NEW -j ACCEPT
488
+iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
489
+iptables -A POSTROUTING -t nat -j MASQUERADE
490
+</code></pre>
491
+
492
+<p>et on dit active le <em>forwarding</em> dans le noyau&nbsp;:</p>
493
+<pre><code>echo 1 | tee&nbsp;/proc/sys/net/ipv4/ip_forward
494
+</code></pre>
495
+
496
+<h2>Le script qui va bien</h2>
497
+<p>Une fois le serveur <code>dhcpd</code> configuré, <a href="https://snippet.phyks.me/?snippet=5442cd90a8204">ce script</a> permet de tout démarrer&nbsp;/ arrêter.</p>
498
+<p>Attention, le <em>flush</em> dans la fonction <code>stop</code> peut être trop brutal pour vous. </p>
499
+		<footer><p class="date">Le 18/10/2014 à 22:40</p>
500
+		<p class="tags">Tags : <a href="//phyks.me/tags/Arch.html">Arch</a>, <a href="//phyks.me/tags/Dev.html">Dev</a>, <a href="//phyks.me/tags/Linux.html">Linux</a></p></footer>
501
+	</div>
502
+</article>
503
+<article>
504
+	<aside>
505
+		<p class="day">18</p>
506
+		<p class="month">Octobre</p>
507
+	</aside>
508
+	<div class="article">
509
+		<header><h1 class="article_title"><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></h1></header>
510
+		<!-- 
511
+    @author=Phyks
512
+    @date=18102014-2240
513
+    @title=Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet
514
+    @tags=Arch, Dev, Linux
515
+-->
516
+
517
+<p>J'ai un Raspberry Pi et mon portable sous Arch Linux, et je me promène pas mal avec les deux. Mais je n'ai pas toujours de routeur à disposition pour brancher les deux sur le même réseau et travailler facilement. Il est très simple de mettre en place en 5 minutes une configuration me permettant de connecter le Raspberry Pi sur mon portable, et de partager la connexion Internet issue du wifi de mon PC avec le Raspberry Pi. Comme ça, plus de problèmes, je peux bosser sur le Raspberry Pi n'importe où.</p>
518
+<p>C'est parti&nbsp;!</p>
519
+<p><em>Note</em>&nbsp;: J'utilise cette configuration pour développer, et elle n'est donc pas forcément optimale et devrait sûrement être adaptée pour être utilisée en production.</p>
520
+<h2>Installation d'un serveur dhcp sur le portable</h2>
521
+<p>Commençons par installer un serveur dhcp sur le PC avec Arch, pour éviter de devoir saisir une adresse IP fixe sur le Raspberry Pi. Comme ça, on peut utiliser n'importe quelle image sans réfléchir, comme si on avait un routeur qui va bien.</p>
522
+<p>Le plus simple est de suivre <a href="https://wiki.archlinux.org/index.php/Dhcpd">cette page de la documentation</a>.</p>
523
+<ol>
524
+<li>On attribue une adresse IP fixe à l'interface ethernet (ici 192.168.192.1, attention à ce que ça ne rentre pas en conflit avec votre configuration réseau).</li>
525
+</ol>
526
+<pre><code>ip link set up dev enp4s0f2
527
+ip addr add 192.168.192.1/24 dev enp4s0f2
528
+</code></pre>
529
+
530
+<ol>
531
+<li>
532
+<p>Déplacer le fichier <code>/etc/dhcpd.conf</code> fourni par défaut vers <code>/etc/dhcpd.conf.example</code> pour pouvoir le modifier sereinement.</p>
533
+</li>
534
+<li>
535
+<p>Éditer le fichier <code>/etc/dhcpd.conf</code>. À titre indicatif, voici le mien&nbsp;:</p>
536
+</li>
537
+</ol>
538
+<pre><code>option domain-name-servers 8.8.8.8, 8.8.4.4;
539
+
540
+option subnet-mask 255.255.255.0;
541
+option routers 192.168.192.1;
542
+subnet 192.168.192.0 netmask 255.255.255.0 {
543
+    range 192.168.192.10 192.168.192.20;
544
+}
545
+</code></pre>
546
+
547
+<p>Je spécifie d'utiliser les serveurs DNS de Google (qui sont disponibles partout -si vous avez un serveur sur votre ordinateur, vous pouvez le mettre à la place), que le routeur est à l'adresse <code>192.168.192.1</code> et que j'attribue des adresses dans la gamme <code>192.168.192.10-192.168.192.20</code>.</p>
548
+<ol>
549
+<li>Vous pouvez lancer le service dhcpd avec <code>systemctl start dhcpd4</code>. Je préfèrais restreindre l'interface sur laquelle le serveur DHCP tournait, pour ne l'utiliser que sur l'interface ethernet. Pour se faire, il suffit de suivre les instructions « Listening on only one interface - Service file » de la <a href="https://wiki.archlinux.org/index.php/Dhcpd">documentation Arch Linux</a>.</li>
550
+</ol>
551
+<h2>Configuration du pare-feu et du noyau</h2>
552
+<p>Il faut ensuite configurer <code>iptables</code> et le noyau pour rediriger les paquets réseau vers le Raspberry Pi.</p>
553
+<p>Pour ce faire,</p>
554
+<pre><code>iptables -A FORWARD -o wlp3s0 -i enp4s0f2 -s 192.168.192.1/24 -m conntrack --ctstate NEW -j ACCEPT
555
+iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
556
+iptables -A POSTROUTING -t nat -j MASQUERADE
557
+</code></pre>
558
+
559
+<p>et on dit active le <em>forwarding</em> dans le noyau&nbsp;:</p>
560
+<pre><code>echo 1 | tee&nbsp;/proc/sys/net/ipv4/ip_forward
561
+</code></pre>
562
+
563
+<h2>Le script qui va bien</h2>
564
+<p>Une fois le serveur <code>dhcpd</code> configuré, <a href="https://snippet.phyks.me/?snippet=5442cd90a8204">ce script</a> permet de tout démarrer&nbsp;/ arrêter.</p>
565
+<p>Attention, le <em>flush</em> dans la fonction <code>stop</code> peut être trop brutal pour vous. </p>
566
+		<footer><p class="date">Le 18/10/2014 à 22:40</p>
567
+		<p class="tags">Tags : <a href="//phyks.me/tags/Arch.html">Arch</a>, <a href="//phyks.me/tags/Dev.html">Dev</a>, <a href="//phyks.me/tags/Linux.html">Linux</a></p></footer>
568
+	</div>
569
+</article>
570
+<article>
571
+	<aside>
176 572
 		<p class="day">18</p>
177 573
 		<p class="month">Octobre</p>
178 574
 	</aside>
@@ -575,6 +971,142 @@ fi
575 971
 		<p class="tags">Tags : <a href="//phyks.me/tags/Arch.html">Arch</a>, <a href="//phyks.me/tags/Linux.html">Linux</a></p></footer>
576 972
 	</div>
577 973
 </article>
974
+<article>
975
+	<aside>
976
+		<p class="day">17</p>
977
+		<p class="month">Novembre</p>
978
+	</aside>
979
+	<div class="article">
980
+		<header><h1 class="article_title"><a href="//phyks.me/2013/11/cryptdevice_multi.html">Decrypt multiple LUKS containers at boot on Arch</a></h1></header>
981
+		<!--
982
+	@author=Phyks
983
+	@date=17112013-0800
984
+	@title=Decrypt multiple LUKS containers at boot on Arch
985
+	@tags=Arch, Linux
986
+-->
987
+<p>I installed Arch on my laptop with a LVM on LUKS setup. But I've two disks on my laptop (so this means at least two LUKS container) and my LVM install extended over the two disks. So, I needed to unlock two devices at boot to be able to mount my system (which is something the default encrypt hook doesn't support in Arch). Here's a way to proceed in order to achieve unlocking of multiple encrypted devices (presented with 2 devices, but can be used for more).</p>
988
+
989
+<p>First, you need to install the necessary stuff to use cryptsetup and set the encrypt hook to be load (in mkinitcpio.conf) as described in <a href="https://wiki.archlinux.org/index.php/Dm-crypt_with_LUKS#.2Fetc.2Fmkinitcpio.conf">Arch wiki</a>.</p>
990
+
991
+<p>Then, copy the file /usr/lib/initcpio/hooks/encrypt to /usr/lib/initcpio/hooks/encrypt2. Edit this last file and change any occurrence of cryptdevice and cryptkey by cryptdevice2 and cryptkey2. Also change the line</p>
992
+<pre>mkdir /ckey</pre>
993
+<p>by</p>
994
+<pre>if [ -d /ckey ]; then
995
+    mkdir /ckey
996
+fi
997
+</pre>
998
+<p>in order to avoid the display of a warning on boot. Load this encrypt2 hook in your mkinitcpio.conf.</p>
999
+
1000
+<p>Finally, edit your command line parameters (in Grub for example), adding the required cryptdevice, cryptkey (for first device) and cryptdevice2, cryptkey2 (for second device).</p>
1001
+
1002
+<p>This is the best solution I've found so far, but it requires to manually update the second hook when updates are available (cryptsetup package, not all updates concern encrypt hook). Another solution was provided by the package cryptsetup-multi but this one is now obsolete and this setup is the one that works best for me.</p>
1003
+
1004
+		<footer><p class="date">Le 17/11/2013 à 08:00</p>
1005
+		<p class="tags">Tags : <a href="//phyks.me/tags/Arch.html">Arch</a>, <a href="//phyks.me/tags/Linux.html">Linux</a></p></footer>
1006
+	</div>
1007
+</article>
1008
+<article>
1009
+	<aside>
1010
+		<p class="day">17</p>
1011
+		<p class="month">Novembre</p>
1012
+	</aside>
1013
+	<div class="article">
1014
+		<header><h1 class="article_title"><a href="//phyks.me/2013/11/cryptdevice_multi.html">Decrypt multiple LUKS containers at boot on Arch</a></h1></header>
1015
+		<!--
1016
+	@author=Phyks
1017
+	@date=17112013-0800
1018
+	@title=Decrypt multiple LUKS containers at boot on Arch
1019
+	@tags=Arch, Linux
1020
+-->
1021
+<p>I installed Arch on my laptop with a LVM on LUKS setup. But I've two disks on my laptop (so this means at least two LUKS container) and my LVM install extended over the two disks. So, I needed to unlock two devices at boot to be able to mount my system (which is something the default encrypt hook doesn't support in Arch). Here's a way to proceed in order to achieve unlocking of multiple encrypted devices (presented with 2 devices, but can be used for more).</p>
1022
+
1023
+<p>First, you need to install the necessary stuff to use cryptsetup and set the encrypt hook to be load (in mkinitcpio.conf) as described in <a href="https://wiki.archlinux.org/index.php/Dm-crypt_with_LUKS#.2Fetc.2Fmkinitcpio.conf">Arch wiki</a>.</p>
1024
+
1025
+<p>Then, copy the file /usr/lib/initcpio/hooks/encrypt to /usr/lib/initcpio/hooks/encrypt2. Edit this last file and change any occurrence of cryptdevice and cryptkey by cryptdevice2 and cryptkey2. Also change the line</p>
1026
+<pre>mkdir /ckey</pre>
1027
+<p>by</p>
1028
+<pre>if [ -d /ckey ]; then
1029
+    mkdir /ckey
1030
+fi
1031
+</pre>
1032
+<p>in order to avoid the display of a warning on boot. Load this encrypt2 hook in your mkinitcpio.conf.</p>
1033
+
1034
+<p>Finally, edit your command line parameters (in Grub for example), adding the required cryptdevice, cryptkey (for first device) and cryptdevice2, cryptkey2 (for second device).</p>
1035
+
1036
+<p>This is the best solution I've found so far, but it requires to manually update the second hook when updates are available (cryptsetup package, not all updates concern encrypt hook). Another solution was provided by the package cryptsetup-multi but this one is now obsolete and this setup is the one that works best for me.</p>
1037
+
1038
+		<footer><p class="date">Le 17/11/2013 à 08:00</p>
1039
+		<p class="tags">Tags : <a href="//phyks.me/tags/Arch.html">Arch</a>, <a href="//phyks.me/tags/Linux.html">Linux</a></p></footer>
1040
+	</div>
1041
+</article>
1042
+<article>
1043
+	<aside>
1044
+		<p class="day">17</p>
1045
+		<p class="month">Novembre</p>
1046
+	</aside>
1047
+	<div class="article">
1048
+		<header><h1 class="article_title"><a href="//phyks.me/2013/11/cryptdevice_multi.html">Decrypt multiple LUKS containers at boot on Arch</a></h1></header>
1049
+		<!--
1050
+	@author=Phyks
1051
+	@date=17112013-0800
1052
+	@title=Decrypt multiple LUKS containers at boot on Arch
1053
+	@tags=Arch, Linux
1054
+-->
1055
+<p>I installed Arch on my laptop with a LVM on LUKS setup. But I've two disks on my laptop (so this means at least two LUKS container) and my LVM install extended over the two disks. So, I needed to unlock two devices at boot to be able to mount my system (which is something the default encrypt hook doesn't support in Arch). Here's a way to proceed in order to achieve unlocking of multiple encrypted devices (presented with 2 devices, but can be used for more).</p>
1056
+
1057
+<p>First, you need to install the necessary stuff to use cryptsetup and set the encrypt hook to be load (in mkinitcpio.conf) as described in <a href="https://wiki.archlinux.org/index.php/Dm-crypt_with_LUKS#.2Fetc.2Fmkinitcpio.conf">Arch wiki</a>.</p>
1058
+
1059
+<p>Then, copy the file /usr/lib/initcpio/hooks/encrypt to /usr/lib/initcpio/hooks/encrypt2. Edit this last file and change any occurrence of cryptdevice and cryptkey by cryptdevice2 and cryptkey2. Also change the line</p>
1060
+<pre>mkdir /ckey</pre>
1061
+<p>by</p>
1062
+<pre>if [ -d /ckey ]; then
1063
+    mkdir /ckey
1064
+fi
1065
+</pre>
1066
+<p>in order to avoid the display of a warning on boot. Load this encrypt2 hook in your mkinitcpio.conf.</p>
1067
+
1068
+<p>Finally, edit your command line parameters (in Grub for example), adding the required cryptdevice, cryptkey (for first device) and cryptdevice2, cryptkey2 (for second device).</p>
1069
+
1070
+<p>This is the best solution I've found so far, but it requires to manually update the second hook when updates are available (cryptsetup package, not all updates concern encrypt hook). Another solution was provided by the package cryptsetup-multi but this one is now obsolete and this setup is the one that works best for me.</p>
1071
+
1072
+		<footer><p class="date">Le 17/11/2013 à 08:00</p>
1073
+		<p class="tags">Tags : <a href="//phyks.me/tags/Arch.html">Arch</a>, <a href="//phyks.me/tags/Linux.html">Linux</a></p></footer>
1074
+	</div>
1075
+</article>
1076
+<article>
1077
+	<aside>
1078
+		<p class="day">17</p>
1079
+		<p class="month">Novembre</p>
1080
+	</aside>
1081
+	<div class="article">
1082
+		<header><h1 class="article_title"><a href="//phyks.me/2013/11/cryptdevice_multi.html">Decrypt multiple LUKS containers at boot on Arch</a></h1></header>
1083
+		<!--
1084
+	@author=Phyks
1085
+	@date=17112013-0800
1086
+	@title=Decrypt multiple LUKS containers at boot on Arch
1087
+	@tags=Arch, Linux
1088
+-->
1089
+<p>I installed Arch on my laptop with a LVM on LUKS setup. But I've two disks on my laptop (so this means at least two LUKS container) and my LVM install extended over the two disks. So, I needed to unlock two devices at boot to be able to mount my system (which is something the default encrypt hook doesn't support in Arch). Here's a way to proceed in order to achieve unlocking of multiple encrypted devices (presented with 2 devices, but can be used for more).</p>
1090
+
1091
+<p>First, you need to install the necessary stuff to use cryptsetup and set the encrypt hook to be load (in mkinitcpio.conf) as described in <a href="https://wiki.archlinux.org/index.php/Dm-crypt_with_LUKS#.2Fetc.2Fmkinitcpio.conf">Arch wiki</a>.</p>
1092
+
1093
+<p>Then, copy the file /usr/lib/initcpio/hooks/encrypt to /usr/lib/initcpio/hooks/encrypt2. Edit this last file and change any occurrence of cryptdevice and cryptkey by cryptdevice2 and cryptkey2. Also change the line</p>
1094
+<pre>mkdir /ckey</pre>
1095
+<p>by</p>
1096
+<pre>if [ -d /ckey ]; then
1097
+    mkdir /ckey
1098
+fi
1099
+</pre>
1100
+<p>in order to avoid the display of a warning on boot. Load this encrypt2 hook in your mkinitcpio.conf.</p>
1101
+
1102
+<p>Finally, edit your command line parameters (in Grub for example), adding the required cryptdevice, cryptkey (for first device) and cryptdevice2, cryptkey2 (for second device).</p>
1103
+
1104
+<p>This is the best solution I've found so far, but it requires to manually update the second hook when updates are available (cryptsetup package, not all updates concern encrypt hook). Another solution was provided by the package cryptsetup-multi but this one is now obsolete and this setup is the one that works best for me.</p>
1105
+
1106
+		<footer><p class="date">Le 17/11/2013 à 08:00</p>
1107
+		<p class="tags">Tags : <a href="//phyks.me/tags/Arch.html">Arch</a>, <a href="//phyks.me/tags/Linux.html">Linux</a></p></footer>
1108
+	</div>
1109
+</article>
578 1110
             </div>
579 1111
             <footer id="rss">
580 1112
                 <p><a href="//phyks.me/rss.xml"><img src="//phyks.me/img/rss.png" alt="RSS"/></a></p>

+ 1178
- 2
blog/tags/Autohébergement.html
File diff suppressed because it is too large
View File


+ 330
- 2
blog/tags/DIY.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (12)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (12)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (32)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (28)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (4)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (28)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (8)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (64)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (66)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (16)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/2014/08/sortez_vos_emails.html">Sortez vos emails, c'est pas sale&nbsp;!</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/01/bmc.html">Gestion d'articles scientifiques avec BMC</a></li><li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>
@@ -198,6 +198,334 @@
198 198
 <article>
199 199
 	<aside>
200 200
 		<p class="day">02</p>
201
+		<p class="month">Juillet</p>
202
+	</aside>
203
+	<div class="article">
204
+		<header><h1 class="article_title"><a href="//phyks.me/2014/07/astuces_arduino.html">Quelques astuces pour Arduino</a></h1></header>
205
+		<!--
206
+	@author=Phyks
207
+	@date=02072014-2215
208
+	@title=Quelques astuces pour Arduino
209
+	@tags=DIY, Électronique
210
+-->
211
+<p>Voici astuces en vrac pour Arduino que j'ai découvertes ces derniers jours, en codant pour <a href="http://citizenwatt.paris/">CitizenWatt</a> et en particulier pour le <a href="https://github.com/CitoyensCapteurs/CitizenWatt-sensor">capteur</a>.</p>
212
+
213
+<h2>Stocker des données en Flash</h2>
214
+
215
+<p>Il peut arriver d'avoir pas mal de données statiques dans un programme et donc d'arriver à court de RAM disponible (2ko sur un ATMega 328p / Arduino Uno). Et quand ça arrive, c'est le drame (typiquement, le Serial se mettait à faire n'importe quoi dans mon cas)…</p>
216
+
217
+<p>Par exemple, à chaque appel de <span class="monospace">Serial.println("Quelque chose");</span>, la chaîne de caractères <span class="monospace">"Quelque chose"</span> est chargée en RAM. Du coup, sur un code assez long, avec pas mal d'affichage verbeux sur la liaison série, on sature vite la RAM.</p>
218
+
219
+<p>Qu'à cela ne tienne, il est possible de stocker la chaîne dans la Flash et de la charger directement depuis la Flash. Avant, c'était compliqué, il fallait utiliser <span class="monospace">PROGMEM</span>, mais depuis la version 1.0 de l'IDE, il suffit d'entourer la chaîne de <span class="monospace">F()</span>, par exemple <span class="monospace">Serial.println(F("Quelque chose"));</span>. <a href="http://playground.arduino.cc/Learning/Memory">Source</a></p>
220
+
221
+<p>Et au passage, <a href="http://playground.arduino.cc/Code/AvailableMemory">un petit bout de code</a> pour savoir combien il reste de RAM disponible.</p>
222
+
223
+
224
+<h2>Les préférences de l'IDE</h2>
225
+
226
+<p>Je n'avais jamais été faire un tour dans les préférences de l'IDE non plus, principalement par flemme. Qu'à cela ne tienne, c'est désormais chose faite, et j'y ai croisé quelques options vraiment vitales.</p>
227
+
228
+<p>En particulier, <span class="monospace">Afficher les résultats détaillés pendant compilation</span> qui permettra d'avoir un <em>output</em> plus verbeux pendant la compilation.</p>
229
+
230
+<p>Mais la vraie révélation de cette soirée, c'est l'option <span class="monospace">Utiliser un éditeur externe</span>. Vous ne supportez plus l'éditeur Arduino et son indentation pourrie, ses fonctionnalités dignes de <span class="monospace">notepad</span> premier du nom et son non affichage des numéros de ligne (à part en bas dans un petit coin, inutilisable au possible pour débugger efficacement), cette option est faite pour vous ! En l'activant, Arduino ne lira plus le fichier. Vous pouvez l'éditer comme vous voulez dans un éditeur externe (Vim &lt;3) et au moment d'<em>uploader</em> le code, l'IDE Arduino ira relire le fichier, le compiler et l'<em>uploader</em>.</p>
231
+
232
+		<footer><p class="date">Le 02/07/2014 à 22:15</p>
233
+		<p class="tags">Tags : <a href="//phyks.me/tags/DIY.html">DIY</a>, <a href="//phyks.me/tags/Électronique.html">Électronique</a></p></footer>
234
+	</div>
235
+</article>
236
+<article>
237
+	<aside>
238
+		<p class="day">02</p>
239
+		<p class="month">Juillet</p>
240
+	</aside>
241
+	<div class="article">
242
+		<header><h1 class="article_title"><a href="//phyks.me/2014/07/astuces_arduino.html">Quelques astuces pour Arduino</a></h1></header>
243
+		<!--
244
+	@author=Phyks
245
+	@date=02072014-2215
246
+	@title=Quelques astuces pour Arduino
247
+	@tags=DIY, Électronique
248
+-->
249
+<p>Voici astuces en vrac pour Arduino que j'ai découvertes ces derniers jours, en codant pour <a href="http://citizenwatt.paris/">CitizenWatt</a> et en particulier pour le <a href="https://github.com/CitoyensCapteurs/CitizenWatt-sensor">capteur</a>.</p>
250
+
251
+<h2>Stocker des données en Flash</h2>
252
+
253
+<p>Il peut arriver d'avoir pas mal de données statiques dans un programme et donc d'arriver à court de RAM disponible (2ko sur un ATMega 328p / Arduino Uno). Et quand ça arrive, c'est le drame (typiquement, le Serial se mettait à faire n'importe quoi dans mon cas)…</p>
254
+
255
+<p>Par exemple, à chaque appel de <span class="monospace">Serial.println("Quelque chose");</span>, la chaîne de caractères <span class="monospace">"Quelque chose"</span> est chargée en RAM. Du coup, sur un code assez long, avec pas mal d'affichage verbeux sur la liaison série, on sature vite la RAM.</p>
256
+
257
+<p>Qu'à cela ne tienne, il est possible de stocker la chaîne dans la Flash et de la charger directement depuis la Flash. Avant, c'était compliqué, il fallait utiliser <span class="monospace">PROGMEM</span>, mais depuis la version 1.0 de l'IDE, il suffit d'entourer la chaîne de <span class="monospace">F()</span>, par exemple <span class="monospace">Serial.println(F("Quelque chose"));</span>. <a href="http://playground.arduino.cc/Learning/Memory">Source</a></p>
258
+
259
+<p>Et au passage, <a href="http://playground.arduino.cc/Code/AvailableMemory">un petit bout de code</a> pour savoir combien il reste de RAM disponible.</p>
260
+
261
+
262
+<h2>Les préférences de l'IDE</h2>
263
+
264
+<p>Je n'avais jamais été faire un tour dans les préférences de l'IDE non plus, principalement par flemme. Qu'à cela ne tienne, c'est désormais chose faite, et j'y ai croisé quelques options vraiment vitales.</p>
265
+
266
+<p>En particulier, <span class="monospace">Afficher les résultats détaillés pendant compilation</span> qui permettra d'avoir un <em>output</em> plus verbeux pendant la compilation.</p>
267
+
268
+<p>Mais la vraie révélation de cette soirée, c'est l'option <span class="monospace">Utiliser un éditeur externe</span>. Vous ne supportez plus l'éditeur Arduino et son indentation pourrie, ses fonctionnalités dignes de <span class="monospace">notepad</span> premier du nom et son non affichage des numéros de ligne (à part en bas dans un petit coin, inutilisable au possible pour débugger efficacement), cette option est faite pour vous ! En l'activant, Arduino ne lira plus le fichier. Vous pouvez l'éditer comme vous voulez dans un éditeur externe (Vim &lt;3) et au moment d'<em>uploader</em> le code, l'IDE Arduino ira relire le fichier, le compiler et l'<em>uploader</em>.</p>
269
+
270
+		<footer><p class="date">Le 02/07/2014 à 22:15</p>
271
+		<p class="tags">Tags : <a href="//phyks.me/tags/DIY.html">DIY</a>, <a href="//phyks.me/tags/Électronique.html">Électronique</a></p></footer>
272
+	</div>
273
+</article>
274
+<article>
275
+	<aside>
276
+		<p class="day">02</p>
277
+		<p class="month">Juillet</p>
278
+	</aside>
279
+	<div class="article">
280
+		<header><h1 class="article_title"><a href="//phyks.me/2014/07/astuces_arduino.html">Quelques astuces pour Arduino</a></h1></header>
281
+		<!--
282
+	@author=Phyks
283
+	@date=02072014-2215
284
+	@title=Quelques astuces pour Arduino
285
+	@tags=DIY, Électronique
286
+-->
287
+<p>Voici astuces en vrac pour Arduino que j'ai découvertes ces derniers jours, en codant pour <a href="http://citizenwatt.paris/">CitizenWatt</a> et en particulier pour le <a href="https://github.com/CitoyensCapteurs/CitizenWatt-sensor">capteur</a>.</p>
288
+
289
+<h2>Stocker des données en Flash</h2>
290
+
291
+<p>Il peut arriver d'avoir pas mal de données statiques dans un programme et donc d'arriver à court de RAM disponible (2ko sur un ATMega 328p / Arduino Uno). Et quand ça arrive, c'est le drame (typiquement, le Serial se mettait à faire n'importe quoi dans mon cas)…</p>
292
+
293
+<p>Par exemple, à chaque appel de <span class="monospace">Serial.println("Quelque chose");</span>, la chaîne de caractères <span class="monospace">"Quelque chose"</span> est chargée en RAM. Du coup, sur un code assez long, avec pas mal d'affichage verbeux sur la liaison série, on sature vite la RAM.</p>
294
+
295
+<p>Qu'à cela ne tienne, il est possible de stocker la chaîne dans la Flash et de la charger directement depuis la Flash. Avant, c'était compliqué, il fallait utiliser <span class="monospace">PROGMEM</span>, mais depuis la version 1.0 de l'IDE, il suffit d'entourer la chaîne de <span class="monospace">F()</span>, par exemple <span class="monospace">Serial.println(F("Quelque chose"));</span>. <a href="http://playground.arduino.cc/Learning/Memory">Source</a></p>
296
+
297
+<p>Et au passage, <a href="http://playground.arduino.cc/Code/AvailableMemory">un petit bout de code</a> pour savoir combien il reste de RAM disponible.</p>
298
+
299
+
300
+<h2>Les préférences de l'IDE</h2>
301
+
302
+<p>Je n'avais jamais été faire un tour dans les préférences de l'IDE non plus, principalement par flemme. Qu'à cela ne tienne, c'est désormais chose faite, et j'y ai croisé quelques options vraiment vitales.</p>
303
+
304
+<p>En particulier, <span class="monospace">Afficher les résultats détaillés pendant compilation</span> qui permettra d'avoir un <em>output</em> plus verbeux pendant la compilation.</p>
305
+
306
+<p>Mais la vraie révélation de cette soirée, c'est l'option <span class="monospace">Utiliser un éditeur externe</span>. Vous ne supportez plus l'éditeur Arduino et son indentation pourrie, ses fonctionnalités dignes de <span class="monospace">notepad</span> premier du nom et son non affichage des numéros de ligne (à part en bas dans un petit coin, inutilisable au possible pour débugger efficacement), cette option est faite pour vous ! En l'activant, Arduino ne lira plus le fichier. Vous pouvez l'éditer comme vous voulez dans un éditeur externe (Vim &lt;3) et au moment d'<em>uploader</em> le code, l'IDE Arduino ira relire le fichier, le compiler et l'<em>uploader</em>.</p>
307
+
308
+		<footer><p class="date">Le 02/07/2014 à 22:15</p>
309
+		<p class="tags">Tags : <a href="//phyks.me/tags/DIY.html">DIY</a>, <a href="//phyks.me/tags/Électronique.html">Électronique</a></p></footer>
310
+	</div>
311
+</article>
312
+<article>
313
+	<aside>
314
+		<p class="day">02</p>
315
+		<p class="month">Juillet</p>
316
+	</aside>
317
+	<div class="article">
318
+		<header><h1 class="article_title"><a href="//phyks.me/2014/07/astuces_arduino.html">Quelques astuces pour Arduino</a></h1></header>
319
+		<!--
320
+	@author=Phyks
321
+	@date=02072014-2215
322
+	@title=Quelques astuces pour Arduino
323
+	@tags=DIY, Électronique
324
+-->
325
+<p>Voici astuces en vrac pour Arduino que j'ai découvertes ces derniers jours, en codant pour <a href="http://citizenwatt.paris/">CitizenWatt</a> et en particulier pour le <a href="https://github.com/CitoyensCapteurs/CitizenWatt-sensor">capteur</a>.</p>
326
+
327
+<h2>Stocker des données en Flash</h2>
328
+
329
+<p>Il peut arriver d'avoir pas mal de données statiques dans un programme et donc d'arriver à court de RAM disponible (2ko sur un ATMega 328p / Arduino Uno). Et quand ça arrive, c'est le drame (typiquement, le Serial se mettait à faire n'importe quoi dans mon cas)…</p>
330
+
331
+<p>Par exemple, à chaque appel de <span class="monospace">Serial.println("Quelque chose");</span>, la chaîne de caractères <span class="monospace">"Quelque chose"</span> est chargée en RAM. Du coup, sur un code assez long, avec pas mal d'affichage verbeux sur la liaison série, on sature vite la RAM.</p>
332
+
333
+<p>Qu'à cela ne tienne, il est possible de stocker la chaîne dans la Flash et de la charger directement depuis la Flash. Avant, c'était compliqué, il fallait utiliser <span class="monospace">PROGMEM</span>, mais depuis la version 1.0 de l'IDE, il suffit d'entourer la chaîne de <span class="monospace">F()</span>, par exemple <span class="monospace">Serial.println(F("Quelque chose"));</span>. <a href="http://playground.arduino.cc/Learning/Memory">Source</a></p>
334
+
335
+<p>Et au passage, <a href="http://playground.arduino.cc/Code/AvailableMemory">un petit bout de code</a> pour savoir combien il reste de RAM disponible.</p>
336
+
337
+
338
+<h2>Les préférences de l'IDE</h2>
339
+
340
+<p>Je n'avais jamais été faire un tour dans les préférences de l'IDE non plus, principalement par flemme. Qu'à cela ne tienne, c'est désormais chose faite, et j'y ai croisé quelques options vraiment vitales.</p>
341
+
342
+<p>En particulier, <span class="monospace">Afficher les résultats détaillés pendant compilation</span> qui permettra d'avoir un <em>output</em> plus verbeux pendant la compilation.</p>
343
+
344
+<p>Mais la vraie révélation de cette soirée, c'est l'option <span class="monospace">Utiliser un éditeur externe</span>. Vous ne supportez plus l'éditeur Arduino et son indentation pourrie, ses fonctionnalités dignes de <span class="monospace">notepad</span> premier du nom et son non affichage des numéros de ligne (à part en bas dans un petit coin, inutilisable au possible pour débugger efficacement), cette option est faite pour vous ! En l'activant, Arduino ne lira plus le fichier. Vous pouvez l'éditer comme vous voulez dans un éditeur externe (Vim &lt;3) et au moment d'<em>uploader</em> le code, l'IDE Arduino ira relire le fichier, le compiler et l'<em>uploader</em>.</p>
345
+
346
+		<footer><p class="date">Le 02/07/2014 à 22:15</p>
347
+		<p class="tags">Tags : <a href="//phyks.me/tags/DIY.html">DIY</a>, <a href="//phyks.me/tags/Électronique.html">Électronique</a></p></footer>
348
+	</div>
349
+</article>
350
+<article>
351
+	<aside>
352
+		<p class="day">02</p>
353
+		<p class="month">Décembre</p>
354
+	</aside>
355
+	<div class="article">
356
+		<header><h1 class="article_title"><a href="//phyks.me/2013/12/bootloader_atmega.html">Graver un <em>bootloader</em> sur ATmega8</a></h1></header>
357
+		<!--
358
+	@author=Phyks
359
+	@date=02122013-1502
360
+	@title=Graver un <em>bootloader</em> sur ATmega8
361
+	@tags=DIY, Électronique
362
+-->
363
+<p>Pour un projet avec mon <em>hacklab</em> <a href="http://hackens.org">hackEns</a> (éclairage de façades avec des LEDs de puissance, dans la même veine que <a href="http://www.youtube.com/watch?v=yRxQgc-OKFg">AllColorsAreBeautiful</a> du CCC, voir <a href="http://hackens.org/projets/ledhill">cette page</a> pour plus d'infos), on a eu besoin de graver 30 <em>bootloaders</em> sur des ATmega8. On n'a pas de programmateur et on le fait donc avec des Arduinos. Comme toujours, il nous a fallu 2h de debug avant de graver le premier :) (mais cette fois, ça a été rentable avec 30 <em>bootloaders</em> gravés d'un coup !).</p>
364
+
365
+<p>Du coup, je fais une petite compil' des liens qui marchent et des trucs importants à vérifier pour ne pas perdre deux heures (les messages d'erreur du soft Arduino étant *tellement* explicites... et il y a 10 méthodes différentes, chacune aboutissant à une erreur différente sur le net).</p>
366
+
367
+<p>Tout d'abord, un bon lien qui marche bien : <a href="http://arduino.cc/en/Tutorial/ArduinoToBreadboard">ArduinoToBreadboard</a> dans la doc Arduino. Les montages sont clairs et ont été testé par moi-même ces derniers jours :).</p>
368
+
369
+<h2>Gravure de <em>bootloader</em></h2>
370
+<p style="text-align: center;">
371
+    <a href="http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png"><img style="max-width: 45%; max-height: 500px;" src="http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png" alt="Montage pour graver le bootloader"/></a> <a href="//phyks.me/2013/12/burn.jpg"><img style="max-width: 45%; max-height: 500px;" src="//phyks.me/2013/12/burn.jpg" alt="Montage pour graver le bootloader, in situ"/></a>
372
+</p>
373
+
374
+<h2>Envoi de programmes</h2>
375
+<p style="text-align: center;">
376
+    <a href="//phyks.me/2013/12/upload.jpg"><img src="//phyks.me/2013/12/upload.jpg" alt="Montage pour l'upload" style="max-width: 45%; max-height: 500px;"/></a> <a href="//phyks.me/2013/12/upload2.jpg"><img style="max-width: 45%; max-height: 500px;" src="//phyks.me/2013/12/upload2.jpg" alt="Montage pour l'upload"/></a>
377
+</p>
378
+
379
+<h2>Notes diverses</h2>
380
+<ul>
381
+    <li>Testé avec un Arduino Uno comme programmateur, sans capacités ni résistances sur les pins de <em>reset</em>. Et ça fonctionne ! Par contre, on a eu des problèmes avec un Arduino Mega, donc on est resté sur l'Uno (sans chercher plus, sûrement un problème de <em>reset</em> automatique).</li>
382
+    <li>Si ça ne marche pas, vérifier que l'ATmega est bien enfoncé dans la <em>breadboard</em> ! C'est stupide, mais on oublie une fois sur deux... :)</li>
383
+    <li>Hyper important ! Sur le montage pour graver le <em>bootloader</em>, la résistance au <em>reset</em> est en <em>pull-up</em> (connectée au 5V) et non en <em>pull-down</em> (connectée au GND). J'ai perdu 1h là-dessus...</li>
384
+    <li>Testé et approuvé avec la dernière version du soft Arduino et du <em>sketch</em> ArduinoISP. Pas besoin d'une vieille version a priori.</li>
385
+    <li>Si ça ne marche toujours pas, bien vérifier le montage, encore et encore :)</li>
386
+    <li>Mieux vaut utiliser le soft Arduino que la ligne de commande avec <samp>avrdude</samp>. En effet, Arduino gère tout seul les <em>fuse bits</em> (utilisation d'un cristal externe, temps de démarrage, protection du <em>bootloader</em>) et c'est donc moins prise de tête. Sinon, pour les calculer, c'est <a href="http://www.engbedded.com/fusecalc/">par ici</a> et <a href="http://treehouseprojects.ca/fusebits/">par ici</a> pour plus d'infos sur l'utilisation d'un quartz externe.</li>
387
+    <li>Lorsque le <em>bootloader</em> est gravé, pour envoyer des programmes facilement, il faut qu'il puisse <em>reset</em> sur serial (sinon, il faut faire un <em>reset</em> manuel à chaque fois). Pour ça, il faut mettre une capacité et une résistance sur le pin de <em>reset</em> (cf schematics des Arduino).</li>
388
+</ul>
389
+
390
+		<footer><p class="date">Le 02/12/2013 à 15:02</p>
391
+		<p class="tags">Tags : <a href="//phyks.me/tags/DIY.html">DIY</a>, <a href="//phyks.me/tags/Électronique.html">Électronique</a></p></footer>
392
+	</div>
393
+</article>
394
+<article>
395
+	<aside>
396
+		<p class="day">02</p>
397
+		<p class="month">Décembre</p>
398
+	</aside>
399
+	<div class="article">
400
+		<header><h1 class="article_title"><a href="//phyks.me/2013/12/bootloader_atmega.html">Graver un <em>bootloader</em> sur ATmega8</a></h1></header>
401
+		<!--
402
+	@author=Phyks
403
+	@date=02122013-1502
404
+	@title=Graver un <em>bootloader</em> sur ATmega8
405
+	@tags=DIY, Électronique
406
+-->
407
+<p>Pour un projet avec mon <em>hacklab</em> <a href="http://hackens.org">hackEns</a> (éclairage de façades avec des LEDs de puissance, dans la même veine que <a href="http://www.youtube.com/watch?v=yRxQgc-OKFg">AllColorsAreBeautiful</a> du CCC, voir <a href="http://hackens.org/projets/ledhill">cette page</a> pour plus d'infos), on a eu besoin de graver 30 <em>bootloaders</em> sur des ATmega8. On n'a pas de programmateur et on le fait donc avec des Arduinos. Comme toujours, il nous a fallu 2h de debug avant de graver le premier :) (mais cette fois, ça a été rentable avec 30 <em>bootloaders</em> gravés d'un coup !).</p>
408
+
409
+<p>Du coup, je fais une petite compil' des liens qui marchent et des trucs importants à vérifier pour ne pas perdre deux heures (les messages d'erreur du soft Arduino étant *tellement* explicites... et il y a 10 méthodes différentes, chacune aboutissant à une erreur différente sur le net).</p>
410
+
411
+<p>Tout d'abord, un bon lien qui marche bien : <a href="http://arduino.cc/en/Tutorial/ArduinoToBreadboard">ArduinoToBreadboard</a> dans la doc Arduino. Les montages sont clairs et ont été testé par moi-même ces derniers jours :).</p>
412
+
413
+<h2>Gravure de <em>bootloader</em></h2>
414
+<p style="text-align: center;">
415
+    <a href="http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png"><img style="max-width: 45%; max-height: 500px;" src="http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png" alt="Montage pour graver le bootloader"/></a> <a href="//phyks.me/2013/12/burn.jpg"><img style="max-width: 45%; max-height: 500px;" src="//phyks.me/2013/12/burn.jpg" alt="Montage pour graver le bootloader, in situ"/></a>
416
+</p>
417
+
418
+<h2>Envoi de programmes</h2>
419
+<p style="text-align: center;">
420
+    <a href="//phyks.me/2013/12/upload.jpg"><img src="//phyks.me/2013/12/upload.jpg" alt="Montage pour l'upload" style="max-width: 45%; max-height: 500px;"/></a> <a href="//phyks.me/2013/12/upload2.jpg"><img style="max-width: 45%; max-height: 500px;" src="//phyks.me/2013/12/upload2.jpg" alt="Montage pour l'upload"/></a>
421
+</p>
422
+
423
+<h2>Notes diverses</h2>
424
+<ul>
425
+    <li>Testé avec un Arduino Uno comme programmateur, sans capacités ni résistances sur les pins de <em>reset</em>. Et ça fonctionne ! Par contre, on a eu des problèmes avec un Arduino Mega, donc on est resté sur l'Uno (sans chercher plus, sûrement un problème de <em>reset</em> automatique).</li>
426
+    <li>Si ça ne marche pas, vérifier que l'ATmega est bien enfoncé dans la <em>breadboard</em> ! C'est stupide, mais on oublie une fois sur deux... :)</li>
427
+    <li>Hyper important ! Sur le montage pour graver le <em>bootloader</em>, la résistance au <em>reset</em> est en <em>pull-up</em> (connectée au 5V) et non en <em>pull-down</em> (connectée au GND). J'ai perdu 1h là-dessus...</li>
428
+    <li>Testé et approuvé avec la dernière version du soft Arduino et du <em>sketch</em> ArduinoISP. Pas besoin d'une vieille version a priori.</li>
429
+    <li>Si ça ne marche toujours pas, bien vérifier le montage, encore et encore :)</li>
430
+    <li>Mieux vaut utiliser le soft Arduino que la ligne de commande avec <samp>avrdude</samp>. En effet, Arduino gère tout seul les <em>fuse bits</em> (utilisation d'un cristal externe, temps de démarrage, protection du <em>bootloader</em>) et c'est donc moins prise de tête. Sinon, pour les calculer, c'est <a href="http://www.engbedded.com/fusecalc/">par ici</a> et <a href="http://treehouseprojects.ca/fusebits/">par ici</a> pour plus d'infos sur l'utilisation d'un quartz externe.</li>
431
+    <li>Lorsque le <em>bootloader</em> est gravé, pour envoyer des programmes facilement, il faut qu'il puisse <em>reset</em> sur serial (sinon, il faut faire un <em>reset</em> manuel à chaque fois). Pour ça, il faut mettre une capacité et une résistance sur le pin de <em>reset</em> (cf schematics des Arduino).</li>
432
+</ul>
433
+
434
+		<footer><p class="date">Le 02/12/2013 à 15:02</p>
435
+		<p class="tags">Tags : <a href="//phyks.me/tags/DIY.html">DIY</a>, <a href="//phyks.me/tags/Électronique.html">Électronique</a></p></footer>
436
+	</div>
437
+</article>
438
+<article>
439
+	<aside>
440
+		<p class="day">02</p>
441
+		<p class="month">Décembre</p>
442
+	</aside>
443
+	<div class="article">
444
+		<header><h1 class="article_title"><a href="//phyks.me/2013/12/bootloader_atmega.html">Graver un <em>bootloader</em> sur ATmega8</a></h1></header>
445
+		<!--
446
+	@author=Phyks
447
+	@date=02122013-1502
448
+	@title=Graver un <em>bootloader</em> sur ATmega8
449
+	@tags=DIY, Électronique
450
+-->
451
+<p>Pour un projet avec mon <em>hacklab</em> <a href="http://hackens.org">hackEns</a> (éclairage de façades avec des LEDs de puissance, dans la même veine que <a href="http://www.youtube.com/watch?v=yRxQgc-OKFg">AllColorsAreBeautiful</a> du CCC, voir <a href="http://hackens.org/projets/ledhill">cette page</a> pour plus d'infos), on a eu besoin de graver 30 <em>bootloaders</em> sur des ATmega8. On n'a pas de programmateur et on le fait donc avec des Arduinos. Comme toujours, il nous a fallu 2h de debug avant de graver le premier :) (mais cette fois, ça a été rentable avec 30 <em>bootloaders</em> gravés d'un coup !).</p>
452
+
453
+<p>Du coup, je fais une petite compil' des liens qui marchent et des trucs importants à vérifier pour ne pas perdre deux heures (les messages d'erreur du soft Arduino étant *tellement* explicites... et il y a 10 méthodes différentes, chacune aboutissant à une erreur différente sur le net).</p>
454
+
455
+<p>Tout d'abord, un bon lien qui marche bien : <a href="http://arduino.cc/en/Tutorial/ArduinoToBreadboard">ArduinoToBreadboard</a> dans la doc Arduino. Les montages sont clairs et ont été testé par moi-même ces derniers jours :).</p>
456
+
457
+<h2>Gravure de <em>bootloader</em></h2>
458
+<p style="text-align: center;">
459
+    <a href="http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png"><img style="max-width: 45%; max-height: 500px;" src="http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png" alt="Montage pour graver le bootloader"/></a> <a href="//phyks.me/2013/12/burn.jpg"><img style="max-width: 45%; max-height: 500px;" src="//phyks.me/2013/12/burn.jpg" alt="Montage pour graver le bootloader, in situ"/></a>
460
+</p>
461
+
462
+<h2>Envoi de programmes</h2>
463
+<p style="text-align: center;">
464
+    <a href="//phyks.me/2013/12/upload.jpg"><img src="//phyks.me/2013/12/upload.jpg" alt="Montage pour l'upload" style="max-width: 45%; max-height: 500px;"/></a> <a href="//phyks.me/2013/12/upload2.jpg"><img style="max-width: 45%; max-height: 500px;" src="//phyks.me/2013/12/upload2.jpg" alt="Montage pour l'upload"/></a>
465
+</p>
466
+
467
+<h2>Notes diverses</h2>
468
+<ul>
469
+    <li>Testé avec un Arduino Uno comme programmateur, sans capacités ni résistances sur les pins de <em>reset</em>. Et ça fonctionne ! Par contre, on a eu des problèmes avec un Arduino Mega, donc on est resté sur l'Uno (sans chercher plus, sûrement un problème de <em>reset</em> automatique).</li>
470
+    <li>Si ça ne marche pas, vérifier que l'ATmega est bien enfoncé dans la <em>breadboard</em> ! C'est stupide, mais on oublie une fois sur deux... :)</li>
471
+    <li>Hyper important ! Sur le montage pour graver le <em>bootloader</em>, la résistance au <em>reset</em> est en <em>pull-up</em> (connectée au 5V) et non en <em>pull-down</em> (connectée au GND). J'ai perdu 1h là-dessus...</li>
472
+    <li>Testé et approuvé avec la dernière version du soft Arduino et du <em>sketch</em> ArduinoISP. Pas besoin d'une vieille version a priori.</li>
473
+    <li>Si ça ne marche toujours pas, bien vérifier le montage, encore et encore :)</li>
474
+    <li>Mieux vaut utiliser le soft Arduino que la ligne de commande avec <samp>avrdude</samp>. En effet, Arduino gère tout seul les <em>fuse bits</em> (utilisation d'un cristal externe, temps de démarrage, protection du <em>bootloader</em>) et c'est donc moins prise de tête. Sinon, pour les calculer, c'est <a href="http://www.engbedded.com/fusecalc/">par ici</a> et <a href="http://treehouseprojects.ca/fusebits/">par ici</a> pour plus d'infos sur l'utilisation d'un quartz externe.</li>
475
+    <li>Lorsque le <em>bootloader</em> est gravé, pour envoyer des programmes facilement, il faut qu'il puisse <em>reset</em> sur serial (sinon, il faut faire un <em>reset</em> manuel à chaque fois). Pour ça, il faut mettre une capacité et une résistance sur le pin de <em>reset</em> (cf schematics des Arduino).</li>
476
+</ul>
477
+
478
+		<footer><p class="date">Le 02/12/2013 à 15:02</p>
479
+		<p class="tags">Tags : <a href="//phyks.me/tags/DIY.html">DIY</a>, <a href="//phyks.me/tags/Électronique.html">Électronique</a></p></footer>
480
+	</div>
481
+</article>
482
+<article>
483
+	<aside>
484
+		<p class="day">02</p>
485
+		<p class="month">Décembre</p>
486
+	</aside>
487
+	<div class="article">
488
+		<header><h1 class="article_title"><a href="//phyks.me/2013/12/bootloader_atmega.html">Graver un <em>bootloader</em> sur ATmega8</a></h1></header>
489
+		<!--
490
+	@author=Phyks
491
+	@date=02122013-1502
492
+	@title=Graver un <em>bootloader</em> sur ATmega8
493
+	@tags=DIY, Électronique
494
+-->
495
+<p>Pour un projet avec mon <em>hacklab</em> <a href="http://hackens.org">hackEns</a> (éclairage de façades avec des LEDs de puissance, dans la même veine que <a href="http://www.youtube.com/watch?v=yRxQgc-OKFg">AllColorsAreBeautiful</a> du CCC, voir <a href="http://hackens.org/projets/ledhill">cette page</a> pour plus d'infos), on a eu besoin de graver 30 <em>bootloaders</em> sur des ATmega8. On n'a pas de programmateur et on le fait donc avec des Arduinos. Comme toujours, il nous a fallu 2h de debug avant de graver le premier :) (mais cette fois, ça a été rentable avec 30 <em>bootloaders</em> gravés d'un coup !).</p>
496
+
497
+<p>Du coup, je fais une petite compil' des liens qui marchent et des trucs importants à vérifier pour ne pas perdre deux heures (les messages d'erreur du soft Arduino étant *tellement* explicites... et il y a 10 méthodes différentes, chacune aboutissant à une erreur différente sur le net).</p>
498
+
499
+<p>Tout d'abord, un bon lien qui marche bien : <a href="http://arduino.cc/en/Tutorial/ArduinoToBreadboard">ArduinoToBreadboard</a> dans la doc Arduino. Les montages sont clairs et ont été testé par moi-même ces derniers jours :).</p>
500
+
501
+<h2>Gravure de <em>bootloader</em></h2>
502
+<p style="text-align: center;">
503
+    <a href="http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png"><img style="max-width: 45%; max-height: 500px;" src="http://arduino.cc/en/uploads/Tutorial/BreadboardAVR.png" alt="Montage pour graver le bootloader"/></a> <a href="//phyks.me/2013/12/burn.jpg"><img style="max-width: 45%; max-height: 500px;" src="//phyks.me/2013/12/burn.jpg" alt="Montage pour graver le bootloader, in situ"/></a>
504
+</p>
505
+
506
+<h2>Envoi de programmes</h2>
507
+<p style="text-align: center;">
508
+    <a href="//phyks.me/2013/12/upload.jpg"><img src="//phyks.me/2013/12/upload.jpg" alt="Montage pour l'upload" style="max-width: 45%; max-height: 500px;"/></a> <a href="//phyks.me/2013/12/upload2.jpg"><img style="max-width: 45%; max-height: 500px;" src="//phyks.me/2013/12/upload2.jpg" alt="Montage pour l'upload"/></a>
509
+</p>
510
+
511
+<h2>Notes diverses</h2>
512
+<ul>
513
+    <li>Testé avec un Arduino Uno comme programmateur, sans capacités ni résistances sur les pins de <em>reset</em>. Et ça fonctionne ! Par contre, on a eu des problèmes avec un Arduino Mega, donc on est resté sur l'Uno (sans chercher plus, sûrement un problème de <em>reset</em> automatique).</li>
514
+    <li>Si ça ne marche pas, vérifier que l'ATmega est bien enfoncé dans la <em>breadboard</em> ! C'est stupide, mais on oublie une fois sur deux... :)</li>
515
+    <li>Hyper important ! Sur le montage pour graver le <em>bootloader</em>, la résistance au <em>reset</em> est en <em>pull-up</em> (connectée au 5V) et non en <em>pull-down</em> (connectée au GND). J'ai perdu 1h là-dessus...</li>
516
+    <li>Testé et approuvé avec la dernière version du soft Arduino et du <em>sketch</em> ArduinoISP. Pas besoin d'une vieille version a priori.</li>
517
+    <li>Si ça ne marche toujours pas, bien vérifier le montage, encore et encore :)</li>
518
+    <li>Mieux vaut utiliser le soft Arduino que la ligne de commande avec <samp>avrdude</samp>. En effet, Arduino gère tout seul les <em>fuse bits</em> (utilisation d'un cristal externe, temps de démarrage, protection du <em>bootloader</em>) et c'est donc moins prise de tête. Sinon, pour les calculer, c'est <a href="http://www.engbedded.com/fusecalc/">par ici</a> et <a href="http://treehouseprojects.ca/fusebits/">par ici</a> pour plus d'infos sur l'utilisation d'un quartz externe.</li>
519
+    <li>Lorsque le <em>bootloader</em> est gravé, pour envoyer des programmes facilement, il faut qu'il puisse <em>reset</em> sur serial (sinon, il faut faire un <em>reset</em> manuel à chaque fois). Pour ça, il faut mettre une capacité et une résistance sur le pin de <em>reset</em> (cf schematics des Arduino).</li>
520
+</ul>
521
+
522
+		<footer><p class="date">Le 02/12/2013 à 15:02</p>
523
+		<p class="tags">Tags : <a href="//phyks.me/tags/DIY.html">DIY</a>, <a href="//phyks.me/tags/Électronique.html">Électronique</a></p></footer>
524
+	</div>
525
+</article>
526
+<article>
527
+	<aside>
528
+		<p class="day">02</p>
201 529
 		<p class="month">Décembre</p>
202 530
 	</aside>
203 531
 	<div class="article">

+ 1915
- 155
blog/tags/Dev.html
File diff suppressed because it is too large
View File


+ 2727
- 475
blog/tags/Libre.html
File diff suppressed because it is too large
View File


+ 1365
- 181
blog/tags/Linux.html
File diff suppressed because it is too large
View File


+ 1342
- 112
blog/tags/Phyks.html
File diff suppressed because it is too large
View File


+ 594
- 2
blog/tags/Smartphone.html View File

@@ -16,12 +16,12 @@
16 16
 
17 17
                     <h2>Catégories</h2>
18 18
                         <nav id="sidebar-tags">
19
-                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (12)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (12)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (32)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (28)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (32)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (4)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (28)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (8)</a> </div>
19
+                            <div class="tag"><a href="//phyks.me/tags/Arch.html">/Arch (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Autohébergement.html">/Autohébergement (24)</a> </div><div class="tag"><a href="//phyks.me/tags/Dev.html">/Dev (64)</a> </div><div class="tag"><a href="//phyks.me/tags/DIY.html">/DIY (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Électronique.html">/Électronique (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Libre.html">/Libre (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Linux.html">/Linux (48)</a> </div><div class="tag"><a href="//phyks.me/tags/Phyks.html">/Phyks (66)</a> </div><div class="tag"><a href="//phyks.me/tags/Smartphone.html">/Smartphone (16)</a> </div><div class="tag"><a href="//phyks.me/tags/Vim.html">/Vim (8)</a> </div><div class="tag"><a href="//phyks.me/tags/Web.html">/Web (56)</a> </div><div class="tag"><a href="//phyks.me/tags/Weechat.html">/Weechat (16)</a> </div>
20 20
                         </nav>
21 21
 
22 22
                     <h2>Derniers articles</h2>
23 23
                         <ul id="sidebar-articles">
24
-                            <li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/2014/08/sortez_vos_emails.html">Sortez vos emails, c'est pas sale&nbsp;!</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
24
+                            <li><a href="//phyks.me/2015/01/bmc.html">Gestion d'articles scientifiques avec BMC</a></li><li><a href="//phyks.me/2014/11/ipv6_kimsufi.html">Getting ipv6 to work with a Kimsufi server</a></li><li><a href="//phyks.me/2014/11/bloomysearch.html">Proof-of-concept: BloomySearch, a (JavaScript) client-side search engine for static websites</a></li><li><a href="//phyks.me/2014/10/pulseaudio_remote.html">Balancer le son de ses hauts-parleurs sur le réseau</a></li><li><a href="//phyks.me/2014/10/dhcp_server.html">Utiliser son PC sous Arch pour connecter un Raspberry Pi à Internet</a></li><li><a href="//phyks.me/archives.html">Archives</a></li>
25 25
                         </ul>
26 26
 
27 27
                     <h2>Liens</h2>
@@ -161,6 +161,598 @@
161 161
 </article>
162 162
 <article>
163 163
 	<aside>
164
+		<p class="day">26</p>
165
+		<p class="month">Avril</p>
166
+	</aside>
167
+	<div class="article">
168
+		<header><h1 class="article_title"><a href="//phyks.me/2014/04/app_transport.html">Utilisons des formats simples et arrêtons la multiplication des applications pour les transports ?</a></h1></header>
169
+		<!--
170
+	@author=Phyks
171
+	@date=26042014-2132
172
+	@title=Utilisons des formats simples et arrêtons la multiplication des applications pour les transports ?
173
+	@tags=Smartphone
174
+-->
175
+<p>Cette dernière semaine, j'ai pris un vol easyjet, un vol airfrance, un train italien et un train français. Cela fait donc 4 billets de transport que j'ai pris sur internet. Si je ne voulais pas les imprimer, je pouvais les utiliser directement sur mon smartphone, à condition d'utiliser l'application associée. Je ne sais pas comment fonctionne trenitalia et airfrance, mais pour la SNCF et easyjet, chacun oblige à installer son application.</p>
176
+
177
+<p>J'ai donc le choix entre imprimer 4 billets inutilement (juste pour avoir un QRCode qui pourrait être facilement scanné sur mon smartphone) ou à devoir installer au moins deux applications : celle d'easyjet et celle de la SNCF.</p>
178
+
179
+<p>Pourtant, ces applications font exactement la même chose que ce que je peux déjà faire sur mon téléphone : elles affichent un QRCode ! J'ai déjà un lecteur de fichiers PDF et la galerie d'images sur mon smartphone, alors, pourquoi devrais-je en installer deux autres ?!</p>
180
+
181
+<p>Bref, il est vraiment dommage que chacun reste dans son coin, avec son application propriétaire, disponible uniquement sur le store officiel (et donc nécessitant un compte Google sur Android) et tout ça pour proposer une fonctionnalité qui existe déjà sur mon téléphone ?! Enfin, aujourd'hui, si tu n'as pas ton application attitrée qui vient encombrer l'écran d'accueil de l'utilisateur lambda, tu n'es rien… Tant pis, qu'on garde ces applications, mais qu'on laisse aussi les gens utiliser un format universel et leur smartphone comme ils l'entendent pour afficher le QRCode nécessaire ! Surtout que l'utilisateur a bien souvent l'e-mail avec la confirmation et le billet en PDF dans ses e-mails.</p>
182
+
183
+<p>P.S. : Peut être que l'utilisation de l'application dédiée n'est pas nécessaire… Officieusement en tout cas. Mais sur le site de la SNCF (et d'easyjet), on ne parle que de deux possibilités : l'impression papier et l'utilisation de l'application dédiée, en spécifiant que le billet n'est pas valide pour toutes les autres utilisations.</p>
184
+
185
+<p>EDIT : Apparemment, pour le contrôle à bord du train, tant qu'on peut présenter le code, éventuellement sur son smartphone, c'est bon. Par contre, ce n'est pas indiqué sur les conditions d'utilisation, et je ne sais pas si c'est officiel…</p>
186
+
187
+		<footer><p class="date">Le 26/04/2014 à 21:32</p>
188
+		<p class="tags">Tags : <a href="//phyks.me/tags/Smartphone.html">Smartphone</a></p></footer>
189
+	</div>
190
+</article>
191
+<article>
192
+	<aside>
193
+		<p class="day">26</p>
194
+		<p class="month">Avril</p>
195
+	</aside>
196
+	<div class="article">
197
+		<header><h1 class="article_title"><a href="//phyks.me/2014/04/app_transport.html">Utilisons des formats simples et arrêtons la multiplication des applications pour les transports ?</a></h1></header>
198
+		<!--
199
+	@author=Phyks
200
+	@date=26042014-2132
201
+	@title=Utilisons des formats simples et arrêtons la multiplication des applications pour les transports ?
202
+	@tags=Smartphone
203
+-->
204
+<p>Cette dernière semaine, j'ai pris un vol easyjet, un vol airfrance, un train italien et un train français. Cela fait donc 4 billets de transport que j'ai pris sur internet. Si je ne voulais pas les imprimer, je pouvais les utiliser directement sur mon smartphone, à condition d'utiliser l'application associée. Je ne sais pas comment fonctionne trenitalia et airfrance, mais pour la SNCF et easyjet, chacun oblige à installer son application.</p>
205
+
206
+<p>J'ai donc le choix entre imprimer 4 billets inutilement (juste pour avoir un QRCode qui pourrait être facilement scanné sur mon smartphone) ou à devoir installer au moins deux applications : celle d'easyjet et celle de la SNCF.</p>
207
+
208
+<p>Pourtant, ces applications font exactement la même chose que ce que je peux déjà faire sur mon téléphone : elles affichent un QRCode ! J'ai déjà un lecteur de fichiers PDF et la galerie d'images sur mon smartphone, alors, pourquoi devrais-je en installer deux autres ?!</p>
209
+
210
+<p>Bref, il est vraiment dommage que chacun reste dans son coin, avec son application propriétaire, disponible uniquement sur le store officiel (et donc nécessitant un compte Google sur Android) et tout ça pour proposer une fonctionnalité qui existe déjà sur mon téléphone ?! Enfin, aujourd'hui, si tu n'as pas ton application attitrée qui vient encombrer l'écran d'accueil de l'utilisateur lambda, tu n'es rien… Tant pis, qu'on garde ces applications, mais qu'on laisse aussi les gens utiliser un format universel et leur smartphone comme ils l'entendent pour afficher le QRCode nécessaire ! Surtout que l'utilisateur a bien souvent l'e-mail avec la confirmation et le billet en PDF dans ses e-mails.</p>
211
+
212
+<p>P.S. : Peut être que l'utilisation de l'application dédiée n'est pas nécessaire… Officieusement en tout cas. Mais sur le site de la SNCF (et d'easyjet), on ne parle que de deux possibilités : l'impression papier et l'utilisation de l'application dédiée, en spécifiant que le billet n'est pas valide pour toutes les autres utilisations.</p>
213
+
214
+<p>EDIT : Apparemment, pour le contrôle à bord du train, tant qu'on peut présenter le code, éventuellement sur son smartphone, c'est bon. Par contre, ce n'est pas indiqué sur les conditions d'utilisation, et je ne sais pas si c'est officiel…</p>
215
+
216
+		<footer><p class="date">Le 26/04/2014 à 21:32</p>
217
+		<p class="tags">Tags : <a href="//phyks.me/tags/Smartphone.html">Smartphone</a></p></footer>
218
+	</div>
219
+</article>
220
+<article>
221
+	<aside>
222
+		<p class="day">26</p>
223
+		<p class="month">Avril</p>
224
+	</aside>
225
+	<div class="article">
226
+		<header><h1 class="article_title"><a href="//phyks.me/2014/04/app_transport.html">Utilisons des formats simples et arrêtons la multiplication des applications pour les transports ?</a></h1></header>
227
+		<!--
228
+	@author=Phyks
229
+	@date=26042014-2132
230
+	@title=Utilisons des formats simples et arrêtons la multiplication des applications pour les transports ?
231
+	@tags=Smartphone
232
+-->
233
+<p>Cette dernière semaine, j'ai pris un vol easyjet, un vol airfrance, un train italien et un train français. Cela fait donc 4 billets de transport que j'ai pris sur internet. Si je ne voulais pas les imprimer, je pouvais les utiliser directement sur mon smartphone, à condition d'utiliser l'application associée. Je ne sais pas comment fonctionne trenitalia et airfrance, mais pour la SNCF et easyjet, chacun oblige à installer son application.</p>
234
+
235
+<p>J'ai donc le choix entre imprimer 4 billets inutilement (juste pour avoir un QRCode qui pourrait être facilement scanné sur mon smartphone) ou à devoir installer au moins deux applications : celle d'easyjet et celle de la SNCF.</p>
236
+
237
+<p>Pourtant, ces applications font exactement la même chose que ce que je peux déjà faire sur mon téléphone : elles affichent un QRCode ! J'ai déjà un lecteur de fichiers PDF et la galerie d'images sur mon smartphone, alors, pourquoi devrais-je en installer deux autres ?!</p>
238
+
239
+<p>Bref, il est vraiment dommage que chacun reste dans son coin, avec son application propriétaire, disponible uniquement sur le store officiel (et donc nécessitant un compte Google sur Android) et tout ça pour proposer une fonctionnalité qui existe déjà sur mon téléphone ?! Enfin, aujourd'hui, si tu n'as pas ton application attitrée qui vient encombrer l'écran d'accueil de l'utilisateur lambda, tu n'es rien… Tant pis, qu'on garde ces applications, mais qu'on laisse aussi les gens utiliser un format universel et leur smartphone comme ils l'entendent pour afficher le QRCode nécessaire ! Surtout que l'utilisateur a bien souvent l'e-mail avec la confirmation et le billet en PDF dans ses e-mails.</p>
240
+
241
+<p>P.S. : Peut être que l'utilisation de l'application dédiée n'est pas nécessaire… Officieusement en tout cas. Mais sur le site de la SNCF (et d'easyjet), on ne parle que de deux possibilités : l'impression papier et l'utilisation de l'application dédiée, en spécifiant que le billet n'est pas valide pour toutes les autres utilisations.</p>
242
+
243
+<p>EDIT : Apparemment, pour le contrôle à bord du train, tant qu'on peut présenter le code, éventuellement sur son smartphone, c'est bon. Par contre, ce n'est pas indiqué sur les conditions d'utilisation, et je ne sais pas si c'est officiel…</p>
244
+
245
+		<footer><p class="date">Le 26/04/2014 à 21:32</p>
246
+		<p class="tags">Tags : <a href="//phyks.me/tags/Smartphone.html">Smartphone</a></p></footer>
247
+	</div>
248
+</article>
249
+<article>
250
+	<aside>
251
+		<p class="day">26</p>
252
+		<p class="month">Avril</p>
253
+	</aside>
254
+	<div class="article">
255
+		<header><h1 class="article_title"><a href="//phyks.me/2014/04/app_transport.html">Utilisons des formats simples et arrêtons la multiplication des applications pour les transports ?</a></h1></header>
256
+		<!--
257
+	@author=Phyks
258
+	@date=26042014-2132
259
+	@title=Utilisons des formats simples et arrêtons la multiplication des applications pour les transports ?
260
+	@tags=Smartphone
261
+-->
262
+<p>Cette dernière semaine, j'ai pris un vol easyjet, un vol airfrance, un train italien et un train français. Cela fait donc 4 billets de transport que j'ai pris sur internet. Si je ne voulais pas les imprimer, je pouvais les utiliser directement sur mon smartphone, à condition d'utiliser l'application associée. Je ne sais pas comment fonctionne trenitalia et airfrance, mais pour la SNCF et easyjet, chacun oblige à installer son application.</p>
263
+
264
+<p>J'ai donc le choix entre imprimer 4 billets inutilement (juste pour avoir un QRCode qui pourrait être facilement scanné sur mon smartphone) ou à devoir installer au moins deux applications : celle d'easyjet et celle de la SNCF.</p>
265
+
266
+<p>Pourtant, ces applications font exactement la même chose que ce que je peux déjà faire sur mon téléphone : elles affichent un QRCode ! J'ai déjà un lecteur de fichiers PDF et la galerie d'images sur mon smartphone, alors, pourquoi devrais-je en installer deux autres ?!</p>
267
+
268
+<p>Bref, il est vraiment dommage que chacun reste dans son coin, avec son application propriétaire, disponible uniquement sur le store officiel (et donc nécessitant un compte Google sur Android) et tout ça pour proposer une fonctionnalité qui existe déjà sur mon téléphone ?! Enfin, aujourd'hui, si tu n'as pas ton application attitrée qui vient encombrer l'écran d'accueil de l'utilisateur lambda, tu n'es rien… Tant pis, qu'on garde ces applications, mais qu'on laisse aussi les gens utiliser un format universel et leur smartphone comme ils l'entendent pour afficher le QRCode nécessaire ! Surtout que l'utilisateur a bien souvent l'e-mail avec la confirmation et le billet en PDF dans ses e-mails.</p>
269
+
270
+<p>P.S. : Peut être que l'utilisation de l'application dédiée n'est pas nécessaire… Officieusement en tout cas. Mais sur le site de la SNCF (et d'easyjet), on ne parle que de deux possibilités : l'impression papier et l'utilisation de l'application dédiée, en spécifiant que le billet n'est pas valide pour toutes les autres utilisations.</p>
271
+
272
+<p>EDIT : Apparemment, pour le contrôle à bord du train, tant qu'on peut présenter le code, éventuellement sur son smartphone, c'est bon. Par contre, ce n'est pas indiqué sur les conditions d'utilisation, et je ne sais pas si c'est officiel…</p>
273
+
274
+		<footer><p class="date">Le 26/04/2014 à 21:32</p>
275
+		<p class="tags">Tags : <a href="//phyks.me/tags/Smartphone.html">Smartphone</a></p></footer>
276
+	</div>
277
+</article>
278
+<article>
279
+	<aside>
280
+		<p class="day">01</p>
281
+		<p class="month">Mars</p>
282
+	</aside>
283
+	<div class="article">
284
+		<header><h1 class="article_title"><a href="//phyks.me/2014/03/fairphone.html">Retour sur mon fairphone</a></h1></header>
285
+		<!--
286
+	@author=Phyks
287
+	@date=01032014-1743
288
+	@title=Retour sur mon fairphone
289
+	@tags=Smartphone
290
+-->
291
+<p>J'ai acheté un <a href="http://fairphone.com/">Fairphone</a> en novembre, et je l'ai reçu il y a quelques semaines maintenant. Je n'ai pas encore eu le temps d'écrire dessus, mais c'est désormais corrigé. Ce Fairphone vient remplacer mon ancien Galaxy S3, qui tournait sous Cyanogen 9, mais qui n'a pas arrêté de me poser des problèmes (problème avec la puce son qui se coupait parfois, présent chez de nombreux utilisateurs apparemment, entre autres).</p>
292
+
293
+<p>Note&nbsp;: Ceci est un petit compte-rendu après quelques semaines d'utilisation. Je mettrai cet article à jour au fur et à mesure, si de nouveaux problèmes apparaissent ou sont, au contraire, résolus.</p>
294
+
295
+<p style="text-align:center;"><a href="//phyks.me/2014/03/fairphone_1.jpg"><img src="//phyks.me/2014/03/fairphone_1.jpg" style="max-width: 45%; max-height: 500px;" alt="Face avant"/></a><a href="//phyks.me/2014/03/fairphone_5.jpg"><img src="//phyks.me/2014/03/fairphone_5.jpg" style="max-width: 45%; max-height: 500px;" alt="Face arrière"/></a></p>
296
+
297
+<h2>Un Fairphone ?</h2>
298
+    <p>Tout d'abord, qu'est-ce que c'est que cette étrange bête ? Fairphone est une initiative d'un groupe de hollandais pour proposer une alternative plus équitable aux smartphones actuels. Le projet a été crowdfundé pendant un peu plus d'un an, et le premier lot de 25 000 Fairphones a été livré en janvier.</p>
299
+
300
+    <p>Ils se sont engagés sur un certain nombre de points, parmi lesquels&nbsp;:</p>
301
+    <ul>
302
+        <li>Transparence, ils communiquent précisément sur ce que contient leur téléphone, sur les coûts et il y a notamment <a href="http://www.fairphone.com/wp-content/uploads/2013/09/Fairphone_Cost_Breakdown_and_Key_Sept2013.pdf">une infographie disponible</a> pour détailler le prix du téléphone.</li>
303
+        <li>Ils ont dans la mesure du possible essayé d'avoir un produit plus équitable que ce qui existe aujourd'hui. En particulier, leurs fournisseurs s'engagent sur un certain nombre de points (conditions de travail dans les usines en Chine, non soutien aux guerillas liées au commerce de métaux précieux en Afrique…). Il n'a pas toujours été possible de faire ce qu'ils espéraient (ils sont par exemple obligés de produire en Chine, même s'ils auraient voulu avoir un produit européen), mais ils ont bien respectés leurs engagements dans l'ensemble.</li>
304
+        <li>Libération des <em>datasheets</em> et des logiciels. C'est là un point très compliqué dans le monde du mobile. En effet, le secteur de la téléphonie mobile est un des secteurs les plus <em>closed source</em> qui existe, et il est très difficile de faire bouger ça. Ils ont essayer de convaincre leurs fournisseurs de diffuser certaines <em>datasheets</em>, mais ce n'est pas facile, et je ne crois pas qu'ils aient beaucoup réussi à faire bouger les choses de ce côté-là. En revanche, leurs logiciels sont open source et ils livrent le Fairphone avec un Android stock, sans applications Google préinstallées, ce qui est un très bon point par rapport aux autres fabricants. Ils ont également dit qu'ils soutiendraient le port de Firefox OS sur le Fairphone si des développeurs voulaient y travailler (mais qu'ils ne pourraient pas l'assurer eux-mêmes).</li>
305
+    </ul>
306
+
307
+    <p>Finalement, on a un smartphone assez similaire au Wiko Cink Five, il me semble, pour 325€, ce qui est certes plus cher, mais n'avance pas les mêmes atouts. Voyons voir ce que vaut le Fairphone après quelques semaines d'utilisation.</p>
308
+
309
+<h2>Ergonomie et design</h2>
310
+    <p>Le Fairphone a un écran de 4"3. Ce n'est pas tant que ça pour un smartphone actuel (on est plus autour de 5" aujourd'hui), mais au moins ça rentre dans une poche. Quand je le compare à mon ancien Galaxy S3, il paraît tout petit. De nombreuses personnes préfèrent avoir un grand écran, mais quitte à avoir des écrans de 5" et plus, autant prendre une tablette. En fait, ces tailles me paraissent un peu bancales, à mi-chemin entre un téléphone et une tablette&nbsp;: pas facile à prendre en main d'une seule main, trop petit pour deux mains, pas pratique dans une poche… Finalement, je suis plutôt favorable à une diagonale plus petite. À titre de comparaison, c'est à peu près la même diagonale d'écran que l'iPhone 5 (4") et il a la même taille à quelques millimètres près.</p>
311
+
312
+    <p>Le design est plutôt soigné et l'appareil est assez joli, avec son liseret blanc et son dos en alu. On notera la présence d'un bouton “Marche/Arrêt” classique au sommet de l'appareil et un bouton de réglage du volume sur le côté. Les trois boutons en façade (Menu / Accueil / Retour) sont en fait des touches tactiles. Elles sont assez jolies, mais on a tendance à les effleurer par inadvertance en tapant des messages. On s'y habitue, mais je préfère clairement avoir des boutons physiques à cet endroit.</p>
313
+
314
+    <p>Pour une fois, le capot arrière s'enlève assez facilement, contrairement à de nombreux smartphones avec lesquels on a peur de briser la fine couche de plastique qui sert de capot arrière. Derrière, on trouve deux logements pour carte SIM (SIM classique, et non micro-SIM, on dirait que la mode des toutes petites SIM est passée ?), l'emplacement de la batterie et un emplacement Micro-SD pour étendre le stockage de 16Go initial.</p>
315
+
316
+    <p>Un point négatif quand même&nbsp;: l'appareil photo est légèrement sortant du téléphone. Du coup, quand le téléphone est posé à plat sur une table, il repose sur l'appareil photo, et sur un des coins, mais il manque un troisième point d'appui au même niveau. Conclusion&nbsp;: il est bancal quand il est posé sur une table. C'est dommage car ce n'est vraiment pas grand chose, mais ça complique grandement son utilisation d'une seule main, en le posant sur une table.</p>
317
+
318
+    <p style="text-align:center;"><a href="//phyks.me/2014/03/fairphone_7.jpg"><img src="//phyks.me/2014/03/fairphone_7.jpg" style="max-width: 45%; max-height: 500px;" alt="Vue de côté"/></a></p>
319
+
320
+<h2>Écran</h2>
321
+    <p>L'écran est de plutôt bonne qualité, avec une bonne résolution (960x540 pixels, pour une densité de 256ppi), similaire au Wiko Cink Peax 2. J'ai eu auparavant un iPhone 4 et un Galaxy S3 et la qualité de l'écran ne me perturbe pas particulièrement (ni en bien, ni en mal), mais mon utilisation n'est peut être pas la plus propice pour juger de la qualité de l'écran ? Je n'ai pas eu l'occasion de le comparer côte à côte avec mon Galaxy (notamment parce qu'avec un écran cassé, le rendu n'aurait pas été à son avantage), donc je ne peux pas en dire beaucoup plus…</p>
322
+
323
+    <p>En parlant d'écran cassé, l'écran a également une vitre "Gorilla Glass" censée être assez résistante. Ceci dit, cela n'a pas empêché la vitre de mon Galaxy de s'exploser à la moindre chute de 10cm avec une coque de protection&nbsp;:/</p>
324
+
325
+    <p>Une remarque quand même&nbsp;: l'écran a tendance à garder pas mal les traces de doigt. Plus que le SGS3 en tout cas je dirais.</p>
326
+
327
+    <p>Un autre point important à noter, pour ne pas être surpris, est la présence d'un réseau de petits points sur l'écran, que l'on voit sous certaines conditions d'éclairage. C'est un peu perturbant au début, car on commence par en voir un, et on pense à un pixel mort. Puis on en voit d'autres, et on finit par se rendre compte qu'ils sont trop bien alignés pour que ce soit un problème. Finalement, on trouve la réponse sur le <a href="https://fairphone.zendesk.com/hc/communities/public/questions/200680167-Touch-screen-grid-visible-">forum de support Fairphone</a>&nbsp;: il s'agit d'une grille pour l'écran tactile, qui est visible sous certaines conditions d'éclairage. Ils ont dû adopter cette technologie à cause d'un brevet sur les autres solutions. Personnellement, je n'y fais pas particulièrement attention et cela ne me dérange pas et on ne le voit que sous certaines conditions bien particulières (donc pas dérangeant pour des vidéos a priori), mais il faut le savoir pour ne pas être surpris.</p>
328
+
329
+<h2>Système</h2>
330
+    <p>Le Fairphone tourne sous une version stock d'Android 4.2.2. Par défaut, aucune application Google n'est installée (libre à vous de les installer au besoin). Personnellement, venant de Cyanogen Mod sur mon Galaxy S3, je suis resté sans applications Google et trouve tout ce dont j'ai besoin sur F-Droid. Les seules applications préinstallées sont&nbsp;:</p>
331
+    <ul>
332
+        <li>Une application pour <a href="http://www.ifixit.com/">iFixIt</a></li>
333
+        <li>Un launcher un peu différent (FairphoneHome)</li>
334
+        <li>Un widget pour couper le téléphone (passage en mode avion) pendant un certain temps à définir ("Profitez d'un moment de tranquillité"), appelé Peace Of Mind.</li>
335
+        <li>Une application pour mettre à jour le système OTA, et profiter des corrections de bug apportées par Fairphone.</li>
336
+    </ul>
337
+
338
+    <p>Tous ces logiciels sont open-source, iFixIt étant disponible sur F-Droid et les autres étant disponibles sur <a href="https://github.com/Kwamecorp/Fairphone">Github</a>. Je vous laisse d'ailleurs aller voir le dépôt Github pour plus d'images de l'interface et des widgets.</p>
339
+
340
+    <p>On a donc un système Android de base, avec une très légère surcouche, le tout étant open-source, ce qui est très rare sur les smartphones actuels. Pas d'autres bloatwares que ceux dans Android d'origine donc.</p>
341
+
342
+    <p>La légère surcouche graphique est très jolie, et va plutôt bien avec le look du Fairphone, à mon avis. Cf <a href="http://lehollandaisvolant.net/?d=2013/10/07/14/09/21-pourquoi-le-flat-design-tel-quil-est-utilise-actuellement-sux">cet article sur le flat design chez le hollandais volant</a>, je trouve que le Fairphone n'en est pas trop victime.</p>
343
+
344
+    <p style="text-align:center;"><a href="//phyks.me/2014/03/fairphone_2.jpg"><img src="//phyks.me/2014/03/fairphone_2.jpg" style="max-width: 45%; max-height: 500px;" alt="Écran"/></a><a href="//phyks.me/2014/03/fairphone_6.jpg"><img src="//phyks.me/2014/03/fairphone_6.jpg" style="max-width: 45%; max-height: 500px;" alt="Batterie"/></a></p>
345
+
346
+    <p>Un des changements apportés par la surcouche graphique est la présence d'un lanceur rapide lorsqu'on touche le bord droit de l'écran (uniquement sur l'écran d'accueil et sur le menu des applications). C'est d'ailleurs grâce à lui qu'on accède à la liste des applications. Il est assez pratique, une fois qu'on s'y est un peu habitué. En effet, au début, on l'appelle souvent sans faire exprès en naviguant dans la liste des applications.</p>
347
+    <p style="text-align:center;"><a href="//phyks.me/2014/03/fairphone_3.jpg"><img src="//phyks.me/2014/03/fairphone_3.jpg" style="max-width: 45%; max-height: 500px;" alt="Homescreen"/></a><a href="//phyks.me/2014/03/fairphone_4.jpg"><img src="//phyks.me/2014/03/fairphone_4.jpg" style="max-width: 45%; max-height: 500px;" alt="Homescreen"/></a></p>
348
+
349
+    <p>P.S.&nbsp;: Parmi les applications de base, on trouve également une application “TODO”, un enregistreur de son, une application pour écouter la radio FM, une application de notes et un gestionnaire de fichier. Me corriger si je me trompe, mais il me semble que ces applications sont intégrées à Android stock.</p>
350
+
351
+<h2>Appareil photo</h2>
352
+    <p>L'appareil photo me semble raisonnable, même si j'avoue ne pas avoir beaucoup de références en la matière. Par contre, l'application n'arrêtait pas de m'afficher le tutoriel. En fait, il suffit de le suivre en entier (ce qui prend environ 30 secondes), et ensuite vous ne le verrez plus. Sinon, vous pouvez aussi installer l'application Camera stock disponible sur f-droid.</p>
353
+
354
+    <p>Pour juger plus en détails de la qualité des photos, je vous laisse regarder les photos disponibles <a href="//phyks.me/2014/03/photos_fairphone/">ici</a> que j'ai prises avec mon fairphone.</p>
355
+
356
+<h2>Quelques problèmes rencontrés</h2>
357
+    <h3>GPS</h3>
358
+        <p>Comme pour de nombreux utilisateurs, le premier fix GPS a été très long à avoir. En fait, je n'ai même pas réussi à l'avoir en intérieur… Mais en activant l'A-GPS, en téléchargeant les données EPO et en faisant un petit tour à pied dehors, le fix GPS est assez rapide (&lt; 5 minutes). Une fois ce premier fix réalisé, mon GPS se fixe quasiment instantanément (&lt; 10 secondes). Voir notamment <a href="http://forum.xda-developers.com/wiki/Fairphone_Fairphone/Guides#How_to_improve_the_GPS_signal">cette page</a> chez xda-developpers et <a href="https://fairphone.zendesk.com/hc/communities/public/questions/200690467--Searching-for-GPS-">ce thread</a> sur le forum fairphone pour plus d'informations.</p>
359
+
360
+    <h3>Gestion des cartes SIM</h3>
361
+        <p>La gestion des cartes SIM diffère un peu de ce que j'avais sur mon Galaxy S3. En particulier, le Fairphone a deux emplacements SIM, et vous affichera donc une notification si vous n'en avez qu'une seule d'insérée. De plus, à chaque sortie du mode avion, votre code PIN vous sera demandé (alors que mon Galaxy S3 ne le demandait qu'une fois par démarrage du téléphone). Enfin, étant chez Free, je suis souvent en itinérance (nationale, sur le réseau Orange). Le Fairphone ne fait aucune différence entre l'itinérance nationale et internationale, et vous aurez donc droit à quelques messages vous prévenant que vous êtes en itinérance sur la carte SIM utilisée et vous demandant de confirmer l'envoi d'un SMS (par exemple). Il est possible de désactiver les confirmations répétées, et il ne restera alors plus qu'une seule alerte à l'envoi d'un SMS à la sortie du mode avion. Il faut également penser à désactiver l'itinérance quand on est à l'étranger du coup, pour éviter les surcoûts.</p>
362
+
363
+        <p>Je n'ai pas encore eu l'occasion de tester le téléphone avec deux SIMs à la fois, mais a priori c'est très classique. On peut spécifier les cartes SIMs par défaut à utiliser, et la carte SIM utilisée apparaît en encart dans chaque SMS, etc. Je devrais pouvoir le tester d'ici un mois je pense, je mettrai à jour l'article en conséquence.</p>
364
+
365
+    <h3>Divers problèmes</h3>
366
+        <ul>
367
+            <li>J'ai eu droit à quelques reboots de l'interface en utilisant Firefox (notamment en utilisant des pages webRTC, qui sont assez lourdes). Rien de bien méchant, et je ne sais pas en fait si cela vient du Fairphone ou de firefox.</li>
368
+            <li>J'ai eu droit une fois à un blocage complet (écran éteint, bouton marche/arrêt sans effet). J'ai du redémarrer le téléphone en restant longtemps appuyé sur le bouton marche/arrêt, mais je ne sais pas exactement ce qu'il s'est passé.</li>
369
+            <li>Quelques bugs de traductions. En particulier, "reboot" n'est pas traduit en "redémarrer", et de temps à autres l'application de SMS m'affiche "Nom d'artiste inconnu" au lieu de l'heure du dernier message.</li>
370
+        </ul>
371
+
372
+<h2>Divers</h2>
373
+    <ul>
374
+        <li>Toutes les spécifications détaillées sont disponibles <a href="http://buy-a-phone-start-a-movement.fairphone.com/en/specs/">ici</a>.</li>
375
+        <li>Le DAS du téléphone est assez faible (0.329 W/kg au niveau de la tête, 0.693 W/kg au niveau du corps).</li>
376
+        <li>Pas de NFC intégré. Je n'ai personnellement eu l'occasion d'utiliser le NFC de mon Galaxy S3 que pour m'amuser à scanner les badges que j'avais dans mon portefeuille, donc ce n'est pas un bien grand mal.</li>
377
+        <li>Pour éviter de multiplier les chargeurs / écouteurs inutiles, le téléphone est vendu seul dans sa boîte. En effet, la plupart des gens ont déjà plusieurs chargeurs et écouteurs chez eux et il est inutile d'en rajouter un qui traînera au fond d'une armoire. Libre à vous d'en prendre un en option au besoin.</li>
378
+    </ul>
379
+
380
+<h2>Conclusion</h2>
381
+    <p>En conclusion, je suis très satisfait de mon Fairphone. Il est certes un peu plus cher que la concurrence, et présente quelques défauts de jeunesse, mais il me paraît tout à fait raisonnable et une bonne alternative aux autres téléphones des grands constructeurs. Par contre, étant édité à peu d'exemplaires, je doute qu'on voit beaucoup d'accessoires dédiés dans les prochains mois (notamment de housses parfaitement adaptées à son <em>form factor</em>). Je ne suis pas doué pour les conclusions, donc je vous laisse conclure tout seul&nbsp;:)</p>
382
+
383
+    <p>Note (car il faut bien un peu de troll)&nbsp;: on se rappellera des défauts des problèmes sur les premiers smartphones (et pas que les premiers en fait) des autres constructeurs, notamment l'absence de 3G sur le premier iPhone, ou encore les <a href="http://www.iphon.fr/post/2009/06/19/L-iPhone-3G-S-peut-aussi-avoir-la-jaunisse">problèmes d'écran jaune sur l'iPhone 3GS</a> ou récemment sur <a href="http://www.macbidouille.com/news/2012/09/22/l-iphone-5-a-un-ecran-plus-jaune?iact=rc&amp;dur=349&amp;page=1&amp;start=0&amp;ndsp=50&amp;ved=0CFcQrQMwAA">l'iPhone 5</a>.</p>
384
+
385
+    <p>Edit&nbsp;: J'ai retrouvé le lien vers l'article sur le site du projet replicant qui parlait de l'open-source et du Fairphone : <a href="http://blog.replicant.us/2013/11/fairphone/">http://blog.replicant.us/2013/11/fairphone/</a>.</p>
386
+
387
+    <p>Edit 2&nbsp;: J'ai oublié de parler de la batterie et de l'autonomie… C'est donc réparé avec ce petit rajout. L'autonomie est plutôt bonne, dans la moyenne des smartphones actuels (en tout cas, sensiblement comparable à celle de mon ancien S3). Je tiens une journée (8h -> 24h) en relevant 5 comptes e-mails en push, en allant sur internet dans le bus (1h) et à quelques occasions dans la journée, et en passant la journée dans une zone pas très bien couverte (je finis la journée avec entre 10% et 30% de batterie selon les jours). Bref, comme d'hab', on tient une journée sans trop de difficulté (sauf utilisation ultra-intensive, mais pour ça, on ne peut pas grand chose) mais il faut quand même recharger tous les soirs. En restreignant un peu mon utilisation, je pense que je pourrais tenir deux jours.</p>
388
+
389
+    <p>Edit 3&nbsp;: Le blocage complet et le reboot de l'interface sont liés et sont un seul et même problème apparemment. Cela arrive aussi avec le contrôle du volume. Je l'ai eu quelques fois depuis que j'ai mon Fairphone, et c'est assez embêtant comme bug. Mais Fairphone est au courant et le problème devrait être corrigé <a href="https://fairphone.zendesk.com/hc/en-us/articles/201804933-When-will-the-new-software-update-1-2-be-available-">dans la prochaine mise à jour</a> qui arrivera d'ici peu. De même pour les problèmes <a href="https://fairphone.zendesk.com/hc/en-us/articles/201852278-National-Roaming-Mostly-Solved-">d'itinérance nationale</a> qui devraient être résolus bientôt. J'ai également depuis peu une deuxième carte SIM et rien à redire sur la gestion des cartes SIM : on peut choisir la SIM par défaut pour chaque action (SMS, Appels, Internet, …) et la gestion des deux cartes est très complète. Quand à l'autonomie, je tiens toujours un peu plus d'une journée avec mon utilisation. Par exemple, ce soir, j'en suis à 15h sur batterie, 5 comptes e-mails en push toute la journée, une couverture réseau assez aléatoire et 2 à 3h sur Internet en 3G et il me reste encore 22% de batterie.</p>
390
+
391
+    <p>Edit 4&nbsp; J'ai envoyé un e-mail pour rapporter les issues remarquées à Fairphone et ils m'ont répondu (avec un peu de retard, mais quand même) qu'ils prenaient note et corrigeraient. Et Fairphone <a href="http://buy-a-phone-start-a-movement.fairphone.com/en/spareparts/">vend des pièces détachées</a> et a mis des guides pour réparer son téléphone.</p>
392
+
393
+		<footer><p class="date">Le 01/03/2014 à 17:43</p>
394
+		<p class="tags">Tags : <a href="//phyks.me/tags/Smartphone.html">Smartphone</a></p></footer>
395
+	</div>
396
+</article>
397
+<article>
398
+	<aside>
399
+		<p class="day">01</p>
400
+		<p class="month">Mars</p>
401
+	</aside>
402
+	<div class="article">
403
+		<header><h1 class="article_title"><a href="//phyks.me/2014/03/fairphone.html">Retour sur mon fairphone</a></h1></header>
404
+		<!--
405
+	@author=Phyks
406
+	@date=01032014-1743
407
+	@title=Retour sur mon fairphone
408
+	@tags=Smartphone
409
+-->
410
+<p>J'ai acheté un <a href="http://fairphone.com/">Fairphone</a> en novembre, et je l'ai reçu il y a quelques semaines maintenant. Je n'ai pas encore eu le temps d'écrire dessus, mais c'est désormais corrigé. Ce Fairphone vient remplacer mon ancien Galaxy S3, qui tournait sous Cyanogen 9, mais qui n'a pas arrêté de me poser des problèmes (problème avec la puce son qui se coupait parfois, présent chez de nombreux utilisateurs apparemment, entre autres).</p>
411
+
412
+<p>Note&nbsp;: Ceci est un petit compte-rendu après quelques semaines d'utilisation. Je mettrai cet article à jour au fur et à mesure, si de nouveaux problèmes apparaissent ou sont, au contraire, résolus.</p>
413
+
414
+<p style="text-align:center;"><a href="//phyks.me/2014/03/fairphone_1.jpg"><img src="//phyks.me/2014/03/fairphone_1.jpg" style="max-width: 45%; max-height: 500px;" alt="Face avant"/></a><a href="//phyks.me/2014/03/fairphone_5.jpg"><img src="//phyks.me/2014/03/fairphone_5.jpg" style="max-width: 45%; max-height: 500px;" alt="Face arrière"/></a></p>
415
+
416
+<h2>Un Fairphone ?</h2>
417
+    <p>Tout d'abord, qu'est-ce que c'est que cette étrange bête ? Fairphone est une initiative d'un groupe de hollandais pour proposer une alternative plus équitable aux smartphones actuels. Le projet a été crowdfundé pendant un peu plus d'un an, et le premier lot de 25 000 Fairphones a été livré en janvier.</p>
418
+
419
+    <p>Ils se sont engagés sur un certain nombre de points, parmi lesquels&nbsp;:</p>
420
+    <ul>
421
+        <li>Transparence, ils communiquent précisément sur ce que contient leur téléphone, sur les coûts et il y a notamment <a href="http://www.fairphone.com/wp-content/uploads/2013/09/Fairphone_Cost_Breakdown_and_Key_Sept2013.pdf">une infographie disponible</a> pour détailler le prix du téléphone.</li>
422
+        <li>Ils ont dans la mesure du possible essayé d'avoir un produit plus équitable que ce qui existe aujourd'hui. En particulier, leurs fournisseurs s'engagent sur un certain nombre de points (conditions de travail dans les usines en Chine, non soutien aux guerillas liées au commerce de métaux précieux en Afrique…). Il n'a pas toujours été possible de faire ce qu'ils espéraient (ils sont par exemple obligés de produire en Chine, même s'ils auraient voulu avoir un produit européen), mais ils ont bien respectés leurs engagements dans l'ensemble.</li>
423
+        <li>Libération des <em>datasheets</em> et des logiciels. C'est là un point très compliqué dans le monde du mobile. En effet, le secteur de la téléphonie mobile est un des secteurs les plus <em>closed source</em> qui existe, et il est très difficile de faire bouger ça. Ils ont essayer de convaincre leurs fournisseurs de diffuser certaines <em>datasheets</em>, mais ce n'est pas facile, et je ne crois pas qu'ils aient beaucoup réussi à faire bouger les choses de ce côté-là. En revanche, leurs logiciels sont open source et ils livrent le Fairphone avec un Android stock, sans applications Google préinstallées, ce qui est un très bon point par rapport aux autres fabricants. Ils ont également dit qu'ils soutiendraient le port de Firefox OS sur le Fairphone si des développeurs voulaient y travailler (mais qu'ils ne pourraient pas l'assurer eux-mêmes).</li>
424
+    </ul>
425
+
426
+    <p>Finalement, on a un smartphone assez similaire au Wiko Cink Five, il me semble, pour 325€, ce qui est certes plus cher, mais n'avance pas les mêmes atouts. Voyons voir ce que vaut le Fairphone après quelques semaines d'utilisation.</p>
427
+
428
+<h2>Ergonomie et design</h2>
429
+    <p>Le Fairphone a un écran de 4"3. Ce n'est pas tant que ça pour un smartphone actuel (on est plus autour de 5" aujourd'hui), mais au moins ça rentre dans une poche. Quand je le compare à mon ancien Galaxy S3, il paraît tout petit. De nombreuses personnes préfèrent avoir un grand écran, mais quitte à avoir des écrans de 5" et plus, autant prendre une tablette. En fait, ces tailles me paraissent un peu bancales, à mi-chemin entre un téléphone et une tablette&nbsp;: pas facile à prendre en main d'une seule main, trop petit pour deux mains, pas pratique dans une poche… Finalement, je suis plutôt favorable à une diagonale plus petite. À titre de comparaison, c'est à peu près la même diagonale d'écran que l'iPhone 5 (4") et il a la même taille à quelques millimètres près.</p>
430
+
431
+    <p>Le design est plutôt soigné et l'appareil est assez joli, avec son liseret blanc et son dos en alu. On notera la présence d'un bouton “Marche/Arrêt” classique au sommet de l'appareil et un bouton de réglage du volume sur le côté. Les trois boutons en façade (Menu / Accueil / Retour) sont en fait des touches tactiles. Elles sont assez jolies, mais on a tendance à les effleurer par inadvertance en tapant des messages. On s'y habitue, mais je préfère clairement avoir des boutons physiques à cet endroit.</p>
432
+
433
+    <p>Pour une fois, le capot arrière s'enlève assez facilement, contrairement à de nombreux smartphones avec lesquels on a peur de briser la fine couche de plastique qui sert de capot arrière. Derrière, on trouve deux logements pour carte SIM (SIM classique, et non micro-SIM, on dirait que la mode des toutes petites SIM est passée ?), l'emplacement de la batterie et un emplacement Micro-SD pour étendre le stockage de 16Go initial.</p>
434
+
435
+    <p>Un point négatif quand même&nbsp;: l'appareil photo est légèrement sortant du téléphone. Du coup, quand le téléphone est posé à plat sur une table, il repose sur l'appareil photo, et sur un des coins, mais il manque un troisième point d'appui au même niveau. Conclusion&nbsp;: il est bancal quand il est posé sur une table. C'est dommage car ce n'est vraiment pas grand chose, mais ça complique grandement son utilisation d'une seule main, en le posant sur une table.</p>
436
+
437
+    <p style="text-align:center;"><a href="//phyks.me/2014/03/fairphone_7.jpg"><img src="//phyks.me/2014/03/fairphone_7.jpg" style="max-width: 45%; max-height: 500px;" alt="Vue de côté"/></a></p>
438
+
439
+<h2>Écran</h2>
440
+    <p>L'écran est de plutôt bonne qualité, avec une bonne résolution (960x540 pixels, pour une densité de 256ppi), similaire au Wiko Cink Peax 2. J'ai eu auparavant un iPhone 4 et un Galaxy S3 et la qualité de l'écran ne me perturbe pas particulièrement (ni en bien, ni en mal), mais mon utilisation n'est peut être pas la plus propice pour juger de la qualité de l'écran ? Je n'ai pas eu l'occasion de le comparer côte à côte avec mon Galaxy (notamment parce qu'avec un écran cassé, le rendu n'aurait pas été à son avantage), donc je ne peux pas en dire beaucoup plus…</p>
441
+
442
+    <p>En parlant d'écran cassé, l'écran a également une vitre "Gorilla Glass" censée être assez résistante. Ceci dit, cela n'a pas empêché la vitre de mon Galaxy de s'exploser à la moindre chute de 10cm avec une coque de protection&nbsp;:/</p>
443
+
444
+    <p>Une remarque quand même&nbsp;: l'écran a tendance à garder pas mal les traces de doigt. Plus que le SGS3 en tout cas je dirais.</p>
445
+
446
+    <p>Un autre point important à noter, pour ne pas être surpris, est la présence d'un réseau de petits points sur l'écran, que l'on voit sous certaines conditions d'éclairage. C'est un peu perturbant au début, car on commence par en voir un, et on pense à un pixel mort. Puis on en voit d'autres, et on finit par se rendre compte qu'ils sont trop bien alignés pour que ce soit un problème. Finalement, on trouve la réponse sur le <a href="https://fairphone.zendesk.com/hc/communities/public/questions/200680167-Touch-screen-grid-visible-">forum de support Fairphone</a>&nbsp;: il s'agit d'une grille pour l'écran tactile, qui est visible sous certaines conditions d'éclairage. Ils ont dû adopter cette technologie à cause d'un brevet sur les autres solutions. Personnellement, je n'y fais pas particulièrement attention et cela ne me dérange pas et on ne le voit que sous certaines conditions bien particulières (donc pas dérangeant pour des vidéos a priori), mais il faut le savoir pour ne pas être surpris.</p>
447
+
448
+<h2>Système</h2>
449
+    <p>Le Fairphone tourne sous une version stock d'Android 4.2.2. Par défaut, aucune application Google n'est installée (libre à vous de les installer au besoin). Personnellement, venant de Cyanogen Mod sur mon Galaxy S3, je suis resté sans applications Google et trouve tout ce dont j'ai besoin sur F-Droid. Les seules applications préinstallées sont&nbsp;:</p>
450
+    <ul>
451
+        <li>Une application pour <a href="http://www.ifixit.com/">iFixIt</a></li>
452
+        <li>Un launcher un peu différent (FairphoneHome)</li>
453
+        <li>Un widget pour couper le téléphone (passage en mode avion) pendant un certain temps à définir ("Profitez d'un moment de tranquillité"), appelé Peace Of Mind.</li>
454
+        <li>Une application pour mettre à jour le système OTA, et profiter des corrections de bug apportées par Fairphone.</li>
455
+    </ul>
456
+
457
+    <p>Tous ces logiciels sont open-source, iFixIt étant disponible sur F-Droid et les autres étant disponibles sur <a href="https://github.com/Kwamecorp/Fairphone">Github</a>. Je vous laisse d'ailleurs aller voir le dépôt Github pour plus d'images de l'interface et des widgets.</p>
458
+
459
+    <p>On a donc un système Android de base, avec une très légère surcouche, le tout étant open-source, ce qui est très rare sur les smartphones actuels. Pas d'autres bloatwares que ceux dans Android d'origine donc.</p>
460
+
461
+    <p>La légère surcouche graphique est très jolie, et va plutôt bien avec le look du Fairphone, à mon avis. Cf <a href="http://lehollandaisvolant.net/?d=2013/10/07/14/09/21-pourquoi-le-flat-design-tel-quil-est-utilise-actuellement-sux">cet article sur le flat design chez le hollandais volant</a>, je trouve que le Fairphone n'en est pas trop victime.</p>
462
+
463
+    <p style="text-align:center;"><a href="//phyks.me/2014/03/fairphone_2.jpg"><img src="//phyks.me/2014/03/fairphone_2.jpg" style="max-width: 45%; max-height: 500px;" alt="Écran"/></a><a href="//phyks.me/2014/03/fairphone_6.jpg"><img src="//phyks.me/2014/03/fairphone_6.jpg" style="max-width: 45%; max-height: 500px;" alt="Batterie"/></a></p>
464
+
465
+    <p>Un des changements apportés par la surcouche graphique est la présence d'un lanceur rapide lorsqu'on touche le bord droit de l'écran (uniquement sur l'écran d'accueil et sur le menu des applications). C'est d'ailleurs grâce à lui qu'on accède à la liste des applications. Il est assez pratique, une fois qu'on s'y est un peu habitué. En effet, au début, on l'appelle souvent sans faire exprès en naviguant dans la liste des applications.</p>
466
+    <p style="text-align:center;"><a href="//phyks.me/2014/03/fairphone_3.jpg"><img src="//phyks.me/2014/03/fairphone_3.jpg" style="max-width: 45%; max-height: 500px;" alt="Homescreen"/></a><a href="//phyks.me/2014/03/fairphone_4.jpg"><img src="//phyks.me/2014/03/fairphone_4.jpg" style="max-width: 45%; max-height: 500px;" alt="Homescreen"/></a></p>
467
+
468
+    <p>P.S.&nbsp;: Parmi les applications de base, on trouve également une application “TODO”, un enregistreur de son, une application pour écouter la radio FM, une application de notes et un gestionnaire de fichier. Me corriger si je me trompe, mais il me semble que ces applications sont intégrées à Android stock.</p>
469
+
470
+<h2>Appareil photo</h2>
471
+    <p>L'appareil photo me semble raisonnable, même si j'avoue ne pas avoir beaucoup de références en la matière. Par contre, l'application n'arrêtait pas de m'afficher le tutoriel. En fait, il suffit de le suivre en entier (ce qui prend environ 30 secondes), et ensuite vous ne le verrez plus. Sinon, vous pouvez aussi installer l'application Camera stock disponible sur f-droid.</p>
472
+
473
+    <p>Pour juger plus en détails de la qualité des photos, je vous laisse regarder les photos disponibles <a href="//phyks.me/2014/03/photos_fairphone/">ici</a> que j'ai prises avec mon fairphone.</p>
474
+
475
+<h2>Quelques problèmes rencontrés</h2>
476
+    <h3>GPS</h3>
477
+        <p>Comme pour de nombreux utilisateurs, le premier fix GPS a été très long à avoir. En fait, je n'ai même pas réussi à l'avoir en intérieur… Mais en activant l'A-GPS, en téléchargeant les données EPO et en faisant un petit tour à pied dehors, le fix GPS est assez rapide (&lt; 5 minutes). Une fois ce premier fix réalisé, mon GPS se fixe quasiment instantanément (&lt; 10 secondes). Voir notamment <a href="http://forum.xda-developers.com/wiki/Fairphone_Fairphone/Guides#How_to_improve_the_GPS_signal">cette page</a> chez xda-developpers et <a href="https://fairphone.zendesk.com/hc/communities/public/questions/200690467--Searching-for-GPS-">ce thread</a> sur le forum fairphone pour plus d'informations.</p>
478
+
479
+    <h3>Gestion des cartes SIM</h3>
480
+        <p>La gestion des cartes SIM diffère un peu de ce que j'avais sur mon Galaxy S3. En particulier, le Fairphone a deux emplacements SIM, et vous affichera donc une notification si vous n'en avez qu'une seule d'insérée. De plus, à chaque sortie du mode avion, votre code PIN vous sera demandé (alors que mon Galaxy S3 ne le demandait qu'une fois par démarrage du téléphone). Enfin, étant chez Free, je suis souvent en itinérance (nationale, sur le réseau Orange). Le Fairphone ne fait aucune différence entre l'itinérance nationale et internationale, et vous aurez donc droit à quelques messages vous prévenant que vous êtes en itinérance sur la carte SIM utilisée et vous demandant de confirmer l'envoi d'un SMS (par exemple). Il est possible de désactiver les confirmations répétées, et il ne restera alors plus qu'une seule alerte à l'envoi d'un SMS à la sortie du mode avion. Il faut également penser à désactiver l'itinérance quand on est à l'étranger du coup, pour éviter les surcoûts.</p>
481
+
482
+        <p>Je n'ai pas encore eu l'occasion de tester le téléphone avec deux SIMs à la fois, mais a priori c'est très classique. On peut spécifier les cartes SIMs par défaut à utiliser, et la carte SIM utilisée apparaît en encart dans chaque SMS, etc. Je devrais pouvoir le tester d'ici un mois je pense, je mettrai à jour l'article en conséquence.</p>
483
+
484
+    <h3>Divers problèmes</h3>
485
+        <ul>
486
+            <li>J'ai eu droit à quelques reboots de l'interface en utilisant Firefox (notamment en utilisant des pages webRTC, qui sont assez lourdes). Rien de bien méchant, et je ne sais pas en fait si cela vient du Fairphone ou de firefox.</li>
487
+            <li>J'ai eu droit une fois à un blocage complet (écran éteint, bouton marche/arrêt sans effet). J'ai du redémarrer le téléphone en restant longtemps appuyé sur le bouton marche/arrêt, mais je ne sais pas exactement ce qu'il s'est passé.</li>
488
+            <li>Quelques bugs de traductions. En particulier, "reboot" n'est pas traduit en "redémarrer", et de temps à autres l'application de SMS m'affiche "Nom d'artiste inconnu" au lieu de l'heure du dernier message.</li>
489
+        </ul>
490
+
491
+<h2>Divers</h2>
492
+    <ul>
493
+        <li>Toutes les spécifications détaillées sont disponibles <a href="http://buy-a-phone-start-a-movement.fairphone.com/en/specs/">ici</a>.</li>
494
+        <li>Le DAS du téléphone est assez faible (0.329 W/kg au niveau de la tête, 0.693 W/kg au niveau du corps).</li>
495
+        <li>Pas de NFC intégré. Je n'ai personnellement eu l'occasion d'utiliser le NFC de mon Galaxy S3 que pour m'amuser à scanner les badges que j'avais dans mon portefeuille, donc ce n'est pas un bien grand mal.</li>
496
+        <li>Pour éviter de multiplier les chargeurs / écouteurs inutiles, le téléphone est vendu seul dans sa boîte. En effet, la plupart des gens ont déjà plusieurs chargeurs et écouteurs chez eux et il est inutile d'en rajouter un qui traînera au fond d'une armoire. Libre à vous d'en prendre un en option au besoin.</li>
497
+    </ul>
498
+
499
+<h2>Conclusion</h2>
500
+    <p>En conclusion, je suis très satisfait de mon Fairphone. Il est certes un peu plus cher que la concurrence, et présente quelques défauts de jeunesse, mais il me paraît tout à fait raisonnable et une bonne alternative aux autres téléphones des grands constructeurs. Par contre, étant édité à peu d'exemplaires, je doute qu'on voit beaucoup d'accessoires dédiés dans les prochains mois (notamment de housses parfaitement adaptées à son <em>form factor</em>). Je ne suis pas doué pour les conclusions, donc je vous laisse conclure tout seul&nbsp;:)</p>
501
+
502
+    <p>Note (car il faut bien un peu de troll)&nbsp;: on se rappellera des défauts des problèmes sur les premiers smartphones (et pas que les premiers en fait) des autres constructeurs, notamment l'absence de 3G sur le premier iPhone, ou encore les <a href="http://www.iphon.fr/post/2009/06/19/L-iPhone-3G-S-peut-aussi-avoir-la-jaunisse">problèmes d'écran jaune sur l'iPhone 3GS</a> ou récemment sur <a href="http://www.macbidouille.com/news/2012/09/22/l-iphone-5-a-un-ecran-plus-jaune?iact=rc&amp;dur=349&amp;page=1&amp;start=0&amp;ndsp=50&amp;ved=0CFcQrQMwAA">l'iPhone 5</a>.</p>
503
+
504
+    <p>Edit&nbsp;: J'ai retrouvé le lien vers l'article sur le site du projet replicant qui parlait de l'open-source et du Fairphone : <a href="http://blog.replicant.us/2013/11/fairphone/">http://blog.replicant.us/2013/11/fairphone/</a>.</p>
505
+
506
+    <p>Edit 2&nbsp;: J'ai oublié de parler de la batterie et de l'autonomie… C'est donc réparé avec ce petit rajout. L'autonomie est plutôt bonne, dans la moyenne des smartphones actuels (en tout cas, sensiblement comparable à celle de mon ancien S3). Je tiens une journée (8h -> 24h) en relevant 5 comptes e-mails en push, en allant sur internet dans le bus (1h) et à quelques occasions dans la journée, et en passant la journée dans une zone pas très bien couverte (je finis la journée avec entre 10% et 30% de batterie selon les jours). Bref, comme d'hab', on tient une journée sans trop de difficulté (sauf utilisation ultra-intensive, mais pour ça, on ne peut pas grand chose) mais il faut quand même recharger tous les soirs. En restreignant un peu mon utilisation, je pense que je pourrais tenir deux jours.</p>
507
+
508
+    <p>Edit 3&nbsp;: Le blocage complet et le reboot de l'interface sont liés et sont un seul et même problème apparemment. Cela arrive aussi avec le contrôle du volume. Je l'ai eu quelques fois depuis que j'ai mon Fairphone, et c'est assez embêtant comme bug. Mais Fairphone est au courant et le problème devrait être corrigé <a href="https://fairphone.zendesk.com/hc/en-us/articles/201804933-When-will-the-new-software-update-1-2-be-available-">dans la prochaine mise à jour</a> qui arrivera d'ici peu. De même pour les problèmes <a href="https://fairphone.zendesk.com/hc/en-us/articles/201852278-National-Roaming-Mostly-Solved-">d'itinérance nationale</a> qui devraient être résolus bientôt. J'ai également depuis peu une deuxième carte SIM et rien à redire sur la gestion des cartes SIM : on peut choisir la SIM par défaut pour chaque action (SMS, Appels, Internet, …) et la gestion des deux cartes est très complète. Quand à l'autonomie, je tiens toujours un peu plus d'une journée avec mon utilisation. Par exemple, ce soir, j'en suis à 15h sur batterie, 5 comptes e-mails en push toute la journée, une couverture réseau assez aléatoire et 2 à 3h sur Internet en 3G et il me reste encore 22% de batterie.</p>
509
+
510
+    <p>Edit 4&nbsp; J'ai envoyé un e-mail pour rapporter les issues remarquées à Fairphone et ils m'ont répondu (avec un peu de retard, mais quand même) qu'ils prenaient note et corrigeraient. Et Fairphone <a href="http://buy-a-phone-start-a-movement.fairphone.com/en/spareparts/">vend des pièces détachées</a> et a mis des guides pour réparer son téléphone.</p>
511
+
512
+		<footer><p class="date">Le 01/03/2014 à 17:43</p>
513
+		<p class="tags">Tags : <a href="//phyks.me/tags/Smartphone.html">Smartphone</a></p></footer>
514
+	</div>
515
+</article>
516
+<article>
517
+	<aside>
518
+		<p class="day">01</p>
519
+		<p class="month">Mars</p>
520
+	</aside>
521
+	<div class="article">
522
+		<header><h1 class="article_title"><a href="//phyks.me/2014/03/fairphone.html">Retour sur mon fairphone</a></h1></header>
523
+		<!--
524
+	@author=Phyks
525
+	@date=01032014-1743
526
+	@title=Retour sur mon fairphone
527
+	@tags=Smartphone
528
+-->
529
+<p>J'ai acheté un <a href="http://fairphone.com/">Fairphone</a> en novembre, et je l'ai reçu il y a quelques semaines maintenant. Je n'ai pas encore eu le temps d'écrire dessus, mais c'est désormais corrigé. Ce Fairphone vient remplacer mon ancien Galaxy S3, qui tournait sous Cyanogen 9, mais qui n'a pas arrêté de me poser des problèmes (problème avec la puce son qui se coupait parfois, présent chez de nombreux utilisateurs apparemment, entre autres).</p>
530
+
531
+<p>Note&nbsp;: Ceci est un petit compte-rendu après quelques semaines d'utilisation. Je mettrai cet article à jour au fur et à mesure, si de nouveaux problèmes apparaissent ou sont, au contraire, résolus.</p>
532
+
533
+<p style="text-align:center;"><a href="//phyks.me/2014/03/fairphone_1.jpg"><img src="//phyks.me/2014/03/fairphone_1.jpg" style="max-width: 45%; max-height: 500px;" alt="Face avant"/></a><a href="//phyks.me/2014/03/fairphone_5.jpg"><img src="//phyks.me/2014/03/fairphone_5.jpg" style="max-width: 45%; max-height: 500px;" alt="Face arrière"/></a></p>
534
+
535
+<h2>Un Fairphone ?</h2>
536
+    <p>Tout d'abord, qu'est-ce que c'est que cette étrange bête ? Fairphone est une initiative d'un groupe de hollandais pour proposer une alternative plus équitable aux smartphones actuels. Le projet a été crowdfundé pendant un peu plus d'un an, et le premier lot de 25 000 Fairphones a été livré en janvier.</p>
537
+
538
+    <p>Ils se sont engagés sur un certain nombre de points, parmi lesquels&nbsp;:</p>
539
+    <ul>
540
+        <li>Transparence, ils communiquent précisément sur ce que contient leur téléphone, sur les coûts et il y a notamment <a href="http://www.fairphone.com/wp-content/uploads/2013/09/Fairphone_Cost_Breakdown_and_Key_Sept2013.pdf">une infographie disponible</a> pour détailler le prix du téléphone.</li>
541
+        <li>Ils ont dans la mesure du possible essayé d'avoir un produit plus équitable que ce qui existe aujourd'hui. En particulier, leurs fournisseurs s'engagent sur un certain nombre de points (conditions de travail dans les usines en Chine, non soutien aux guerillas liées au commerce de métaux précieux en Afrique…). Il n'a pas toujours été possible de faire ce qu'ils espéraient (ils sont par exemple obligés de produire en Chine, même s'ils auraient voulu avoir un produit européen), mais ils ont bien respectés leurs engagements dans l'ensemble.</li>
542
+        <li>Libération des <em>datasheets</em> et des logiciels. C'est là un point très compliqué dans le monde du mobile. En effet, le secteur de la téléphonie mobile est un des secteurs les plus <em>closed source</em> qui existe, et il est très difficile de faire bouger ça. Ils ont essayer de convaincre leurs fournisseurs de diffuser certaines <em>datasheets</em>, mais ce n'est pas facile, et je ne crois pas qu'ils aient beaucoup réussi à faire bouger les choses de ce côté-là. En revanche, leurs logiciels sont open source et ils livrent le Fairphone avec un Android stock, sans applications Google préinstallées, ce qui est un très bon point par rapport aux autres fabricants. Ils ont également dit qu'ils soutiendraient le port de Firefox OS sur le Fairphone si des développeurs voulaient y travailler (mais qu'ils ne pourraient pas l'assurer eux-mêmes).</li>
543
+    </ul>
544
+
545
+    <p>Finalement, on a un smartphone assez similaire au Wiko Cink Five, il me semble, pour 325€, ce qui est certes plus cher, mais n'avance pas les mêmes atouts. Voyons voir ce que vaut le Fairphone après quelques semaines d'utilisation.</p>
546
+
547
+<h2>Ergonomie et design</h2>
548
+    <p>Le Fairphone a un écran de 4"3. Ce n'est pas tant que ça pour un smartphone actuel (on est plus autour de 5" aujourd'hui), mais au moins ça rentre dans une poche. Quand je le compare à mon ancien Galaxy S3, il paraît tout petit. De nombreuses personnes préfèrent avoir un grand écran, mais quitte à avoir des écrans de 5" et plus, autant prendre une tablette. En fait, ces tailles me paraissent un peu bancales, à mi-chemin entre un téléphone et une tablette&nbsp;: pas facile à prendre en main d'une seule main, trop petit pour deux mains, pas pratique dans une poche… Finalement, je suis plutôt favorable à une diagonale plus petite. À titre de comparaison, c'est à peu près la même diagonale d'écran que l'iPhone 5 (4") et il a la même taille à quelques millimètres près.</p>
549
+
550
+    <p>Le design est plutôt soigné et l'appareil est assez joli, avec son liseret blanc et son dos en alu. On notera la présence d'un bouton “Marche/Arrêt” classique au sommet de l'appareil et un bouton de réglage du volume sur le côté. Les trois boutons en façade (Menu / Accueil / Retour) sont en fait des touches tactiles. Elles sont assez jolies, mais on a tendance à les effleurer par inadvertance en tapant des messages. On s'y habitue, mais je préfère clairement avoir des boutons physiques à cet endroit.</p>
551
+
552
+    <p>Pour une fois, le capot arrière s'enlève assez facilement, contrairement à de nombreux smartphones avec lesquels on a peur de briser la fine couche de plastique qui sert de capot arrière. Derrière, on trouve deux logements pour carte SIM (SIM classique, et non micro-SIM, on dirait que la mode des toutes petites SIM est passée ?), l'emplacement de la batterie et un emplacement Micro-SD pour étendre le stockage de 16Go initial.</p>
553
+
554
+    <p>Un point négatif quand même&nbsp;: l'appareil photo est légèrement sortant du téléphone. Du coup, quand le téléphone est posé à plat sur une table, il repose sur l'appareil photo, et sur un des coins, mais il manque un troisième point d'appui au même niveau. Conclusion&nbsp;: il est bancal quand il est posé sur une table. C'est dommage car ce n'est vraiment pas grand chose, mais ça complique grandement son utilisation d'une seule main, en le posant sur une table.</p>
555
+
556
+    <p style="text-align:center;"><a href="//phyks.me/2014/03/fairphone_7.jpg"><img src="//phyks.me/2014/03/fairphone_7.jpg" style="max-width: 45%; max-height: 500px;" alt="Vue de côté"/></a></p>
557
+
558
+<h2>Écran</h2>
559
+    <p>L'écran est de plutôt bonne qualité, avec une bonne résolution (960x540 pixels, pour une densité de 256ppi), similaire au Wiko Cink Peax 2. J'ai eu auparavant un iPhone 4 et un Galaxy S3 et la qualité de l'écran ne me perturbe pas particulièrement (ni en bien, ni en mal), mais mon utilisation n'est peut être pas la plus propice pour juger de la qualité de l'écran ? Je n'ai pas eu l'occasion de le comparer côte à côte avec mon Galaxy (notamment parce qu'avec un écran cassé, le rendu n'aurait pas été à son avantage), donc je ne peux pas en dire beaucoup plus…</p>
560
+
561
+    <p>En parlant d'écran cassé, l'écran a également une vitre "Gorilla Glass" censée être assez résistante. Ceci dit, cela n'a pas empêché la vitre de mon Galaxy de s'exploser à la moindre chute de 10cm avec une coque de protection&nbsp;:/</p>
562
+
563
+    <p>Une remarque quand même&nbsp;: l'écran a tendance à garder pas mal les traces de doigt. Plus que le SGS3 en tout cas je dirais.</p>
564
+
565
+    <p>Un autre point important à noter, pour ne pas être surpris, est la présence d'un réseau de petits points sur l'écran, que l'on voit sous certaines conditions d'éclairage. C'est un peu perturbant au début, car on commence par en voir un, et on pense à un pixel mort. Puis on en voit d'autres, et on finit par se rendre compte qu'ils sont trop bien alignés pour que ce soit un problème. Finalement, on trouve la réponse sur le <a href="https://fairphone.zendesk.com/hc/communities/public/questions/200680167-Touch-screen-grid-visible-">forum de support Fairphone</a>&nbsp;: il s'agit d'une grille pour l'écran tactile, qui est visible sous certaines conditions d'éclairage. Ils ont dû adopter cette technologie à cause d'un brevet sur les autres solutions. Personnellement, je n'y fais pas particulièrement attention et cela ne me dérange pas et on ne le voit que sous certaines conditions bien particulières (donc pas dérangeant pour des vidéos a priori), mais il faut le savoir pour ne pas être surpris.</p>
566
+
567
+<h2>Système</h2>
568
+    <p>Le Fairphone tourne sous une version stock d'Android 4.2.2. Par défaut, aucune application Google n'est installée (libre à vous de les installer au besoin). Personnellement, venant de Cyanogen Mod sur mon Galaxy S3, je suis resté sans applications Google et trouve tout ce dont j'ai besoin sur F-Droid. Les seules applications préinstallées sont&nbsp;:</p>
569
+    <ul>
570
+        <li>Une application pour <a href="http://www.ifixit.com/">iFixIt</a></li>
571
+        <li>Un launcher un peu différent (FairphoneHome)</li>
572
+        <li>Un widget pour couper le téléphone (passage en mode avion) pendant un certain temps à définir ("Profitez d'un moment de tranquillité"), appelé Peace Of Mind.</li>
573
+        <li>Une application pour mettre à jour le système OTA, et profiter des corrections de bug apportées par Fairphone.</li>
574
+    </ul>
575
+
576
+    <p>Tous ces logiciels sont open-source, iFixIt étant disponible sur F-Droid et les autres étant disponibles sur <a href="https://github.com/Kwamecorp/Fairphone">Github</a>. Je vous laisse d'ailleurs aller voir le dépôt Github pour plus d'images de l'interface et des widgets.</p>
577
+
578
+    <p>On a donc un système Android de base, avec une très légère surcouche, le tout étant open-source, ce qui est très rare sur les smartphones actuels. Pas d'autres bloatwares que ceux dans Android d'origine donc.</p>
579
+
580
+    <p>La légère surcouche graphique est très jolie, et va plutôt bien avec le look du Fairphone, à mon avis. Cf <a href="http://lehollandaisvolant.net/?d=2013/10/07/14/09/21-pourquoi-le-flat-design-tel-quil-est-utilise-actuellement-sux">cet article sur le flat design chez le hollandais volant</a>, je trouve que le Fairphone n'en est pas trop victime.</p>
581
+
582
+    <p style="text-align:center;"><a href="//phyks.me/2014/03/fairphone_2.jpg"><img src="//phyks.me/2014/03/fairphone_2.jpg" style="max-width: 45%; max-height: 500px;" alt="Écran"/></a><a href="//phyks.me/2014/03/fairphone_6.jpg"><img src="//phyks.me/2014/03/fairphone_6.jpg" style="max-width: 45%; max-height: 500px;" alt="Batterie"/></a></p>
583
+
584
+    <p>Un des changements apportés par la surcouche graphique est la présence d'un lanceur rapide lorsqu'on touche le bord droit de l'écran (uniquement sur l'écran d'accueil et sur le menu des applications). C'est d'ailleurs grâce à lui qu'on accède à la liste des applications. Il est assez pratique, une fois qu'on s'y est un peu habitué. En effet, au début, on l'appelle souvent sans faire exprès en naviguant dans la liste des applications.</p>
585
+    <p style="text-align:center;"><a href="//phyks.me/2014/03/fairphone_3.jpg"><img src="//phyks.me/2014/03/fairphone_3.jpg" style="max-width: 45%; max-height: 500px;" alt="Homescreen"/></a><a href="//phyks.me/2014/03/fairphone_4.jpg"><img src="//phyks.me/2014/03/fairphone_4.jpg" style="max-width: 45%; max-height: 500px;" alt="Homescreen"/></a></p>
586
+
587
+    <p>P.S.&nbsp;: Parmi les applications de base, on trouve également une application “TODO”, un enregistreur de son, une application pour écouter la radio FM, une application de notes et un gestionnaire de fichier. Me corriger si je me trompe, mais il me semble que ces applications sont intégrées à Android stock.</p>
588
+
589
+<h2>Appareil photo</h2>
590
+    <p>L'appareil photo me semble raisonnable, même si j'avoue ne pas avoir beaucoup de références en la matière. Par contre, l'application n'arrêtait pas de m'afficher le tutoriel. En fait, il suffit de le suivre en entier (ce qui prend environ 30 secondes), et ensuite vous ne le verrez plus. Sinon, vous pouvez aussi installer l'application Camera stock disponible sur f-droid.</p>
591
+
592
+    <p>Pour juger plus en détails de la qualité des photos, je vous laisse regarder les photos disponibles <a href="//phyks.me/2014/03/photos_fairphone/">ici</a> que j'ai prises avec mon fairphone.</p>
593
+
594
+<h2>Quelques problèmes rencontrés</h2>
595
+    <h3>GPS</h3>
596
+        <p>Comme pour de nombreux utilisateurs, le premier fix GPS a été très long à avoir. En fait, je n'ai même pas réussi à l'avoir en intérieur… Mais en activant l'A-GPS, en téléchargeant les données EPO et en faisant un petit tour à pied dehors, le fix GPS est assez rapide (&lt; 5 minutes). Une fois ce premier fix réalisé, mon GPS se fixe quasiment instantanément (&lt; 10 secondes). Voir notamment <a href="http://forum.xda-developers.com/wiki/Fairphone_Fairphone/Guides#How_to_improve_the_GPS_signal">cette page</a> chez xda-developpers et <a href="https://fairphone.zendesk.com/hc/communities/public/questions/200690467--Searching-for-GPS-">ce thread</a> sur le forum fairphone pour plus d'informations.</p>
597
+
598
+    <h3>Gestion des cartes SIM</h3>
599
+        <p>La gestion des cartes SIM diffère un peu de ce que j'avais sur mon Galaxy S3. En particulier, le Fairphone a deux emplacements SIM, et vous affichera donc une notification si vous n'en avez qu'une seule d'insérée. De plus, à chaque sortie du mode avion, votre code PIN vous sera demandé (alors que mon Galaxy S3 ne le demandait qu'une fois par démarrage du téléphone). Enfin, étant chez Free, je suis souvent en itinérance (nationale, sur le réseau Orange). Le Fairphone ne fait aucune différence entre l'itinérance nationale et internationale, et vous aurez donc droit à quelques messages vous prévenant que vous êtes en itinérance sur la carte SIM utilisée et vous demandant de confirmer l'envoi d'un SMS (par exemple). Il est possible de désactiver les confirmations répétées, et il ne restera alors plus qu'une seule alerte à l'envoi d'un SMS à la sortie du mode avion. Il faut également penser à désactiver l'itinérance quand on est à l'étranger du coup, pour éviter les surcoûts.</p>
600
+
601
+        <p>Je n'ai pas encore eu l'occasion de tester le téléphone avec deux SIMs à la fois, mais a priori c'est très classique. On peut spécifier les cartes SIMs par défaut à utiliser, et la carte SIM utilisée apparaît en encart dans chaque SMS, etc. Je devrais pouvoir le tester d'ici un mois je pense, je mettrai à jour l'article en conséquence.</p>
602
+
603
+    <h3>Divers problèmes</h3>
604
+        <ul>
605
+            <li>J'ai eu droit à quelques reboots de l'interface en utilisant Firefox (notamment en utilisant des pages webRTC, qui sont assez lourdes). Rien de bien méchant, et je ne sais pas en fait si cela vient du Fairphone ou de firefox.</li>
606
+            <li>J'ai eu droit une fois à un blocage complet (écran éteint, bouton marche/arrêt sans effet). J'ai du redémarrer le téléphone en restant longtemps appuyé sur le bouton marche/arrêt, mais je ne sais pas exactement ce qu'il s'est passé.</li>
607
+            <li>Quelques bugs de traductions. En particulier, "reboot" n'est pas traduit en "redémarrer", et de temps à autres l'application de SMS m'affiche "Nom d'artiste inconnu" au lieu de l'heure du dernier message.</li>
608
+        </ul>
609
+
610
+<h2>Divers</h2>
611
+    <ul>
612
+        <li>Toutes les spécifications détaillées sont disponibles <a href="http://buy-a-phone-start-a-movement.fairphone.com/en/specs/">ici</a>.</li>
613
+        <li>Le DAS du téléphone est assez faible (0.329 W/kg au niveau de la tête, 0.693 W/kg au niveau du corps).</li>
614
+        <li>Pas de NFC intégré. Je n'ai personnellement eu l'occasion d'utiliser le NFC de mon Galaxy S3 que pour m'amuser à scanner les badges que j'avais dans mon portefeuille, donc ce n'est pas un bien grand mal.</li>
615
+        <li>Pour éviter de multiplier les chargeurs / écouteurs inutiles, le téléphone est vendu seul dans sa boîte. En effet, la plupart des gens ont déjà plusieurs chargeurs et écouteurs chez eux et il est inutile d'en rajouter un qui traînera au fond d'une armoire. Libre à vous d'en prendre un en option au besoin.</li>
616
+    </ul>
617
+
618
+<h2>Conclusion</h2>
619
+    <p>En conclusion, je suis très satisfait de mon Fairphone. Il est certes un peu plus cher que la concurrence, et présente quelques défauts de jeunesse, mais il me paraît tout à fait raisonnable et une bonne alternative aux autres téléphones des grands constructeurs. Par contre, étant édité à peu d'exemplaires, je doute qu'on voit beaucoup d'accessoires dédiés dans les prochains mois (notamment de housses parfaitement adaptées à son <em>form factor</em>). Je ne suis pas doué pour les conclusions, donc je vous laisse conclure tout seul&nbsp;:)</p>
620
+
621
+    <p>Note (car il faut bien un peu de troll)&nbsp;: on se rappellera des défauts des problèmes sur les premiers smartphones (et pas que les premiers en fait) des autres constructeurs, notamment l'absence de 3G sur le premier iPhone, ou encore les <a href="http://www.iphon.fr/post/2009/06/19/L-iPhone-3G-S-peut-aussi-avoir-la-jaunisse">problèmes d'écran jaune sur l'iPhone 3GS</a> ou récemment sur <a href="http://www.macbidouille.com/news/2012/09/22/l-iphone-5-a-un-ecran-plus-jaune?iact=rc&amp;dur=349&amp;page=1&amp;start=0&amp;ndsp=50&amp;ved=0CFcQrQMwAA">l'iPhone 5</a>.</p>
622
+
623
+    <p>Edit&nbsp;: J'ai retrouvé le lien vers l'article sur le site du projet replicant qui parlait de l'open-source et du Fairphone : <a href="http://blog.replicant.us/2013/11/fairphone/">http://blog.replicant.us/2013/11/fairphone/</a>.</p>
624
+
625
+    <p>Edit 2&nbsp;: J'ai oublié de parler de la batterie et de l'autonomie… C'est donc réparé avec ce petit rajout. L'autonomie est plutôt bonne, dans la moyenne des smartphones actuels (en tout cas, sensiblement comparable à celle de mon ancien S3). Je tiens une journée (8h -> 24h) en relevant 5 comptes e-mails en push, en allant sur internet dans le bus (1h) et à quelques occasions dans la journée, et en passant la journée dans une zone pas très bien couverte (je finis la journée avec entre 10% et 30% de batterie selon les jours). Bref, comme d'hab', on tient une journée sans trop de difficulté (sauf utilisation ultra-intensive, mais pour ça, on ne peut pas grand chose) mais il faut quand même recharger tous les soirs. En restreignant un peu mon utilisation, je pense que je pourrais tenir deux jours.</p>
626
+
627
+    <p>Edit 3&nbsp;: Le blocage complet et le reboot de l'interface sont liés et sont un seul et même problème apparemment. Cela arrive aussi avec le contrôle du volume. Je l'ai eu quelques fois depuis que j'ai mon Fairphone, et c'est assez embêtant comme bug. Mais Fairphone est au courant et le problème devrait être corrigé <a href="https://fairphone.zendesk.com/hc/en-us/articles/201804933-When-will-the-new-software-update-1-2-be-available-">dans la prochaine mise à jour</a> qui arrivera d'ici peu. De même pour les problèmes <a href="https://fairphone.zendesk.com/hc/en-us/articles/201852278-National-Roaming-Mostly-Solved-">d'itinérance nationale</a> qui devraient être résolus bientôt. J'ai également depuis peu une deuxième carte SIM et rien à redire sur la gestion des cartes SIM : on peut choisir la SIM par défaut pour chaque action (SMS, Appels, Internet, …) et la gestion des deux cartes est très complète. Quand à l'autonomie, je tiens toujours un peu plus d'une journée avec mon utilisation. Par exemple, ce soir, j'en suis à 15h sur batterie, 5 comptes e-mails en push toute la journée, une couverture réseau assez aléatoire et 2 à 3h sur Internet en 3G et il me reste encore 22% de batterie.</p>
628
+
629
+    <p>Edit 4&nbsp; J'ai envoyé un e-mail pour rapporter les issues remarquées à Fairphone et ils m'ont répondu (avec un peu de retard, mais quand même) qu'ils prenaient note et corrigeraient. Et Fairphone <a href="http://buy-a-phone-start-a-movement.fairphone.com/en/spareparts/">vend des pièces détachées</a> et a mis des guides pour réparer son téléphone.</p>
630
+
631
+		<footer><p class="date">Le 01/03/2014 à 17:43</p>
632
+		<p class="tags">Tags : <a href="//phyks.me/tags/Smartphone.html">Smartphone</a></p></footer>
633
+	</div>
634
+</article>
635
+<article>
636
+	<aside>
637
+		<p class="day">01</p>
638
+		<p class="month">Mars</p>
639
+	</aside>
640
+	<div class="article">
641
+		<header><h1 class="article_title"><a href="//phyks.me/2014/03/fairphone.html">Retour sur mon fairphone</a></h1></header>
642
+		<!--
643
+	@author=Phyks
644
+	@date=01032014-1743
645
+	@title=Retour sur mon fairphone
646
+	@tags=Smartphone
647
+-->
648
+<p>J'ai acheté un <a href="http://fairphone.com/">Fairphone</a> en novembre, et je l'ai reçu il y a quelques semaines maintenant. Je n'ai pas encore eu le temps d'écrire dessus, mais c'est désormais corrigé. Ce Fairphone vient remplacer mon ancien Galaxy S3, qui tournait sous Cyanogen 9, mais qui n'a pas arrêté de me poser des problèmes (problème avec la puce son qui se coupait parfois, présent chez de nombreux utilisateurs apparemment, entre autres).</p>
649
+
650
+<p>Note&nbsp;: Ceci est un petit compte-rendu après quelques semaines d'utilisation. Je mettrai cet article à jour au fur et à mesure, si de nouveaux problèmes apparaissent ou sont, au contraire, résolus.</p>
651
+
652
+<p style="text-align:center;"><a href="//phyks.me/2014/03/fairphone_1.jpg"><img src="//phyks.me/2014/03/fairphone_1.jpg" style="max-width: 45%; max-height: 500px;" alt="Face avant"/></a><a href="//phyks.me/2014/03/fairphone_5.jpg"><img src="//phyks.me/2014/03/fairphone_5.jpg" style="max-width: 45%; max-height: 500px;" alt="Face arrière"/></a></p>
653
+
654
+<h2>Un Fairphone ?</h2>
655
+    <p>Tout d'abord, qu'est-ce que c'est que cette étrange bête ? Fairphone est une initiative d'un groupe de hollandais pour proposer une alternative plus équitable aux smartphones actuels. Le projet a été crowdfundé pendant un peu plus d'un an, et le premier lot de 25 000 Fairphones a été livré en janvier.</p>
656
+
657
+    <p>Ils se sont engagés sur un certain nombre de points, parmi lesquels&nbsp;:</p>
658
+    <ul>
659
+        <li>Transparence, ils communiquent précisément sur ce que contient leur téléphone, sur les coûts et il y a notamment <a href="http://www.fairphone.com/wp-content/uploads/2013/09/Fairphone_Cost_Breakdown_and_Key_Sept2013.pdf">une infographie disponible</a> pour détailler le prix du téléphone.</li>
660
+        <li>Ils ont dans la mesure du possible essayé d'avoir un produit plus équitable que ce qui existe aujourd'hui. En particulier, leurs fournisseurs s'engagent sur un certain nombre de points (conditions de travail dans les usines en Chine, non soutien aux guerillas liées au commerce de métaux précieux en Afrique…). Il n'a pas toujours été possible de faire ce qu'ils espéraient (ils sont par exemple obligés de produire en Chine, même s'ils auraient voulu avoir un produit européen), mais ils ont bien respectés leurs engagements dans l'ensemble.</li>
661
+        <li>Libération des <em>datasheets</em> et des logiciels. C'est là un point très compliqué dans le monde du mobile. En effet, le secteur de la téléphonie mobile est un des secteurs les plus <em>closed source</em> qui existe, et il est très difficile de faire bouger ça. Ils ont essayer de convaincre leurs fournisseurs de diffuser certaines <em>datasheets</em>, mais ce n'est pas facile, et je ne crois pas qu'ils aient beaucoup réussi à faire bouger les choses de ce côté-là. En revanche, leurs logiciels sont open source et ils livrent le Fairphone avec un Android stock, sans applications Google préinstallées, ce qui est un très bon point par rapport aux autres fabricants. Ils ont également dit qu'ils soutiendraient le port de Firefox OS sur le Fairphone si des développeurs voulaient y travailler (mais qu'ils ne pourraient pas l'assurer eux-mêmes).</li>
662
+    </ul>
663
+
664
+    <p>Finalement, on a un smartphone assez similaire au Wiko Cink Five, il me semble, pour 325€, ce qui est certes plus cher, mais n'avance pas les mêmes atouts. Voyons voir ce que vaut le Fairphone après quelques semaines d'utilisation.</p>
665
+
666
+<h2>Ergonomie et design</h2>
667
+    <p>Le Fairphone a un écran de 4"3. Ce n'est pas tant que ça pour un smartphone actuel (on est plus autour de 5" aujourd'hui), mais au moins ça rentre dans une poche. Quand je le compare à mon ancien Galaxy S3, il paraît tout petit. De nombreuses personnes préfèrent avoir un grand écran, mais quitte à avoir des écrans de 5" et plus, autant prendre une tablette. En fait, ces tailles me paraissent un peu bancales, à mi-chemin entre un téléphone et une tablette&nbsp;: pas facile à prendre en main d'une seule main, trop petit pour deux mains, pas pratique dans une poche… Finalement, je suis plutôt favorable à une diagonale plus petite. À titre de comparaison, c'est à peu près la même diagonale d'écran que l'iPhone 5 (4") et il a la même taille à quelques millimètres près.</p>
668
+
669
+    <p>Le design est plutôt soigné et l'appareil est assez joli, avec son liseret blanc et son dos en alu. On notera la présence d'un bouton “Marche/Arrêt” classique au sommet de l'appareil et un bouton de réglage du volume sur le côté. Les trois boutons en façade (Menu / Accueil / Retour) sont en fait des touches tactiles. Elles sont assez jolies, mais on a tendance à les effleurer par inadvertance en tapant des messages. On s'y habitue, mais je préfère clairement avoir des boutons physiques à cet endroit.</p>
670
+
671
+    <p>Pour une fois, le capot arrière s'enlève assez facilement, contrairement à de nombreux smartphones avec lesquels on a peur de briser la fine couche de plastique qui sert de capot arrière. Derrière, on trouve deux logements pour carte SIM (SIM classique, et non micro-SIM, on dirait que la mode des toutes petites SIM est passée ?), l'emplacement de la batterie et un emplacement Micro-SD pour étendre le stockage de 16Go initial.</p>
672
+
673
+    <p>Un point négatif quand même&nbsp;: l'appareil photo est légèrement sortant du téléphone. Du coup, quand le téléphone est posé à plat sur une table, il repose sur l'appareil photo, et sur un des coins, mais il manque un troisième point d'appui au même niveau. Conclusion&nbsp;: il est bancal quand il est posé sur une table. C'est dommage car ce n'est vraiment pas grand chose, mais ça complique grandement son utilisation d'une seule main, en le posant sur une table.</p>
674
+
675
+    <p style="text-align:center;"><a href="//phyks.me/2014/03/fairphone_7.jpg"><img src="//phyks.me/2014/03/fairphone_7.jpg" style="max-width: 45%; max-height: 500px;" alt="Vue de côté"/></a></p>
676
+
677
+<h2>Écran</h2>
678
+    <p>L'écran est de plutôt bonne qualité, avec une bonne résolution (960x540 pixels, pour une densité de 256ppi), similaire au Wiko Cink Peax 2. J'ai eu auparavant un iPhone 4 et un Galaxy S3 et la qualité de l'écran ne me perturbe pas particulièrement (ni en bien, ni en mal), mais mon utilisation n'est peut être pas la plus propice pour juger de la qualité de l'écran ? Je n'ai pas eu l'occasion de le comparer côte à côte avec mon Galaxy (notamment parce qu'avec un écran cassé, le rendu n'aurait pas été à son avantage), donc je ne peux pas en dire beaucoup plus…</p>
679
+
680
+    <p>En parlant d'écran cassé, l'écran a également une vitre "Gorilla Glass" censée être assez résistante. Ceci dit, cela n'a pas empêché la vitre de mon Galaxy de s'exploser à la moindre chute de 10cm avec une coque de protection&nbsp;:/</p>
681
+
682
+    <p>Une remarque quand même&nbsp;: l'écran a tendance à garder pas mal les traces de doigt. Plus que le SGS3 en tout cas je dirais.</p>
683
+
684
+    <p>Un autre point important à noter, pour ne pas être surpris, est la présence d'un réseau de petits points sur l'écran, que l'on voit sous certaines conditions d'éclairage. C'est un peu perturbant au début, car on commence par en voir un, et on pense à un pixel mort. Puis on en voit d'autres, et on finit par se rendre compte qu'ils sont trop bien alignés pour que ce soit un problème. Finalement, on trouve la réponse sur le <a href="https://fairphone.zendesk.com/hc/communities/public/questions/200680167-Touch-screen-grid-visible-">forum de support Fairphone</a>&nbsp;: il s'agit d'une grille pour l'écran tactile, qui est visible sous certaines conditions d'éclairage. Ils ont dû adopter cette technologie à cause d'un brevet sur les autres solutions. Personnellement, je n'y fais pas particulièrement attention et cela ne me dérange pas et on ne le voit que sous certaines conditions bien particulières (donc pas dérangeant pour des vidéos a priori), mais il faut le savoir pour ne pas être surpris.</p>
685
+
686
+<h2>Système</h2>
687
+    <p>Le Fairphone tourne sous une version stock d'Android 4.2.2. Par défaut, aucune application Google n'est installée (libre à vous de les installer au besoin). Personnellement, venant de Cyanogen Mod sur mon Galaxy S3, je suis resté sans applications Google et trouve tout ce dont j'ai besoin sur F-Droid. Les seules applications préinstallées sont&nbsp;:</p>
688
+    <ul>
689
+        <li>Une application pour <a href="http://www.ifixit.com/">iFixIt</a></li>
690
+        <li>Un launcher un peu différent (FairphoneHome)</li>
691
+        <li>Un widget pour couper le téléphone (passage en mode avion) pendant un certain temps à définir ("Profitez d'un moment de tranquillité"), appelé Peace Of Mind.</li>
692
+        <li>Une application pour mettre à jour le système OTA, et profiter des corrections de bug apportées par Fairphone.</li>
693
+    </ul>
694
+
695
+    <p>Tous ces logiciels sont open-source, iFixIt étant disponible sur F-Droid et les autres étant disponibles sur <a href="https://github.com/Kwamecorp/Fairphone">Github</a>. Je vous laisse d'ailleurs aller voir le dépôt Github pour plus d'images de l'interface et des widgets.</p>
696
+
697
+    <p>On a donc un système Android de base, avec une très légère surcouche, le tout étant open-source, ce qui est très rare sur les smartphones actuels. Pas d'autres bloatwares que ceux dans Android d'origine donc.</p>