Outils pour utilisateurs

Outils du site


issue148:mon_opinion

BUILDING SOFTWARES

COMPILER SES PROPRES APPLICATIONS

Let’s face it, Snaps, Appimages and Flatpaks are wonderful, if you live in a first world country with bucket-loads of bandwidth. However, downloading a 100MB file, when the source is 3MB, is an utter waste. (Most of the rest of the world is limited by bandwidth). New users are always afraid of the command-line. Why? Because Linux switches and options are confusing. Not most commands, mind you. [On Telegram, I often see kids install Kali. On the Gnu/ Linux Telegram group it is a running joke, and a search for the phrase “Kali” brings up more results than any other. They cannot even comprehend the terminal, but “want to be hacker” - sic. The terminal sometimes seems like a magical language to them that will give them just illegal access – like in Mr. Robot].

Soyons réalistes, les Snaps, Appimages et autres Flatpaks sont formidables, si vous vivez dans un pays du premier monde (à comparer au tiers monde) avec une bande passante Internet très large. Cependant, le téléchargement d'un fichier de 100 Mo, lorsque la source de l’application ne pèse que 3 Mo, est un véritable gâchis, car la majeure partie du reste du monde est limitée en termes de bande passante Internet. Les nouveaux utilisateurs demeurent effrayés par la ligne de commande. Pourquoi ? Parce que l’utilisation des commutateurs et des options Linux est déroutante, bien qu’il ne s’agisse pas de toutes les commandes. Sur « Telegram » (Service de messagerie sécurisé), je vois souvent des jeunes installer la distribution Kali. Sur le groupe Gnu/Linux de Telegram, c'est une plaisanterie récurrente : la recherche du mot « Kali » donne plus de résultats que tout autre. Mais ces gens-là ne comprennent même pas le fonctionnement du Terminal ; ils veulent tous être des “hackers” - sic. Le terminal leur apparaît parfois comme un langage magique qui leur donnerait un accès illégal - comme chez M. Robot (la série)…

Lots of professionals look down on building your own software. Yes it can be tedious and time consuming, but not everything is in the repositories, and even if it is, sometimes you need a later version. Ubuntu is by no stretch of the imagination a “bleeding edge” distribution, being based on Debian. Sometimes packages are old, or just won’t be updated any more. (Ubuntu 14.04 may have an old version of VLC and you would like to play HVEC movies). In this issue, we here at Full Circle would like to take your hand and take the first step with you of your thousand step Linux journey.

Beaucoup de professionnels méprisent la compilation de sa propre version de logiciel. Certes, cela peut être fastidieux et consommateur de temps, mais tout n'est pas toujours dans les dépôts des distributions et, même quand c'est le cas, vous avez parfois besoin d'une version ultérieure, plus récente. Ubuntu n'est pas du tout une distribution « avant-gardiste », étant basée sur Debian. Parfois les paquets inclus sont anciens, ou ne seront plus mis à jour (Ubuntu 14.04 peut avoir une ancienne version de VLC et vous aimeriez pouvoir lire des vidéos HVEC). Dans ce numéro, nous chez Full Circle, nous aimerions vous prendre par la main et faire le premier pas avec vous pour ce voyage vers Linux qui en compte mille.

Nano is a terminal text editor. A really handy, basic editor. It can be extended with syntax highlighting, etc, but the version that ships with ubuntu is too old. If you are on 18.04 or 18.10, you are stuck with version 2.9 of Nano, and Disco Dingo with 3.2. Gnu Nano, however, has moved on to version 4.2 (April 2019) https://www.nano-editor.org/. Shall we make our version 4.2 too? Okay, don those coveralls, ready the spanners and we shall look at the terminal.

Nano est un éditeur de texte pour le Terminal, donc en mode caractères. C’est un éditeur de base très pratique, qui peut être amélioré avec des greffons comme la coloration syntaxique, par exemple, mais la version qui est livrée avec Ubuntu est trop ancienne. Si vous êtes sur Ubuntu 18.04 ou 18.10, vous êtes bloqué avec la version 2.9 de Nano et la version 3.2 avec Disco Dingo. Gnu Nano, de son côté, est passé à la version 4.2 (avril 2019) https://www.nano-editor.org/. Allons-nous compiler notre version 4.2, nous aussi ? Alors OK, enfilez votre bleu de travail et sortez vos outils car nous allons utiliser le Terminal.

Getting Nano

Obtenir Nano

Yes, you can just click on the download link, but since we are in the terminal, (let’s face it, a browser may not always be available), we will stay there. Type the following:

