Journal Uzbl : un navigateur internet, rien qu'un navigateur internet

Posté par  .
Étiquettes :
27
12
mai
2009
Fort du constat que les navigateurs modernes sont devenus de véritables usines à gaz intégrant bases de donnés et lecteurs de vidéos, Dieter Plaetink, membre de l'équipe d'Arch Linux, a décidé de basé le sien sur la philosophie Unix : un programme pour une tâche. Utilisant Webkit comme moteur de rendu, Uzbl se veut un navigateur simple, voir minimal.

L'idée est séduisante et rappelle les pipes du shell. Plutôt que de laisser le navigateur tout prendre en charge, on appelle des scripts. On peut ainsi gérer ses marques pages, l'historique, la gestion des cookies et les téléchargements à sa convenance. Le tout devient diaboliquement efficace quand on ajoute au traditionnel grep, sed, wget des logiciels comme zenity pour créer des interfaces graphiques, dmenu ou le récent awmenu ( du même auteur qu'uzbl ) qui permet de sélectionner, graphiquement, une entré d'un fichier texte avec une méthode de recherche proche de celle de l'awesomebar de firefox.

Uzbl est conçu pour être entièrement utilisable au clavier. Les raccourcis claviers, tout comme la connexion et le contenu de la barre de statut se configurent depuis un unique fichier texte à la syntaxe relativement simple. Par défaut, ceux-ci sont proches de ceux de Vi. Un système, inspiré de celui de Vimperator, permet de suivre facilement un lien au clavier : une pression sur F fait apparaître des chiffres sur tous les liens de la page, f suivi d'un numéro en sélectionne un.

Très jeune ( à peine deux mois ), Uzbl est déjà suffisamment avancé pour être utilisable. On notera néanmoins l'absence des onglets que l'auteur, dans sa volonté de supporter le minimum, comptait laisser au gestionnaire de fenêtre. Il semble tout de fois être revenu sur sa décision suite aux nombreuses demandes des utilisateurs, notamment ceux utilisant un gestionnaire de fenêtre pauvre comme Metacity ( c'est mon journal, je trolle si je veux :P ). Le support des sessions, idées proches des onglets, devraient donc apparaître prochainement dans la branche expérimental.

Les dépôts du projet sont hébergés par github. Deux branches sont disponibles : master qui se veut stable et expérimental où à lieu le développement à proprement parler. Uzbl est également disponible via Aur pour les utilisateurs d'Arch Linux. Ses dépendances sont relativement modestes : la libwebkit dans une version supérieur à 1.1.4, la libsoup dans une version supérieur à 2.24 et GTK2 ( Webkit nécessite un toolkit ).

L'auteur, très sympathique, accepte volontiers les suggestions et répond notamment rapidement sur le thread consacré à Uzbl du forum Arch Linux qu'il arpente sous le pseudo Dieter@be.

  • # intéressant :)

    Posté par  (site web personnel) . Évalué à 2.

    C'est la mode aux nouveaux browser en ce moment !

    celui ci m'a l'air particulièrement intéressant :)
    est ce que l'auteur fait partit du groupe suckless ?
    • [^] # Re: intéressant :)

      Posté par  . Évalué à 6.

      Sympa en effet, pour l'embarqué également.

      En revanche.. ça se prononce comment ? :D
      • [^] # Re: intéressant :)

        Posté par  . Évalué à 7.

        Je me répond tout seul, j'ai fini par trouver:
        Usable, je suppose fortement.
      • [^] # Re: intéressant :)

        Posté par  (site web personnel) . Évalué à 3.

        pour l'embarqué ? un logiciel basé sur la ligne de commande et l'interaction clavier à base de raccourcis multiples ? j'ai comme un doute là
        • [^] # Re: intéressant :)

          Posté par  . Évalué à 2.

          en l'état c'est certain qu'on peut être sceptique, mais l'IHM à base de raccourcis clavier peut être modifiée, l'utilisation de ressources reste intéressante pour de l'embarqué.
        • [^] # Re: intéressant :)

          Posté par  (site web personnel) . Évalué à 3.

          Justement, je connais pas mal de périphérique (genre télécommande pour télé, pad à integrer) qui émule le clavier.

          Alors si les raccourcis sont configurables, je me dit que justement, ca peut simplifier bien les choses.

          ... D'autant plus que l'on cherche souvent à adapter les fonctionnalités du browser (mode kiosque, sans bare de boutons etc... ) donc avec des scripts, Yala !
          • [^] # Re: intéressant :)

            Posté par  . Évalué à 2.

            Exactement, c'est plutot dans ce sens là que je pensais, il me semble que dans la plupart des cas c'est plus facile de récupérer des raccourcis claviers dans un logiciel.
            Sauf évidemment pour des appareils tactiles.
  • # (e)links, lynx, w3m ?

    Posté par  (site web personnel) . Évalué à 4.

    Ça me semble être vachement dans la philosophie Unix ces navigateurs, non ? En plus un petit «-dump» et tu peux le mettre dans un tube.

    Bon après pourquoi pas.

    Je vois pas en quoi dire que metacity est pauvre est un troll, fluxbox le sur-classe largement en possibilités, dont la gestion des onglets.
    • [^] # Re: (e)links, lynx, w3m ?

      Posté par  . Évalué à 6.

      C'est un troll parce que je me prend à Metacity somme toute gratuitement. Après, je pense que sa pauvreté est assumée et volontaire. E16 était nettement plus riche en fonctions.

      Consernant links, lynx et w3m, je pense que la comparaison avec Uzbl n'est pas pertinente. Uzbl est un navigateur à 100% graphique et n'est absolument pas destiné à être utilisé dans une console. Webkit est un moteur de rendu bien plus complet que ceux des navigateurs précédemment cités.
    • [^] # Re: (e)links, lynx, w3m ?

      Posté par  . Évalué à 2.

      De plus, aucun de ces navigateurs n'a (à ma connaissance) de fonctionnalité pour une sélection des liens à la vimperator/konqueror.
      Obligé de se taper le déplacement du curseur jusqu'au bon lien, ce qui est franchement un peu horripilant quand tu as goûté aux joies de la sélection par numéro.
      En tout cas moi c'est ce qui m'a pas mal bloqué avec (e/g)links, que je trouvais pourtant pas mal à part ça (et que j'utilises sur mon portable ou X c'est vraiment trop demander).

      A part ça, cet uzbl m'a l'air vraiment pas mal, à suivre de près :)

      Mes 2 centimes.
      • [^] # Re: (e)links, lynx, w3m ?

        Posté par  (site web personnel) . Évalué à 3.

        Moi j'utilise «/le texte du lien» («/» étant comme sous vim l'opérateur de recherche), ce qui fonctionne aussi sous firefox.
        • [^] # Re: (e)links, lynx, w3m ?

          Posté par  . Évalué à -3.

          fonctionne aussi sous firefox... À condition d'avoir un pentium 30 à 1300 THz et de faire la recherche sur une page de 3ko max. Sinon s'armer de patience.
          • [^] # Re: (e)links, lynx, w3m ?

            Posté par  . Évalué à 5.

            c'est faux. Firefox a un paquet de défaut, mais pas celui là.
            • [^] # Re: (e)links, lynx, w3m ?

              Posté par  . Évalué à 2.

              Bon j'ai un peu exagéré, c'est vrai que les pages sur lesquels la recherche se met à ramer horriblement sous Firefox sont en fait très très longue (ex : un manuel de logiciel, sur une seule page)

              Il n'empêche. J'utilise par ailleurs un paquet de logiciels dans lesquels le comportement d'une recherche n'est pas non linéaire de manière aussi flagrante (et je pourrais même dire est ressenti comme tout le temps instantané, et non pas comme faisant des pauses de plusieurs secondes à chaque caractères), même dans les documents très très très très longs.
              • [^] # Re: (e)links, lynx, w3m ?

                Posté par  (site web personnel) . Évalué à 3.

                Tu as plus de détails ?

                Je me souviens que mon vim à eu du mal quand j'avais lancé une recherche sur un fichier xml export d'une bdd de quelques Go.

                Je vois mal comment échapper à cela si tu veux une recherche incrémentale.
        • [^] # Re: (e)links, lynx, w3m ?

          Posté par  . Évalué à 10.

          ' (simple guillemet) permet de ne chercher que dans les liens et pas dans tout le texte.
      • [^] # Selection à la vimperator/konqueror dans lynx

        Posté par  . Évalué à 5.

        Sur la ligne de commande : lynx -number_fields ou lynx -number_links

        ou

        Dans les options : Entrée du clavier -> Pavé numérique.
      • [^] # Re: (e)links, lynx, w3m ?

        Posté par  (site web personnel) . Évalué à 1.

        Sous elinks tu as la touche . qui te permet d'activer ou non l'affichage des numéros de liens.
        Entrer le n° te permet de choisir le lien, que le n° soit affiché ou non...

        ce qu'il me manque, c'est juste de ne pas me loguer automatiquement sous linuxfr avec par contre :)
      • [^] # Re: (e)links, lynx, w3m ?

        Posté par  (site web personnel) . Évalué à 2.

        > Obligé de se taper le déplacement du curseur jusqu'au bon lien

        Réessaie les ;)

        Je ne suis pas très fan des numéros de vimperator (cela dit dans w3m, esc-l fait ce genre de choses), je préfère soit rechercher, soit faire tab jusqu'à être sur le bon lien (sur les pages qui n'ont pas que des liens, ça marche très bien).

        Sinon, tu peux toujours utiliser la souris...
        • [^] # Re: (e)links, lynx, w3m ?

          Posté par  (site web personnel) . Évalué à 2.

          Dans vimperator tu peux faire plusieurs choses :
          - utiliser tab jusqu'à être sur le bon lien
          - tu peux taper le n° à côté du lien
          - taper une partie du lien, il va alors diminuer le nombre de lien accessible par n°/tab et si il n'a plus de possibilité il va directement aller sur le bon lien. Par exemple sur linuxfr.org si je tape « f> » il ira au commentaire suivant, après je n'ai plus qu'à taper Entrée pour aller au suivant.
    • [^] # Re: (e)links, lynx, w3m ?

      Posté par  . Évalué à 8.

      Ça me semble être vachement dans la philosophie Unix ces...

      ... noms à deux balles?

      Oué c'est limite une marque de fabrique! :)

      -->[]
      • [^] # Re: (e)links, lynx, w3m ?

        Posté par  (site web personnel) . Évalué à 7.

        w3m, je veux bien. Links et lynx je trouve pas ça moins classe que «firefox».

        Uzbl par contre, c'est du nom de compète digne d'un générateur pseudo aléatoire, et encore, même un générateur de mot de passe te sort des trucs moins moisi.
        • [^] # Re: (e)links, lynx, w3m ?

          Posté par  . Évalué à 10.

          Uzbl par contre, c'est du nom de compète digne d'un générateur pseudo aléatoire, et encore, même un générateur de mot de passe te sort des trucs moins moisi.

          Zont ptetre utilise le generateur pseudo aleatoire de debian en le faisant tourner jusqu'a avoir un nom prononcable.

          Apres avoir eu 512 fois d'affilee 'Uzbl' comme resultat aleatoire, ils se sont dit que bon, le sort est contre eux, ils ont laisse tomber, va pour uzbl.
        • [^] # Re: (e)links, lynx, w3m ?

          Posté par  (site web personnel) . Évalué à 4.

          C'est à prononcer "usable", c'est juste que l'auteur est fan de lolcats.
  • # gni?

    Posté par  (site web personnel, Mastodon) . Évalué à 10.

    > Fort du constat que les navigateurs modernes sont devenus de véritables usines à gaz intégrant bases de donnés et lecteurs de vidéos,

    Le HTML5 imposant l'embarquement d'une base de donnée et spécifiant la balise video, ça voudrait dire alors que :

    1) l'auteur de ce nouveau navigateur a supprimé le support de sessionStorage &co, ainsi que de la balise video dans webkit ?
    2) que ce navigateur ne peut supporter les pages web modernes ?

    Ce serait bien dommage...
    • [^] # Re: gni?

      Posté par  . Évalué à 3.

      Certes, la tournure est malheureuse. Uzbl ne modifie pas Webkit.

      Je visais en réalité le fait que firefox stocke ses bookmarks et son historique dans une base de donnée, ce qui me donne toujours l'impression d'utiliser un char d'assaut contre une mouche et ce qui est symptomatique de ce que veut éviter l'auteur d'Uzbl.

      Par contre, la balise video n'oblige pas à intégrer quoique ce soit. Le moteur de rendu peut tout à fait s'appuyer sur un lecteur extérieur et c'est d'ailleurs ( mais je ne vais pas vous l'apprendre ) ce que fait firefox en utilisant gstreamer pour tout ce qui n'est pas theora et ce que fait Webkit/GTK+ en utilisant dans tous les cas gstreamer.
      • [^] # Re: gni?

        Posté par  (site web personnel) . Évalué à 7.

        En même même temps Uzbl à deux mois et prévois déjà des concessions à ses utilisateurs pour ce qui est des onglets…

        On verra s'il arrivera à tenir son objectif sur la durée donc, ce qui n'est pas forcément évident à mesure que les utilisateurs/contributeurs veulent «juste une petite fonction en plus».

        Bon, d'un autre coté, le nom du projet est exactement ce qu'il faut pour ne pas attirer d'utilisateurs. :)
      • [^] # Re: gni?

        Posté par  . Évalué à 1.

        la base de donnée me semble bien pour faire des recherches dans l'historique et les signets, d'autant plus que cette base est sqlite, qui est une base de données quand même plus légère et transportable que mysql ou oracle.

        Uzbl propose quoi à la place pour la recherche ? Grep ? Et git ou svn pour avoir accès à ses signets depuis n'importe quel ordinateur ?
        L'édition des formulaires dans vim ?
        La rédaction des courriels sur yahoo avec mutt ?

        Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

        • [^] # Re: gni?

          Posté par  (site web personnel) . Évalué à 3.

          "la base de donnée me semble bien pour faire des recherches dans l'historique et les signets"

          C'est aussi ce qui rend mon Firefox incroyablement lent sur certaines opérations (ouvrir le menu Historique, par exemple) lorsqu'on a un profil stocké sur le réseau.
          • [^] # Re: gni?

            Posté par  . Évalué à 4.

            Ce n'est pas la technologie utilisée qui rend firefox lourd (sqlite est conçu pour la simplicité/légèreté justement) mais les données enregistrées.

            Il y a plusieurs fichiers de données dans le profil, dont 2 sont vraiments gros :

            - places.sqlite qui gère l'historique. Ce fichier fait 11Mo chez moi, avec 1.5Mo de favicons, 2.5Mo de suivi de visite détaillé, 4Mo d'historique avec compteur de visite etc ... et le reste doit sûrement être réparti entre les différents index). Vu les données enregistrées, cette taille ne me choque pas, sachant que l'historique de la navigation est gardée sur 3 mois.
            Tu peux donc baisser la taille de ce fichier en diminuant la durée de conservation de l'historique. Par contre je ne sais pas si l'option dans l'interface de configuration est suffisante pour ça, il faudrait tester (sinon tu tappes "history" dans about:config et là tu auras tous les paramètres relatifs)

            - urlclassifier3.sqlite qui gère à ma connaissance la liste des sites de phishing/malware
            Tu peux le virer si tu n'utilises pas cette fonction, par contre il parait qu'il est retéléchargé automatiquement.
            Essaie de voir ce qui se passe en désactivant ces fonctions avant de supprimer/déplacer le fichier à la main. Sinon tu peux aller jeter un coup d'oeil dans about:config sur safebrowsing


            Enfin pour réduire la taille de ces fichiers à coup sur, tu peux faire ça (firefox DOIT être arrêté), pour places.sqlite par exemple :
            sqlite3 places.sqlite "VACUUM"


            Bon tout ceci n'est pas un modèle d'ergonomie mais tu devrais être plus à l'aise après.
        • [^] # Re: gni?

          Posté par  . Évalué à 4.


          la base de donnée me semble bien pour faire des recherches dans l'historique et les signets, d'autant plus que cette base est sqlite, qui est une base de données quand même plus légère et transportable que mysql ou oracle.


          Bin justement, c'est vrai qu'une base de donnée pour stocker des (centaines|milliers) de bookmarks caycool; mais que cette base de donnée soit indépendante du navigateur cayencoremieux je trouve. (et puis tant qu'à faire qu'elle soit publiable/accessible facilement par le nainternet*).
          Perso j'utilises semantic scuttle** couplé aux raccourcis qui vont bien dans mon vimperator faute de mieux pour l'instant.

          L'édition des formulaires dans vim ?
          La rédaction des courriels sur yahoo avec mutt ?


          Aparrement, uzbl dispose d'un mode insertion pour écrire dans les différents trucs et machins donc ça me parait hors de propos.
          Ceci dit l'édition de formulaires (les gros, les textarea, pas les tout petits pour taper sa recherche ou son login bien-sûr) avec un vrai éditeur de texte je vois pas en quoi c'est ridicule comme idée. Y a qu'à voir le nombre de plugins FF pour ce faire pour se convaincre que c'est utile à pleins de gens.
          Quand à la remarque sur yahoo, je pense que le public visé par uzbl est effectivement plutôt celui des gens qui utilise mutt*** pour ce genre de chose. Donc je vois pas trop en quoi cette remarque est pertinente.

          * Non, l'export HTML tout pourri de FF, ça compte pas ;)
          ** http://sourceforge.net/projects/semanticscuttle/
          *** ou tout autre logiciel qui sert à ça, hein, je dis mutt parce que c'est le seul qui est bienque j'utilise.
          • [^] # Re: gni?

            Posté par  . Évalué à 2.

            mais que cette base de donnée soit indépendante du navigateur cayencoremieux je trouve.

            Si la navigateur ne fait plus rien d'autre qu'afficher des pages web et se résume à un simple conteneur de la libwebkit, effectivement on ne pourra plus le considérer comme une usine à gaz. Mais s'il faut pluguer des tas de programmes périphériques pour rendre la bête utilisable (ça reste évidemment subjectif et dépend de l'usage de chacun), l'usine à gaz en résultant sera bien pire.

            Base de données indépendantes ?
            Ça impliquera de passer par un démon supplémentaire pour gérer les accès aux données.
            Les bases de données sous forme de service sont nettement plus envahissantes : nombres de packages à installer, place occupée, configuration de l'ensemble.
            Un démon qui tourne juste pour avoir accès à sa liste de bookmark ?? Ça me parait bien compliqué pour si peu et je m'interroge d'ailleurs sur les performances d'une telle solution (sans parler de l'overhead)
            En regardant du coté des applications de kdepim, on s'aperçoit que beaucoup d'utilisateurs n'acceptent pas de devoir installer le service mysql juste pour accéder à leur calendrier (ce n'est pas vraiment nécessaire pour l'instant, mais il y a eu bcp de discussion sur la mailing list de debian sur l'intérêt de rendre kdepim dépendant de mysql).

            Uzbl, seul, de ce que je comprends de la description de ce programme, ne sera capable que de faire du google ou de lire des pages howto ... dès qu'on voudra lire une vidéo, enregistrer un mot de passe, chercher dans ses bookmarks etc., on devra faire appel à un programme tierce ?
            Que cette solution plaise à certains tant mieux, mais je doute qu'on puisse dire que firefox est une usine à gaz juste parce qu'il implémente des fonctions considérées comme basic par la plupart des utilisateurs.

            Pour rappel Firefox se voulait lui aussi simple et léger à l'origine.
            Arora qui est un autre exemple de navigateur web léger et que je teste un peu ces derniers temps, a lui aussi de grosses lacunes à mes yeux :
            - pas de gestion de mot de passe.
            - pas de gestion de certificat (impossible de déclarer ses impôts avec, et je n'arrive même pas à me connecter à linuxfr en https).
            Le jour où il n'aura plus de lacune pour certains, il sera lui aussi considré par d'autres comme étant une usine à gaz j'imagine.
            • [^] # Re: gni?

              Posté par  (site web personnel) . Évalué à 3.

              > Base de données indépendantes ?
              > Ça impliquera de passer par un démon supplémentaire pour gérer les accès aux données.

              Pourquoi nécessairement un démon ? Base de données indépendante, ça veut dire que c'est un fichier qui traîne dans un endroit standardisé (genre ~/.share/places.sqlite) et auquel n'importe quel programme qui sait utiliser la lib sqlite peut accéder, ou que tu peux préférer un autre moteur de BdD et utiliser une autre couche d'abstraction que celle qui fait avec sqlite.

              > Uzbl, seul, de ce que je comprends de la description de ce programme, ne sera capable que de faire du google ou de lire des pages howto ... dès qu'on voudra lire une vidéo, enregistrer un mot de passe, chercher dans ses bookmarks etc., on devra faire appel à un programme tierce ?

              Les plug-ins et les extensions sont des applications tierces, donc firefox a beau être une petite usine à gaz, il délègue certaines choses. La lecture de flux rss, le chat sur irc, le blocage de pubs qui sont des fonctions basiques que beaucoup d'utilisateurs attendent de leur navigateur sont faites par des applications tierces à firefox... Bref, si uzbl est packagé dans des distributions grand public, il sera fourni avec des scripts qui font qu'un navigateur web est un navigateur web, libre à toi d'en utiliser d'autres (alors que dans firefox, tu ne peux pas choisir qui gère tes mots de passe et avec quelle sécurité ()).
              • [^] # Re: gni?

                Posté par  (site web personnel, Mastodon) . Évalué à 3.

                >c'est un fichier qui traîne dans un endroit standardisé (genre ~/.share/places.sqlite) et auquel n'importe quel programme qui sait utiliser la lib sqlite peut accéder,

                sauf erreur de ma part, il me semble que les fichiers sqlite ont horreur d'être ouvert par plusieurs processus à la fois. ça a été en tout cas, au moins par le passé, la raison de la perte totale des données de bases sqlite (j'en ai flingué comme ça).

                Pour gérer des accés concurentiels, rien de mieux qu'un bon vieux serveur (mysql pgsql ou ce que vous voulez).

                >La lecture de flux rss, le chat sur irc, le blocage de pubs qui sont des fonctions basiques que beaucoup d'utilisateurs attendent de leur navigateur sont faites par des applications tierces à firefox...

                Firefox a une fonction de lecture rss en natif. Pour le reste, ce ne sont pas des applis tierces, mais des extensions.
                • [^] # Re: gni?

                  Posté par  (site web personnel) . Évalué à 2.

                  Normalement, sqlite garantit l'atomicité des écritures (en gros, un seul processus a le droit d'ouvrir un fichier donné simultanément). Donc effectivement, ils ont horreur de ça, mais à condition d'utiliser les modules standards pour y accéder, il n'y a normalement pas de corruption.
                  • [^] # Re: gni?

                    Posté par  . Évalué à 2.

                    un seul processus a le droit d'ouvrir un fichier donné simultanément
                    Ça serait vraiment pénible à gérer au niveau des bookmarks ou de l'awesome bar (sans parler des problèmes de performance).
                    Mais là, niveau technique je n'y connais rien. Possible avec sqlite de n'ouvrir une base qu'en lecture (par plusieurs applis en même temps) et de ne poser un verrou que quand on veut écrire ? A priori non donc là encore il faudrait passer à une solution plus lourde que sqlite. Je trouve que les développeurs ont choisi ici le bon compromis.

                    Je confirme par contre : impossible d'ouvrir en ligne de commande (via sqlite3) les fichiers sqlite de Firefox quand celui ci est lancé.
                    • [^] # Re: gni?

                      Posté par  (site web personnel) . Évalué à 4.

                      Can multiple applications or multiple instances of the same application access a single database file at the same time?

                      Multiple processes can have the same database open at the same time. Multiple processes can be doing a SELECT at the same time. But only one process can be making changes to the database at any moment in time, however.

                      SQLite uses reader/writer locks to control access to the database. (Under Win95/98/ME which lacks support for reader/writer locks, a probabilistic simulation is used instead.) But use caution: this locking mechanism might not work correctly if the database file is kept on an NFS filesystem. This is because fcntl() file locking is broken on many NFS implementations. You should avoid putting SQLite database files on NFS if multiple processes might try to access the file at the same time. On Windows, Microsoft's documentation says that locking may not work under FAT filesystems if you are not running the Share.exe daemon. People who have a lot of experience with Windows tell me that file locking of network files is very buggy and is not dependable. If what they say is true, sharing an SQLite database between two or more Windows machines might cause unexpected problems.

                      We are aware of no other embedded SQL database engine that supports as much concurrency as SQLite. SQLite allows multiple processes to have the database file open at once, and for multiple processes to read the database at once. When any process wants to write, it must lock the entire database file for the duration of its update. But that normally only takes a few milliseconds. Other processes just wait on the writer to finish then continue about their business. Other embedded SQL database engines typically only allow a single process to connect to the database at once.

                      However, client/server database engines (such as PostgreSQL, MySQL, or Oracle) usually support a higher level of concurrency and allow multiple processes to be writing to the same database at the same time. This is possible in a client/server database because there is always a single well-controlled server process available to coordinate access. If your application has a need for a lot of concurrency, then you should consider using a client/server database. But experience suggests that most applications need much less concurrency than their designers imagine.

                      When SQLite tries to access a file that is locked by another process, the default behavior is to return SQLITE_BUSY. You can adjust this behavior from C code using the sqlite3_busy_handler() or sqlite3_busy_timeout() API functions.


                      http://www.sqlite.org/faq.html#q5
                • [^] # Re: gni?

                  Posté par  (site web personnel) . Évalué à 2.

                  > Pour le reste, ce ne sont pas des applis tierces, mais des extensions.

                  Et les scripts pour uzbl ne sont pas des extensions mais des applis tierces ?
              • [^] # Re: gni?

                Posté par  . Évalué à 3.

                Base de données indépendante, ça veut dire que c'est un fichier

                Les bases de données de Firefox sont déjà stockée dans des fichiers séparés, ce qui ne semble pas convenir à sov36 (à qui je répondais) c'est pourquoi j'ai émis l'hypothèse, peut être à tord, qu'il souhaiterait une gestion via démon.


                donc firefox a beau être une petite usine à gaz

                Je me résigne à penser que la définition d'usine à gaz semble être bien subjective et propre à chacun.


                Les plug-ins et les extensions sont (...)

                Pour préciser mon propos et éviter tout mal entendu, je trouve très bien le principe de développer une application de façon modulaire, sur laquelle nous pouvons ajouter des extensions qui permettent :
                - d'étendre ses possibilités.
                - de choisir comment faire telle ou telle chose (plusieurs plugins différents pour un même usage) comme tu le soulignes toi même.

                J'ai juste une doute sur l'ergonomie de la solution qui consiste à configurer soit même ou via script des applications tierces pour les faire interagir avec ton navigateur. Je préfère le principe des plugins pour plusieurs raisons (facilité d'usage, maintenant, intégration dans l'application (par exemple pouvoir scroller sur du flash), performance (charger un process pour chaque "extension", ça risque de faire beaucoup).
                Ceci dit l'usage d'application tierce est séduisante car non propre à un navigateur (mes extentions firefox ne sont pas compatibles avec konqueror, arora ou autres et c'est bien dommage). Soit, si on peut me garantir la même simplicité/intégration/performance, je suis bien entendu pour. Mais encore une fois, ceci n'était pas mon propos.

                Non ce que je soulevais dans mon message précédent c'est :
                => En quoi Firefox est une usine à gaz ??
                Que fait-il donc qui devrait être délégué à une extension/application tierce ?
                - rss ? son intégration dans firefox est minimaliste et peut être largement étendu via différentes extensions.
                - gestion des bookmarks ? diable ! ça fait parti intégrante des fonctionnalités de BASE d'un navigateur. Si on commence par déléguer ça à une extension, pourquoi ne pas juste fournir le moteur de rendu nu pendant qu'on y est, pour qu'on ait plus qu'à jouer au légo pour obtenir quelque chose d'utilisable.
                - la gestion des mots de passe ? question technique, ou historique peut être (pour autant que j'en sache, ça a toujours existé dans firefox). Ça reste une question de choix de la part des développeurs, qui ont estimé qu'il s'agit ici d'un élément de base d'un navigateur, et je suis d'accord avec eux. Et ça se résume à quoi la gestion de mdp ? Une liste de mot de passe crypté associer à une url, je ne suis pas sur qu'on puisse trouver une profusion de plugin pour gérer ça si c'était externalisé.
                - mmm je cherche, je trouve pas grand chose à lui enlever.

                Donc pourquoi certains estiment que Firefox est une usine à gaz ? On pourrait aussi épiloguer sur la présence du ftp (minimaliste ! et les plugins existent), d'un gestion de téléchargement (minimaliste ! et les plugins existent) ou encore d'un correcteur orthographique. On pourrait.
                On pourrait aussi se poser la question de ce qui a amené les développeurs d'un logiciel qui se voulait léger à l'origine à inclure ces fonctionnalités en standard. Contrainte technique ? performance ? Ergonomie ? Uzbl va bien intégrer la gestion des onglets non ?


                Juste pour finir sur les exemples d'usage de base qui sont en plugins dans Firefox :
                - rss : présent de base (de façon minimaliste)
                - irc : de base ? des tas de gens (la majorité ?) de nos jours utilisent quotidiennement un navigateur sans même savoir ce qu'est irc.
                - blocage de pub : là, entièrement d'accord, usage de base à mes yeux. Par contre c'est l'exemple typique de la fonctionnalité qui peut s'opérer de différentes façons. (une version minimaliste serait peut-être la bienvenu ?)
                • [^] # Re: gni?

                  Posté par  . Évalué à 1.

                  - blocage de pub : là, entièrement d'accord, usage de base à mes yeux. Par contre c'est l'exemple typique de la fonctionnalité qui peut s'opérer de différentes façons. (une version minimaliste serait peut-être la bienvenu ?)
                  Sous Firefox il existe un blocage des popups, on peut considérer ça comme une version minimaliste mais non négligeable (en surfant sous IE, on se rend compte de son utilité...)
                  Personnellement, je trouve l'extension Flashblock indispensable, c'est la fonctionnalité qui m'empêche de tester d'autres navigateurs sur le long terme.
            • [^] # Re: gni?

              Posté par  (site web personnel) . Évalué à 3.

              Uzbl, seul, de ce que je comprends de la description de ce programme, ne sera capable que de faire du google ou de lire des pages howto ... dès qu'on voudra lire une vidéo, enregistrer un mot de passe, chercher dans ses bookmarks etc., on devra faire appel à un programme tierce ?

              Le flash/js est géré directement par webkit. J'ai utilisé uzbl pour aller sur youtube, ça marche sans problèmes. Le support des mots de passe/sessions est, à ma connaissance, pas encore implémenté mais ils réfléchissent à comment le faire correctement.
              Chercher dans ses bookmarks n'est effectivement pas supporté par uzbl même, mais ils fournissent des scripts qui font ça en utilisant dmenu et en stockant tout dans un fichier texte. Mais si ça ne va pas, chacun est libre d'utiliser une solution alternative, à base par exemple de bdd.

              C'est cette extensibilité et modularité qui fait la force d'uzbl et le place dans la philosophie unix.
              • [^] # Re: gni?

                Posté par  . Évalué à 3.

                mouais bon la fameuse "philosophie" Unix, cela date aussi du temps où les programmes étaient tous en ligne de commande et où "640K is enough", alors est-ce que cela est encore vraiment applicable ?

                D'ailleurs, pourquoi la notification des logiciels ne s'effectue pas uniquement dans les TTY? Pourquoi ne pas utiliser feh pour afficher les images dans le navigateur ? Pourquoi ne pas utiliser beep pour jouer des mp3 ? Pourquoi ne pas utiliser nethack comme visualiseur de GPS ?

                Si cette idée est malgré tout louable, je vois plutôt l'application moderne de cela dans les kparts que dans une usine à charbon comme Uzbl.

                Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

                • [^] # Re: gni?

                  Posté par  . Évalué à 3.

                  yop.

                  Perso, je vois 2 explications possibles a ce "une tache, un programme".

                  1) ca vient d'une epoque ou developper une grosse appli etait monstrueusement complique (compilateur peu ou pas utilisabel, tout en assembleur, ressources ultra limitee etc). Bon, on est plus en 1982, on arrive de nos jours a faire de applis raisonablement complique avec des moyens raisonnables
                  Et de toutes facons, une tache de nos jours, ca veut franchement plus dire grand chose.
                  Un traitement de texte, c'est une tache, non?
                  Ben v'la la gueule du programme pourtant...
                  Monter une video, c'est une tache non?
                  Ben v'la complexite des soft de montage pourtant.
                  Un serveur Web, genre apache, c'est quoi? une tache? Ben v'la la gueule de la tache...

                  Ca avait du sens a l'epoque ou se fadait de la communications interprocess avec des pipe et on parsait du texte "humain" tous les jours, une fois arrive en 2008, bof bof...

                  2) c'est juste une facon deguisee de dire : identifie clairement le besoin et specifie precisement le comportement de l'appli avant de l'ecrire, pour eviter d'ecrire un tas de spaghetti avec des features mal pensees a la con rajoutees au fil de l'eau.
                  • [^] # Re: gni?

                    Posté par  (site web personnel) . Évalué à 6.

                    Et pourtant en 2009 il y a encore un tas de masochistes qui continuent d'utilisable la ligne de commande pour un tas d'usages…

                    Sérieusement, l'approche «une tâche un logiciel» n'est pas dépassée, elle n'est juste pas une approche parfaite qui apporte une réponse simple à tous les problèmes.

                    Bien sûr qu'on peut faire du traitement de texte (latex) où du montage vidéo (mencoder, ffmepg…) en ligne de commande. Mais clairement ce n'est pas la solution la plus adaptée dans la majorités des cas pour la majorités des utilisateurs qui ont besoins de solutions dans ces domaines.
                  • [^] # Re: gni?

                    Posté par  . Évalué à 1.

                    La séparation archivage/compression de tar/gzip était sans doute très bien à l'époque, mais aujourd'hui, les archives solides c'est chiant quand il s'agit de la modifier.
                    "Une tâche, un programme", peut-être, mais faudrait faire attention à pas faire le découpage n'importe où.
                    Avec HTTPS, il n'est pas possible d'héberger des noms de domaines différents sur une même machine, sous peine d'avoir des certificats invalides (je crois que c'est quand même possible, mais avec beaucoup de complications).
                    • [^] # Re: gni?

                      Posté par  (site web personnel) . Évalué à 5.

                      Avec HTTPS, il n'est pas possible d'héberger des noms de domaines différents sur une même machine, sous peine d'avoir des certificats invalides (je crois que c'est quand même possible, mais avec beaucoup de complications).

                      C'est le http://en.wikipedia.org/wiki/Server_Name_Indication . Aucune complication, seulement ça ne marche qu'avec les navigateurs modernes, ce qui exclut beaucoup de clients (concrètement : le navigateur qui doit mourir).
                      • [^] # Re: gni?

                        Posté par  . Évalué à 1.

                        OK je connaissais pas vraiment merci. Par contre, on peut lire dans ton lien (http://en.wikipedia.org/wiki/Server_Name_Indication#Unsuppor(...) )

                        Unsupported Operating Systems and Browsers

                        The following combinations do not support SNI.

                        * Windows XP and Internet Explorer
                        * Konqueror/KDE in any version
                        * Apache with mod_ssl: there is a patch under review by httpd team for inclusion in future releases, after 2.2.11. See doco at [1]
                        * Microsoft Internet Information Server IIS (As of 2007[update]).


                        Et en lisant ce qui supporte plus haut, ça a l'air récent, donc quand même quelques complications, si.
            • [^] # Re: gni?

              Posté par  . Évalué à 2.

              Alors juste pour clarifier les choses, moi je pense pas que FF soit une "usine à gaz" et j'aime bien firefox, c'est grâce à la possibilité d'y coller des extensions que j'ai le droit d'avoir mon vimperator dessus, ce qui est à peu près le seul truc qui me convient, que je trouve utilisable pour naviguer dans des pages.
              Et ça, caycool(c)

              Mais y a pas mal d'autres choses qui _moi_ me font chier, entre autres:
              * pas de fichier de conf "format texte": bin oui moi les menus d'options* ça me les brise;
              * la relative pauvreté des options passables en ligne de commande;
              * le relatif bordel du repertoire ~/.mozilla
              * les extensions sont en XUL, c'est pas grave mais juste je connais pas ce langage. Tant pis pour moi
              [ les trucs UNIX quoi ... ]

              et ATTENTION je dis pas que c'est mal tout ça; je dis juste _moi_ ça me les brise, que _moi_ la gestion de bookmarks de FF elle _me_ sert à peu près à rien, que etc etc ....

              Faut bien voir que les besoins en matières de navigateur sont quand même plus que variables selon les utilisateurs et les usages, et que "fonctions considérées comme basic par la plupart des utilisateurs." bin ça veut pas dire grand chose au final.

              Certains veulent un client torrent|irc|mail|rss basique|avancé intégré dans leur navigateur, d'autres pas.
              De la même manière certains veulent qu'il s'occupe des mots de passe|bookmarks, d'autre pas.
              Certains veulent qu'il bloquent les pubs, d'autre préfère laisser ça à leur privoxy (ou autre).

              Je pourrais continuer pendant des heures avec des exemples de ce genre mais je pense que vous voyez ce que je veux dire.

              Certains navigateurs ont choisis d'avoir peu d'extensibilité sur ce genre de chose, et plaisent aux utilisateurs auxquels les choix pris conviennent. D'autres navigateurs, en l'occurence par exemple firefox ont choisis d'avoir une grande extensibilité sur beaucoup de point et réussisent à plaire à beaucoup d'utilisateurs qui peuvent en faire (à peu près et jusqu'à un certain point) ce qu'ils en veulent; et également à ceux qui aiment les choix faits par défaut. Mais tu auras néanmoins toujours certains point centraux de design sur lesquels il est difficile d'intervenir (en l'occurence voir plus haut sur les trucs qui me font chier).

              Maintenant arrive vaguement ce truc uzbl, qui fait le choix de déléguer le maximum de choses à des programmes externes.
              Et bin moi je vois pas en quoi ce choix est moins pertinent que les autres, et on ne peut pas nier qu'il y ait une demande à ce sujet.
              Alors moi je dis cool, on va bien voir ce que ça va donner, et merci au rédacteur de la depêche pour en avoir fait un peu de pub ici :)

              PS: et je vois bien avec le temps, si la sauce prend, des "distributions" de uzbl + un ensemble de programmes externes se lancer, un peu à la manière des distros linux en fait.
              Une page d'histoire est peut-être en train de s'écrire ! ;-)

              * sans parler d'about:config...
              • [^] # Re: gni?

                Posté par  . Évalué à 1.

                Il y a un fichier de conf texte dans firefox : dans ton dossier de profil, prefs.js
      • [^] # Re: gni?

        Posté par  (site web personnel, Mastodon) . Évalué à 7.

        >le fait que firefox stocke ses bookmarks et son historique dans une base de donnée, ce qui me donne toujours l'impression d'utiliser un char d'assaut contre une mouche

        Mouai, je n'irais pas jusque là quand même. Le stockage des bookmarks/historique dans Firefox, ce n'est pas une simple accumulation d'URL. il y a aussi des données associées qui sont stockées : nom, mots-clés, eventuellement un nom de dossier de stockage, date de saisie, flag disant si c'est un bookmark ou pas, nombre de visites etc.. Et ces données sont utiles pour pouvoir faire des recherches et avoir les resultats les plus pertinents possibles quand tu commences à taper un mot dans la barre d'adresse.

        Et personnellement, pour pouvoir stocker des données structurées comme je viens de décrire (et c'est en fait plus complexe que ça, voir la base places.sqlite dans le profile), et faire des recherches selon des critères variés, je vois pas autre chose que d'utiliser une base sql (ici sqlite). À moins de recreer un format de fichier indexé, redevelopper tout un tas de routine pour interroger le fichier... mais c'est reinventer la roue à mon avis...

        L'impression de lourdeur que tu aurais pu avoir dans Firefox, c'est du au problème de fsync et le fait que FF3.0 fait trop de requête SQL. Dans FF3.5, ils ont optimisés ces requêtes pour qu'il y en ait moins et donc moins d'accès à la base (donc moins de gèle fsync).

        >la balise video n'oblige pas à intégrer quoique ce soit. Le moteur de rendu peut tout à fait s'appuyer sur un lecteur extérieur

        certes, mais ça n'en fait pas des pages moins lourdes, et un navigateur moins lourd. Il faut bien les gérer ces appels à ces libs externes...

        >c'est d'ailleurs ( mais je ne vais pas vous l'apprendre ) ce que fait firefox en utilisant gstreamer

        Firefox 3.5 n'utilisera pas gstreamer. Il n'y aura que le support natif ogg/theora. Le support gstreamer arrivera peut-être dans la version suivante. Le patch pour gstreamer n'est pour le moment pas encore intégré dans le trunk. Par manque de temps, mais aussi pour des raisons "politiques" : "pousser" au maximum dans un premier temps le format libre Theora.
    • [^] # Re: gni?

      Posté par  (Mastodon) . Évalué à 3.

      > Le HTML5 imposant l'embarquement d'une base de donnée et spécifiant la balise video, ça voudrait dire alors que [...] que ce navigateur ne peut supporter les pages web modernes ?

      Donc pour être "moderne", il faut mettre plein de videos à la con sur une page web et utiliser une base de données côté utilisateur ? Drôle de conception de la modernité...

      Pour moi, HTML5 est plus une régression qu'une progression.
      • [^] # Re: gni?

        Posté par  (site web personnel, Mastodon) . Évalué à 4.

        >Donc pour être "moderne", il faut mettre plein de videos à la con sur une page web et utiliser une base de données côté utilisateur ?

        je n'ai pas dis ça. Qu'il y ait des videos sur les pages web est un fait. Que le navigateur puisse les prendre en charge sans avoir à installer X plugins est franchement un plus pour l'utilisateur (il n'a pas d'installation à faire, le navigateur peut être 100% libre etc)

        Pour l'utilisation du stockage des données coté utilisateurs, oui, c'est utile pour certaines applications, ça évite d'utiliser de nombreux cookies (envoyé à chaque requete), et ça permet à l'appli de fonctionner en offline.

        Si tu appelles tout ça une regression, vire tout navigateur recent et reinstalle Mosaic. Parce que faut que tu fasse gaffe, dans les navigateur actuels ou un peu vieillot, ils peuvent prendre en charge le javascript, et même afficher des images !
  • # Il utilise wmii §§

    Posté par  . Évalué à 1.

    Le gestionnaire de fenêtres du bien !
    Koin koin %%
  • # Web

    Posté par  (site web personnel) . Évalué à 10.

    Navigateur Web, pas navigateur Internet. Le Web n'est pas Internet, et ce n'est pas parce qu'une entreprise a choisi de donner un nom fallacieux à son navigateur qu'il faut poursuivre dans cette erreur.
    • [^] # Re: Web

      Posté par  . Évalué à 6.

      Et si le navigateur est aussi capable de faire du FTP ? C'est toujours que du Web ou plus généralement de l'Internet.

      Parce-que les navigateurs Internet que j'utilise font tous office de client FTP s'il le faut...

      Espèce de chipoteur ;)
      • [^] # Re: Web

        Posté par  . Évalué à 3.


        Et si le navigateur est aussi capable de faire du FTP ?


        tu va me trouver chipoteur aussi, mais la plupart des navigateurs qui font du FTP ne gèrent qu'un sous-ensemble du protocole; client FTP c'est peut-être beaucoup dire dans ce cas-là.
      • [^] # Re: Web

        Posté par  (site web personnel) . Évalué à 2.

        Et navigateur de fichier. Et visualiseur d'images. Et maintenant ils font même lecteur audio/vidéo il parait.
        • [^] # Re: Web

          Posté par  . Évalué à 2.

          euh ... Images, audio/vidéo, etc ... font partie du web. Par contre Internet ne se résume pas au web et aux navigateurs. C'est malhereusement ce à quoi on veut le réduire....
          • [^] # Re: Web

            Posté par  (site web personnel) . Évalué à 2.

            Je dirais qu'il y a une double problèmatique certainement lié :
            * d'un coté on tends à réduire internet au web, et encore[1]
            * de l'autre on tends à étendre le web en conteneur de tous, le fameux web 2.0 qui contiens outre les données, les applications pour les manipuler. Gageons que ce n'est plus qu'une question de quelques années avant qu'on est une interface web de domotique qui te permet de faire le café.

            [1] L'autre jour je lisais la petite étoile d'une publicité orange, et leur offre «internet», outre bannir les protocoles mail, p2p et voIP, semble se limiter au «portail orange».
  • # vimperator

    Posté par  . Évalué à 5.

    Perso, j'utilise Vimperator depuis quelques mois, j'ai toujours voulu un navigateur avec l'ergo de Vim, et ça ne fait que confirmer l'intelligence de ce système!

    Maintenant, si Uzbl fait ce que son nom suggère, je vais aller pour.
  • # Un navigateur web?

    Posté par  . Évalué à -1.

    Génial, c'est exactement ce qui manquait au desktop linux.
  • # testé et en cours d'acquisition des réflexes

    Posté par  (site web personnel) . Évalué à 1.

    Je viens de le tester rapidement...

    C'est une tuerie :)) !

    Si vous aimez les clickodrômes, ou au moins les interfaces neuneu-proof, madame michut-ready, passez votre chemin.

    Si vous utilisez un tiling window manager, aimez vim et n'aimez pas les boutons partout; si une sourie est un élément encombrant et que vous préférez laisser les mains sur le clavier, alors ce browser est pour vous !

    Pas évident à prendre en main, mais je pense que je vais m'y faire rapidement (j'utilise wmii, j'ai l'habitude de ce genre de choses)

    Je vais le packager pour NetBSD/pkgsrc (ça sera dans wip bien sur)
  • # L'inverse

    Posté par  (site web personnel) . Évalué à 1.

    Je me demandais s'il existe un navigateur qui serait optimisé pour les bouffeurs de ressources : un navigateur qui ne saurait interpréter que le code de youtube et dailymotion par exemple (et encore, en omettant la patée de données inutiles qui se trouve sur la page).
    • [^] # Re: L'inverse

      Posté par  . Évalué à 3.

      un téléphone 3G !
    • [^] # Re: L'inverse

      Posté par  . Évalué à 2.

      miro ?
    • [^] # Re: L'inverse

      Posté par  . Évalué à 4.

      C'est prévu.
      Il intégrera OpenOffice pour avoir un pare-feu qui sécurisera l'accès et consultera un fichier national à chaque lien pour vérifier s'il ne mène pas vers du contenu pirate-terrorisant.
      Par contre va falloir être patient parce que c'est Albanel qui va le coder en personne...
      • [^] # Re: L'inverse

        Posté par  . Évalué à 2.

        Par contre va falloir être patient parce que c'est Albanel qui va le coder en personne...

        En Objective-Personne++ (on Monorails), elle irait beaucoup plus vite.
        • [^] # Re: L'inverse

          Posté par  . Évalué à 1.

          cela sera codé en Anéfé++

          Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

  • # Paquet .deb .rpm ou autre

    Posté par  (site web personnel) . Évalué à 1.

    je me demandais comment faire pour rendre disponible dans des distributions ce genre de projet.

    Par exemple j'utilise Debian, et Uzbl n'est pas (encore) dans la liste des paquets disponibles (suite: testing) mais peut être déjà dans la suite expérimentale...

    quel est le processus pour intégrer un logiciel comme Uzbl dans une distribution (par exemple Debian) ?

    je ne parle pas de rajouter une ligne dans mon /etc/apt/sources.list
  • # Vitesse ?

    Posté par  . Évalué à 2.

    On dit que webkit est bien plus rapide que firefox. Heureusement avec le nouveau navigateur Hknsdjjfn, qui fonctionne rien qu'en appelant plein de processus, en faisant plein d'IPC etc., on va enfin retrouver cette lenteur bien agréable \o/
    • [^] # Re: Vitesse ?

      Posté par  . Évalué à 1.

      Ah, tu confirmes ? Firefox est lent. C'est ça ? Ou c'est juste pour le troll ?

Suivre le flux des commentaires

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