C'est marrant mais quand je lis ca je comprends que la GUI est plus compliquee que la ligne de commande de maniere generale.
"En général" ? Mais en général, il y a pas mal d'applis qui n'ont pas de ligne de commande. Si on enlève les outils de développement, si on se ramène à ce qui peut etre le facteur commun de l'utilisation des débutants, il s'agit essentiellement du shell pour la manipulation de fichiers, et le lancement d'applications, ou de commandes globales au système.
Et desole mais on ne parlait pas des systemes a priori GUI ou on utilise le CLI de temps en temps, Annah Conne-Hu disait clairement que la CLI est beaucoup plus simple qu'une GUI style Windows pour un debutant, et cela de maniere generale, le coup du ls n'est qu'un exemple pour argumenter son idee.
On aura peut-etre une précision. Mais moi je trouve plutot tordu d'imaginer que quelqu'un qui dit que la ligne de commande est plus simple que la gui de windows prone un système sans mode graphique avec 4 ou 6 consoles virtuelles et rien d'autre. Windows fait référence au tout-graphique, par opposition à la "ligne de commande", ie l'utilisation de cette dernière quand c'est possible/pertinent. Inciter à apprendre la ligne de commande, c'est pas inciter à aller sur le web avec des commandes http sous telnet.
Et cette approche est clairement en contradiction avec ce que les recherches en IHM ont amene, a savoir le passage des CLI aux GUI.
Il n'y a pas de "passage", et c'est aussi pour ça que ta phrase u viens de detruire en 5 minutes les annees de recherche de centaines d'experts sur les interfaces homme-machine correspond à un raisonnement faux : les GUI ne sont pas parties des CLI mais de zéro (pour l'implémentation). La CLI dispose d'une entrée et d'une sortie parfaitement adaptée. La GUI non, il n'y a pas de manière "canonique" de lire et écrire des données. Une grande partie du travail en GUI a déja été de rattraper la souplesse de la CLI. Permettre à l'utilisateur de s'exprimer avec un outil plus pauvre (la souris, meme la définition du clic n'est pas fournie avec) c'est un travail bien plus compliqué qu'en CLI, surtout si coté qualité on doit vérifier que l'interface ne "trahit" pas le noyau. Idem pour l'affichage, tu es obligé d'avoir une conception objet là où pour la CLI un bete truc procédural est déja une solution élégante. Ceux qui bossent sur les IHM sont partis de zéro, et faire une IHM graphique aussi cohérente que la CLI c'est déja des années de boulot parce que c'est beaucoup plus complexe. Pour le reste comme je l'ai dit, je n'ai rien contre la GUI quand c'est le meilleur type d'interface. Par contre elle ne remplace pas tout ce qui existe en CLI, et meme si c'était possible en théorie, les logiciels actuels ne sont pas encore là.
Non, une GUI est une IHM
Je ne pense pas avoir dit le contraire, et comme il a été dit plus haut fort justement, le fromage n'est pas un camembert. Quand je dis que certaines GUI sont à peines dignes d'etre appelées IHM, c'est parce qu'elles se limitent à la plus petite définition d'IHM et qu'elles sont bien loin d'approcher l'état des travaux qu'il y a dans ce domaine.
Et nombre des avancees ont ete introduites, les menus deroulants, les menus contextuels, les fenetres, les icones, les bulles d'aides,... toutes ces choses SONT des avancees meme si ca peut te paraitre banal.
Bien sur que ce sont des avancées. Coté application, elles le sont surtout dans les applis qui en ont besoin et savent les utiliser dans une interface ergonomique. J'utilise CVS à la fois en ligne de commande et avec un front-end : les menus sont inutiles, les icones sont pratiques mais il n'y a pas toutes les commandes et c'est moins paramétrable, par contre ça apporte un affichage graphique des arbres. Résultat j'utilise les deux, dans ce qu'ils ont de meilleur chacun. N'utiliser que la GUI, ce serait injouable. N'utiliser que la CLI ce serait plus pénible mais au moins ce serait possible. Il y en a qui utiliseront uniquement la ligne de commande, mais la GUI apporte des représentations graphiques qui sont des compléments incontestables. Et toutes les avancées dont tu parles, elles sont bien pratiques, mais la CLI en a connu aussi, et propose meme des équivalents à certaines des avancées graphiques.
Il faut voir aussi que les GUI n'ont pas uniquement besoin de d'avancées ponctuelles comme celles que tu donnes, il faut que ça suive aussi globalement pour un logiciel, qu'il y ait une cohérence. Je reprends l'exemple de l'arborescence de fichiers dans Windows et de sa présentation dans l'explorateur. C'est bien beau de pouvoir présenter l'arborescence sous forme d'arbre 2D mais le débutant est encore gené parce que
- il voit trop de choses qu'il ne comprend pas
- meme en connaissant le nom il met une heure à trouver son répertoire, puis le sous-répertoire, etc
- il ne comprend pas pourquoi il y a une imprimante et un panneau de controle dedans
- il confond sélectionné et ouvert et ne trouve pas ses fichiers dans le dossier qu'il pense avoir ouvert
Les fenetres, les tabs, c'est bien, mais il faut savoir s'en servir et les utiliser correctement. Si mes souvenirs sont bons c'est la création d'une disquette de secours qui est placée d'une manière complètement incohérente sous windows. Voila ce qu'on reproche à beaucoup de GUI actuelles : elles ont d'IHM surtout le nom, et pas grand chose des recherches effectuées dans ce domaine. Une IHM c'est pas simplement un regroupement de petits composants IHM rassemblés n'importe comment, ça doit aussi avoir sa cohérence.
Le travail que font les chercheurs en IHM, et en particulier en GUI, je n'ai aucun doute sur son utilité, j'ai travaillé à une époque pour des gens de ce domaine, je sais qu'ils avancent. Par contre je ne vois pas grand chose de ce qu'ils font appliqué aux logiciels grand public, à part au niveau "petits composants".
La CLI a un très grand avantage (pour le développeur) sur la GUI : c'est beaucoup plus simple à programmer. Alors forcément quand la CLI apporte quasiment tout ce qui est nécessaire, la GUI a du mal à rivaliser, ou met du temps pour ça. Evidemment ça ne veut pas dire que la CLI est une interface adaptée à tout logiciel, loin de là. C'est uniquement quand elle l'est qu'elle peut etre supérieure, mais il reste encore pas mal de situations de ce style dans la pratique.
[^] # Re: Linux AVANT windows !
Posté par #3588 . En réponse à la dépêche Linux pour les tous-petits. Évalué à 2.
"En général" ? Mais en général, il y a pas mal d'applis qui n'ont pas de ligne de commande. Si on enlève les outils de développement, si on se ramène à ce qui peut etre le facteur commun de l'utilisation des débutants, il s'agit essentiellement du shell pour la manipulation de fichiers, et le lancement d'applications, ou de commandes globales au système.
Et desole mais on ne parlait pas des systemes a priori GUI ou on utilise le CLI de temps en temps, Annah Conne-Hu disait clairement que la CLI est beaucoup plus simple qu'une GUI style Windows pour un debutant, et cela de maniere generale, le coup du ls n'est qu'un exemple pour argumenter son idee.
On aura peut-etre une précision. Mais moi je trouve plutot tordu d'imaginer que quelqu'un qui dit que la ligne de commande est plus simple que la gui de windows prone un système sans mode graphique avec 4 ou 6 consoles virtuelles et rien d'autre. Windows fait référence au tout-graphique, par opposition à la "ligne de commande", ie l'utilisation de cette dernière quand c'est possible/pertinent. Inciter à apprendre la ligne de commande, c'est pas inciter à aller sur le web avec des commandes http sous telnet.
Et cette approche est clairement en contradiction avec ce que les recherches en IHM ont amene, a savoir le passage des CLI aux GUI.
Il n'y a pas de "passage", et c'est aussi pour ça que ta phrase u viens de detruire en 5 minutes les annees de recherche de centaines d'experts sur les interfaces homme-machine correspond à un raisonnement faux : les GUI ne sont pas parties des CLI mais de zéro (pour l'implémentation). La CLI dispose d'une entrée et d'une sortie parfaitement adaptée. La GUI non, il n'y a pas de manière "canonique" de lire et écrire des données. Une grande partie du travail en GUI a déja été de rattraper la souplesse de la CLI. Permettre à l'utilisateur de s'exprimer avec un outil plus pauvre (la souris, meme la définition du clic n'est pas fournie avec) c'est un travail bien plus compliqué qu'en CLI, surtout si coté qualité on doit vérifier que l'interface ne "trahit" pas le noyau. Idem pour l'affichage, tu es obligé d'avoir une conception objet là où pour la CLI un bete truc procédural est déja une solution élégante. Ceux qui bossent sur les IHM sont partis de zéro, et faire une IHM graphique aussi cohérente que la CLI c'est déja des années de boulot parce que c'est beaucoup plus complexe. Pour le reste comme je l'ai dit, je n'ai rien contre la GUI quand c'est le meilleur type d'interface. Par contre elle ne remplace pas tout ce qui existe en CLI, et meme si c'était possible en théorie, les logiciels actuels ne sont pas encore là.
Non, une GUI est une IHM
Je ne pense pas avoir dit le contraire, et comme il a été dit plus haut fort justement, le fromage n'est pas un camembert. Quand je dis que certaines GUI sont à peines dignes d'etre appelées IHM, c'est parce qu'elles se limitent à la plus petite définition d'IHM et qu'elles sont bien loin d'approcher l'état des travaux qu'il y a dans ce domaine.
Et nombre des avancees ont ete introduites, les menus deroulants, les menus contextuels, les fenetres, les icones, les bulles d'aides,... toutes ces choses SONT des avancees meme si ca peut te paraitre banal.
Bien sur que ce sont des avancées. Coté application, elles le sont surtout dans les applis qui en ont besoin et savent les utiliser dans une interface ergonomique. J'utilise CVS à la fois en ligne de commande et avec un front-end : les menus sont inutiles, les icones sont pratiques mais il n'y a pas toutes les commandes et c'est moins paramétrable, par contre ça apporte un affichage graphique des arbres. Résultat j'utilise les deux, dans ce qu'ils ont de meilleur chacun. N'utiliser que la GUI, ce serait injouable. N'utiliser que la CLI ce serait plus pénible mais au moins ce serait possible. Il y en a qui utiliseront uniquement la ligne de commande, mais la GUI apporte des représentations graphiques qui sont des compléments incontestables. Et toutes les avancées dont tu parles, elles sont bien pratiques, mais la CLI en a connu aussi, et propose meme des équivalents à certaines des avancées graphiques.
Il faut voir aussi que les GUI n'ont pas uniquement besoin de d'avancées ponctuelles comme celles que tu donnes, il faut que ça suive aussi globalement pour un logiciel, qu'il y ait une cohérence. Je reprends l'exemple de l'arborescence de fichiers dans Windows et de sa présentation dans l'explorateur. C'est bien beau de pouvoir présenter l'arborescence sous forme d'arbre 2D mais le débutant est encore gené parce que
- il voit trop de choses qu'il ne comprend pas
- meme en connaissant le nom il met une heure à trouver son répertoire, puis le sous-répertoire, etc
- il ne comprend pas pourquoi il y a une imprimante et un panneau de controle dedans
- il confond sélectionné et ouvert et ne trouve pas ses fichiers dans le dossier qu'il pense avoir ouvert
Les fenetres, les tabs, c'est bien, mais il faut savoir s'en servir et les utiliser correctement. Si mes souvenirs sont bons c'est la création d'une disquette de secours qui est placée d'une manière complètement incohérente sous windows. Voila ce qu'on reproche à beaucoup de GUI actuelles : elles ont d'IHM surtout le nom, et pas grand chose des recherches effectuées dans ce domaine. Une IHM c'est pas simplement un regroupement de petits composants IHM rassemblés n'importe comment, ça doit aussi avoir sa cohérence.
Le travail que font les chercheurs en IHM, et en particulier en GUI, je n'ai aucun doute sur son utilité, j'ai travaillé à une époque pour des gens de ce domaine, je sais qu'ils avancent. Par contre je ne vois pas grand chose de ce qu'ils font appliqué aux logiciels grand public, à part au niveau "petits composants".
La CLI a un très grand avantage (pour le développeur) sur la GUI : c'est beaucoup plus simple à programmer. Alors forcément quand la CLI apporte quasiment tout ce qui est nécessaire, la GUI a du mal à rivaliser, ou met du temps pour ça. Evidemment ça ne veut pas dire que la CLI est une interface adaptée à tout logiciel, loin de là. C'est uniquement quand elle l'est qu'elle peut etre supérieure, mais il reste encore pas mal de situations de ce style dans la pratique.