Journal : Démarrage (usplash) : Une barre de progression "continue" (smooth)

Posté par plagiats () le 23 novembre 2008
9
Ça nous rajeunit pas, mais il y a 4 ans j'avais proposé dans ces colonnes l'idée de ce que je considère comme une amélioration de la barre de progression : la baser sur le temps des précédents démarrages et non sur l'état des services lancés pour qu'au final la barre de progression soit représentative du temps de démarrage restant.

http://linuxfr.org/~plagiats/9164.html

Et bien 4 ans plus tard, un ubuntero nommé "volanin" a eu exactement la même idée et l'a implémentée, lui :

http://ubuntuforums.org/showthread.php?t=985390

A quand le retour des brevets logiciels, que je puisse lui intenter un procès ?! ;-)

> Lire le journal (35 commentaires, moyenne: 4,3).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

On n'arrête pas le progrès.

Posté par Obsidian () le 23/11/2008 à 14:24. (lien). Évalué à 10.

Tu veux dire qu'il t'a plagié ? :-)

Mauvaise idée (enfin probablement).

Posté par Obsidian () le 23/11/2008 à 14:31. (lien). Évalué à 6.

Ça nous rajeunit pas, mais il y a 4 ans j'avais proposé dans ces colonnes l'idée de ce que je considère comme une amélioration de la barre de progression : la baser sur le temps des précédents démarrages et non sur l'état des services lancés pour qu'au final la barre de progression soit représentative du temps de démarrage restant.

Il faudrait pour cela garantir que ce temps soit réellement constant d'un démarrage à l'autre, sinon on va se retrouver avec des barres à la Windows, qui freezent à 99%. Ou alors, prévoir une marge, quitte à accélérer en fin de parcours, comme on le disait ici : https://linuxfr.org//~NedFlanders/26261.html

