Aller au contenu principal

Quand Linux et le logiciel libre ont révolutionné le Web

· 10 minutes de lecture

Petite intro nostalgeek

À l'age de dix ans, je voulais déjà être "Webmaster", comme on disait alors. Un créateur de sites Web, en somme.

L'innocence de l'enfance quoi. J'avais déjà eu quelques occasions de tripatouiller un peu d'HTML sur le PC de mon beau-père, mais pas beaucoup plus.

Faut dire que pendant plusieurs années, mon seul ordi fut un Macintosh 128k. Un dinosaure fabriqué 3 ans avant ma naissance. Pas grand-chose à faire là-dessus à part jouer à Airbone et Shufflepuck, ou utiliser le traitement de texte pour écrire de (très mauvaises) nouvelles de SF.

Le premier Macintosh était "une révolution" en 1984 ... mais beaucoup moins à la fin des années 90.

Ma passion change un peu avec l'arrivée de mon premier PC en 2000, puis d'un modem 56k avec un abonnement AOL partagé entre copains l'année suivante. ^[Je me rappelle nettement l'achat du premier numéro de Micro Hebdo "Internet, mode d'emploi". Je pense avoir acheté quasiment tous les numéros. On est très loin du magazine d'expert cela dit.] Petit à petit, c'est surtout le logiciel libre qui attire mon attention et avec lui, Linux, avec Mandriva. À l'époque, ça s'appelait Mandrake, et on achetait les CD chez le marchand de journaux.

Bon, j'ai pas retrouvé les miens dans les cartons, mais ça ressemblait à ça à CD Linux à l'époque.

Je commence alors à bidouiller des PC avec les copains. C'était l'époque des Lan et des Install Party. Debian, Ubuntu, CrunchBang, Gentoo, Arch, Manjaro, et sans doute plein d'autres que j'oublie au passage. J'ai très souvent changé de distribution, mais ne suis jamais revenu à Windows.

Du coup, j'ai logiquement commencé ma carrière côté administration système, après un stage de dev PHP.

Mais pour le coup, je n'ai plus vraiment de conseil à leur donner.

Certes, je bricole toujours sur du Linux. J'écris des scripts Bash, Python et Lua régulièrement, pour le plaisir. Mais je dois bien l'avouer, j'ai un peu perdu la main.

Parce que l'arrivée d'AngularJS 1.3 en 2014 a tout changé. Mon premier amour était revenu ! J'ai fermé mon entreprise, signé un CDI, puis un autre, et encore un autre ... Des années ont passées, mais je suis encore loin d'avoir épuisé le sujet. N'ayant que 24 heures dans une journée, l'administration système est forcément passée au second plan, puis au troisième, au quatrième, et je vous laisse deviner la suite.

De plus, tout un tas d'autres questions m'ont amené à modérer mon amour pour Linux, et l'Open Source en général.

Cohérence, environnement de bureau, et KDE

Beaucoup de devs vous le diront, Linux est un très bon système pour les pros et les passionnés. Bon OK, Safari ne tourne que sur Mac, et beaucoup de projets manquent cruellement de support Windows. Mais dans l'ensemble, ça fait l'affaire. En tout cas, c'est le cas pour moi depuis prêt de vingt ans (ouch, le temps passe vite).

Pour le grand public, par contre, c'est une autre affaire. Il faut pas mal de connaissance pour faire fonctionner ensemble tout un tas de trucs développés séparément. Linux offre, grâce à son ouverture, une très grande liberté. Liberté qui peut rapidement se transformer en cauchemar pour beaucoup de non spécialistes.

Comment je configure le Wifi ? Il me faut quel logiciel pour scanner une page ? Je clique où pour voir mes photos ?

Avec Linux, toutes ces questions peuvent avoir des dizaines, voir des centaines de réponses différentes. Windows et Mac OS, de leur côté, sont directs. L'utilisateur est face à un ensemble cohérent construit par une unique entreprise. Une question, une documentation, une réponse, et l'affaire est dans le sac.

KDE a précisément été créé pour résoudre ce problème. Pour offrir un environnement cohérent aux Linuxiens et Lunuxiennes.

