• [^] # Re: Régression ?

    Posté par . En réponse à la dépêche Debian 7.8, huitième mise à jour de Wheezy. Évalué à 10.

    Attention, message long.

    Comment se fait-il qu'une version supérieur du noyau va provoquer des problèmes sur des pcs qui fonctionnaient bien jusque là ?

    J'y vois 3 raisons principales:

    • le code source du noyau (ce qui sert à produite le binaire) est très complexe. Quand on modifie un tel logiciel, je ne pense pas qu'il soit possible d'avoir la garantie absolue de ne rien casser.
    • il existe de nombreux matériels différents, certains obéissant aux standards complètement, d'autres partiellement, d'autres pas du tout. Corriger un bug qui affecte le matériel obéissant complètement aux standards, ou juste améliorer le code, peut très bien avoir l'effet inverse sur les 2 autres «familles»
    • l'erreur est humaine, et même si je pense qu'il y à souvent une revue de code par d'autres personnes dans linux, il ne faut pas oublier que la volumétrie de code est telle qu'il est difficile de repérer les problèmes les plus subtils.

    Je pensais qu'on essayais toujours d'avoir une compatibilité ascendante.

    Pas du tout. Enfin, pas toujours.
    Pour faire simple, il existe un schéma de numéros de version que pas mal de développeurs affectionnent. Ce schéma est constitué de 3 parties principales majeur.mineur.patch:

    • numéro majeur: potentiellement aucune rétro-compatibilité garantie.
    • numéro mineur: ajout de nouvelles fonctionnalités, API compatible avec la version majeure précédente modulo les nouvelles fonctionnalités.
    • numéro de patch: correctif de bug, API compatible à 100% avec la version mineure précédente.

    Malheureusement, ce schéma force l'utilisateur à aller voir le site officiel pour voir de combien il est en retard, donc Ubuntu à créé un système de version différent: mois.année. Avec celui-la, on perd les informations de compatibilité, mais au moins on garde une information à peu près exploitable. Enfin, on à le 3ème modèle populaire, celui de chrome (que Firefox à adopté, on est vendredi alors je me dois de le mentionner), qui est juste inutile: en effet, on perd tant les infos de compatibilité que les info d'âge...

    par exemple certains pcs tournaient bien avec Ubuntu 12.04, mais deviennent limite pour accueillir Ubuntu 14.04

    Ça, c'est du à un autre problème.
    En fait, là, tu compares un OS avec une distribution.
    L'OS, c'est, grosso modo, le noyau (linux) et les pilotes.
    La distribution, c'est le noyau plus tout l'environnement utilisateur, dans beaucoup de cas composé uniquement de l'environnement de bureau (que j'abrège DE, pour Desktop Environment), c'est à dire dans le cas d'Ubuntu, Gnome, anciennement 2, qui était probablement plus léger, machines de l'époque oblige, et nouvellement 3, qui est... disons... très «aimé» par la majorité des utilisateurs de gnome 2.

    Il faut aussi savoir que les 2 DEs les plus utilisés, à savoir Gnome et KDE n'ont toujours eu comme objectif que d'être complets en terme de fonctionnalités (dans le cas de gnome 3, il semblerait que ce ne soit pas tout à fait vrai ;)) y compris en fonctionnalités que l'utilisateur n'utilise pas. Cela alourdit le système, naturellement.

    Il existe une autre «famille» de DEs, plus légers, dont les plus connus sont XFCE et LXDE. LXDE est à mon avis le plus léger, tandis que XFCE se positionne entre l'extrême légèreté (pour un DE) de LXDE et la lourdeur de Gnome.

    Enfin, pour finir le tour du propriétaire, il y à des gens (comme moi) qui préfère composer eux-même leur environnement. On sélectionne divers logiciels, et on arrive à un résultat très léger, réactif, et surtout, très personnalisé, avec lequel on à une efficacité supérieure à ce que n'importe quel DE pré-construit pourrait nous proposer. Je pense toutefois que la majorité de ceux qui font ça sont des utilisateurs passionnés, souvent professionnels, parce que ça exige pas mal de temps au début pour se construire son petit nid douillet.
    Mais à titre d'exemple, sur une machine dotée de moins de 256Mio de RAM, et d'un CPU n'ayant qu'un seul cœur à moins de 1GHz, j'arrive à avoir une machine tout à fait utilisable pour mes tâches du quotidien (et mêmes quelques jeux). Certes, c'est «un peu» spartiate niveau graphismes, mais il faut comprendre que les effets de transition, de transparence, animations... tout ça, ça exige pas mal de ressources, pour un rôle... inexistant, voire contre-productif (parce que moi, ça me dérange les trucs qui clignotent ou qui mettent du temps à faire ce que je leur demande).

    J'espère avoir été compréhensible et ne pas avoir dit trop de bêtises (hors ce qu'on à le droit de dire un trolldi, bien sûr).