![]() |
|
Généralités |
--ooOoo--
Depuis mon départ en préretraite en 1996, j'ai pratiquement rompu le contact avec Unix. Je travaillais alors sur des Stations SUN, DEC et HP. Etant à mi-temps de 1996 à 2001, je faisais partie de l'équipe-système de maintenance de la mainframe* IBM OS/390 de notre entreprise. Ce central était configuré pour 1 partition physique VM/CMS et 2 partitions physiques MVS (production et mise au point). La partition de production MVS avait l'extension Open Edition.
Cette dernière était un système Unix* proposé par IBM. C'était un système expérimental dont j'avais la maintenance. Il était très peu prisé des utilisateurs car il utilisait le code EBCDIC* en particulier. Il faut dire que la table EBCDIC-ASCII* n'étant pas bijective, les problèmes de passage et de compatibilité avec les stations Unix SUN, HP, DEC et Silicon Graphics au BE auquel elles étaient connectées posaient parfois quelques problèmes pour certains utilisateurs. Ce système n'a pas été pour moi un élément d'entretien avec Unix.
Pourquoi me suis-je donc remis au système Linux ?
depuis un certain temps déjà, l'idée me trottait dans la
tête surtout quand Windows me créait des soucis jusqu'à l'agacement par
ses reboot's*
successifs dès que je le "titillais"
un peu avec le montage vidéo en particulier. Mais je remettait toujours
à plus tard.
c'est finalement un professeur de mathématiques qui m'a
décidé. Il m'a demandé s'il était possible d'améliorer le dialogue avec
certains programmes qui n'utilisent que le clavier et l'écran. Ces programmes
écrits par les élèves, relativement éphémères, dont la durée de vie la plus
longue est l'année scolaire en général, n'incitent pas au développement
d'une interface élaborée, surtout graphique. De plus, sortir des colonnes
de chiffres pour les reporter manuellement sur une feuille de papier n'a
rien d'excitant pour eux voire même démotivant. Serait-il donc possible
de mettre en oeuvre quelque chose de facile ?
Ne voyant pas comment faire sous Windows, je pensai alors à Linux. Le professeur n'y voyait aucun inconvénient car il utilisait déjà Ubuntu sur son PC et que, pour les élèves, il n'y avait pas de problème, semble-t-il. Il me fallait donc choisir un Linux.
Quelle distribution ? Ubuntu, Mandriva ?
En octobre 2008, je commençais donc par installer Ubuntu 8.4 dont le CD m"avait été donné par une association de promotion des logiciels libres. Pas de problème d'installation sauf que le Wifi ne fonctionnait pas. C'était très gênant pour moi. Voyant les solutions assez nébuleuses proposées sur Internet, je soumettais le problème à l'association qui finit par me proposer une distribution Mandriva avec lequel le Wifi était opérationnel. Je me familiarisais à nouveau avec Linux, cherchais des logiciels de montage vidéo, de gestion de site, de dessins, de retouche, bref mi-novembre 2008 environ, n'étant pas tout à fait satisfait, j'installais la nouvelle distribution Ubuntu 8.10 Intrepid Ibex avec le Wifi qui marchait.
Après avoir installé le langage C, je commençais alors à tester des kits de développements, Anjuta, Kdevelop, Code:Blocks et quelques autres. Et là, je ne suis pas tombé en extase !... Ils sont inflationnistes dans la création de fichiers et des répertoires dont on nous dit pas l'utilité et qui, probablement, ne servent pas dans mon cas. Ils sont gourmands en ressources, surtout mémoire et CPU à cause de l'environnement graphique, alors qu'ils ne manipulent que du texte pur. Au bout du compte, n'ayant absolument aucune aversion pour la console, bien au contraire, je renonçai à tout cela et décidai de m'en tenir à la méthode traditionnelle du "make" en mode terminal qui me convient parfaitement.
Impression générale sur les distributions Mandriva et Ubuntu ?
Bien sûr, j'ai retrouvé petit à petit mes automatismes. Je ne suis pas dépaysé puisque ces distributions de Linux ont beaucoup de points communs avec celles que j'ai connues sur SUN, HP, DEC qui étaient des machines puissantes. En environnement industriel, l'entreprise payait un abonnement pour la maintenance. Il y avait une assistance disponible. Les problèmes se réglaient relativement rapidement, ceux qui touchent le système en particulier.
Ici, c'est un peu différent. Je suis seul ce qui n'est pas très gênant car l'informatique est devenue pour moi maintenant une distraction, j'ai tout mon temps, je n'ai aucune échéance, je n'ai rien à vendre et tant mieux si ce que je fais ou peux faire peut intéresser quelqu'un. Je peux trouver de l'aide dans des forums sur Internet où les informations doivent être bien triées. Des blocages se produisent inévitablement dans les développements et, avec un peu de patience, une solution pointe finalement au bout de conséquentes recherches et parfois avec de la chance. C'est un peu l'autre face de la distribution libre de Linux, on ne peut pas tout avoir.
Le principal enfin n'est-ce pas d'avoir un système d'exploitation assez stable et assez solide même si, parfois, il se passe des choses curieuses ?....
Trouvant Mandriva un peu trop "cinématographique", préférant de loin la sobriété, je me suis fixé sur Ubuntu. Il prend doucement le chemin qui me convient très bien.
Impression générale sur les logiciels libres ?
Les logiciels libres peuvent être téléchargés très facilement sous Ubuntu avec Synaptic. Il est donc aisé de tester les logiciels proposés. C'est ce que j'ai fait dans divers domaines et, de mon point de vue, les différents logiciels me sont apparus comme très peu intuitifs et certains me paraissent pas très élaborés, en particulier le traitement des polices TTF sous la SDL. Cela, je peux le comprendre. En effet, ces logiciels sont gratuits, ils sont développés, pour la plupart, par des équipes isolées qui cherchent d'abord à faire aboutir leurs projets sans beaucoup se préoccuper de leurs distributions. Ils développent suivant leurs propres facilités de concepteurs et non suivant celles des utilisateurs. Je donnerai seulement trois exemples :
le domaine vidéographique :
J'ai essayé le logiciel de montage vidéo "Cinelerra".
Ce logiciel est probablement très puissant, beaucoup trop peut-être pour
mes propres besoins. J'ai mis un certain temps pour l'utiliser avec la documentation
sous PDF. J'ai réussi à faire un petit montage, non sans peine d'ailleurs
car je ne sais pas où les développeurs sont allés chercher leurs procédures,
elles ne sont pas du tout évidentes au premier abord. Mais bon... j'ai pu
faire quelque chose.
N'en faisant
pas tous les jours, après une interruption de deux à trois semaines, j'ai
été incapable de faire un autre petit montage sans avoir recours à la documentation
pour les moindres opérations comme, par exemple, un fondu enchaîné qui devrait
pouvoir s'effectuer avec une toute simple superposition partielle par glissade
des deux scènes à enchaîner.
Devant cette
faible intuitivité, je me suis finalement replié définitivement vers le
logiciel "Magix Video DeLuxe"
que je possède. Il tourne sous Windows/Vista que j'ai finalement décidé
de conserver.
le domaine de la gestion de pages
persos : J'ai essayé le logiciel "Komposer"
pour maintenir un site web. Au départ, il est plus facile à utiliser que
"Dreamwaever 2". Je ne suis pas
du tout un inconditionnel de Windows, mais ma préférence va quand même
vers.... "Dreamweaver
2" !.... eh oui ! qui date de "l'an pèbre"
et qui me convient parfaitement. Il n'est pas aux normes actuelles du W3C !
peu importe, mes pages n'ont qu'une portée restreinte à mon entourage, pas
d'ambition internationale. Et puis, le W3C (même si le consortium
paraît assez puissant aujourd'hui) gardera son standard jusqu'à ce
qu'un autre consortium plus puissant encore en propose un autre. Tout cela
fait marcher le commerce. J'en ai vu des standards dans ma carrière. Que
sont-ils devenus ?
Une anomalie
sous Windows : Komposer ne peut pas publier une page directement à
partir du développement du site car les séparateurs "\"
des chemins d'accès ne sont pas convertis en "/" vers les
serveurs qui sont souvent sous Unix.
Ayant acquis
un mini PC sous Windows/7, "Dreamweaver 2"
fonctionne très bien pour peu qu'on le déclare comme une application
XP. Cette option de compatibilité ne fonctionne pas avec toutes les
applications comme MicroCadam
par exemple et qui me gène beaucoup. Là encore !... un comportement
tendancieux des développeurs qui ignorent volontairement la compatibilité
ascendante pour rendre les logiciels obsolètes à des fins commerciales.
la librairie "curses" :
personnellement, je ne suis pas un fanatique du "tout
graphique" comme on le voit aujourd'hui. Je pense qu'en abuser
pour des raisons strictement visuelles et commerciales, parfois à l'esthétique
un peu douteuse, génère un "overhead"*
très important et un taux CPU
exorbitant. La puissance de calcul et les performances des périphériques
masquent très bien cet aspect. Les développeurs sont très loin de s'en priver.
Il faut bien voir que plus des deux tiers du temps et du volume de programmation,
assez automatique d'ailleurs, sont consacrés à écrire ce type d'ergonomie.
C'est pourquoi, la console reste pour moi
un outil très intéressant, un peu méconnu et déprécié, dommage !...
Son esthétique n'est pas aussi dégradée qu'on veut bien le dire. Les programmes
sont beaucoup moins lourds à fonctionnalités égales.
Je me suis donc tout naturellement tourné vers
les "curses" fournies avec la distribution. Et là, un gros mur s'est
présenté devant moi en me bouchant tout l'horizon : le traitement
des caractères accentués. Recherches laborieuses sur les
forums, des solutions souvent incomplètes, en doublons, en triplons, des
conseils du type "il n'y a cas faire ..., il faut que vous ..." sans
exemple ni référence, bref, aujourd'hui, je n'ai toujours pas de solution
standard. Je peux traiter les "éèàçù" d'accord mais pas les
"ÓÚòó ¬...".
J'ai donc voulu chercher à comprendre. Je me suis
mis en quête d'informations sur le traitement de la console à travers les
séquences d'échappement comme j'avais eu l'occasion de le faire sous Windows.
Avec un peu de patience, un peu de ténacité, pas
mal d'analyse de sources, j'ai fini par écrire mes "propres curses"
que j'ai appelées "jprs" et qui
sont au coeur de l'interactivité des petits développements que je fais et
que je présente ici. Elles traitent tous les caractères accentués uniquement
dans le codage (charset) "UTF-8"
pour simplifier ce qui est largement suffisant..... Bien sûr, on pourra
m'objecter que.... et que.... et que.... mais j'avoue bien volontiers que
les caractères vietnamiens et chinois et autres sont loin de mes préoccupations.
Suis-je un cas isolé ?....
Car, tout de même, ce codage des caractères me paraît être
une sacrée "pétaudière"
où chacun semble vouloir planter son fanion !...
Un dernier point sur les librairies ?
Personnellement, j'ai toujours été surpris par la manière dont sont traitées les librairies de modules-objets utilisées dans les éditions de liens pour construire les exécutables. Je trouve cette méthode assez passéiste car c'était celle que j'ai toujours connues du temps de mes débuts sur les machines des années 60-70 dont les systèmes d'exploitation s'appuyaient sur des systèmes de fichiers non hiérarchisé.
Or, Linux comme Windows, Mac OS et tous les Unix s'appuient sur une gestion hiérarchisée de fichiers très subtile qui s'inspire du système MULTICS conçu en 1965 par MIT, les Laboratoires Bell et General Electric puis commercialisé par Honeywell.
Pourquoi donc réinventer de manière peu pratique les fonctions d'insertion, de suppression, de liste des objets d'une bibliothèque alors que cela existe déjà dans la gestion hiérarchisée de fichiers des systèmes énumérés ci-dessus, gestion qui les assure parfaitement, de manière plus fiable et dans un contexte de partageabilité optimal. Ce sont les répertoires.
Alors, pourquoi donc une librairie d'objets
cataloguée sous un nom d'extension '.a' ou '.so'
n'est pas en fait, tout simplement, un répertoire ?
Le seul moniteur d'exploitation que je connaissais et qui procédait comme cela était le système GCOS Mod 400 d'Honeywell-Bull tournant sur des machine Bull Mini 6 et Bull DPS 6.
--ooOoo--