tag:linuxfr.org,2005:/tags/critique/publicLinuxFr.org : les contenus étiquetés avec « critique »2021-09-02T11:03:58+02:00/favicon.pngtag:linuxfr.org,2005:Bookmark/35302021-09-01T23:32:22+02:002021-09-01T23:32:22+02:00Simon Chauchard, « Les réseaux sociaux dans le miroir », La Vie des idées (critique de livre)<a href="https://laviedesidees.fr/Les-reseaux-sociaux-dans-le-miroir.html">https://laviedesidees.fr/Les-reseaux-sociaux-dans-le-miroir.html</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/125283/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/olivedeparis/liens/simon-chauchard-les-reseaux-sociaux-dans-le-miroir-la-vie-des-idees-critique-de-livre#comments">ouvrir dans le navigateur</a>
</p>
Big Petehttps://linuxfr.org/nodes/125283/comments.atomtag:linuxfr.org,2005:Bookmark/7592019-07-22T14:39:12+02:002019-07-22T14:39:12+02:00Quiet Hacker News<a href="https://quiethn.com/">https://quiethn.com/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/117741/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/nyco/liens/quiet-hacker-news#comments">ouvrir dans le navigateur</a>
</p>
Nÿcohttps://linuxfr.org/nodes/117741/comments.atomtag:linuxfr.org,2005:Diary/376532017-12-16T16:36:07+01:002017-12-16T16:36:07+01:00Parlons un peu de Star Wars VIII - Les derniers Jedi (Attention : SPOILERS)Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Bonjour,</p>
<p>je previens d'emblée : que ceux qui n'ont pas encore vu le film passent leur chemin, nous allons ici en parler et donc en révéler tout ou partie.</p>
<p>Je n'ai pas la prétention d'être critique ou expert en cinéma, je donne simplement mon avis pour lancer la discussion.</p>
<p>Je suis donc allé voir Star Wars Episode VIII hier soir en V.O., et je suis mitigé.<br>
J'ai passé globalement un bon moment divertissant, donc le "contrat" est rempli.</p>
<p>Il y a de bonnes choses, comme la mort de Snoke par exemple. Le personnage est mystérieux, on ne sait (toujours) pas qui il est, ni d'où il vient, mais semble avoir de l'importance de part son statut de "grand méchant" et… il meurt ! C'était assez inattendu (pour moi en tout cas), et donc appréciable.</p>
<p>De la même manière, j'ai bien aimé le traitement de Kylo Ren et de son évolution, tiraillé entre le côté clair et le côté obscur. Il n'est pas tout blanc ou tout noir, là encore, ce n'est pas désagréable.<br>
Le personnage de Rey est lui aussi bien écrit (et merveilleusement joué par Daisy Ridley), et l'idée qu'elle ne soit personne est très bonne. C'est même un soulagement, tellement je n'avais pas envie que l'on découvre qu'elle ait un lien de parenté avec des personnages connus. Ça donne plus de poids à cette bonne idée que l'affinité avec la Force peut apparaître chez n'importe qui (renforcée par la scène du petit gars à la fin, qui attire son balai avec la Force).</p>
<p>Je trouve intéressant le traitement des plans foireux de Poe et le fait que certes c'est un très bon pilote/chef de guerre, mais que ses victoires sont malgré tout en demi-teinte car au prix de nombreuses vies.<br>
Du coup, ça donne envie de le voir réussir et de croire à son plan pour désactiver le traceur du vaisseau du Nouvel Ordre. Le retournement de situation et l'échec si près du but n'en sont que plus savoureux.<br>
Surtout compte tenu de l'ambiguïté du personnage de Laura Dern (vice-amirale Holdo) que l'on soupçonne (à tort) d'être une taupe du Nouvel Ordre du début à la fin.</p>
<p>Certaines scènes sont très bien pensées et visuellement très réussies, en particulier celle de Rey face à elle-même dans la caverne du côté obscur sur l'île de Luke.<br>
Le duel entre Luke et Kylo également. Les mouvements, sur le fond rouge et blanc du sol de la planète, c'est vraiment magnifique.</p>
<p>Néanmoins, certaines choses m'ont un peu déplu.</p>
<p>La fausse mort de Leia par exemple. C'est trop capillotracté. Suspension d'incrédulité toussa, je veux bien, mais là c'est un peu trop gros.<br>
Mais d'un autre côté, sachant que Carrie Fisher est décédée, et à la vue de la scène précédente avec Kylo qui hésite, les échanges de "regards" avec la connexion à travers la force entre Ben et Leia, on se dit que ça y est, c'est pour maintenant et en fait… non. Suprenant certes, mais tellement atténué par le fait que non, la Force ne permet pas de survivre à une explosion et au fait d'être en toge dans l'espace, par -273 °C et sans oxygène. Il y a des limites.</p>
<p>Elle est d'ailleurs trop vite rétablie pour quelqu'un qui vient de subir tout ça.<br>
Pire, elle s'en sort à la fin !</p>
<p>Je trouve également le passage dans la ville casino de Canto Bight un peu inutile. Benicio del Toro est toujours excellent, mais cette partie n'apporte pas grand chose au film.</p>
<p>Le personnage de Rose, sans être désagréable, est plein de clichés. Tous ses échanges avec Finn, le sacrifice de sa sœur, puis le sien… mouais, sur ce coup là, ils m'ont un peu perdu.</p>
<p>Le Capitaine Phasma est encore sous exploité et pire, on sent que les scénaristes ont essayé de la rendre plus présente et l'artificialité qui s'en dégage.</p>
<p>Bref, un film pas désagréable et divertissant, mais avec quelques faiblesses…<br>
Et vous, qu'en avez-vous pensé ?</p><div><a href="https://linuxfr.org/users/madhatter/journaux/parlons-un-peu-de-star-wars-viii-les-derniers-jedi-attention-spoilers.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/113325/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/madhatter/journaux/parlons-un-peu-de-star-wars-viii-les-derniers-jedi-attention-spoilers#comments">ouvrir dans le navigateur</a>
</p>
madhatterhttps://linuxfr.org/nodes/113325/comments.atomtag:linuxfr.org,2005:Diary/349322014-04-29T02:41:25+02:002014-04-29T09:01:48+02:00Ubuntu 14.04 LTS : Pourquoi il vaudrait mieux ne pas du tout s'en servirLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><ul>
<li><a href="#raison-1--noyau-linux-non-support%C3%A9">Raison 1 : Noyau Linux non supporté</a></li>
<li>
<a href="#raison-2--upstart">Raison 2 : Upstart</a><ul>
<li><a href="#support">Support</a></li>
<li><a href="#logind">logind</a></li>
</ul>
</li>
<li><a href="#raison-3--les-services-sont-d%C3%A9marr%C3%A9s-et-ajout%C3%A9s-au-d%C3%A9marrage-par-d%C3%A9faut-lors-de-leur-linstallation">Raison 3 : Les services sont démarrés et ajoutés au démarrage par défaut lors de leur l'installation</a></li>
<li><a href="#raison-4--mysql">Raison 4 : MySQL</a></li>
<li>
<a href="#raison-5--choix-de-s%C3%A9curit%C3%A9-discutables">Raison 5 : Choix de sécurité discutables</a><ul>
<li><a href="#pollinate">Pollinate</a></li>
<li><a href="#apparmor">AppArmor</a></li>
<li><a href="#rien-de-plus-que-les-autres">Rien de plus que les autres</a></li>
</ul>
</li>
<li><a href="#raison-6--compiz--mir">Raison 6 : Compiz & Mir</a></li>
<li><a href="#autres-suppos%C3%A9es-raisons-devant-vous-pousser-%C3%A0-choisir-ubuntu">Autres supposées raisons devant vous pousser à choisir Ubuntu</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul></li>
</ul><p><strong>Ceci est une traduction de l'article publié sur mon blog personnel</strong> : <a href="https://tim.siosm.fr/blog/2014/04/25/why-not-ubuntu-14.04-lts/">Ubuntu 14.04 LTS: Why you should not use it, at all</a>. <strong>La version anglaise est probablement plus fluide et mieux rédigée car elle a été la cible de la plus grosse partie du travail de rédaction.</strong></p>
<p>Ubuntu 14.04 LTS (Trusty Tahr) vient juste de sortir (le 17 avril 2014). Cette version au support étendu (LTS) est donc toute fraîche. Pourquoi est-ce que je vous suggère alors de ne pas l'utiliser ? Ce journal détaille mes arguments.</p>
<p><strong>Trop long, je ne veux pas tout lire</strong>: Quelle distribution(s) devriez-vous plutôt utiliser ?</p>
<p>Pour les serveurs ou les machines dans le "cloud":</p>
<ul>
<li>Si vous pouvez vous permettre d'attendre un peu, choisissez Red Hat Enterprise Linux (RHEL) 7 (ou CentOS 7) ;</li>
<li>Si vous avez besoin de quelque chose <strong>tout de suite</strong>, utilisez soit :
<ul>
<li>RHEL 6 (ou CentOS 6) si l'age du noyau ne vous pose pas de soucis (vous pouvez utilisez les <a href="https://www.softwarecollections.org">Software Collections</a> pour obtenir des logiciels en espace utilisateur plus récents) ;</li>
<li>Fedora 20 si vous avez besoin de logiciels plus à jour (prévoyez de passer à RHEL 7 une fois disponible) ;</li>
<li>Debian 7 si vous êtes OK avec le système de gestion de paquets (passer à systemd et prévoyez la mise à jour vers Debian 8 qui utilisera systemd par défaut).</li>
</ul>
</li>
</ul><p>Pour les machines dites de bureau (ce qui inclut les ordinateurs portables) : Fedora 20 ou Arch Linux.</p>
<p>Votre distribution favorite n'est pas dans la liste ? Dommage, lâchez vous dans les commentaires.</p>
<p>L'avantage principal des versions LTS d'Ubuntu est que les logiciels sont mis à jour pendant cinq ans. Ces versions sont aussi supposées proposer des logiciels stables et matures qui s'insèrent bien dans l'écosystème logiciel actuel. Voici les raisons qui font que cela n'est pas du tout le cas et ne le sera probablement jamais avec cette version d'Ubuntu 14.04 LTS.</p>
<h3 id="raison-1--noyau-linux-non-supporté">Raison 1 : Noyau Linux non supporté</h3>
<p>Cette version inclut le <a href="https://wiki.ubuntu.com/TrustyTahr/ReleaseNotes">noyau Linux 3.13</a>. Cette version a apparemment été choisie pour assurer une <a href="http://www.phoronix.com/scan.php?page=news_item&px=MTUyMTA">plus grande compatibilité matérielle</a> à la sortie d'Ubuntu. Ce critère est en effet important lors du choix de la version du noyau à proposer pour les machines de bureau (rappel, cela inclut les ordinateurs portables). Mais il l'est beaucoup moins lorsque l'on se penche sur le cas des serveurs où le matériel peut demander l'utilisation d'un noyau compilé particulièrement pour celui-ci ou encore dans le cas des machines virtuelles pour lesquelles le matériel n'est plus du tout un critère important.</p>
<p>Donc, pour assurer une bonne expérience utilisateur sur les machines de bureau, ils ont choisi une <a href="https://www.kernel.org/">version qui n'est pas supportée sur le long terme par les développeurs du noyau</a>. Cela signifie que les mainteneurs du noyau Ubuntu seront les seuls à rétro-porter les patchs de sécurité et les correctifs sans aucune aide de la communauté, pendant cinq ans. Je ne connais pas les personnes responsables du maintien des patchs noyau pour Ubuntu, mais je doute de leur capacité à réaliser ce fastidieux travail alors qu'aucune autre distribution ne le fera pour ce noyau. À terme de comparaison, Red Hat a choisi d'utiliser le noyau 3.10 (qui est supporté sur le long terme officiellement) pour RHEL 7, qui n'est pas encore sorti.</p>
<p>À mon avis, un choix judicieux aurait été de proposer deux noyaux :</p>
<ul>
<li>le premier basé sur une version supportée pour les serveurs et les machines virtuelles (3.10 ou 3.12 par exemple);</li>
<li>le deuxième basé sur une version à jour du noyau pour les machines de bureau.</li>
</ul><p>Cela aurait aussi éviter beaucoup de travail à l'équipe de mainteneurs du noyau car :</p>
<ul>
<li>pour la version pour les serveurs, le travail aurait été en partie fait par la communauté ;</li>
<li>pour la version pour les machines de bureau, les paquets du noyau auraient pu être partagés avec les versions futures d'Ubuntu.</li>
</ul><p>Vous pourriez être tenté de me rétorquer que cela risquerait de rendre le travail des administrateurs plus complexes. J'en doute fortement puisque la distinction entre la version serveur et la version bureau d'Ubuntu est clairement présentée sur la page de téléchargement et cela n'impacterait que le noyau utilisé par défaut lors de l'installation. Les deux versions du noyau seraient disponibles dans les dépôts et les utilisateurs/administrateurs pourraient changer de version si des soucis venaient à se produire.</p>
<h3 id="raison-2--upstart">Raison 2 : Upstart</h3>
<p>Cette version d'Ubuntu inclut Upstart comme processus d'init et comme processus chargé de la gestion des services. Le choix a été fait de rester sur Upstart alors que la plupart des distributions avaient déjà fait le choix de migrer sur systemd et que Debian était en train de discuter la possibilité d'une telle migration.</p>
<h4 id="support">Support</h4>
<p>Le premier problème ici est lié au support d'Upstart qui est maintenant considéré comme étant un projet sans avenir, mais qui va devoir nécessiter du support pendant encore cinq ans. Certaines personnes (incluant <a href="http://www.markshuttleworth.com/archives/1316">Mark Shuttleworth</a>) clament qu'Upstart est mature et bien supporté car il a été inclus dans une grande partie des distributions (avant que systemd ne vienne le remplacer) : par exemple RHEL 6, qui sera même encore supportée après les cinq de support de la version Ubuntu 14.04 LTS.</p>
<p>Je suis en désaccord total avec cette position. La plupart des fonctionnalités d'Upstart ne sont pas utilisées dans RHEL 6 par exemple. Upstart est uniquement utilisé comme intermédiaire pour lancer un imposant script « à la sauce SysVinit » qui fait tout le boulot : <code>/etc/rc.d/rc.sysinit</code>. Il n'y presque aucun « job Upstart » natif dans RHEL 6 (tty, gestionnaire de connexion à l'environnement graphique, support de control-alt-suppr et c'est à peu près tout). Ainsi, tout le reste n'est constitué que de scripts d'init. Donc les fonctionnalités de gestion des dépendances entre les services, de gestion des événements, de gestion du cycle de vie des services ne sont pas utilisées. Les seuls vrais utilisateurs d'Upstart sont les utilisateurs d'Ubuntu et le support vient uniquement des développeurs Ubuntu (et les services proposés dans les dépôts d'Ubuntu n'utilisent pas non plus tous Upstart).</p>
<h4 id="logind">logind</h4>
<p>Avec cette erreur de jugement mise de côté, nous pouvons nous attaquer au démon logind, ou pour faire simple, une partie du projet systemd utilisée sans systemd.</p>
<p>La gestion des sessions été auparavant le travail de ConsoleKit, mais le développement de ce logiciel a été stoppé il y a quelques années. L'alternative moderne est le démon systemd qui fait partie du projet systemd. Mais systemd n'est pas utilisé dans Ubuntu. Ils ont donc dû inclure une version modifiée du démon logind pour le faire fonctionner sans systemd. Ceci n'est bien entendu pas du tout supporté par le projet « upstream » et donc uniquement testé par les développeurs d'Ubuntu.</p>
<p>Ainsi, il n'est pas possible de s'appuyer de façon sûre sur les fonctionnalités d'Upstart, les nombreuses fonctionnalités de systemd ne sont pas disponibles et le gestionnaire de session comporte des modifications sans support du projet officiel et sera donc supporté uniquement par les développeurs d'Ubuntu.</p>
<h3 id="raison-3--les-services-sont-démarrés-et-ajoutés-au-démarrage-par-défaut-lors-de-leur-linstallation">Raison 3 : Les services sont démarrés et ajoutés au démarrage par défaut lors de leur l'installation</h3>
<p>Cette « fonctionnalité » est héritée de Debian : les services sont démarrés et ajoutés au démarrage par défaut lors de leur l'installation, avant même que l'administrateur ait eu l'occasion de les configurer. C'est un problème de sécurité parce que n'importe quelle erreur dans la configuration d'un service peut mettre en danger le système.</p>
<p>Les administrateurs consciencieux doivent d'abord arrêter les services démarrés le plus rapidement possible après l'installation pour pouvoir les configurer (et éventuellement les retirer du processus de démarrage). Cela réduit à néant le supposé avantage consistant à les démarrer par défaut.</p>
<p>Les réponses sur <a href="http://serverfault.com/questions/567474/how-can-i-install-packages-without-starting-their-associated-services">Serverfaults</a>, <a href="http://askubuntu.com/questions/74061/install-packages-without-starting-background-processes-and-services">AskUbuntu</a> et <a href="http://ask.debian.net/questions/how-to-prevent-daemons-from-starting-at-installation-time">AskDebian</a> ne sont pas satisfaisantes et ne sont que des « hacks » non permanents. Pour les utiliser, il faut faire attention à bien les mettre en place avant chaque appel à <code>apt-get</code> et ensuite faire attention à bien les retirer. Rien de tout ceci n'est bien entendu supporté et il n'est plus possible d'utiliser juste <code>apt-get install</code> car il faudrait alors s'assurer qu'aucune des dépendances installées ne démarre automatiquement un service.</p>
<p>Démarrer les services par défaut introduit une nouvelle contrainte : il faut demander à l'utilisateur certaines informations lors de l'installation lorsque les valeurs de configuration par défaut d'un service qui ne peuvent pas être devinées automatiquement.</p>
<p>Enfin, les services sont aussi automatiquement redémarrés lors de leur mise à jour et il n'existe pas de <a href="http://askubuntu.com/questions/226227/how-to-manually-restart-services-affected-by-apt-upgrades">moyen propre de bloquer ce comportement</a>. Il est bien entendu important de redémarrer un service aussitôt que possible après une mise à jour pour qu'il en bénéficie, mais c'est une décision qui devrait être laissée à la charge de l'administrateur.</p>
<p>Toutes ces « fonctionnalités » font qu'un administrateur doit être particulièrement attentif lors de l'installation de paquets sur un système ou lors des mises à jour. C'est une conséquence malheureuse pour des fonctionnalités sensées rendre la mise à jour et l'installation des paquets plus simple.</p>
<h3 id="raison-4--mysql">Raison 4 : MySQL</h3>
<p>La version de MySQL disponible dans les dépôts d'Ubuntu 14.04 vient directement <a href="https://plus.google.com/116812394236590806058/posts/j8L5kLdTtcH">d'Oracle</a>. Mark Shuttleworth a justifié ce choix avec les arguments suivants :</p>
<blockquote>
<p>It's very potent when we are able to give an upstream the ability to deliver their best bits directly to Ubuntu users using the awesome immediacy of the packaging system - we can only do that when we have established a shared set of values, and this is a great example.</p>
<p>As for phobias, the real pitchforks have been those agitating against Oracle. I think Oracle have been an excellent steward of MySQL, with real investment and great quality.</p>
</blockquote>
<p>Ce qui peut se traduire par :</p>
<blockquote>
<p>C'est un avantage notable de pouvoir donner à un développeur upstream la capacité de livrer directement la dernière version de leur logiciel aux utilisateurs d'Ubuntu, à l'aide du gestionnaire de paquets. Nous ne pouvons faire cela que lorsque nous avons établi qu'un ensemble de valeurs était partagé [entre les deux projets] et ceci en est un bon exemple.</p>
<p>En ce qui concerne les peurs (?), les enquiquineurs sont plutôt ceux qui ont prôné l'agitation contre Oracle. Je pense qu'Oracle est un excellent mainteneur de MySQL, avec un réel investissement et une grande attention portée sur la qualité.</p>
</blockquote>
<p>Bien entendu, les développeurs de MariaDB, les créateurs originel de MySQL ont un <a href="https://blog.mariadb.org/disappearing-test-cases/">point de vue différent sur la question</a>, comme l'ensemble des <a href="http://en.wikipedia.org/wiki/MariaDB#Prominent_users">distributions qui ont choisi MariaDB comme remplacement à MySQL</a>. Ils ont aussi fait une comparaison au <a href="https://mariadb.com/kb/en/mariadb-versus-mysql-features/">niveau des fonctionnalités</a> et ont récemment annoncé la sortie de <a href="https://blog.mariadb.org/the-mariadb-foundation-announces-general-availability-of-mariadb-10/">la dernière version de leur fork de MySQL</a>.</p>
<h3 id="raison-5--choix-de-sécurité-discutables">Raison 5 : Choix de sécurité discutables</h3>
<h4 id="pollinate">Pollinate</h4>
<p>Pollinate est une nouvelle « fonctionnalité de sécurité » <a href="http://blog.dustinkirkland.com/2014/02/random-seeds-in-ubuntu-1404-lts-cloud.html">introduite dans les images cloud d'Ubuntu 14.04 LTS</a>. C'est un script qui va récupérer des graines aléatoires à partir d'un ensemble de « serveurs fournisseurs d'entropie » pour « amorcer » (seed) le générateur de nombre pseudo aléatoire de Linux (PRNG). Il y a <a href="https://plus.google.com/+LennartPoetteringTheOneAndOnly/posts/K22yyHRc6hn">plusieurs inconvénients liés à cette approche</a> (pensez à lire les commentaires aussi). Je vais essayer de les résumer ici.</p>
<p>Tout d'abord, le but principal de ce script est d'améliorer la qualité des « amorces » (seed) pour les instance d'Ubuntu déployées dans le cloud, lorsque qu'aucune source d'aléatoire n'est disponible (pas de pilote virtuel virtio-rng, pas d'entrée/sortie non prévisible, pas d'amorce générée avant le lancement individuellement pour chaque instance). Pour cela, il récupère des données aléatoires à partir d'un ensemble de serveurs et par défaut, ces serveurs sont ceux hébergés par Canonical, faisant fonctionner le service Pollinate qui retourne des données aléatoires à tous ses clients.</p>
<ul>
<li>Premier problème évident : il faut faire confiance à cet ensemble de serveurs (bon, vous êtes déjà en train d'utiliser des logiciels fournis par la même entité qui héberge les serveurs, donc vous devriez déjà leur faire confiance de toute façon) ;</li>
<li>La première session TLS sera créée avec très peu d'entropie disponible, ce qui laisse à un attaquant la possibilité de soit complètement prendre le contrôle des échanges entre le serveur et le client (MITM ou attaque de l'homme du milieu) ou de déchiffrer le contenu de la communication lui donnant ainsi une quantité d'information non négligeable sur l'état d'amorçage du générateur de nombre pseudo aléatoire de l'instance dans le cloud.</li>
</ul><p>Un effet de bord très « sympathique » de cette « fonctionnalité de sécurité » pour Canonical est qu'ils vont recevoir une demande d'entropie pour chaque nouvelle instance d'Ubuntu lancée dans un cloud qui n'aura pas changé la liste de serveurs d'entropie par défaut pour le script pollen. Comme pour la plupart des options de configuration par défaut, il est peu probable que les gens prennent le temps de la changer. Ainsi Canonical aura un nombre qu'il pourra utiliser pour se gargariser de l'importance du déploiement d'Ubuntu dans les clouds, même si ce nombre ne représentera pas grand chose puisqu'il pourrait y avoir bien plus d'instance déployées (dans les clouds privés) ou beaucoup moins (que se passe-t-il si j'effectue chaque construction et test de mon projet dans une nouvelle instance "propre" d'Ubuntu ?).</p>
<p>Comme expliqué dans les commentaires de <a href="https://plus.google.com/+LennartPoetteringTheOneAndOnly/posts/K22yyHRc6hn">ce post mentionné au dessus</a>, la bonne façon d'amorcer le PRNG d'une machine virtuelle est de soit :</p>
<ul>
<li>utiliser l'hôte pour générer un fichier avec du contenu aléatoire et l'insérer dans le disque de la machine virtuelle avant de la démarrer (<a href="http://libguestfs.org/virt-builder.1.html">virt-builder</a> est capable de réaliser <a href="http://libguestfs.org/virt-builder.1.html#security">cette opération</a> for example). Cette opération est indépendante de l'hyperviseur utilisé ;</li>
<li>activer le pilote virtuel VirtIO RNG dans le noyau de la machine virtuelle et d'utiliser l'option de configuration correspondante pour Qemu pour l'activer pour la machine virtuelle (<a href="http://wiki.qemu-project.org/Features-Done/VirtIORNG">documentation</a>). Cela dépends bien évidement de Qemu et de KVM.</li>
</ul><p>Note: Pollinate/Pollen est peut-être bien une façon efficace d'amorcer le PRNG d'une instance d'Ubuntu dans un « mauvais cloud », mais la question est : Est-ce que les bénéfices valent les risques encourus ? Je n'en suis pas sûr.</p>
<h4 id="apparmor">AppArmor</h4>
<p>Note: Je suis biaisé sur ce sujet parce que j'ai principalement étudié le fonctionnement de SELinux.</p>
<p>J'ai récemment jeté un coup d'oeil au support d'AppArmor dans libvirt (<a href="http://wiki.apparmor.net/index.php/Libvirt">implémenté comme driver/plugin sVirt</a>).</p>
<p>Lorsqu'une machine virtuelle est lancée en utilisant libvirtd, un processus annexe (/usr/lib/libvirt/virt-aa-helper) génère un profil AppArmor à partir de la configuration XML de la machine virtuelle dans libvirt. Ce profil autorise les accès (au niveau de AppArmor) du processus Qemu à tous les éléments définis dans la configuration de la machine virtuelle. Parmi les éléments de configuration disponible, il y a le partage de dossiers depuis la machine hôte vers la machine virtuelle en utilisant la technique de « file system passthrough » avec le pilote virtuel VirtFS (<a href="http://wiki.qemu.org/Documentation/9psetup">Plan 9 folder sharing over VirtIO</a>).</p>
<p>Le programme annexe virt-aa-helper traduira sans se plaindre n'importe quel chemin choisi comme partage (dans la configuration XML d'une machine virtuelle) en règles AppArmor accordant l'accès en lecture et écriture à ce chemin et à ses sous dossiers. Ceci désactive une bonne partie de la protection normalement offerte par AppArmor. Cette "fonctionnalité" seule ne permet pas de passer root sur une machine parce que le contrôle d'accès classique RWX UNIX (Discretionary Access Control ou DAC) est toujours appliqué (et les processus Qemu tournent sous un utilisateur restreint : libvirt-qemu). Mais cela supprime la partie « Obligatoire » dans le Contrôle d'Accès Obligatoire (Mandatory Access Control ou MAC) car un simple utilisateur autorisé à configurer des machines virtuelles pourra désactiver une partie des protections d'AppArmor pour des machines virtuelles.</p>
<p>Un exploit complet nécessitera d'abord un exploit pour s'échapper de la machine virtuelle pour pouvoir accéder à l'hôte, et ensuite un exploit local root classique qui ne sera pas gêné par AppArmor autant qu'il aurait dû l'être.</p>
<p>Le problème majeur ici est que ce modèle autorise des utilisateurs qui ne sont pas de confiance à influencer de façon significative le profil AppArmor utilisé pour une machine virtuelle.</p>
<p>Note 1: J'ai utilisé ici le pilote VirtFS parce qu'il n'empêche pas le processus Qemu de démarrer si l'accès un fichier ou un dossier particulier est refusé dû aux contrôles DAC, mais n'importe quelle entrée de configuration de type « device » dans la configuration XML pourrait être utilisée pour obtenir les mêmes résultats.</p>
<p>Note 2: Ce cas est un exemple où le « Contrôle d'Accès Obligatoire » (MAC) devrait empêcher les utilisateurs (et même les administrateurs) de faire une action stupide (partager le dossier /etc de l'hôte avec une machine virtuelle par exemple). Un des éléments important dans le modèle de « Contrôle d'Accès Obligatoire » est que la seule entité prenant des décisions lors de l'exécution doit être le noyau (le moniteur de référence), et que ces décisions doivent être basées sur une politique ayant été écrite dans un environnement de confiance et ayant été vérifiée avec soin. La génération même partielle de politiques lors de l'exécution et sous contrôle d'un utilisateur est une violation de ce principe.</p>
<h4 id="rien-de-plus-que-les-autres">Rien de plus que les autres</h4>
<p>Dustin Kirkland a partagé le <a href="http://blog.dustinkirkland.com/2014/04/ubuntu-1404-lts-security-for-human.html">support d'une présentation</a> qu'il a réalisé récemment. Ce qu'il faut noter ici : 99% de ce qui est mentionné dans cette présentation n'est pas spécifique à Ubuntu et est disponible dans toutes les autres distributions. Les 1% restant incluent la « fonctionnalité » présentée au dessus : pollen.</p>
<h3 id="raison-6--compiz--mir">Raison 6 : Compiz & Mir</h3>
<p>« OK, j'ai compris, il n'est pas raisonnable d'utiliser Ubuntu sur un serveur. Mais je l'aime beaucoup sur mon ordinateur de bureau / ordinateur portable. Je dois bien pouvoir le garder ? »</p>
<p>Malheureusement non, je vous le déconseille. La différence principale entre une serveur et une machine de bureau est l'interface graphique, ou plus globalement la « pile graphique » : cela inclut les pilotes de carte graphique dans le noyau, le serveur d'affichage, le compositeur, les bibliothèques OpenGL… Ubuntu se reposera ici aussi sur des logiciels qui ne sont plus supportés car elle utilise toujours Compiz comme compositeur, alors que le développement a été arrêté il a plus de deux ans. Unity est le seul environnement de bureau qui utilise encore Compiz et les développeurs d'Ubuntu sont les seuls à le maintenir.</p>
<p>Ils ont aussi choisi de travailler sur leur propre serveur d'affichage et compositeur : Mir. Cette décision a déjà été vivement critiquée :</p>
<ul>
<li>2013-05-12 : <a href="http://blog.martin-graesslin.com/blog/2013/05/mir-in-kubuntu/">Mir in Kubuntu</a> ;</li>
<li>2013-06-19 : <a href="http://mjg59.dreamwidth.org/25376.html">Mir, the Canonical CLA and skewing the playing field</a> ;</li>
<li>2013-07-15 : <a href="http://mjg59.dreamwidth.org/26254.html">How XMir and Mir fit together</a> ;</li>
<li>2013-08-22 : <a href="http://mjg59.dreamwidth.org/27327.html">If you ever use text VTs, don't run XMir right now</a> ;</li>
<li>2013-10-02 : <a href="http://mjg59.dreamwidth.org/28032.html">The state of XMir</a> ;</li>
<li>2014-03-24 : <a href="http://blog.martin-graesslin.com/blog/2014/03/why-the-display-server-does-matter/">Why the Display Server DOES matter</a>.</li>
</ul><p>Bien que Mir ne soit pas le serveur d'affichage par défaut dans Ubuntu 14.04, le code pour lui permettre de fonctionner a été ajouté dans mesa notamment et dans d'autres logiciels de la pile graphique. Cela signifie que ces logiciels sont compilés avec des patchs spécifiques à Ubuntu et supportés uniquement par les développeurs de Mir.</p>
<h3 id="autres-supposées-raisons-devant-vous-pousser-à-choisir-ubuntu">Autres supposées raisons devant vous pousser à choisir Ubuntu</h3>
<ul>
<li><p><a href="http://www.markshuttleworth.com/archives/1318">#12 – Ubuntu is the majority of public cloud workloads</a> : Et Microsoft Windows est installé sur la majorité des PC de bureau donc je devrais m'en servir sur toute mes machines ? Je sais que je suis un peu malhonnête dans ma comparaison, mais les nombres ne nous ont jamais rien dit sur la qualité d'un logiciel (OpenSSL ?). L'argument « Tout le monde l'utilise/le fait donc cela doit être bien » n'est pas valide.</p></li>
<li><p><a href="http://www.markshuttleworth.com/archives/1322">#11 – Ubuntu is the #1 platform for production OpenStack deployments</a> : Et nous revoilà avec l'argument « Le plus, le mieux », mais cette fois avec des chiffres intentionnellement truqués, tirés d'un <a href="http://www.openstack.org/blog/2013/11/openstack-user-survey-october-2013/">sondage sur les systèmes d'exploitation utilisés en production pour les instances d'OpenStack</a>. Essayons de refaire les calculs à partir des <a href="http://www.slideshare.net/openstack/openstack-user-survey-october-2013">sources</a>:</p></li>
</ul><table>
<thead><tr>
<th>Distribution</th>
<th>Nombre de voix</th>
<th>Pourcentage</th>
</tr></thead>
<tbody>
<tr>
<td>Ubuntu</td>
<td>111</td>
<td>53,1%</td>
</tr>
<tr>
<td>CentOS + RHEL + Scientific Linux</td>
<td>49 + 21 + 2 = 72</td>
<td>34,4%</td>
</tr>
<tr>
<td>Debian</td>
<td>6</td>
<td>2,8%</td>
</tr>
<tr>
<td>Fedora</td>
<td>3</td>
<td>1,4%</td>
</tr>
<tr>
<td>OpenSUSE + SUSE Linux</td>
<td>3 + 3 = 6</td>
<td>2,8%</td>
</tr>
<tr>
<td>Non Linux + Autres</td>
<td>9 + 1 + 1 = 11</td>
<td>5,2%</td>
</tr>
<tr>
<td>-------------</td>
<td>----------------</td>
<td>------------</td>
</tr>
<tr>
<td>Total</td>
<td>111 + 49 + 49 = 209</td>
<td>100% (99,7% avec les arrondis)</td>
</tr>
</tbody>
</table><p>Rien d'impressionnant. Je suis presque inquiet pour Debian :).</p>
<ul>
<li>
<a href="http://www.markshuttleworth.com/archives/1345">#10 Ubuntu is built on IAAS for IAAS users</a> :
Buzzword mania, aucune fonctionnalité mentionnée.</li>
</ul><h3 id="conclusion">Conclusion</h3>
<p>Ubuntu 14.04 est une version au support étendu. Une partie des paquets installés par défauts (pour la version serveur et pour la version bureau) sont non supportés, ne sont plus développés, sont obsolètes et certains le sont depuis plus d'un an.</p>
<p>Je ne comprends pas comment il est possible d'accepter cet oxymore.</p><div><a href="https://linuxfr.org/users/siosm/journaux/ubuntu-14-04-lts-pourquoi-il-vaudrait-mieux-ne-pas-du-tout-s-en-servir.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/102030/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/siosm/journaux/ubuntu-14-04-lts-pourquoi-il-vaudrait-mieux-ne-pas-du-tout-s-en-servir#comments">ouvrir dans le navigateur</a>
</p>
Siosmhttps://linuxfr.org/nodes/102030/comments.atomtag:linuxfr.org,2005:Diary/348412014-03-29T17:01:10+01:002014-03-29T17:01:10+01:00Coucher avec son ordiLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Vous n’en n’avez certainement pas rêvé mais un réalisateur de cinéma l’a fait pour vous. Le film « <a href="http://fr.wikipedia.org/wiki/Her">Her</a> » actuellement à l’affiche est chaud, très chaud. Quel rapport avec Linux : aucun. Les logiciels libres : aucun. L’informatique ? Ah ah, vous brûlez ! </p>
<p>Le sexe et l’ordinateur est déjà une histoire ancienne. (Pour les croulants de mon espèce, rappelez-vous le <code>3615 code ulla</code> !) Ce film montre une nouvelle forme d’interface à un système d’exploitation qui n’est plus textuelle, ni graphique mais vocale. Il est tout à fait dans la lignée du film 2001 Odyssée de l’espace où le personnage principal est Hal mais en beaucoup moins angoissant. Là, elle s’appelle Samantha. Et elle est chaude, très chaude. En plus, même si elle ne fait pas le café, elle peut faire la synthèse de vos mails et y répondre à votre place, organiser tout un tas de détails de votre vie tout comme le ferait une gouvernante dévouée. Et la nuit, oh la nuit…</p>
<p>Reste que l’interface homme / machine, telle qu’elle est montrée dans ce film, semble aujourd'hui à portée de main : on a le haut débit de la 4G, des smartphones capables de filmer en direct et les oreillettes sont devenues banales. Mais je ne sais rien de l’aptitude qu’aurait de nos jours une machine à analyser les émotions humaine en fonction d'une voix. Car, dans ce film, le véritable talent Samantha est de parvenir à saisir les infimes nuances de l’humeur de son interlocuteur. Et, en plus de savoir parler comme un humain, elle respire comme lui. Ce dernier point est le moment fort du film quand son interlocuteur le remarque tout d'un coup.</p>
<p>Allez voir ce film ! Mais pas en couple, sincèrement.</p><div><a href="https://linuxfr.org/users/deber/journaux/coucher-avec-son-ordi.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/101721/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/deber/journaux/coucher-avec-son-ordi#comments">ouvrir dans le navigateur</a>
</p>
Denis Bernardhttps://linuxfr.org/nodes/101721/comments.atomtag:linuxfr.org,2005:Diary/339022013-05-16T00:22:15+02:002013-05-16T07:26:42+02:00Alastair ReynoldsLicence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<h2 id="sommaire">Sommaire</h2>
<ul><li>
<a href="#toc_0">Introduction</a>
</li>
<li>
<a href="#toc_1">Alastair Reynolds: sa vie, son oeuvre</a>
<ul><li>
<a href="#toc_2">Le New Space Opera</a>
</li>
<li>
<a href="#toc_3">Le cycle des Inhibiteurs</a>
</li>
<li>
<a href="#toc_4">Un cadre classique subverti</a>
</li>
<li>
<a href="#toc_5">Une imagerie bien plus originale qu'il n'y paraît</a>
</li>
<li>
<a href="#toc_6">Un goût évident pour l'ingénierie colossale</a>
</li>
<li>
<a href="#toc_7">Conclusion</a>
</li>
<li>
<a href="#toc_8">Liens et informations diverses</a>
</li>
</ul></li>
</ul><h3 id="toc_0">Introduction</h3>
<p>Il y a quelque temps, j'avais posté plusieurs annonces concernant le passage d'écrivains de SF en France. <br />
Et parmi les commentaires de ces annonces, on m'avait demandé de présenter quelques auteurs de SF que j'apprécie.</p>
<p>Je vais donc commencer par un auteur, peut être un peu méconnu des lecteurs occasionnels, mais tout à fait intéressant: Alastair Reynolds.</p>
<p>Comme il est en France pour le festival des Imaginales et qu'il passera à Paris à la librairie Charybde le 28 Mai, cela fait une excellente occasion d'en toucher quelques mots.</p>
<h3 id="toc_1">Alastair Reynolds: sa vie, son oeuvre</h3>
<p>Comme l'indique sa fiche wikipédia, le Gallois <a href="http://fr.wikipedia.org/wiki/Alastair Reynolds" title="Définition Wikipédia">Alastair Reynolds</a> est un nouveau venu dans la communauté mondiale des auteurs de SF, puisque son premier roman date de 2000.</p>
<p>En écrivant ce premier roman, il frappe d'ailleurs un grand coup, puisque c'est le début d'une tétralogie monumentale nommé en Français le Cycle des Inhibiteurs. Ils s'inscrivent dans un univers littéraire riche et complexe, complété par un ensemble d'excellentes nouvelles (dont quelques unes sont traduites en Français). </p>
<p>Le mot monumental n'est pas vraiment une hyperbole, puisque chaque roman de ce cycle traduit en Français monte allégremment vers les 700 pages!!</p>
<p>Heureusement, pour le lecteur un peu découragé par cette possible montage de papier à escalader, Alastair Reynolds a aussi par la suite fait des romans plus courts, et pouvant se lire indépendamment les uns des autres.</p>
<p>Avant de se mettre à l'écriture, Alastair Reynolds a obtenu un doctorat d'astronomie, puis à travaillé comme ingénieur au sein de l'agence spatiale européenne.<br />
Ce sont des points biographique essentiels, puisque si Reynolds a inscrit son cycle dans un sous-genre, que l'on a pu appeler le New Space Opera, il s'efforce à chaque roman d'être le plus conforme possible avec la physique, l'astronomie et l'astrophysique. </p>
<h4 id="toc_2">Le New Space Opera</h4>
<p>Comme je l'écrivais précédemment, le terme de New Space Opera émerge à la fin des années 70 pour décrire un sous genre, où s'illustrent d'ailleurs beaucoup d'autres auteurs britanniques, comme Ian M Banks, Paul McAuley, Charles Stross. Il s'agit en fait d'une forme d'hybridation entre les thèmes classiques du Space Opera de l'âge d'or, faits d'aventures spatiales pleines de rebondissements, d'action et de lyrisme, et ceux beaucoup plus grinçant du Cyberpunk, de la SF spéculative des années 70, ou même de la Hard Science.<br />
On est donc là, à mi chemin du divertissement d'aventure et de textes plus expérimentaux et spéculatifs comme peuvent l'être les romans et les nouvelles d'un Bruce Sterling par exemple.</p>
<h4 id="toc_3">Le cycle des Inhibiteurs</h4>
<p>Ce cycle est formé des romans suivants:</p>
<ol><li>2000 : <strong>L'Espace de la révélation</strong> (Revelation Space)</li>
<li>2001 : <strong>La Cité du gouffre</strong> (Chasm City)</li>
<li>2002 : <strong>L'Arche de la rédemption</strong> (Redemption Ark)</li>
<li>2003 : <strong>Le Gouffre de l'absolution</strong> (Absolution Gap)</li>
</ol><p>Un cinquième n'a pas été traduit en Français: il s'agit de <strong>The Prefect</strong> datant de 2007.</p>
<p>Je ne rentrerai pas dans les détails de chaque roman, ce qui prendrait beaucoup trop de place, mais j'essaierai ici de résumer un peu le cadre assez original de ce cycle.</p>
<p>En effet, ici Reynolds ne nous décrit pas un empire galactique humain unitaire, mais une colonisation de la galaxie provoquant la dissolution progressive de l'humanité en factions rivales, déformées par les technologies et les idéologies, et plus que tout, par l'immensité de l'espace.<br />
À ce fond, se superpose une interrogation: pourquoi sommes nous seul en apparence dans la galaxie? <br />
Dès le premier roman, on comprends que cette solitude a une cause: les inhibiteurs, des machines acharnés à l'anéantissement des races intelligentes.</p>
<p>Ces quatres romans décrivent ainsi de manière épique la progressive prise de conscience de l'humanité, puis sa lutte desespérée et brouillonne contre ces machines.</p>
<h4 id="toc_4">Un cadre classique subverti</h4>
<p>Ainsi résumé le cycle des Inhibiteurs pourrait sembler être un fix up d'idées déjà vus ailleurs: c'est effectivement ce que l'on pourrait penser à la première lecture, puisque l'amateur éclairé reconnaitra par exemple des idées provenant par exemple de la <strong>Schismatrice</strong> de Sterling, ou la réutilisation du thème des machines tueuses de monde du cycle des <strong>Bersekers</strong> de Saberhagen ou de Benford.<br />
Cependant, Reynolds parvient à renouveler ces thématiques, et y injecte des idées nouvelles, souvent par un savant travail d'hybridations entre sous-genres, en empruntant même d'ailleurs à d'autres littératures que la SF.</p>
<h4 id="toc_5">Une imagerie bien plus originale qu'il n'y paraît</h4>
<p>Si l'on doit reconnaitre qu'Alastair Reynolds n'est pas un grand styliste du point de vue strictement littéraire, il n'empêche qu'il parvient à imposer une certaine imagerie, empruntant à une multitude de franges de la pop culture mondiale.</p>
<p>Reynolds a par exemple un excellent sens des images, souvent saisissante du point de vue graphique, qui peut par exemple mêler l'imagerie gothique à la froideur et la pureté des photographies astronomiques.</p>
<p>Par ailleurs, une autre grande source d'inspiration de Reynolds est la musique populaire mondiale et ses différentes sous-cultures, comme le Métal, le Punk, ou la musique africaine, dont la contrepart iconographique est souvent une source d'inspiration.</p>
<p>Ce goût pour les sous-cultures populaires, se traduit souvent par des descriptions assez fascinantes, comme celles de ces équipages de vaisseaux interstellaires vivant des dizaines d'années seuls dans l'espace et petit à petit se bricolant aux limites du Métal et du Gothique leur propre culture marginale…</p>
<p>C'est cette ambiance de prolos de l'espace, proche d'une certaine manière de l'esthétique industrielle, à la fois sale et usée qu'avait imposé Ridley Scott dans <strong>Alien</strong>, faisant du <em>Nostromo</em> un tanker de l'espace<br />
et de son équipage les descendants des ouvriers des stations pétrolières du 20eme siècle.</p>
<h4 id="toc_6">Un goût évident pour l'ingénierie colossale</h4>
<p>Si Reynolds n'hésite donc pas à s'aventurer dans la pop culture mondiale pour y pécher des images, il n'en reste pas moins fondamentalement un ingénieur, et comme souvent un grand amoureux des machines géantes.<br />
Et ces récits abondent donc en <a href="http://fr.wikipedia.org/wiki/Big_Dumb_Object">Big Dump Objects</a>, d'autant plus immenses qu'ils se doivent d'être inquiétants.<br />
On y trouve donc des machines géantes à démanteler les étoiles, des points entres les planètes et l'espace, des artefacts à l'échelle de systèmes solaires entiers, à chaque fois amoureusement décrit, et en cherchant à reste le plus possible compatible avec la physique connue (ou en tout cas, en la poussant dans ces marges publiées par des revues scientifiques à referee…).<br />
On sent le physicien et l'ingénieur qui ne s'est pas décidé à renoncer aux plaisirs ambigus des jeux de l'enfance…</p>
<h4 id="toc_7">Conclusion</h4>
<p>Reynolds fait partie de ces jeunes auteurs britanniques qui ont émergé ces dernières années, renouvelant le genre par leur créativité et leur capacité à saisir ailleurs ce qui pouvait être intéressant.<br />
Par ailleurs, son goût du détail scientifique exact en fait un membre de la petite bande des Hard Scienceux britanniques, qui contient quelques spéciment tout à fait passionnants comme Stephen Baxter, Charles Stross, ou Paul McAuley.</p>
<h4 id="toc_8">Liens et informations diverses</h4>
<p><a href="http://voxish.tripod.com/">Blog de Alastair Reynolds</a><br /><a href="http://fr.wikipedia.org/wiki/Cycle des Inhibiteurs" title="Définition Wikipédia">Cycle des Inhibiteurs</a>(<a href="http://en.wikipedia.org/wiki/Revelation_Space_universe">http://en.wikipedia.org/wiki/Revelation_Space_universe</a>)<br /><a href="http://www.imaginales.fr/alastair-reynolds/">Liens vers les imaginales</a></p>
<p>Alastair Reynolds sera en signature à la librairie Charybde, le 28 Mai à partir de 19h.</p>
<p><a href="http://www.charybde.fr/post/charybde-en-mai">Librairie Charybde</a><br />
Adresse: <br />
129 rue de Charenton<br />
75012 Paris<br />
09.54.33.05.71</p><div><a href="https://linuxfr.org/users/bidibulle2/journaux/alastair-reynolds.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/98321/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/bidibulle2/journaux/alastair-reynolds#comments">ouvrir dans le navigateur</a>
</p>
Bidibulle2https://linuxfr.org/nodes/98321/comments.atomtag:linuxfr.org,2005:Diary/319642011-12-18T03:13:35+01:002011-12-18T03:13:35+01:00Falling in love with GnomeLicence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<h2 id="sommaire">Sommaire</h2>
<ul><li><ul><li><a href="#toc_0">Introduction</a></li>
<li><a href="#toc_1">Corpus</a></li>
<li><ul><li><a href="#toc_2">Expérience</a></li>
<li><a href="#toc_3">Conclusion</a></li>
</ul></li>
</ul></li>
</ul><p>Cher journal,</p>
<p>Je prends ma plume en cette belle nuit ensoleillée, après une belle après midi chaudement remplie par une mise à jour en <em>perfect combo</em> entre mon Nexus S et la configuration de mon petit nacces au grand nainternet, avec un beau plat principal de spaghettis de logs dont le classement vertical reste en suspend, le tout arrosé comme il se doit de thé vert, mon dealer de maté ayant décidé d'augmenter subitement ses tarifs, je suis resté au thé vert ; pour partager avec toi quelques mots sur ce bureau de <em>merde</em> qu'est <a href="http://fr.wikipedia.org/wiki/GNOME shell" title="Définition Wikipédia">GNOME shell</a>. Oui je sais ce fût long ... :-) Voilà avec cette pré-introduction, va suivre une très longue introduction, mais toutes et tous le savons, rien de mieux qu'une longue entrée en matière puis une chute brutale. Le reste, au milieu, on s'en fout un peu ...</p>
<h3 id="toc_0">Introduction</h3>
<p>Je sais aussi que c'est pas avec des journaux comme ça que mon karma va augmenter, mais tantpix. Alors voilà, il semble de notoriété acquise que Gnome3 saynul, ça fait rien qu'embêter l'utilisateur à pas vouloir être configurable, laid et pas ergonomique pour un sous. Moi qui suis Kde-iste depuis mon début, et qui ai eu la chance de commencer avec une distribution, auparavant célèbre, m'ayant permis d'apprécier aussi tout les bureaux (quant je dis apprécier ce n'est pas seulement respecter, c'est vraiment aimer leurs usages, aussi dans leurs différences, leur diversité), je revenais toujours à KDE parce que : konqueror, le gestionnaire qui roxait les anus de maman ours à permettre le glisser déposer entre un coin ssh, un coin ftp, un coin local et un coin smb, le tout dans une seule fenêtre du gestionnaire de fichiers. Qui m'a permis de découvrir les <a href="http://fr.wikipedia.org/wiki/KIO" title="Définition Wikipédia">KIO</a> parts. Et sa konsole... haaa la konsole :-) Aussi le plaisir de se faire une configuration aux petits ognions, tel un unix avec un vrai cde, mais à la puissance 10 et moderne, mais je ne le savais pas tout ça, ignare que j'étais. Les services menus faciles, et tout ce qui rendait Kde largement au dessus des autres pour tout les esthètes du bureau et aussi pour tout ceux cherchant à gagner en temps et confort lors de manipulations en graphiques. </p>
<p>Gnome. Ha gnome, son set d'icone affreux, son gestionnaire de fichiers à pleurer sa mère, et malgré tout sa simplicité, et son efficience. Plus une palanquée d'applications d'un fort beau gabarit. Gnome 2, un truc, à chaque fois que tu le lances tu te dis "ouhai c'est vraiment chouette", et à chaque fois que tu reviens sur kde tu te dis "oufff".</p>
<p>Aujourd'hui il est donc de notoriété, et à la mode, de dire Gnome3 et gnome-shell, say que des merdes en barre. Un exemple pris au hasard du web :</p>
<blockquote>
<p>Bonjour !<br />
Depuis quelque jours, gnome 3 arrive dans les mises à jour de Debian. J'ai eu beau tenter de repousser la date du apt-get update, je l'ai fait. <br />
C'est pourri !<br />
Plus de 'panel' en haut, juste une barre noire que l'on ne peut pas changer. On ne peut RIEN y ajouter. Les paramètres sont ceux d'avant, il y a moins de menus qu'avant (donc certaines choses sont inchangeables).<br />
Le bon vieux ALT+TAB permet de switcher entre les types de fenêtres. Donc les terminaux vi,python,gcc, tous à la même enseigne.<br />
On peut toujours bouger les fenêtres, mais l'optino 'disable mouse when typing' dure 3000ans. On doit donc attendre 40000 ans après avoir tapé quelque chose pour pouvoir changer de terminal.<br />
Le plus scandaleux restant le bureau, on ne peut RIEN y faire. Il est vide, avec un fond d'écran bizarre (il m'en a mis un ancien d'il y a trois semaines, mal cadré) et on peut s'amuser à rager en cliquant des deux boutons partout dessus, ça ne fait RIEN.<br />
C'est donc super pour rager.<br />
Vous allez me dire, 'oui, mais y'a le mode fallback avant de se loguer pour revenir à l'ancien thème'.<br />
FAUX!!!!!!!!!!!<br />
C'est un mélange de vomi, d'ancien thème, d'un peu d'icônes sur le bureau et de chair d'orc en décomposition.<br />
Et vous vous en pensez quoi ? :)</p>
</blockquote>
<p>Bon, j'avoue tout, je ne l'ai pas pris <em>tout à fait</em> au hasard, disons plutôt dans un panel pris au hasard, j'ai choisi celui là :p Sans vous donner le lien, car le but n'est pas de mettre l'opprobe sur ce pauvre malheureux, qui visiblement fait parti des grands cadors, et d'anonymous (ou de ...) ! Attention, il peut riposter, ces gens là , ça vous défonce en un rien ! Donc comme je n'ai ni l'envie de lui jeter la pierre ni l'envie de me retrouver dans une cours de recrée, vous comprendrez que je ne donne pas le lien de ce fil, pourtant savoureux.</p>
<p>Bon, bon, bon. Je vous propose un petit retour dans le passé, plutôt. Nous sommes à Boston, cette belle (parait il) ville de la côte est des USA, réputée (pour moi) par une véritable électrisation de la scène house à la fin des années 80, très hardcore, proche de l'indus et des usines, quant les anglais se demandaient encore à combien de tours faire tourner leur galette de <a href="http://fr.wikipedia.org/wiki/Blue Beat" title="Définition Wikipédia">Blue Beat</a> oulalala malheur cet artcile wikipédia, faut faire quelque chose!... </p>
<p>Nous sommes donc à Boston, en 2009. S'y déroule le Gnome Summit. C'est un moment clef, un moment charnière. GTK3 commence à avoir de la gueule, Xinput refait son boutot correctement. Pour mémoire Xinput2 est issu du projet Xorg et s'apprête à prendre en charge le multi -touch et le multi-input. Haaa que de fil à retordre, vu le cassage complet avec Xinput1. Parait il... Le serveur Xorg est en version 1.7 et c'est une belle conjonction pour que GTK3 s'occupe de Xinput2, cette nouvelle glue...</p>
<p>Avec le recul, on pourra apprécier le "travail sur l'API pour présenter une fonctionnalité complète de gestion des thèmes et de la personnalisation totale du futur Gnome3".... Ne vous étranglez pas, vous avez bien lu. Il s'agit d'un travail fait en commun avec le défunt TrollTech, avec la bibi Qt. Il y a tout aussi fort avec les "activités" ("où vous pouvez lancer une application, ouvrir un document, etc" : c'est ce que Gnome appele des activités, à ce moment là) rassurez vous de suite...</p>
<p>Clutter avait déjà explosé les compteurs en s'exposant sur Meego, et pas mal de monde (dont moi, mais juste on s'en fout :p) trouvait absolument génial cette manière de gérer les bureaux virtuels, le dernier truc qui manquait à Kde (heu, à mon goût, hein, saytou : la pierre manquante à mon super bureau kde était là, toute prête! mieux que dans mes rêves :p). Il y avait un potentiel intéressant, à la fois en terme d'idées et surtout en terme de gros code qui tache. </p>
<p>Novell, quant à lui, avait fini ses tests <em>d'utilisabilité</em> en étudiant au microscope les réactions des utilisateurs lambdas, qui tels des rats de laboratoires, étaient écoutés sans parole (l'histoire ne dit pas si les users ne savent pas s'exprimer ou si les dev ne savent pas écouter, on s'en fout, ça marche comme ça) Plus précisement, Novell avait financé cette étude auprès d'une boite Allemande spécialiste de l'ergonomie logicielle. Enfin, ... parait il :) Canonical, de son côté, avait développé Notify-OSD, un biniou d'unification des notifications. Que ça tombait bien, encore. Redhat arrive en poids lourd et exprime sa volonté de s'impliquer à temps plein dans Gnome3. </p>
<p>Conjonctions technologique, de travaux, de soutiens, ... Une bien belle année, 2009. À propos de techno, empathy commençait lui aussi à roxoriser, et l'idée saugrenue de détacher le portefeuille de contact de toutes les applications, pour le partager entre toutes est venue comme ça, certainement un soir de beuverie (on me fait signe que non...). Dessous, dans telepathy c'était encore un peu la foire d'empoigne, jetons un voile pudique sur cette partie là... Pour finir avec un tour non exhaustif des technos qui venaient d'atteindre un stade final de développement, il serait dommage de laisser de côté GOI (Arrrr Nein, ce nest pas ça!) G.Object Introspection, un <em>truc</em>, on dit framework, permettant aux développeurs feignants (sic) d'attacher facilement leur projet en Java, Javascript, C++ et Python. Un peu plus qu'un frameworkeuh cependant, puisqu'il s'agit de conversion vers C. Permettant ainsi à des javeux de donner leur <em>class javasaybien {...}</em> à manger à Gnome. Pouf, magique.</p>
<p>Ejecté Orbit, éjecté aussi la configuration complète des thèmes (bien que n'entrant pas en contradiction avec la philosophie de Gnome au sujet des options des applications) et éjecté deux trois autres trucs, dont on a tous oubliés les noms aujourd'hui :p on me fait signe que non, pas vous :p) </p>
<h3 id="toc_1">Corpus</h3>
<p>Vincent Untz, qui était alors responsable de parution pour le projet Gnome, s'exprimait à Boston en ces termes : </p>
<blockquote>
<p>Bien entendu, Gnome Shell modifiera beaucoup l'expérience utilisateur. Lors de changements aussi importants, il y a toujours des mécontents qui trouvent l'ancienne version de meilleure qualité. Cependant ce ne sera pas parce que la nouvelle version est mauvaise que ces gens seront mécontents, mais à cause de leurs habitudes (il pourrait y avoir de petites régressions ici et là, il y en a toujours avec le développement logiciel, mais une régression majeure serait disqualifiante pour cette version). Pour nous, rendre Gnome 3.0 si bon que les gens lâcheront leurs habitudes sans hésiter est un défi.</p>
</blockquote>
<h4 id="toc_2">Expérience</h4>
<p>Gnome3 : tu l'ouvres la première fois, c'est calme, c'est aéré, c'est propre, doux, et intuitif. Tu rentres une fois ton compte Google, et tout est configuré : messagerie, calendrier, contacts, discussion instantanée audio et vidéo. Les bureaux sont en "grille", c'est agréable à utiliser, et rapide. La boite à miniature ne contient que l'essntiel : le matériel (et la conf système ainsi que la disponibilité réseau). Le tout est très léché. Pourquoi vouloir changer ? Pour moi, ça a été peut être un peu plus facile puisque je ne nierai pas que mon kde était configuré sur une ergonomie très proche (difficile de nier : y a des preuves en formes de screenshots partout) Il est possible de se configurer la souris et le pavé tactile maintenant (bon, il y a encore des détails, comme le fait que par défaut le "taper" à deux doigts c'est le click droit, ce qui est historiquement un non sens : le "deux doigts" ayant toujours été, sur les souris à deux boutons, l'émulation du bouton du milieu, et non un deuxième bouton droit). Et bien sûr nous ne sommes pas dans le même monde que KDE, qui permet de se configurer absolument tout extrèmement finement, jusqu'à la milli-seconde de temps de réaction de la souris. Mais c'est pas comparable, ce n'est plus comparable, les deux mondes sont trop disctincts aujourd'hui. A noter cependant que Gnome-Shelle adopte une autre "kde attitude" en étant entièrement maitrisable au clavier (à part quelques boites d'entrées qui ne comprennent pas encore tab), tel que kde3 le proposait. Là doivent s'arrêter les comparaisons des mondes. Encore un petit effort du côté de la politique de jonglage entre applications : être prévenu passivement des nouveaux mails, c'est très bien, être prévenu passivement qu'on vient de cliquer sur un lien, c'est moins bien, surtout que la notification ne reste pas longtemps : pourquoi ne pas basculer sur le navigateur puisqu'une <em>action</em> vient d'être demandée ?</p>
<h4 id="toc_3">Conclusion</h4>
<p>Le défi <em>"si bon que les gens lâcheront leurs habitudes sans hésiter"</em> est pleinement réussi. </p>
<p>Suis je le seul ? Devant le déferlement de mécontemements, on pourrait le penser. Mais je pari que non ;-) Allez, un coup de gnome-shell, une extension gpaste, une extension auto-desktop (backporté dans votre distro préféré) , une extension de surveillance de la température cpu, on fait ensuite disparaitre le menu et la barre latérale du gnome-terminal, on admire le dock sur le côté qui s'adapte en taille au nombre de raccourcis présents, on se régale du bureau en grille et de la facilité de gestion des applications sur les bureaux avec les miniatures géantes de bureaux ;) De l'efficacité simple de Evolution. Embarquement. Vous êtes en première classe. Vers le soleil.</p>
<p>
<em>Si vous avez lu jusque là, bravo :p Si vous n'avez lu que corpus, expérience et conclusion : bravo aussi ;-) Si vous êtes développeurs Gnome, Merci. Et si vous êtes dévelppeurs Kde aussi (et moi, je viens de retouver une sérenité presque oubliée, celle vous faisant dire "hum, là ça va être difficile de changer")</em>
</p>
<p>*ce journal est honteusement pompé sur plein de sources. Non ?? Si j'vous jure !!</p><div><a href="https://linuxfr.org/users/bubar/journaux/falling-in-love-with-gnome.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/88692/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/bubar/journaux/falling-in-love-with-gnome#comments">ouvrir dans le navigateur</a>
</p>
bubar🦥https://linuxfr.org/nodes/88692/comments.atomtag:linuxfr.org,2005:News/285402011-09-26T14:14:09+02:002021-07-11T19:23:39+02:00Facebook f8 : timeline, musique/vidéo, ticker, boutons (et les conséquences pour le web)Licence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<div><p>Facebook a tenu sa conférence développeurs, j’ai nommé <em>f8</em>. Le <em>Walled garden</em>, désormais géant de l’informatique avec lequel il faudra longtemps traiter (intimement lié à Microsoft/Skype par son actionnariat et ses partenariats), a présenté quelques nouveautés lors de cette grand‐messe san‐franciscaine. Au menu, changement des profils, musique, vidéo et actualités.</p>
<p>On s’enfonce encore plus loin dans le déni de vie privée, et bien évidemment l’ensemble attaque directement la neutralité du Net.</p>
</div><ul><li>lien nᵒ 1 : <a title="https://www.facebook.com/about/timeline" hreflang="en" href="https://linuxfr.org/redirect/73188">Facebook Timeline </a></li><li>lien nᵒ 2 : <a title="http://www.zdnet.fr/actualites/mark-zuckerberg-facebook-14e-fortune-des-etats-unis-39764146.htm" hreflang="fr" href="https://linuxfr.org/redirect/73189">Zuck, le 14ème plus friqué des USA </a></li><li>lien nᵒ 3 : <a title="http://linuxfr.org/users/dysen/journaux/facebook-abus-et-failles" hreflang="fr" href="https://linuxfr.org/redirect/73213">Journal DLFP Facebook : abus et failles</a></li><li>lien nᵒ 4 : <a title="http://www.readwriteweb.com/enterprise/2011/09/how-facebook-ate-the-web.php" hreflang="en" href="https://linuxfr.org/redirect/73220">How Facebook Ate the Web </a></li></ul><div><p><strong>Timeline</strong></p>
<p>Timeline permettra, enfin, aux utilisateurs de Facebook, de donner au grand centralisateur, non plus leur présent (états d’âmes, <em>« like »</em>, photos de vacances, rendez‐vous chez McDo, vidéos de chats, dernier article révoltant, etc.), comme c’est le cas actuellement, mais aussi de donner et chercher dans le passé. Facebook ne couvrira donc plus seulement le présent et le passé récent, mais également le passé lointain. Tous les profils seront migrés à terme.</p>
<p><strong>Musique et vidéo</strong></p>
<p>Spotify et Netflix, ainsi qu’un assez grand nombre de services de musique et vidéo en ligne, permettront de partager « socialement » les goûts musicaux et vidéo, les musiques écoutées et vidéos visualisées, etc.. Tout cela sera partagé sur la <em>Timeline</em>.</p>
<p><strong>Médias</strong></p>
<p>Ticker est la petite colonne de droite ou défilent les items de vos contacts. Ils intégreront les actualités des médias qui ont un partenariat avec FB. Le contenu de cet espace sera fonction de vos habitudes. Les médias acceptent de voir baisser le nombre de pages visitées sur leurs sites Web, malgré la baisse des revenus publicitaires que cela induit, car ils espèrent par ce biais une meilleure image de marque et un meilleur engagement. En échange, ces médias pourront butiner dans les données Facebook pour vous présenter un contenu personnalisé quand vous accéderez à leur site.</p>
<p><strong>Boutons</strong></p>
<p>Une dernière « innovation » pour la route : l’apparition de nouveaux boutons. En plus du <em>« Like »</em>, on va bientôt voir fleurir les <em>“Read”</em>, <em>“Listen”</em> et <em>“Watch”</em>. Un gros pourrissement généralisé du Web, que l’on pourrait bien assimiler aux étiquettes (<em>tags</em>) et graphes de nos murs, sièges et vitres de métros. Autre conséquence, les données collectées par Facebook sur les sites tiers seront donc affinées.</p>
<p><strong>My tailor is rich</strong></p>
<p>Aparté : <em>« the Zuck »</em>, le PDG de Facebook, Mark Zuckerberg, passe dans le top 20 des fortunes des États‐Unis. Avec un porte‐monnaie personnel estimé à pas moins de 17,5 milliards de dollars, il monte en effet directement de la 35e place à la 14e.</p>
<p><strong>Ze big picture</strong></p>
<p>Facebook n’est donc plus un réseau social, ni non plus une plaque tournante, mais un trou noir du net : il aspire tout, que ce soit les individus qui vont alimenter quotidiennement les bases de données, ou bien les vrais éditeurs ou distributeurs de contenus.</p>
<p>Conséquence directe, très bientôt, le point de départ de la navigation Web de monsieur « tout le monde » ne sera plus la page d’accueil du moteur de recherche de Google et une action de recherche volontaire de sa part, mais sa page Facebook avec tout plein de contenus personnalisés et poussés (et donc contrôlés) par Facebook et ses partenaires.</p>
<p>Dormez bien.</p>
</div><div><a href="https://linuxfr.org/news/facebook-f8-timeline-musiquevideo-ticker-boutons-et-les-consequences-pour-le-web.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/87516/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/facebook-f8-timeline-musiquevideo-ticker-boutons-et-les-consequences-pour-le-web#comments">ouvrir dans le navigateur</a>
</p>
Nÿcohttps://linuxfr.org/nodes/87516/comments.atomtag:linuxfr.org,2005:Diary/315782011-09-09T17:36:24+02:002011-09-09T17:36:24+02:00Unity, Gnome 3 ... mon expérience.Licence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<p>Bonjour tous le monde,</p>
<p>je vais vous parler de Gnome et de mon "expérience utilisateur" sous Gnome et ses dérivé.</p>
<p>on commence par Ubuntu et Unity.<br />
en juin j'ai migré mon pc privé et mon laptop professionnel (mon pc fixe au taf est en ubuntu lts) sous la dernière Ubuntu la 11.04.</p>
<p>La je me suis trouvé face à Unity, c'est joli ça en jette mais c'est pas pratique pour bosser si bien que après 1 mois (j'ai voulus persister) je suis repassé à un gnome conventionnel (surtout sur mon fixe ou j'ai un 24p).</p>
<p>Déjà avoir les menus de chaque application en haut à droite est chiant, on en fait des kms avec la souris.<br />
Bref Unity c'est joli mais c'est un peut prêt tout. Si on pouvait au moins le paramétrer (genre ravoir les menus dans l'application, déplacer le truc de gauche ailleurs...).</p>
<p>Vendredi passé je reçoit mon nouveau portable au boulot un Lenovo L520 avec un I5 et 4 Go de ram. <br />
Comme Ubuntu n'était pas stable je me suis dis que ça pourrait être la bonne occasion pour essayer une autre distribution.<br />
J'ai installé Fedora 15.</p>
<p>La je me retrouve avec gnome 3 et son shell.<br />
Je suis entrain de le tester vu qu'il y a les menus dans chaque applications je vais peut être le garder.<br />
Comme Unity je me donne 1 mois pour me faire une opinion.</p>
<p>Conclusion:<br />
Unity comme Gnome 3 c'est joli mais on dirait que c'est penser pour être utilisé sur une tablette ou par un simplet.</p>
<p>Je pense sérieusement à quitter le monde de Gnome pour revenir à KDE (jusque en 2005 j'utilisait kde sous mandrake). J'avais essayé kde4 mais je trouvais gnome plus joli.<br />
Etant donné que Gnome c'est "tirer une balle dans le pied" je pense que d'ici peut je vais faire le saut.</p>
<p>Voilà c'était ma petite contribution au jour du troll.</p>
<p>P.S je peut installer ce que je veux au boulot (j'administre le parc informatique et serveur d'une boite qui contient 100pc).</p><div><a href="https://linuxfr.org/users/jobpilot/journaux/unity-gnome-3-mon-exp%C3%A9rience.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/87361/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/jobpilot/journaux/unity-gnome-3-mon-exp%C3%A9rience#comments">ouvrir dans le navigateur</a>
</p>
Ecran Plathttps://linuxfr.org/nodes/87361/comments.atomtag:linuxfr.org,2005:Diary/314482011-08-04T23:22:21+02:002011-08-04T23:22:21+02:00Petite^W Longue critique du livre Code Complete<h2 id="sommaire">Sommaire</h2>
<ul><li><a href="#toc_0">Un petit problème…</a></li>
<li><a href="#toc_1">OK. Mais de quoi traite ce livre au juste ?</a></li>
<li><a href="#toc_2">Quelques exemples de bonnes pratiques</a></li>
<li><a href="#toc_3">Autres points généraux sur lequel l'auteur insiste</a></li>
<li><a href="#toc_4">Un bon point de départ</a></li>
<li><a href="#toc_5">Que dire de plus ?</a></li>
</ul><p>J'aime bien suivre l'actualité générale autour du Libre (comprendre : lire DLFP), suivre quelques blogs, etc. Mais j'aime bien aussi lire des livres traitant d'informatique. Et le dernier en date, c'est justement <a href="http://cc2e.com/">Code Complete, de Steve McConnell</a> (2e édition).</p>
<p>[/!\ § d'accroche]<br />
En bref : si vous aimez la programmation, il y a des chances que vous aimerez encore plus ce « métier » situé entre l'art et l'ingénierie après avoir lu ce livre. En tout cas c'est mon sentiment.</p>
<h2 id="toc_0">Un petit problème…</h2>
<p>Alors, pour ceux qui ont déjà cliqué sur le premier lien, oui, l'éditeur est Microsoft Press. Ne pas acheter ce livre juste à cause de ça est idiot ÀMHA. Comme je suis un libriste comme tout le monde ici, mon avis sur le sujet vous semblera peut-être intéressant :</p>
<ul><li><p>Déjà, les exemples de code, qui sont assez nombreux, sont soit en C++ (bien), Java (moins bien) ou Visual Basic (argh !). Mais dans ce genre de livre, le langage n'a pas trop d'importance. Et le Visual Basic n'a pas une syntaxe trop exotique, pas comme le Smalltalk par exemple qui est parfois utilisé dans le livre <a href="http://en.wikipedia.org/wiki/Design_Patterns">Design Patterns</a>.</p></li>
<li><p>Le lien avec Microsoft ou Windows se limite juste à quelques références ou anecdotes. De ce point de vue là, c'est très varié.</p></li>
<li><p>Le monde OpenSource, de UNIX et de GNU/Linux n'est pas oublié, mais on peut regretter une absence totale du Libre (eh non, <a href="http://www.framablog.org/index.php/post/2009/10/02/logiciel-libre-open-source">OpenSource ≠ Libre</a>).</p></li>
</ul><h2 id="toc_1">OK. Mais de quoi traite ce livre au juste ?</h2>
<p>Construire un programme qui fonctionne, ce n'est pas difficile. En construire un dont le code est simple à comprendre, qui est facilement maintenable, et où on n'a pas perdu du temps à travailler sur des choses inutiles ou peu significatives, c'est une autre paire de manches. Code Complete explique donc plein de bonnes pratiques pour arriver à cet objectif.</p>
<p>Dans un projet de programmation, écrire le code source est inévitable. Donc autant le faire le mieux possible. Mais en-dehors de l'écriture du code, il peut y avoir beaucoup d'autres choses (surtout dans les entreprises, moins pour un projet personnel) :</p>
<ul><li>définir le problème à résoudre ;</li>
<li>définir le cahier des charges, les exigences ;</li>
<li>réfléchir à l'architecture du logiciel ;</li>
<li>{écrire le code} ;</li>
<li>tester et déboguer ;</li>
<li>intégration des différents composants ;</li>
<li>refactoring (améliorer du code existant) ;</li>
<li>améliorer les performances, mais pas n'importe comment.</li>
</ul><p>Tout ceci ne se fait évidemment pas séquentiellement, mais de manière itérative. Ainsi, si on fait une erreur dans une des premières étapes, on s'en rend plus vite compte, et l'impact est moins important.</p>
<p>Code Complete parle de tous ces sujets, mais les trois premiers points de manière résumée/introductive. Et pour les autres sujets autres que {écrire le code} (qui est la partie la plus développée du livre), il y a pas mal d'explications, mais en fin de chapitres il y a à chaque fois des références vers d'autres bouquins plus complets.</p>
<h2 id="toc_2">Quelques exemples de bonnes pratiques</h2>
<p>Vous vous demandez surement comment on peut écrire un ouvrage de 900 pages, alors que le sujet principal est l'écriture de code. Quels genres de conseils y sont donnés ?</p>
<p>Pour donner un exemple très précis, prenons l'écriture du nom d'une fonction. Le nom d'une fonction, c'est très important, pour savoir ce qu'elle fait exactement, et pour la retrouver et la réutiliser facilement quand on en a besoin.</p>
<p>Si avant de commencer à écrire la fonction, on a du mal à lui donner un nom, c'est qu'il y a un problème : on n'a pas bien réfléchi à l'avance ce que la fonction est censée faire exactement, et dans ce cas-là, soit on lui donner un nom bateau genre « handle_stuff() », et la fonction fait plein de diverses choses. Soit on change d'avis, et au lieu d'écrire une fonction fourre-tout, on la décompose en plusieurs fonctions qui ne font qu'une chose, mais qui le font bien™. Tient, ça ressemble vachement à la philosophie UNIX !</p>
<p>Et là, les programmeurs chevronnés se disent : « pff, c'est tout à fait logique, je n'ai pas besoin de ce genre de conseils ». Sur ce point-là, je n'ai pas un avis très tranché. Il y a quelques parties du livre (mais pour ma part ça ne représentait pas beaucoup) qui s'adressent clairement aux débutants. D'ailleurs dans ce cas, il y a un avertissement au début du chapitre, pour dire que certains peuvent sauter une ou plusieurs sections. En tout cas, sur la quatrième de couverture, il est clairement marqué que c'est adressé tant aux débutants qu'aux programmeurs plus expérimentés.</p>
<p>En programmation, il y a beaucoup de choses qu'on fait par habitude. Si on prend des bonnes habitudes dès le début, tout va bien. Mais le problème c'est qu'on est pas toujours conscient qu'on a pris de mauvaises habitudes. Je vais prendre un exemple qui m'a assez choqué dans le livre, mais qui s'avère au final bénéfique.</p>
<p>Pratiquement tous les programmeurs, pour écrire des boucles, utilisent les noms de variables i, j, voir k (mais trop d'imbrications rend le code plus difficile à suivre, mais là n'est pas le sujet). Il est conseillé d'utiliser plutôt des noms plus long qui décrivent bien ce que l'index représente. Ainsi, quand on veut modifier la valeur d'un tableau imbriqué par exemple, au lieu de lire :</p>
<blockquote>
<p><code>score[i][j] = ...;</code></p>
</blockquote>
<p>on lit :</p>
<blockquote>
<p><code>score[ teamIndex ][ eventIndex ] = ...;</code></p>
</blockquote>
<p>En ayant des noms plus explicites, en rapport avec le domaine d'application, il y a moins de risque de confondre les deux variables, et on comprend mieux ce que le code fait.</p>
<p>Et pourtant, l'utilisation des i, j, etc. est très très courant. Pourquoi ? Si c'est pour <em>écrire</em> le code plus vite, ce n'est pas une bonne raison. On lit beaucoup plus de code qu'on en écrit. En règle générale, il faut écrire du code non pas pour la machine, mais pour soi-même et les autres personnes qui vont le lire.</p>
<p>Il y a comme ça certains conseils généraux qui sont souvent répétés. Certains préfèrent que certaines informations soient répétées pour mieux les retenir, d'autres trouvent ça inutile. Pour ces derniers, il y a peut-être <a href="http://en.wikipedia.org/wiki/Pragmatic_Programmer">d'autres livres</a> sur <a href="http://netlib.bell-labs.com/cm/cs/pearls/">le même sujet</a> qui leurs conviendraient mieux.</p>
<h2 id="toc_3">Autres points généraux sur lequel l'auteur insiste</h2>
<ul><li><p>Un des buts premiers de la programmation est de gérer la complexité, en faisant abstraction de certaines choses, à tous les niveaux. L'exemple typique est la programmation orientée objet : pour utiliser une classe, il ne faut pas (normalement) savoir comment elle fonctionne en interne.</p></li>
<li><p>Programmer en termes du problème au lieu des détails techniques. Par exemple on s'en fiche de savoir quelle structure de données est utilisée pour stocker certaines informations. Donc on préfèrera des noms de fonctions tels que get_last_document() plutôt que get_top_stack().</p></li>
<li><p>Faire attention aux signes qui montrent que notre code est mal écrit : par exemple quelqu'un qui nous dit que notre code est difficile à comprendre. Ou bien des warnings lors de la compilation, etc.</p></li>
<li><p>Ne pas se focaliser sur une seule et unique méthode. Aucune méthode n'est parfaite pour tous les types de projets. Trouver les bonnes techniques se fait par une heuristique, il n'y a pas de procédé clairement défini. C'est comme un ouvrier avec une boite à outils. Il n'y a pas un outil qui convient pour tout.</p></li>
</ul><h2 id="toc_4">Un bon point de départ</h2>
<p>Le texte est rempli de références vers d'autres ouvrages, donnant souvent envie d'en apprendre plus. Le dernier chapitre est d'ailleurs consacré rien qu'à ça.</p>
<p>Peut-être qu'en lisant ce journal, vous avez pensé à <a href="http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming">The Art of Computer Programming</a> de Donald Knuth. Cette série de livres détaille en profondeur l'algorithmique et les structures de données. Code Complete aborde évidemment aussi ce sujet, mais il en aborde tellement d'autres que ce n'est pas comparable.</p>
<h2 id="toc_5">Que dire de plus ?</h2>
<p>Encore beaucoup de choses, mais je vais m'arrêter là pcq c'est déjà suffisamment long comme ça. Pour ceux qui ont lu jusqu'ici, merci :)</p>
<p>Ah non, j'ai menti, encore une chose. Je pense qu'il existe une traduction en français, mais comme toute traduction d'un livre informatique écrit à la base en anglais, il est plutôt conseillé de lire l'original. J'ai déjà vu des livres en français où le code source était mal formaté, des mots comme CPU sont traduits en UC (Unité Centrale), etc. Bref, à déconseiller.</p><div><a href="https://linuxfr.org/users/swilmet/journaux/petitew-longue-critique-du-livre-code-complete.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/87006/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/swilmet/journaux/petitew-longue-critique-du-livre-code-complete#comments">ouvrir dans le navigateur</a>
</p>
swilmethttps://linuxfr.org/nodes/87006/comments.atom