Les plus grosses difficultés venant de ce qui est extérieur. Si tu consommes tout ton temps à attendre une adresse DHCP qui ne vient pas, il faudra payer des pénalités de retard à l'utilisateur. :-)

  • [^]A mais non !

    Posté par plagiats () le 23/11/2008 à 14:36. (lien). Évalué à 3.

    Cela avait déjà été discuté à l'époque, si ton temps de chargement est exceptionnellement long, tu appuies sur F2 pour voir ce qui se passe ("verbose mode"). Le temps de démarrage étant recalculé à chaque fois, si tu parles d'une modification de ta configuration la barre de progression ne sera pas représentative que lors du premier boot avec cette configuration.

    Hors pépin, et hors changement de configuration, pourquoi le temps de démarrage serait il sensiblement différent ?

    --
    La mort est un phénomène naturel qui se produit par l'avalement répété de petites quantités de salive au cours d'une grande période de temps. - George Carlin
    • [^]Re: A mais non !

      Posté par FärvÄrdiN (page perso, ) le 23/11/2008 à 15:44. (lien). Évalué à 9.

      fsck ?
      périphérique installé sur un port usb ?
      pb dhcp ?

      --
      RMS is like sex, it's better when it's clean...
      • [^]Re: A mais non !

        Posté par FärvÄrdiN (page perso, ) le 23/11/2008 à 23:54. (lien). Évalué à 6.

        en fait je me rends compte que je n'ai cité que des cas de figure que tu avais envisagés (pépins ou changement de configuration). Désolé, c'est vrai que dans la plupart des cas le temps de démarrage est similaire d'une fois sur l'autre.

        --
        RMS is like sex, it's better when it's clean...
        • [^]Re: A mais non !

          Posté par Ernest H (Jabber id, ) le 24/11/2008 à 09:00. (lien). Évalué à 5.

          Sauf que si c'est un portable, il peut démarrer une fois sur deux avec un réseau ethernet, un ensemble de périphériques usb, un deuxième écran, un adaptateur secteur et l'autre fois sur deux sur wifi et autonome (configurations bureau/maison par exemple).
          Et donc, il ne fera pas deux fois de suite le même boot.

          • [^]Re: A mais non !

            Posté par ploum (page perso, ) le 24/11/2008 à 09:56. (lien). Évalué à 5.

            Ok, la solution proposée n'est pas parfaite : parfois, ça ne marchera pas bien.

            À comparer avec la situation actuelle où au moins c'est constant : ça ne marche jamais.

            => au pire, on retombera dans la situation actuelle.
            => c'est une bonne amélioration
            => Je ne vois pas l'intérêt de lui expliquer que c'est une mauvaise idée. Essayez plutôt de trouver comment faire mieux.

            • [^]Re: A mais non !

              Posté par Ernest H (Jabber id, ) le 24/11/2008 à 10:32. (lien). Évalué à 3.

              > Je ne vois pas l'intérêt de lui expliquer que c'est une mauvaise idée. Essayez plutôt de trouver comment faire mieux.

              Je ne trouve pas que c'est une mauvaise idée, au contraire, ce serait mieux que la barre de windows XP qui se remplit parfois plusieurs fois, le bibiche d'osx qui tourne et tourne et tourne sans indication de la fin du début ni de la progression (quoique des fois il s'arrête, mais c'est plutôt mauvais signe) ou de celle d'ubuntu qui avance par à coups mais montre des choses.

              Mais il faut être réaliste, il est impossible de faire quelque chose qui marchera à chaque fois pour tout le monde, et il est important de s'en rendre compte avant d'essayer de patcher chaque cas particulier (du style un comportement pour fsck, un comportement pour le nouveau périphérique, un comportement pour les périphériques en moins, un comportement pour le réseau qui ne connecte pas ou lentement, ... Ça dure moins de 30 secondes de booter, c'est pas la peine d'écrire plus de 1000 lignes de code pour que la barre soit tout le temps lisse).

              Les preuves d'impossibilité sont aussi importantes que les constructions d'approximation.

              • [^]Re: A mais non !

                Posté par ploum (page perso, ) le 24/11/2008 à 12:38. (lien). Évalué à 7.

                "Le sage savait que c'était impossible. Est arrivé un idiot qui ne le savait pas et qui l'a fait."

                (voir aussi la parabole de la course de grenouilles)

              • [^]Re: A mais non !

                Posté par legranblon (page perso, ) le 24/11/2008 à 13:53. (lien). Évalué à 0.

                Ce qui peut être fait aussi, c'est afficher textuellement ce que l'ordinateur fait au temps présent, comme ça, l'utilisateur il sait ce qui se passe, et il peut (ou pas) savoir que ça peut (ou pas) prendre du temps. Ah? c'est déjà ce qui se fait? Oups...

    • [^]Re: A mais non !

      Posté par Matthieu Lagouge (Jabber id, page perso, ) le 23/11/2008 à 15:52. (lien). Évalué à 7.

      Ben ce qu'il faudrait faire, c'est une phase de calcul préliminaire, qui estime le temps de démarrage des services avant de les lancer.
      Ensuite, une fois qu'on a bien estimé le temps pour démarrer chaque service, on a grosso-modo le total, et on peut afficher une barre avec progression linéaire.

      Bon, forcément, par la suite, il faudra une autre barre de démarrage pour indiquer à l'utilisateur où en est le calcul du temps de démarrage...

      ----------------> [ ]

      • [^]Re: A mais non !

        Posté par Keph (page perso, ) le 23/11/2008 à 17:24. (lien). Évalué à 10.

        >Bon, forcément, par la suite, il faudra une autre barre de démarrage pour indiquer à
        > l'utilisateur où en est le calcul du temps de démarrage...

        Ca existe déjà sous Vista, quand tu fais un copier/coller sur un fichier, tu as un message "calcul du temps nécéssaire à la copie" et qui, windows oblige, peut être assez long ! ^^

  • [^]Re: Mauvaise idée (enfin probablement).

    Posté par grid () le 23/11/2008 à 15:45. (lien). Évalué à 1.

    Si je devais faire ce genre de trucs, je me baserais sur les PID.

    Normalement, le nombre de processus démarrés est constant.

    Mais ce n'est peut-être pas possible :)

    • [^]Re: Mauvaise idée (enfin probablement).

      Posté par Obsidian () le 23/11/2008 à 23:24. (lien). Évalué à 2.

      C'est déjà plus ou moins le cas (c'est basé sur le nombre de services lancés). C'est pas pour cela que le temps total que cela va prendre est décidable.

Et si ?

Posté par Epy (Jabber id, page perso, ) le 23/11/2008 à 16:53. (lien). Évalué à 3.