Oui, on pourrait simplement cliquer sur le lien de téléchargement, mais, puisque nous sommes dans le Terminal, (avouons-le, un navigateur n'est pas toujours disponible), nous allons y rester. Tapez ce qui suit :

wget https://www.nano-editor.org/dist/v4/nano-4.2.tar.gz

Or use curl if wget not available:

Ou bien utiliser curl si wget n’est pas disponible :

curl https://www.nano-editor.org/dist/v4/nano-4.2.tar.gz > nano-4.2.tar.gz

That code just fetches nano for you. No options, no switches. This should boost your confidence a bit if you are new.

Ces commandes vont juste chercher les sources de Nano pour vous. Pas d'options, pas de commutateurs spécifiques dans ces commandes, ce qui devrait renforcer un peu votre confiance si vous êtes nouveau.

To untar your .gz file is going to require some switches. (Should things have changed in the meantime, just correct the URL to reflect the latest version):

Pour décompresser votre fichier .gz, vous aurez besoin de quelques options. (Si la version de Nano a évolué entre-temps, corrigez simplement le numéro de la version pour refléter la dernière) :

tar xvzf nano-4.2.tar.gz

Should you look at the tar manpage, I would like to draw your attention to the “option styles” section. Feel free to read the whole thing, just know it has more options and settings than Lee’s in a Chinese telephone directory. Your homework, should you choose to accept it, is to look up x, v, z, f options. Finding it yourself, instead of me telling you, is much more rewarding!

Si vous regardez la page de manuel de tar (MAN), j’attire votre attention sur la section qui liste toutes les options. N'hésitez pas à tout parcourir mais sachez qu’il y a plus d’options que de “ Dupont ” dans l’annuaire téléphonique. Votre mission, si vous l'acceptez, est de rechercher les options x, v, z, f. Certes je pourrais vous éclairer, mais c’est plus gratifiant si vous les trouvez vous-mêmes !

Installation Right, now we have the latest version of Nano, but how do we install it? (Change into the unzipped folder first). Again, it is back to reading, so the lazy won’t survive. Most software that you download from source has a ‘readme’ file attached. The file may have weird extensions, sometimes ‘.md’, but look for the readme-file. In our case it’s just README:

Installation

Bon, maintenant nous avons la dernière version de Nano, mais comment l'installer ? (Allez dans le dossier où vous avez décompressé les sources). À nouveau, il va falloir faire un peu de lecture, et c’est là où les paresseux ne survivront pas. La plupart des logiciels que vous téléchargez à partir des sources sont accompagnés d'un fichier « readme ». Le fichier peut avoir des extensions bizarres, comme '.md', mais cherchez le fichier readme. Dans notre cas, c'est juste README :

less README

Yes, that’s it. Use a pager to read the file. You will see the instructions in clear text.

Oui, c'est la commande ci-dessus qui vous permet de lire ce fichier README en vous déplaçant avec les flèches et en quittant par Q.

TIP: You may need to install build-essentials before attempting the next part. (Don’t worry, you won’t install it twice)

A NOTER : Il se peut que vous ayez besoin d'installer le paquet build-essentials avant d'attaquer la partie suivante. (Ne vous inquiétez pas, vous ne l'installerez pas deux fois si vous l’avez déjà).

sudo apt install build-essential

(This brings in everything you will need to build your program).

(Ce paquet apporte tous les éléments dont vous aurez besoin pour compiler votre programme).

Now we build according to the README-file.

Maintenant nous compilons les sources selon les instructions du fichier README.

./configure

make

make install

If you open Nano now, You will see it still displays 2.9.3. This is not an error, you need to log out and back in again. You do not need to do this with every piece of software you build from source though. That’s it, you are done. Nano is now the latest version… But wait, there’s more…

Si vous lancez Nano maintenant, vous verrez toujours la version 2.9.3. Ce n'est pas une erreur, vous devez vous déconnecter et vous reconnecter au Terminal. A noter cependant que vous n'avez pas besoin de faire cela avec chaque logiciel que vous compilez à partir des sources. Ca y est, c'est fini. Nano est maintenant dans sa dernière version… Mais attendez, on peut faire mieux !

The next step: (We won’t leave you hanging!).

La prochaine étape : (Nous ne vous laisserons pas attendre !).

Nano, like Conky, is configurable via an “rc-file”. You can set it up for whatever you are doing. I am going to take the shotgun approach and get you going for ‘most’ use cases. (Syntax highlighting):

Nano, tout comme Conky, est configurable via un « rc-file ». Vous pouvez l'installer pour tout ce que vous faites. Je vais adopter une approche agressive et vous aider à vous lancer dans la « plupart » des cas d'usage. (Exemple avec la coloration syntaxique) :

mkdir ~/.nano

cd .nano

git clone https://github.com/scopatz/nanorc.git ~/.nano

and you can set up the one you need. (You know how to run configure and make). Alternatively… (the easy way):

et vous pourrez mettre en place la syntaxe dont vous avez besoin. (Vous savez désormais comment exécuter configure et make).

Autre moyen alternatif… (plus simple) :

wget https://raw.githubusercontent.com/scopatz/nanorc/master/install.sh -O- | sh

Now I do not have to tell you how dangerous it is to run a shell script with wget from a website. Luckily in our case we can actually have a look at the install script beforehand. Have a look yourself and calm down once you see it is harmless. Hooray for open source! Now look at my pretty!

Bon. Je ne devrais pas vous répeter à quel point il est dangereux d'exécuter un script shell récupéré avec wget depuis un site Web. Heureusement dans notre cas, nous pouvons éditer le script d'installation au préalable. Jetez-y un œil vous-même et rassurez-vous une fois que vous constaterez qu'il est inoffensif. Hourra pour l'Open Source ! Maintenant, regardez mes jolis résultats !

References and further reading:

Références et lectures complémentaires :

https://github.com/scopatz/nanorc/

http://www.linuxfromscratch.org/blfs/view/svn/postlfs/nano.html

https://linuxhint.com/configure_nano_text_editor_nanorc/

https://medium.com/@005/the-gnu-nano-editor-for-serious-writers-36f6decf8fad

https://crashcourse.housegordon.org/nano.html

issue148/mon_opinion.txt · Dernière modification : 2019/09/05 15:13 de auntiee