L'appel de Matthias Ettrich sur le groupe Usenet de.comp.os.linux.misc du 14 octobre 1996 (New Project: Kool Desktop Environment. Programmers wanted!) est, à ma connaissance, la première initiative du genre.

D'autres environnements de bureau naissent à la même époque (entre 1996 et 1997), comme Enlightenment, Xfce et Gnome. Mais ces projets seront bien moins ambitieux que KDE, qui cherche à couvrir un bien plus large éventail de besoinsenv.

Enlightenment, Xfce et Gnome se contentent de fournir un environnement de bureau léger. Les autres logiciels sont alors simplement recommandés.

KDE, de son côté, construit petit à petit un écosystème complet utilisant des frameworks communs. Pour citer la note de version de la toute première beta : « KDE n'est pas simplement un gestionnaire de fenêtres de plus, qui essayerait d'imiter l'apparence d'un environnement de bureau existant. C'est un environnement intégré dont le gestionnaire de fenêtres ne représente qu'une infime partie. »

Cet environnement offre donc moins de customisation, pour plus de cohérence. Ce qui permet de construire des distributions Linux avec une facilité d'utilisation proche de Mac OS.

KDE entre dans la guerre des navigateurs

Évolution des parts d'utilisation des navigateurs web de 1997 à 2021.

Le projet KDE inclut donc dès le départ (en 1997) un grand nombre d'applications simples, comme un lecteur CD et une calculatrice. Le gestionnaire de fichier KFM (KDE File Manager), en particulier, se distingue en utilisant directement un moteur HTML (khtmlw) pour afficher les fichiers et dossiers. Il permet donc de consulter la majorité des sites web de l'époque.

Mais le Web ne restera pas longtemps aussi minimaliste. La publication d'Internet Explorer 3.0 en août 1996 marque un tournant majeur en intégrant le CSS et JScript. Netscape, qui avait lui-même inventé le JavaScript en 1995, supporte le CSS dès 1997, soit très peu de temps après la publication du standard CSS1. Avec la première édition de la norme ECMA-262, JavaScript (ou plutôt, ECMAScript) intègre enfin le groupe des langages officiels du Web en juin 1997.

Ces deux langages gagnent alors rapidement en popularité. Dès lors, un navigateur web doit impérativement intégrer des interpréteurs JavaScript et CSS pour afficher des pages web.

