.. -*- rst -*-
.. -*-  coding: utf-8 -*-

Commentaires pratiques sur Hercules eCafé EX HD
===============================================

J'ai reçu ce week-end mon hercules ecafé hd. Ce netbook, présenté il y a
quelques temps dans une dépêche, présente la caractéristique d'avoir une
architecture arm et une distribution basée sur ubuntu.

Ce portable est destiné à remplacer mon vieillissant eeepc701 dont la batterie
est en train de mourir (ainsi que le boutons du touchpad, certaines touches du
clavier etc)

Premières impressions
---------------------

Premier regard, première déception : écran brillant. Ça commence bien ! En fait
tout le PC est brillant, chouette ça va être sympa quand la coque sera pleine
de tâche de doigts et de rayures. Je m'en doutais un peu au vu des photos sur
le net, mais c'est toujours dommage quand on l'a entre ses mains. Tant pis, je
vais devoir faire avec.

Deuxième regard : impossible de retirer la batterie. Tout est caché sous une
coque en plastique léger qui donne une impression cheap. En fait, il me faut
prendre quelque temps pour bien le regarder et m'assurer que c'est bien
ordinateur et non pas un jouet pour enfant que je tiens entre mes mains ! (En le
regardant à nouveau au moment où j'écris cet article, ce sentiment m'est passé,
mais il est vrai que ça m'a surpris au début, je pense que le poids très léger
y est aussi pour quelque chose.)

Démarrage de l'ordinateur, on retrouve la petite roue blanche en train de
tourner nous confirmant que nous sommes sous un linux, avec les icônes
provenant d'ubuntu. Après quelques questions posées dans des boites GTK pour
créer le compte utilisateur, on se retrouve sur notre écran de login.