Une idée de néophyte:
Si cela restait basé sur les processus à démarrer, comme j'ai cru comprendre que c'était actuellement, mais qu'on ne faisait pas sauter la progression au cran suivant.
En fait, à chaque nouveau processus démarré, on donne un nouveau point "d'arrivée" à la barre, qu'elle continue d'essayer d'atteindre doucement.
Elle ne pourra pas rattrapper son retard puisque les processus vont souvent se lancer plus vite qu'elle n'avancera, sauf si on recalcule sa vitesse de temps à autre pour la faire accélérer.
C'est vraiment pas facile de s'exprimer sur quelque chose d'aussi "virtuel", j'espère avoir été assez clair.
De mon niveau le seul inconvénient que je vois à cette solution, c'est le calcul à faire qui doit bouffer un peu de proc, mais je n'ai aucune idée dans quelle mesure il le ferait.
Vous trouverez peut-être plus d'éléments à cette idée.

  • [^]Re: Et si ?

    Posté par Tanguy Ortolo (page perso, ) le 23/11/2008 à 17:35. (lien). Évalué à 3.

    À mon avis, c'est une mauvaise idée. Ça n'apporte qu'un peu plus de douceur, en revanche, ça retire très nettement de l'information, puisqu'il s'agit de déformer les vitesses de progression.

    • [^]Re: Et si ?

      Posté par Epy (Jabber id, page perso, ) le 23/11/2008 à 17:57. (lien). Évalué à 6.

      Ef effet, je n'avais pas pensé à ça.
      Donc au final on est très bien avec la barre qui indique réellement les processus démarrés avant de pouvoir se servir de la machine :)

Copieurs.

Posté par Guillaume Revaillot (page perso, ) le 23/11/2008 à 19:01. (lien). Évalué à 2.

C'est ce qu'il se fait (il me semble) sous os x.

Par contre, impossible de retrouver la source de l'info, mais ça marche plus tot pas mal (à part après une mise a jour du système, et alors là, ca se vautre severe).

On dira que l'information donnée par la barre est pertinente 95% du temps...

  • [^]Re: Copieurs.

    Posté par yellowiscool (Jabber id, page perso, ) le 23/11/2008 à 20:58. (lien). Évalué à 2.

    C'était le cas à une époque.

    Maintenant, plus de barre de progression. Une roue qui tourne pendant plus ou moins longtemps et c'est tout. C'est pas trop gênant, le matériel étant bien maîtrisé, ça démarre vite.

charge supplémentaire

Posté par brazz () le 23/11/2008 à 19:20. (lien). Évalué à 8.

Il me semble qu'au moment où l'accent est mis sur la lenteur -réelle- des phases de démarrage, ce n'est peut être pas le top d'en rajouter une couche...

Meilleure idée

Posté par d-jo (page perso, ) le 23/11/2008 à 19:21. (lien). Évalué à 10.

Moi j'ai une meilleure idée. A chaque tâche du processus de démarrage, on afficherait une phrase du style :
"Démarrage du service XXX"
Avec une petite animation pour dire que c'est en cours, puis on rajouterai OK à la fin de la ligne quand ce serait fait.

-------------->

  • [^]Re: Meilleure idée

    Posté par vladislav askiparek () le 23/11/2008 à 20:17. (lien). Évalué à 4.

    Aucun intérêt.
    Ce genre de truc n'intéressera jamais quiconque.
    J'aurais eu ce genre d'idée, je ne l'aurais pas rendue publique...

Encore plus meilleur idée

Posté par fleny68 () le 24/11/2008 à 01:17. (lien). Évalué à 5.

Un démarrage avec des symboles comme /-\| qui se remplacent les uns les autres (pour faire une sorte de rotation) et qui remplissent petit à petit une ligne.

C'est vachement joli, progressif, et puis ça nécessite pas de graphique on peut commencer dès le début du chargement du noyau.

--
Non, rien
  • [^]Re: Encore plus meilleur idée

    Posté par yellowiscool (Jabber id, page perso, ) le 24/11/2008 à 07:46. (lien). Évalué à 1.

    Non, toi tu n'auras pas un +10

    • [^]Re: Encore plus meilleur idée

      Posté par fleny68 () le 24/11/2008 à 22:41. (lien). Évalué à 2.

      En effet: vu la fote du titre ç'aurait pas été mérité.

      --
      Non, rien

ça ne sert à rien de toute manière

Posté par PsychoFox () le 24/11/2008 à 13:27. (lien). Évalué à 9.

c'est quoi ce besoin de lissage à la con ? L'intérêt ne serait-il pas plutôt de savoir ce qui se passe et si on y est rendu ?

Alors je comprends que des tonnes de lignes en anglais, c'est pas forcément la panacée pour celui qui n'y connait rien.