Un tel navigateur complète KDE à la sortie de sa version 2 en octobre 2000. Il est alors (et est toujours aujourd'hui) nommé Konqueror.

Logo de Konqueror, le navigateur web de KDE.

Mais Konqueror n'aura qu'un rôle secondaire dans la première guerre des navigateurs. Beaucoup d'utilisateurs Linux continuent de préférer Netscape au navigateur KDE. Surtout, Linux est très peu utilisé en comparaison de Windows. Un navigateur spécialement dédié à ce système n'a donc aucune chance de rivaliser avec Internet Explorer, dont l'installation est imposée sur Windows.

En 2001, Internet Explorer l'emporte sur tous ses rivaux. À lui seul, IE est neuf fois plus utilisé que tous les autres navigateurs réunis. Mais cette hégémonie ne dure que trois ans. L'arrivée de nouveaux navigateurs, dignes descendants des perdants de la première compétition, déclenche en 2004 une nouvelle guerre. Une guerre qui sera bien plus longue et impitoyable.

Netscape, suite à sa défaite, s'est progressivement effacé derrière Mozilla, son remplaçant Open Source. Après sept ans de développement, Firefox voit finalement le jour en novembre 2004.

Un an plus tôt, Apple était déjà entré dans la bataille avec son propre navigateur, Safari. Son moteur, WebKit, n'est alors qu'un fork de celui de Konqueror. Une fois encore, l'association de ce navigateur à un système d'exploitation bien moins populaire que Windows limite fortement sa croissance. Il faudra donc attendre encore cinq ans avant que l'arrivée de Google Chrome en octobre 2008 change définitivement la donne.

Aujourd'hui, 17% des consultations de sites web sont effectuées via Safari, et donc WebKit. Son fork Blink, créé pour Chrome en avril 2013, occupe la quasi-totalité de la place restante, via Chrome, bien sûr, mais aussi Opera, Edge et Brave, pour ne citer que les plus connus.

Usage des moteurs de rendu Web en 2021

On peut donc se réjouir que Konqueror ait, indirectement, permit de mettre fin au monopole d'Internet Explorer.

De mon point de vue, cette histoire permet également de souligner certaines limites de l'Open Source.

Mais ça, c'est une autre histoire qui mérite son propre épisode.

Rendez-vous donc le 11 mai sur Twitch et ce blog pour la suite.

astuce

The KDE Restauration Project

KDE 1 a été publié en 1998, mais est toujours en développement en 2021 !

En 2016 Helio Castro décidait de démarrer la restauration de cette vieille version pour son plaisir personnel et afin de célébrer les 20 ans de KDE. Grâce à son travail, il est donc depuis possible de lancer KDE 1.1 sur une distribution moderne.

KFM sur KDE 1.1

kde1-kdelibs (qui inclut khtmlw), kdebase (qui inclut kfm) et qt1 constituent le système de base. Les dépôts Git associés sont encore disponibles et actifs sur Github, dans l'organisation KDE ou sur le profil de Martin Sandsmark.

Non, vraiment, allez faire un tour sur le profil Github de _sandsmark_, vous ne serez pas déçus !

Sur le ArchLinux User Repository (AUR), les paquets qt1-git, kde1-kdelibs-git et kde1-kdebase-git (en plus de xorg-server et xorg-xinit) permettent donc d'installer KDE 1 facilement.

Une fois ces paquets installés, il vous suffit d'éditer votre fichier ~/.xinit comme suit et le tour est joué.

export PATH=/opt/kde1/bin:$PATH
export LD_LIBRARY_PATH=/opt/qt1/lib:/opt/kde1/lib
exec startkde

Quinze autres projets (disposants chacun d'un paquet AUR kde1-*-git associé) fournissent ensuite tout un tas d'outils complémentaires :

  • Amor (“Amusing Misuse Of Resources”), pour afficher un petit personnage (chat, mario, dark vador, etc.) qui vous aide au quotidien
  • KDE Games, avec pleins de jeux sympas (asteroid, abalone, snake, etc.)
  • KCM Laptop, pour le support des ordinateurs portables (gestion de la batterie et mise en veille)
  • KDE Graphics, pour visualiser des fichiers PostScript, éditer des icones, faire des captures d'écran, etc.
  • KDE Multimedia, pour la lecture de fichiers multimédia
  • KDE Network, pour l'utilisation, la gestion et l'analyse du réseau (ping, traceroute, hostname, mails, etc.)
  • KDE Toys, petits gadgets pour visualiser les phases de la lune, le cycle jour-nuit sur une mappemonde, ou jouer avec sa souri
  • KDE Utils, collections d'utilitaires basiques (calculatrice, éditeur de texte, formatage de disquettes, gestion des polices, prise de notes, etc.)
  • KDE Wizard, un assistant de paramétrage
  • kGoldrunner, un jeu d'action-réflexion
  • kPackage, GUI pour la gestion de paquets
  • kShow, un visualiseur d'images
  • kteatime, un chronomètre (pratique pour le thé)
  • KTip, les petites astuces de Kandalf (rétro-porté de KDE 2)
  • kuickshow, encore un autre visualiseur d'images

Forcément, je ne vous recommande pas de faire ça sur votre système de travail quotidien, car je doute que le tout puisse très bien coexister avec d'autres environnements de bureau via un login manager. Personnellement, je n'ai pas fait joujou avec KDE 1 depuis un moment. Mais si vous êtes assez fou pour tenter l'opération, faites le moi savoir 😃.

Ressources

KDE

Contexte historique


  1. Personnellement, j'ai toujours préféré faire mes propres choix, au cas par cas. Alors forcément, KDE n'a jamais été mon environnement de travail quotidien.

    Je lui ai longtemps préféré Gnome, mais la version 3 ne me convenait plus (comme ce fut le cas pour pas mal de monde). Je suis donc passé à des systèmes de plus en plus minimalistes, comme Xfce et Openbox. Aujourd'hui, j'utilise mon "propre" environnement avec AwesomeWM et beaucoup de scripts. On ne se refait pas : bidouilleur un jour, bidouilleur toujours.