Derrière cet écran, le bureau, qui intègre les applications et le menu. Ce menu
est construit sur celui de gnome, et est éditable facilement. Je le trouve
personnellement plutôt pratique est assez esthétique (il aurait davantage pu
être contrôlable au clavier, mais c'est mon côté « awesome » qui parle). 

.. capture ecran

Tentative de connexion wifi, à travers network manager, ça fonctionne sans
aucun problème.

En fait en découvrant tout ça je me sens prendre un coup de vieux : j'ai
l'impression de sortir de ma ligne de commande et arriver dans un environnement
graphique agréable à utiliser. Tout a été configuré sans que je cherche comment
faire, dès le démarrage; linux n'est plus ce qu'il était..

À l'usage
=========

On se rend vite compte que l'ordinateur n'est pas un foudre de guerre. Il est
un peu plus véloce que mon 701, mais guère plus. D'un autre côté, je ne compte
pas lui demander grand chose : un client mpd, vim, terminal, unison, du ssh et
un peu de surf, ça reste fluide et réactif. (Je n'ai pas testé la lecture de
vidéo, vu que ça ne fera pas parti de mes usages).

L'autonomie est vraiment impressionnante, je ne me rend pas bien compte de ce
que représente plus de 10h d'usage. J'espère juste que la batterie ne va pas
vieillir trop vite (même si je commence avec une bonne marge !)

.. capture autonomie

Mon utilisation va rester simple (client mpd, client ssh, un peu de surf, pas
de compilation), le pc ne va pas être trop chargé.

Il y a pas mal d'applications installées, même si toutes ne sont pas visibles
dans le menu (w3m et byobu sont installés par défaut, evolution aussi mais
c'est une autre histoire).

Par contre, les applications sont plutôt vieillissantes, c'est génant quand on
a pris l'habitude d'utiliser firefox sync (et oui, on est en version 3.6!),
même si ça ne touche que quelques fonctionnalités dans l'ensemble du système.

Ouvrons le système
==================

Rajoutons le dépots ubuntu lucid, et lançons une mise à jour. Ça fonctionne
sans problème. Par contre j'ai réussi à casser le système en passant sur
maverick : la faute aux paquets installés de base qui n'intègrent pas
correctement les dépendances (xorg notamment), résultat, dès qu'une mise à jour
change l'api, ça ne passe plus. Bon, une fois qu'on a compris le truc, on peut
s'en sortir.

(Au passage j'ai ainsi pu tester la restauration du système, qui se fait très
simplement avec une carte sd.)

Le problème avec lucid, c'est que c'est quand même assez vieux : la version
d'unison proposée ne peux pas dialoguer avec mon serveur, rxvt-unicode n'est
pas disponible en 256 couleurs (j'ai pris deux exemples pas trop au hasard vu
que j'ai utilisés deux solutions différentes pour contourner le problème)

Si le paquet n'est pas trop récent on peut s'en sortir en l'installant depuis
les dépôts de Maverick, il n'y a pas trop de différences entre les jeux de
librairies et on ne casse pas grand chose.

Pour les paquets plus récents, il faut mieux le backporter depuis oneiric
(rappel express : on rajoute les dépôts source de la distribution que l'on
souhaite rétroporter, et on le compile avec les librairies de la distribution
courante) : ça prend du temps mais ça marche.

Je suis en train de regarder comment me faire un environnement de compilation
ARM sur ma tour.

Au final
========

Le prix de l'ordinateur étant en train de baisser, il devient très intéressant.
Je le réserve toutefois soit à une personne pas trop exigeante, qui se
satisfera des applications installées par défaut, soit capable de se compiler
ses paquets pour adapter le système. Entre les deux, on sera forcément deçu
(voir le journal précédent à ce sujet). Je pense que sur ce site, il peut
trou<style>pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */</style><div class="highlight"><pre><span></span>%%
%% This is file `frcursive.sty&#39;,
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% frcursive.dtx 
%% 
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{frcursive}
  [2004/02/01 v1.2 support package for French Cursive]
\newcommand{\frcursive@enc}{T1}
\DeclareOption{OT1}{%
  \renewcommand{\frcursive@enc}{OT1}}
\newif\if@frcursive@default
\@frcursive@defaultfalse
\DeclareOption{default}{%
  \@frcursive@defaulttrue}
\ProcessOptions\relax
\if@frcursive@default
\renewcommand{\rmdefault}{frc}
\linespread{1.5}
\RequirePackage[T1]{fontenc}
\fi
\newenvironment{cursive}{%
  \fontencoding{\frcursive@enc}%
  \fontfamily{frc}%
  \linespread{1.5}%
  \selectfont}{%
  \par}
\newcommand{\textcursive}[1]{{\cursive#1}}
\newenvironment{calseries}{\fontseries{cal}\selectfont}{}
\newcommand{\textcal}[1]{{\calseries#1}}
\newenvironment{ftseries}{\fontseries{ft}\selectfont}{}
\newcommand{\textft}[1]{{\ftseries#1}}
\newenvironment{wideseries}{\fontseries{w}\selectfont}{}
\newcommand{\textwide}[1]{{\wideseries#1}}
\newenvironment{acadshape}{\fontshape{ac}\selectfont}{}
\newcommand{\textacad}[1]{{\acadshape#1}}
\newlength{\seyesThickness}
\setlength{\seyesThickness}{0.05mm}
\newcommand{\seyesDefault}{}
\newsavebox{\seyes@box}
\newlength{\seyes@ln}
\newcommand{\seyes}[2][\seyesDefault]{%
  \mbox{%
    \sbox\seyes@box{#2}%
    #1%
    \raisebox{-0.5\seyesThickness}{\mbox{%
      \rlap{\rule{\wd\seyes@box}{\seyesThickness}}%
      \settoheight\seyes@ln{a}%
      \rlap{\rule[\seyes@ln]{\wd\seyes@box}{\seyesThickness}}%
      \settoheight\seyes@ln{d}%
      \rlap{\rule[\seyes@ln]{\wd\seyes@box}{\seyesThickness}}%
      \settoheight\seyes@ln{b}%
      \rlap{\rule[\seyes@ln]{\wd\seyes@box}{\seyesThickness}}%
      \settodepth\seyes@ln{p}%
      \rlap{\rule[-\seyes@ln]{\wd\seyes@box}{\seyesThickness}}%
      \settodepth\seyes@ln{g}%
      \rlap{\rule[-\seyes@ln]{\wd\seyes@box}{\seyesThickness}}%
    }}%
    \usebox\seyes@box}}
\endinput
%%
%% End of file `frcursive.sty&#39;.
</pre></div>
</code></pre></td></tr></table>
</div> <!-- class=content -->
<div class='footer'>generated by <a href='https://git.zx2c4.com/cgit/about/'>cgit v1.2.3</a> (<a href='https://git-scm.com/'>git 2.39.1</a>) at 2024-09-20 12:28:45 +0000</div>
</div> <!-- id=cgit -->
</body>
</html>