Pourquoi ne pas faire plutôt une système qui indique le nombre de service/tâche à démarrer, une icône (le logo du projet si c'est un serveur par exemple) le numéro et le nom du service en cours de démarrage ainsi qu'une estimation du temps nécessaire, basé sur le précédent boot et/ou un éventuel timeout (exemple pour le dhcp ou autre).

Au moins si ça coince pour une raison x ou y, l'utilisateur peut dire à son dépanneur préféré "j'en étais arrivé au démarrage du réseau (tâche 15 sur 22) quand ça s'est coincé" et celui-ci pourra ainsi faire un début de diagnostique.

  • [^]Re: ça ne sert à rien de toute manière

    Posté par windu.2b (Jabber id, page perso, ) le 24/11/2008 à 18:33. (lien). Évalué à 2.

    Dans le même genre (mais dans une moindre mesure), KDE 4 fait la même chose[1].
    Chaque icône apparait tour à tour.
    Par contre, j'ignore totalement comment c'est implémenté : est-ce un simple délai défini entre chaque image (du coup, c'est régulier mais trompeur) ? Y a-t-il réellement prise en compte des services démarrés par KDE ?

    1 http://static.pcinpact.com/images/bd/news/52324.jpg

  • [^]Re: ça ne sert à rien de toute manière

    Posté par Mathieu Stumpf (Jabber id, page perso, ) le 24/11/2008 à 20:05. (lien). Évalué à 2.

    D'ailleurs ce n'est pas possible d'internationaliser tout ça ?

    Ce serait bien aussi de pouvoir consulter la doc d'un service simplement en cliquant dessus ou en saisissant un nombre/mot clef. Ça pourrait même donner le goût de la lecture de documentation à certains, qui sais.

    • [^]Re: ça ne sert à rien de toute manière

      Posté par wismerhill (page perso, ) le 24/11/2008 à 20:28. (lien). Évalué à 2.

      D'ailleurs ce n'est pas possible d'internationaliser tout ça ?

      C'est le cas sur mandriva, et ça fait parfois des choses bizarres si la table de caractères du terminal ne correspond pas à celle des textes qui sont affichés ;-)

  • [^]Re: ça ne sert à rien de toute manière

    Posté par Aurélien Girard () le 25/11/2008 à 12:47. (lien). Évalué à 2.

    Des logos qui s'allument au démarrage au fur et à mesure que les services de l'OS sont lancés ?

    mais ....

    <mode="BeOS le faisait il y a 10 ans">C'est précisément ce que BeOS faisait il y a dix ans mais on s'en rendait à peine compte parceque le boot durait moins de temps qu'il n'en fallait à X-OR pour revêtir son armure de combat !</mode>

    http://www.oggfrog.com/howto/emulators/beos-boot-loader.jpg

    --
    BeOS le faisait il y a 10 ans.
    • [^]Re: ça ne sert à rien de toute manière

      Posté par PsychoFox () le 25/11/2008 à 14:50. (lien). Évalué à 3.

      c'est pas pour rien que je l'ai proposé ? J'aimais bien beos. En dehors de sa non-libritude.

Mon avis a 2 francs

Posté par thedude () le 24/11/2008 à 22:30. (lien). Évalué à 3.

Si tu n'est pas capable de calculer le temps restant plus ou moins precisement...
Ne le calcule pas!!!

Mieux vaut ne pas donner une information a l'utilisateur que de lui donner une information erronee..
En l'occurence, comme l'ont indique certains, le temps de boot peut ne pas etre constant d'un boot a l'autre (notamment machines mobiles), donc ton calcul sera forcement tres faux de temps a autres.

XP, Vista et OSX ont tous les 3 une barre de progression infinie au boot, et c'est precisement ce a quoi elle sert: indiquer a l'utilisateur que la machine travaille, qu'on ne sait pas quand elle aura fini, mais que ca sera dans pas trop longtemps.
Win98 avait une barre fixe, MS en est revenu, c'est surement pour une bonne raison.

Autant ne pas suivre MS sur les choix d'UI est parfois/souvent une bonne idee, autant chez Apple, ils ont generalement une tres bonne raison de faire ce qu'ils font et sont pas trop manchots au niveau de l'experience utilisateur.

  • [^]Re: Mon avis a 2 francs

    Posté par fleny68 () le 24/11/2008 à 23:29. (lien). Évalué à 2.

    Il vaut rien ton avis; ou alors précise lequel: 2 francs cfa, 2 francs suisses, 2 francomtois...

    --
    Non, rien
    • [^]Re: Mon avis a 2 francs

      Posté par thedude () le 24/11/2008 à 23:47. (lien). Évalué à 2.

      bon, mon avis a 2 clovis, si tu preferes...
      Voir mon avis a 2 fr.histoire.francs.saliens::Clovis si tu veux le fully qualified classname...

Revenir en haut de page