You are on page 1of 100
Nov. DEC. Op 1.2019 © BEUK:AODE cine ssomon Zor: 850¢ eee ye: Fonctionnement Mauvaise réputation | OpenBSD: il n'y a pas que Linux et utilisation des en ligne : quels pour le poste de travail ! quotes du shell p.51 | recours? p.90 p.26 ST Pixelisez et anonymisez des Utilisez TeXmacs pour la sections de vos vidéos grace a rédaction de vos documents Kdenlive p.08 scientifiques p. 18 » WEB Rae Tet Cy Sete eae) site internet p.79 WIKIMEDIA: > en DOCUMENTER AVANT QU'L NE SOITTROP TARD WIKIDATA Partagez vos connaissances de la cathédrale librement afin que les générations futures puissent témoigner de la longue histoire de Notre-Dame de Paris. Plus d'infos sur wikimedia.fr Cee LINUX PRATIQUE est édité par Les Editions Diamond Tei osey 00030 | rn oseT100021 Sout: acasetr grag com Drecteurde publication Araut eter Responsable sevice infograpie: Katha Scat Responsable publ a "0367 100027 Photographie e mages pwn f%9 com Pnteorme de Sant-Sarndieny-ttoou Pte forme de San-quencn Fataer IMPRIME en Alemagne-PRATEDIn Germany Depa igal-Aporiion Pride vente: 7906.08 DITIANS Retrouvez-nous sur (@linuxpratique @editionsciamond @ corerecorenscan wa tinarpratique com wow edktions-) 49 ABONNEMENTS BQ) cTUALITES & NOUVEAUTES 99 reves én bref... UNE 5EME EDITION DU PARIS OPEN SOURCE SUMMIT EN PREPARATION POUR DECEMBRE PROCHAIN Cela se passera les 10 et 11 décembre prochains au Dock Pullman a Aubervilliers. Présenté comme le premier événement open source européen, ce rendez-vous permet de réunir les professionnels du domaine autour de divers axes :Fintelligence artficielle, le cloud, "oT, tembarqué, la cybersécurité, le développement, le Web. lisera possible a tout un chacun déchanger sur ces thématiques & travers le programme de conférences organisé ainsi {que par des rencontres facltées par la présence d'un village dlexposants. Nrhésitez pas 3 aller jeter un ceil du coté de https:/mmw.opensourcesummit.paris/ pour suivre cette nouvelle édition placée sous le signe de finnovation. Lédition 2018 du Paris Open Source Summit. et Poy Pete) MOOC DEDIE ry LA DECOUVERTE DE LA (aga) e0) 104 Pour féter son 100 0008me inscrit, ’Agence Nationale de la Sécurité des Systémes d'information (ANSI) ee ui ee ae eC en Beate Lie eet ores Cette ouverture permettra notamment aux entreprises, écoles et organisations de pouvoir proposer une version personnalisée de ce cours a leurs employés/étudiants. Les données sont placées sous UN GUIDE DE SENSIBILISATION AU RGPD DESTINE AUX COLLECTIVITES TERRITORIALES La Commission Nationale de Finformatique et des Libertés (CNIL) a récernment mis & disposition un Buide cr8é dans le but d'aider et d'accompagner les collectivités territoriales dans leur mise en conformité au Reglement Général sur la Protection des Données (RGPO). Disponible sous la forme d'un POF dune quarantaine de pages, ce document introduit le RGPD et son impact sur les collectivités territoriales, précise le role du Délégué a la Protection des Données, présente un plan diaction en 4 étapes ainsi que des bonnes pratiques a mettre en place, Le tout est également complété de fiches pratiques. Pour en savoir plus sur ce guide httpsi//www.chil fr/fr/collectivites-territoriales-ta- cnil-publie-un-guide-de-sensibilisation-au-rgpd. m ctualités 9 COMMENT COMMUNIQUER ENLIGNE? ocean eemeees eee om, 2» Lune des fiches pratiques de ce g je de la CNIL. Les modules du MOOC SecNumacadémie. Ia licence ouverte Etalab 2.0 qui permet de les réutiliser (diffusion, redistribution, copie, modification...) sous réserve de mentionner leur paternité. Ce anc Lee gai see Miner Rea erate sensibilisation-a-la-cybersecurite-ouvre-ses-donnees/ ee eaters Poa worned-diamond.com Re eer rr eg Linux Pratique n°116 oe tracking de effet « masque automatique » ANTHONY CARRE Kdenlive 19.08 - https://kdenlive.org ‘a = acting de effet e masque automatique > 99 »» ETAPE 1f instattation Vous pouvez installer Kdenlive Disponible directement sous forme de paquets dans la plupart des depuis les sources [3] puisque le distributions, il est pas vraiment difficile dinstaler Kdenlive. Ets logiciel est distribué sous licence vous rencontriez un probleme avec cette solution (sila version dispo- _libre GPL2;; pour cela, suivez les nile rest pas aussi récente que souhaité par exemple) vous trowverez _instructions fournies... Notons au dans la page téléchargement du ste officiel [1] des solutions alterna- passage que le logiciel est aussi tives : Snap, Appimage, Flatpak, ainsi que PPA [2] pour les utlisateurs disponible pour les utilisateurs de d'Ubuntu et dérivés, etc. Mac, Windows et BSD. »» ETAPE 2 prise EN MAIN DE — E clic droit > Ajouter une piste. Une LINTERFACE barre verticale symbolise la posi Liinterface par défaut est intuitive, tion temporelle a laquelle votre La partie inférieure du logiciel est certainement la plus importante. I a aren ‘agit de la timeline vous y ferez votre montage en placant les diffé- Dans la partie supérieure, & rents éléments composants votre vidéo. II siagit dune frise de temps gauche, vous trouverez les Sources multipiste, cela signifie que vous pouvez superposer plusieurs vidéos et —_du projet. Cestici que vous pla- audio les unes sur les autres comme on empile des calques. Par défaut, _cerez fensemble des clips (vidéo, vous aver & votre disposition deux pistes audio et deux pistes vidéos, audio, image) qui composeront mais vous pouvez en ajouter via Montage > Pistes > Insérer une piste votre vidéo. Vous pouvez ajouter Figure 1 BE QD oGITHEQUE & APPLICATIE-99 video icivos sources de différentes facons : gissé-déposé depuis votre navigateur de fichiers, bouton Ajouter un clip ou un dossier ou encore menu Projet (dans lequel vous trouverez des entrées pour sélectionner des clips, mais aussi des générateurs de clips cou- leurs, titres, compte a rebours, etc). Une fois les clips ajoutés, ceux-ci saffichent sous forme de liste dou vous pourre? les glisser-déposer dans la timeline. Si la vignette représentant un clip vidéo ne vous semble paas suffisamment significative, vous pouvez la modi- fier en maintenant [Maj] enfoncé tout en déplacant votre souris de droite & gauche sur élément. Au centre, la liste des Effets que vous pourrez appli- quer aux clips importés dans la timeline. Mais pas seulement ! Vous pouvez constater que différents onglets sont disponibles, vous pourrez ainsi accéder aux Propriétés des effets appliqués au clip sélectionné dans la timetine ainsi qu'a un onglet Compositions contenant les différentes transitions et autres effets. qui sappliquent a la jonction de deux pistes. » ETAPE 3 RACCOURCIS CLAVIERS/SOURIS chercher: lest important de connaitre un pcion minimum de raccourcis clavier lorsque vous utiisez un logiciel de montage vidéo si vous ne voulez pas perdre déraisonnable- ment votre temps. I est bien sr impossible et inutile de vous lis- ter ceux-ci de maniére exhaustive ici, mais voici au moins quelques indispensables : Adroite, le moniteur qui vous permettra de regarder Un clip ou de prévisualiser le résultat de votre mon- tage en cours dans la timeline Bien sr, Fintégralité de linterface est personnal sable, si vous souhaitez déplacer onglet Propriétés pour quil devienne un bloc & part entiére vous pou- vvez le faire simplement via un glissé-déposé. Vous pouvez aussi cocher ou décocher diautres éléments dans le menu Affichage en fonction de vos besoins ou opter pour un theme sombre via Configuration > Théme de couleurs. Selon environnement de bureau que vous utilisez, ilest possible que certaines icénes du logiciel soient remplacées par le logo de Kdenlive (en particulier les icénes dalignement de texte), ce qui en compliquera utilisation, Si est votre cas, vous pouvez résoudre ce probleme simplement en vous rendant dans le menu Configuration pour cocher entrée Forcer le theme dicénes Breeze. > ropa de Knlve . > {© Abate le z00m a poet 1 cp Felder . Afichage temps rel supper des ames si ncessate) + Afficher Ia barre atat 5B Micra barre de ous ihe estates de re PF AMfcer es commentaires 6s reptres 4 sifcerlas vignettes aco + [Espace] pour lancer la lectures mettre en pause depuis la posi- I. tion du curseur. Clic gauche pour déplacer celui-ci directement ; ee + [Maj]+{R] pour découper le clip sélectionné dans la timeline la ol est placé le curseur; © inwrrreiquereis odes de racaurce (Danes par defo 1 picher es vignetes vido Noweau..|| Supriner Pus actions -] Gireries schemas << || @imgrimer..|| Oanruler www linuxpratique.com + Fléches directionnelles (~] et [+] pour déplacer le curseur d'une image dans la timeline. £n main- tenant [Mal] enfoncé, le déplacement se fat en secondes, en maintenant [At se fait jusqu‘au prochain début ou la prochaine fin de bloc + [Ctr}+molette pour zoomer, molette pour naviguer de droite & gauche dans la timeline; + [Ctrl}+{G] et {Ctri}+[Maj}*{G] pour grouper et dégrouper des éléments. » ETAPE 4 accts rapIDES Dans|a timeline, vous pouvez accéder en un clic 8 certaines fonctionnalités, ce quivous évite de cher- cher les effets les plus courants + Clic du coin inférieur dun clip : ajout direct dun fondu (révélant alors la piste inférieure) + Glisser/déposer vers la gauche du coin supérieur droit dun clip (ou vers la droite pour le coin gauche) fondu vers le noir ou depuis le noir. La durée du fondu correspond au décalage appliqué. Cette action est également disponible pour les clips audio. va 7aa Va yea) va 908 wonned-diamond.com Prise en main de Kdenlive... 99 De facon générale, nhhésitez pas 8 explorer les menus pour découvrir les fonctionnalités, vous pourrez alors noter les raccourcis de celles que ‘vous utilsez le plus fréquemment. Si vous souhaitez personnaliser ceux-ci, rendez-vous dans le menu Configuration > Configurer les raccourcis clavier.. De mame, testez les différents modes a votre dis- position (aimantation activée ou non, transitions ‘automatiques) via les icones en bas & droite de la fenétre + Clic gauche + [Mal]: sélection de plusieurs blocs. Hest également possible de dessiner un rectangle de sélection en maintenant [Maj] enfoncé. + Glisser/déposer vers la gauche du bord droit dun clip (ou vers la droite pour le bord gauche) : rogne le début ou la fin du clip sans passer par une étape de découpage. Toutes ses actions font apparaitre des éléments visuels sur les blocs qui permettent de facilement identifier les effets appliqués. =) PAL) X 08 cone:se.28 / o:00:31:28. we ne om O- BE QD oGITHEQUE & APPLICATIE-99 video » ETAPE 5 EFFET « MASQUE AUTOMATIQUE » Glissez un clip vidéo dans la timeline. Depuis la der- niére version de Kdenlive, deux blocs apparaissent alors dans la frise : un pour dans la piste audio et un dans la piste vidéo, est uniquement ce dernier bloc auquel nous nous intéresserons. Pour appliquer effet « masque automatique » [4], sélectionnez le bloc vidéo puis rendez-vous dans Vonglet Effets afin de sélectionner Ajustements image > Masque Automatique. Par défaut, seuls les filtres principaux sont affichés, en haut de cette pourtant bien longue liste vous trouverez deux pos- sibilités pour afficher celui qui nous concerne ici En haut du bloc des effets, vous trouverez une icéne Recherche sous la forme d'une loupe, cette fonction cherche dans fensemble des scripts et pas seule- ment dans ceux affichés. A cOté de la loupe, les deux Dues one a-eom Bomar SE anions 2128 3met ets 8 wa ose Pastroxann ae a Fetes z we eoseae Corpo 5 es Poe Eaten Wiciage Feet Qu lp belape Menken Comguraton Ae cr Bh coer eaanve Fie neseroma! =) #t[b) X 00 meweae jens. ve So Icénes suivantes permettent de choisir entre latfi- chage filtré ou complet. Pour que effet soit activé, vous pouvez soit double-cliquer sur le nom de Feffet, soit glisser-déposer effet sur le bloc. Dans le Moniteur de projet, apparait un cadre rouge sur votre vidéo. Vous pouvez modifier la taille du cadre en bougeant ses coins et déplacer le cadre lui-méme en bougeant la croix qui est en son centre (vous pouvez également modifier ces valeurs dans ronglet Propriétés, ou vous trouverez également dautres parametres de Veffet). Procédez ainsi pour vous placer sur lobjet a suivre, par exemple un visage. Aprés avoir cliqué sur le bouton Analyse, le calcul est en cours, le texte sur fond bleu 1 tache » en haut de la liste des clips apparait alors, Une fois, le calcul terminé, lorsque vous lirez la vidéo dans le moniteur, vous constaterez que la zone pixelisée se déplace automatiquement (ne vous inquiétez pas si votre cadre rouge ne se déplace pas, seule la zone pixelisée bouge). © pent nea 1 4 D-H] eens eter dectp | wom det #.O VR 908 © inwrrrsiquereis www linuxpratique.com » ETAPE 6 RETOUCHE DU MOUVEMENT ? TRACKING ? Le script de détection est plus efficace sur un fond uniforme (ciel dégagé par exemple), lest possible que le mouvernent calculé ne soit pas parfaitement corrélé au mouvement de objet a suivre. Si vous constatez que la zone pixelisée décroche, vous pouvez éventuellement utiliser tune astuce particuliérement simple : découpez votre vidéo dans la timeline au moment du décalage. Ainsi vous pourrez relancer ranalyse pour chaque section temporelle en replagant le cadre rouge selon votre besoin. Ce mest pas parfait, mais cela peut dépanner. En 2018, léquipe de développe- ‘ment de Kdenlive luia fait subir une réécriture complete de code. Cela a impliqué la perte au moins temporaire de certaines fonction- nalités, qui sont réintroduites, petit a petit, au fur et mesure des versions. Nous aurions aimé ise en main de K aking de effet « masque automatique » 9 85 scan soho 20) H, @ Données importer: mation vector Ist = (0820) © ¥(0-1080) cite 00;00;00:00 > sortie 00:03:27:03 > cate (Poution ~| ju’ (Glométie ~| Alger enhavt gauche ~|feurde dlp 00:03:27 art 00:00:60:60 * 000% nerve sue (0-120) (0-080) coors nog (©1820, (01000) E inervale de TENT © tere nomere eimagescies (20-12 ea vous présenter dans cet article la possibilité de récupérer et éditer le suivi, mais cette fonctionnalité ne semble pas encore réimplémentée au moment oti nous écrivons ces lignes. Cest d'autant plus dommage que cela permettait de détourner effet « masquage automatique » pour du tracking. Ainsi nous aurions pu ajouter automatiquement une auréole qui suit un visage ou un prénom au-dessus dun karting, Si vous utili sez une version antérieure de Kdenlive, la technique consiste a, aprés analyse, trouver les propriétés de mouvements dans Propriétés du clip, onglet Analyse (icéne ceil) et coupler ses données (que fon peut aussi éditer via un éditeur de texte) & la composition Affine. » ETAPE 7 autres eFFeTs? Juste pour étre assuré de ne pas vous lalsser penser que Nous avons choisi de présenter Kdenlive via application de effet, mais _Kdenlive se limite 8 quelques notez bien que nous avons choisi cet effet uniquement a titre d'exemple. effets simples, notez que vous lien existe un grand nombre, permettant de répondre a énormément —_trouverez parmi les scripts, effet de besoins et de faire énormément diactions : correction des couleurs, Rotoscopie : vous cliquez sur effets audio, fond vert, etc. Vous pourrez également stabiliser une vidéo votre vidéo, directement dans (clic droit sur un clip > Taches sur le clip > Stabiliser) et encore bien Je moniteur de projet pour défi- dautres choses. nr une zone (clic gauche pour wonned-diamond.com BS oGITHEQUE S APPLICATIF 9 Video deéfinir les points, clic droit pour fermer la forme, une fois celle-ci deéfinie vous pouvez retoucher les points et les tangentes). La forme ainsi dessinée définira la section de timage a afficher, ce qui permet de simuler la simulta- néité d'événements, la multiplicité dune personne, la transforma- tion d'un objet, etc. Dans Vonglet Propriétés, vous pouvez ajouter les images clés de votre zone, ainsi, votre détourage peut bou- ger et peut changer de forme. La rotoscopie autorise un des nom: breux effets spéciaux tras fun. »» ETAPE 8 TRACKING AVEC BLENDER OU NATRON Sile tracking automatique nest pour Finstant plus disponible dans Kdenlive, nous pouvons toutefois nous tourner vers dautres logiciels en attendant que cette fonctionnalité y soit réimplantée.. Si certains d'entre vous se tourneront vers le logiciel propriétaire DaVinci Resolve [5], notez que des solutions libres sont également & votre disposition, en particulier les trés puissants Natron [6] et Blender [7]. Nous rvallons pas vous détailler ensemble des méthodes respectives & suivre, mals pour vous donner un apercu, Sivous souhaitez utiliser Blender, lancez le logi- lel et placez-vous en espace de travail « Motion Tracking » (si Yonglet n'est pas affiché en haut dela fenétre, ajoutez-le via + + VEN, Glissez/ déposez votre vidéo directement dans la fenétre. CChaque [Ctrl}+clic gauche sur la vidéo ajoutera directement un marqueur. Vous pouvez modifier la taille de ceux-ci avec {3}, les déplacer via glisser/ déposer ou [g] et les tourner avec (r]. En cliquant, sur Track Markers, le logiciel va automatiquement. suivre Fobjet marqué, Sia un moment objet rvest plus trouvé, Blender sarréte et cest a vous alors, dlajuster la position du marqueur et de relancer la recherche automatique. Cette fonction de tracking 2D est particuliérement impressionnante et rapide, mais il sagit Id seulement de la premidre étape. Vous devrez ensuite créer un texte dans la fenétre 3D, associer son mouvement au marqueur, gérer la composition de Image, etc. Rien de bien méchant, mais il faut admettre qu’on est loin de rintuitivité et la faciité de mise en place de Kdenlive. = REFERENCES Site officiel: htps://kdenlive.org [1] https://kdenlive.org/en/download/ (2) PPA [3] Dépét Git httpsi/cgit.kde.org/kdenlive.git/ [4] https://userbase.kde.org/Kdenlives Manual/Effects/Blur_and hide/Auto Mask [5] Davinci Resolve https://www.blackmagicdesign.com/fr/ products/davinciresolve/ [6] Natron: https://natrongithub.github.io [7] Blender : https://www.blender.org. N°231 | ERED IMPLEMENT ‘CREEZ VOTRE o cece: PREMIERE on ‘APPLICATION rl roam paetelarataes Peer las oy mares AANTHOES ‘ecouvneZ i= A SeSnones cri ET Cote TYPAGEEN PyTHON: MYPY OU PYTYRE? 9 Wort ae chez votre marchand de journaux et sur www.ed-diamond.com en kiosque See Bae ee ea sur connect.ed-diamond.com BS QD ocITHEOUE & APPLICATIE 9» Pick caroez une trace vcs | AS COULEURS QUE VOUS Format: [Androidresource aitttte22a1 es = Circcmgenersiexntiecpersomede |B A sox Serena ee é simplement vous lancer dans des eréations “ acon Post artistiques de temps & autre, Pick vous sera par- ticuligrement pratique pour garder une trace f Mountain des couleurs que vous repérez aussi bien lors de 2 cS vos explorations sur la Toile que sur les images que vous consultez ou les interfaces des pro- grammes que vous utilisez, Un clic en haut 8 gauche de linterface permettra dactiver la pipette qui zoomera sur la zone survolée avec votre souris pour vous permetire de capturer la couleur repérée, Le gros atout de Pick est de conserver par la méme occasion un screenshot de la zone en question, ce qui vous permettra de vous souvenir ot! vous avez pu apercevoir cette couleur. Pick complétera le tout avec un apercu de la couleur repérée, son nom et sa valeur. Cette dermiére pourra s‘afficher dans différents « formats » qui vous seront plus ou moins utiles en fonction des projets que vous manerez (CSS hex, CSS rgba, Android resource, etc, Anoter que ce format devra étre pré. cisé avant deffectuer la « cap- ture » de la couleur. La valeur indiquée pourra ensuite étre copiée grace au bouton pré- sent a cet effet afin de pouvoir ainsi étre facilement réutlisée our vos créations. = amr una reancue SITE DU PROJET : https://kryogenix.org/code/pick/ COMPATIBILITE : =o x 1 SUITE \ Linux, macOS, Windows Linux Pratique n°116 BE QD OGITHEQUE & APPLICATIF 9» Réaction scientifique Utiliser TeXmacs pour REDIGER VOS DOCUMENTS SCIENTIFIQUES STEPHANE LONKENG TOULEPI ECRIRE DES FORMULES, elena biota aon QUOTIDIEN DES SCIENTIFIQUES, aay un ey SE MORDENT LES DOIGTS AVEC LES LOGICIELS DE TRAITEMENT Sat eae aL MICROSOFT WORD, POUR DT cel cat Ony EVN OUC elt MAL DE PRODUIRE QUELQUE area aca Mae NL PRESENTABLE. Texmacs est un logiciel open graphiques, des contenus interac- ‘TeXmacs apporte une grande source qui permet|a rédactionde _tfs, des slides, les images, etc. dans __flexibilité aux rédacteurs dans documents scientifiques avec une nos documents, car est une appli la mesure oi elle permet de grande faclité. Ce logiciel est dispo- cation WYSIWYG (What You See/s__générer ala fois des fichiers, nile sur la plupart des distributions What You Get, cest-dire queles___TeXmacs, XML, Scheme, HTML/ Linux, sur Windows et sur macOS. objets sont portés et déposés sur. Mathmil et on peut imprimer par Texmacs permet diinsérer du texte, interface sans devoir insérer un la suite des documents PDF ou des formules mathématiques, des _quelconque code. PostScript Sa flexibilité sétend plus loin un fichier dextension tar.gz. Lorsque vous avez ce fichier, procédez quiau niveau de la programma. comme suit tion. En effet, TeXmacs offre des. gécompressez-le dans un répertoire précis de votre machine, par exemple interfaces pour faire de la pi le répertoire principal de futiisateur en cours (le répertoire io); grammation dans des langages tels que CLIPS, Python, R, etc + ouvrez le fichier caché basiv se trouvant dans le répertoire principal de Futilisateur Texmacs a ét morse sr nes moe c_ec desotjecs prc decero- (jRRSSRSet Ae Tee aD Seelpoement de gieltiores pour et pares sceniqustt + ajoutez les lignes suivantes ala fin du fichier en remplagant par le chemin vers le dossier principal de Texmacs, obtenu aprés décompression, Par exemple, dans mon cas, siagit de /homellorkenzo/TeXmacs-199.11-¥86.64-pelinu + exécuter les commandes suivantes » ETAPE 1 er INSTALLATION Dans cet article, nous utiliserons Ubuntu 18.10. >» REMARQUE ‘TeXmacs ne peut fonctionner sans les packages °/-/0n's ou iméme ‘esa con, et les commandes ci-dessus permettent justement de les installer. Texmacs est disponible sur son site officiel [2], 8 la page web https://www.texmacs.org/ tmweb/download/unix.en.html, En cas de blocage sur cette installation, dautres procédures nee aaa ars diinstallation existent sur les sites [3] et [4]. la section Download the package et cliquer sur le lien de télécharge- Pour exécuter TeXmacs, il suffit d'ouvrir le terminal et de saisir la ment de TeXmacs correspondant commande a architecture de votre ordina- teur (32 bits ou 64 bits). Ala fin du téléchargement, vous obtiendrez FIGURE 1. Fenétre dlaccueil de Texmacs. vwew.ed-diamond.com Linux Pratique n°116 eo BE QD OGITHEQUE & APPLICATIF 9» Réaction scientifique »» ETAPE 2 prise EN MAIN ET TOUR D'HORIZON DE TEXMACS La principale caractéristique de Texmacs, est quil est WYSIWYG (What You See Is What You Get) a la facon de Microsoft Word, Open Office, et tout éditeur de texte classique. On entre du texte et il est immédiate- ment formaté pour apparaitre tel quil sera imprimé. Cest valable également pour les équations et for- mules mathématiques qui peuvent étre entrées a la facon dOpen Office. Lun des points forts de TeXmacs est quill permet, de gérer la typographie dun document de faon globale : il assure les mises en page scientifiques (glossaire, index, bibliographie...) et elles sont de trés haute qualité. Tout au long de cet article, nous allons nous attarder sur les éléments ayant plus un aspect scientifique, moins connus de nos éditeurs de texte habituels. interface de TeXmacs présente en premiere ligne une barre des menus. Elle donne acces & toutes les fonctionnalités de Texmacs. Ensuite viennent les barres d'outils, ces barres contiennent des raccour- cis vers des fonctionnalités déja contenues dans les menus de la barre des menus. Apres les différentes barres supérieures vient la feuille de saisie, cest un grand format blanc sur lequel on saisit le contenu de notre document. Enfin, au bas de la fenétre on retrouve la barre détat. La barre d'état a deux réles : 8 gauche, elle permet de verifier les propriétés du document (style, mode texte ‘ou mathématiques, format de la police). A droite, elle indique la nature de Fenvironnement courant ol se situe le curseur. »» ETAPE 3 conricuration Pour commencer, nous allons configurer la langue de Texmacs. Allez & Editer > Préférences, puis au niveau du champ Langue de linterface utilisateur, choisissez la langue qui vous convient (French dans mon cas). Vous pouvez aussi modifier la couleur darrigre- plan et de premier plan en passant par le menu Document > Couleurs > Arriére-plan (pour la couleur de la page) ou Document > Couleurs > Premier plan (Pour la couleur du texte) Pour créer un nouveau document Texmacs, allez 8 Fichier > Nouveau, une nouvelle page vide apparaitra alors. Ayant un nouveau document, pour le sauvegarder, il sufft de cliquer sur Fichier > Sauvegarder. Néanmoins, TeXmacs sauvegarde automatiquement vos documents ouverts toutes les 120s par défaut. Pour modifier ou désactiver cet intervalle de temps, allez & Editer > Préférences > Sauvegarde automatique. Lorsque vous souhaitez continuer la rédaction dun document déja enregistré dans votre ordinateur, ‘vous devez le charger préalablement dans TeXmacs Pour ce faire, allez 8 Fichier > Charger, puis sélec- tionnez votre fichier dans la fenétre qui apparattra et enfin, cliquez sur Ouvri. » ETAPE 4 CHOIX D'UN STYLE ET MISE EN PAGE Le style dun document sur Texmacs est en quelque sorte la nature du document que fon soubalt rédi- ger. En effet, notre document peut ére un livre de mathématiques, un article ou méme un examen pour des étudiants. Ainsi, définir le style du docu- ment permet de définirjusterent cette nature. Ces styles permettent également de définir un ensemble {éléments propre au style du document comme par exemple la page de couverture ou les marges. Pour choisir un style pour votre document, allez & Document > Style, vous y trouverez les styles article, examen, lettre, etc. Par défaut, TeXmacs choisit pour vous le style Generic. www linuxpratique.com Pour choisir forientation de votre document (portrait ou paysage), vous devez aller a Document > age, puis au niveau du champ Orientation, faites votre choix. Sur la méme fenétre, vous pouvez éga- lement choisir la taille de la page au niveau du champ Type de page, en effet, il peut s‘agit dun format ‘Ad, A3, dune lettre, etc. Nhésitez pas & consulter le menu ‘Aide pour avoir plus des indications pour mieux utiliser Texmacs. aide de Texmacs est bien élaborée. » ETAPE 5 SAISIE DE TEXTE att fans as ae, wonned-diamond.com liser TeXmacs pour rédiger vas documents scie sont nécessaires. Un raccourci clavier efficace pour entrer et sortir du mode mathématiques est la touche [$]. Essayez et vous verrez. Ce mode vous permet d'écrire des formules mathématiques, des symboles mathé- matiques, etc Pour insérer tout autre mode (tableau, liste, figures) il faut aller au menu. Insérer dans la barre de menus puis faire son cholx. Vous pouvez entrer et sortir des zones de saisie avec les touches de direction (haut, bas, gauche, droite). Cela permet de déplacer le curseur 4 lintérieur ou hors d'une zone de saisie. » ETAPE 6 utiusation bu Move MATHEMATIQUES ‘TeXmacs propose plusieurs modes de saisie pour faciliter linsertion des caracteres, et d'autres types d'éléments dans le document que on souhaite réaliser. Le mode le plus célabre est sans doute le mode mathé- matiques. Dans ce mode, il est trés facile diinsérer des formules mathé- matiques simples et complexes. Ony accaéde soit par Insérer> Mathématiques > Formule en ligne, soit par Lenvironnement formule situé sur la barre outils, soit en appuyant sur la touche [8]. Nous vous invitons 8 parcourir toute la barre outils en mode mathi matiques pour découvrir létendue des possibilités que nous offre Texmacs. CGSCOXB|HE IE kOClSSse Wa/O0~|e<+4e|P BCs Bo|Qeai TAHA ave Fomdenine OGL T FIGURE 2. Visualisation de la barre doutils en mode mathématiques. » ETAPE 7 utiusation bu MODE TABLEAU I existe plusieurs types de tableaux dans TeXmars, tous ces tableaux ne sont utilisables que lorsque le mode mathématiques est préalablement active, La création de ces tableaux génére ouverture dun environnement spécifique qui se traduit par 'apparition de nouveaux menus dans la barre doutils. BE QD OGITHEQUE & APPLICATIF 9» Réaction scientifique Notez quil n'y a actuellement pas de menus sspécifiques pour les tableaux de variations. Il faut, donc bricoler un tableau standard en manipulant Judicieuserent les ajouts de cellules, leur largeur, leur bordure ou non, et falignement des contenus. » ETAPE 8 rEALIsATION DE GRAPHIQUES arrive souvent quion alt envi dilustrer une expli- cation a faide d'une image réaisée par nous-mémes. Vous pouver directement le faire dans TeXmacs en allant a insérer> Image > Dessiner Image. Aprés avolr dliqué dessus, une feuille milimétrée de dessin appa raltra alors avec un ensemble outs pour réaliser notre dessin ilustrat lest possible sur cete feulle de dessin de dessiner toutes sortes de formes, ty mettre des points, des lignes pour faire un peu de géométrie. On peut colo- rer les éléments et dessiner des vecteurs.Je vous laisse découvrir tout cela »» ETAPE 9 insertion De LIENS ‘Sur TeXmacs, il est possible d'insérer des liens vers des éléments grace au systéme étiquette/référence. Par exemple, vous étes un professeur de mathéma- tiques et vous rédigez une fiche de travaux diigés pour vos étudiants avec un ensemble dexercices et leurs corrigés respectfs. Dans ce document, a fin de chaque exercice, ily aun lien vers sa correction et également la fin de chaque correction ily @un lien vers son exercice, Tekmacs permet de faire ce type dopération le principe est le suivant + aut créer une éiquette au niveau de Fétément que on souhaite référencer (placez le curseur devant cet élément. Cette éiquette est une sorte de référence ou de positon envegistrée dans le document. Pour insérer une éiquette dans un document, i faut aller & Insérer > Lien > Etiquette, le texte suivant apparai- tra alors dans une zone de texte ie, Dans cete zone de texte, on va sais un motlé unique qui Q inrrrsiquereis identifiera notre étiquette. Aprés avoir saisi ce mot- clé, appuyez sur [Entrée], votre étiquette sera alors créée a lendroit ou le curseur se trouve. + Une fois Iétiquette créée, pour référencer cette position, il faut utiliser une référence. Pour cela, placez le curseur a endroit od vous souhaitez réfé- rencer votre étiquette puis allez 3 Insérer > Lien > Référence, une zone de texte contenant le texte suivant apparaltra alors : Automatique. Vous avez donc le choix entre la table de matiéres, la bibliographie, la liste des tableaux, la liste des figures. En ce qui concerne la table de matiéres, une fois créée, il faut penser 3 Yactualiser trés souvent, et pour le faire allez sur Document > Actualiser> Le tout (pour actualiser tous les éléments automatiques) ou Document > Actualiser > Table des matiéres (pour actualiser uniquement la table des matiares). De la méme manire que les tables des matiéres, il faut procéder ainsi pour les autres contenus. >» ATTENTION {faut toujours actualiser le document avant impression afin que la table des matiéres se mette jour. Elle ne se mettra pas 3 jour pas toute seule. www linuxpratique.com » ETAPE 11 CAS PRATIQUE : INSERTION D'UNE FORMULE MATHEMATIQUE Pour commencer, on va ouvrir Texmacs. Ensuite, on clique sur Fichier > Nouveau. Une nouvelle page vide apparait alors. Dans cette page, on va commencer par écrire la célébre formule dEinstein E=MC2. ‘Commengons par appuyer au le bouton [$] du clavier, cela va nous faire passer en mode mathématiques, cest avec ce mode qu’on pourra écrire des formules. Une fois que cest fait saisir E, puis =, M, *( ce sym bole n’apparaitra pas, le mode mathématiques comprendra quil sagit d'une multiplica- tion), C “(ce symbole permet dindiquer a Texmacs en mode mathématiques quil s'agit dun exposant) puis 2{il sera alors placé en exposant). Ala fin, on obtient notre formule, comme sur la figure 3, E=MC? FIGURE 3. Formule d'Einstein écrite sur TeXmacs, Dans le cas sulvant, on va écrire tune formule un peu plus com- plexe, il vagit de fexpression dune série numérique Sn en fonc- tion d'une suite numérique Un, comme présentée sur la figure 4, wonned-diamond.com liser TeX macs pour rédiger vas documents scie FIGURE 4. Expression d'une série numérique. Commengons dabord par pas- ser en mode mathématiques en ‘appuyant sur [$] au clavier. Ensuite, on va saisir notre formule + saisir U puis _ puis n (le carac- tére_permet de mettre le texte en indice), une fois que cest salsi, déplacer le curseur vers Favant afin de sortir de la zone de texte en indice ; + saisir + appuyer au clavier les touches [Shift]+[F5] ensuite [ShiftI+I5] (le symbole somme apparaitra) + saisir_puis ‘ensuite, déplacer le curseur vers Farriére jusqu‘au niveau du sym- bole de somme. + saisir 4 puis + avancer avec le curseur afin de sortir de la zone de texte en exposant + saisir U puis _ensuite n, ensuite avancer le curseur et appuyer deux fois sur [Espace] pour créer un espacement; * pour écrire le symbole mathé- matique ¥ (pour tout) sur ‘TeXmacs il faut commencer par saisir \, vous entrerez alors dans une zone de saisie de caractéres spéciaux. Ilsuffit alors décrire le mot- Image > Grande Figure (si vous cliquez sur Petite figure, votre figure sera petite, aignée a gauche et ‘on pourra écrire du texte de part lest également possible de redi- et dautre de celle-ci) mensionner une figure sill Savére quelle soit trop grande ou trop petite, Dans notre cas, on va redi- + ensuite, vous verrez apparaitre une zone dinsertion dimage. mensionner notre premiere figure 2150pt en hauteur et en largeur. Pour cela, double-cliquez sur la figure en question, Des zones de modification de la taille de Fimage Fleter Eder Ietrer Focus Farmat Document We Aller Outle Ade PERORE|S SoG ocesa [BEeSEEN ESV sNG@srenhe [mine Fs nee amet apparaitront ainsi. » ETAPE 13 CAS PRATIQUE : INSERTION DE PYTHON, Dans cette section, nous allons anreree insérer du code Python dans une feuille, et fexécuter. Python est un langage de programmation trés ccélebre dans le domaine scienti- ere emis ee fique. I est employé notamment dans analyse numérique, les probabilités, Vintelligence arti Celle, et. Ne vous inquiétez pas FIGURE 5. Document contenant des figures. si vous navez jamais travaillé avec E=Mct F ce langage, dans cette section, je vais juste vous montrer comment Yajouter, et nous allons tester quelques commandes. Pour commencer, cliquons sur Insérer > Session > Python, le shell de Python apparaitra, Cest dans cette zone quion exécu: tera les commandes Python. On va commencer par faire en sorte que Python affiche « Hello World! ». Pour ce faire, saisissez dans cette zone le texte pint Hello World", Vous verrez alors que votre commande a été exécutée par Python, et en bas saffiche Hello World! (On va faire quelque chose d'un peu plus technique, des calculs avec Python, Dans votre shell, exécutez le code suivant ensuite Ie: ensuite ensuite etenfin, IEE wonned-diamond.com Vous voyer quill est trés facile de faire du calcul dans notre docu: ment TeXmacs & l'aide de Python, Cela aide beaucoup lorsquon souhaite illustrer de maniére pratique certains calculs.Je vous laisse découvrir davantage cette fonctionnalité » ETAPE 14 IMPRESSION DE DOCUMENTS Avant dimprimer, il est conseillé dactualiser dabord le document comme vu précédemment. Vous pouvez aller & Document > Vue > Mise en page > Marges ‘comme sur le papier pour visua- liser le document tel quil sera a impression 8 intérieur de linter- face de travail Vous pouvez ajuster les marges du document a votre guise par Document > Page > Marges en renseignant dans la boite de dia logue de la barre d'état lespace- ‘ment souhaité. Noubliez pas les Unités toutefois ! Sur Texmacs, les documents, peuvent étre exportés sur plu: sieurs formats ; PDF, PS, HTML. Allez simplement 3 Fichier > Exporter et choisissez votre format. Vous aver la possibilité, comme dans les éditeurs de texte, de pré visualiser le document en procé- dant comme suit (exemple ici avec ‘Acrobat Reader) 1. Choisir le logiciel de prévisua- lisation : Fichier > Parameétres dimpression > Commande de Prévisualisation > Acrobat Reader; 2. Prévisualiser le document Fichier > Imprimer > Prévisualiser avec Acrobat Reader; 3. Impression : Fichier> Imprimer > Le tout. CONCLUSION La rédaction de documents scien- tifiques peut étre trés complexe et on nva pas toujours sous la main Un logiciel qui puisse nous aider. Texmacs, en plus d'étre comme les éditeurs classiques en termes dinterfaces et de menus, vous offre une large gamme de possi- bilités. Si vous avez des difficult, rendez-vous sur le site officiel [2] pour plus de documentation. REFERENCES [1] TeXmacs sur Wikipédia https://fr.wikipedia.org/ wiki/GNU_Texmacs [2] Site web officiel de Texmacs https://www.texmacs.org [9] hetps:/fists.gnu.org/archive/ htmW/texmacs-dev/2017.09/ msg00008.html [4] https://www.mail-archive, com/texmacs-dev@gnu ‘org/msg03543.html [5] Le manuel officiel de Texmacs : http://www. texmacs.org/tmweb/ documents/manuals/ ‘texmacs-manual fr.pdf Linux Pratique n°116 8 Bi GQ) STEME & CONFIGURATION 9» dpenas0 UN POSTE DE TRAVAIL SOUS OPENBSD : installation et configuratio SEBASTIEN LAMY Site du projet : https://www.openbsd.org DANS LE MONDE DES SYSTEMES D'EXPLOITATION LIBRES, LE PROJET OPENBSD A TOUJOURS ETE RECONNU COMME ETANT LE PLUS SECURISE. OUTRE CE POINT IMPORTANT, CE SYSTEME D'EXPLOITATION EST UN LOGICIEL DONT IL FAUT RELEVER L'EXEMPLARITE DU DEVELOPPEMENT NOTAMMENT CONCERNANT LA QUALITE DU CODE, ELABORE PAR UNE COMMUNAUTE DE DEVELOPPEURS. ‘ ayy complet, comme le proposent Debian, Fedora et dautres distributions de a famille Linux. Pour cela, nous préparons une machine virtue PREPARATION D'UNE (WM) qui représentera notre poste de traval. Cette VM dispose de deux CPUs, de 2Go de RAM et dun espace de 20Go, Elle bénéfcie également MACHINE VIRTUELLE d'une connexion internet et d'un lecteur de CD virtuel, Pour installer Dans cet article, nous vous (OpenBSD, nous devons en premier lieu télécharger limage ISO dinstal- présentons finstallation et la lation disponible sur le site officiel : https:/Awmw.openbsd.org/faq/fagd. configuration du systé me dexploi-_html#Download. Pour cet article, nous avons chois! la version amd64, tation OpenBSD dans Fobjectif Une fois le téléchargement terming, il convient de paramétrer cette dobtenir un poste de travail image ISO dans le lecteur CD puis de démarrer la VM DEBUT DE LINSTALLATION D'OPENBSD ‘Au lancement de la VM, timage 150 est démarrée et une série de lignes d'informations defile puis Sarréte pour nous poser une pre- mire question entre linstallation, la mise a jour, tauto-installation ‘ou le shell. Nous choisissons la premiére possibllité en saisis- sant au clavier la lettre {i] puis Ja touche [Entrée] puisque nous installons ce systéme dexploita- tion sur une machine vierge de tout systéme. Vous pouver noter que lauto-installation revient & installer OpenBSD en mode non interactif & partir d'un fichier de réponse (ce qui est 'équivalent de Preseed ou de Kickstart). Par la suite, nous devons choisir le clavier et pour cela, nous pou- vons afficher la liste connue de Finstalleur en saisissant la touche (LJ puis la touche (Entrée). Finalement, il faudra sélectionner fr puis valider avec (Entrée). Ace ‘moment, nous saisissons le nom de la machine, dans notre cas, openbsd, CONFIGURATION DU RESEAU Le choix de la carte réseau a utiliser par défaut dépend de ‘Notre configuration sachant que souvent, le choix par défaut pro- wured-diamond.com posé est le bon. Dans notre cas, nous choisissons ici vio. Ensuite, nous pouvons saisir une confi- guration IP, mais dans la mesure ol nous avons un service DHCP dans notre réseau, nous pouvons sélectionner dhep. Uinstalleur nous informe alors de ladresse IP récupérée via DHCP puis nous propose de configurer le réseau en IPv6 en cas de nécessité nous déclinons cette proposition et préférons le choix par défaut none. Nous avons maintenant la possibilité de configurer dautres Interfaces réseau et la encore, nous devons préférer le choix par deéfaut done et donc, décliner la proposition de Finstalleur. Enfin, concernant le réseau, il nous est présent possible de saisir un nom de domaine différent de celui fourni par le service DHCP. Une fois nest pas coutume, nous sélectionnons & nouveau le choix par défaut my.domain. GESTION DE L'ADMINISTRATION Ace stade, il est demandé de sai- sir deux fois le mot de passe du compte administrateur root. Or, en le tapant vous remarquerez que rien ne bouge a 'écran, ne vous inquiétez pas, cela est tout & fait normal, car comme sous Linux les mots de passe n’affichent rien a lécran lors de leur saisie. Nous le validons deux fois. Linstalleur nous propose alors de démarrer le service sshd, tres utile pour administrer a distance le systéme, pstallation et configuration 9 til faudra accepter en répondant ‘yes puisquil sera par la suite bien plus agréable de poursuivre la configuration de ce poste depuis, un terminal distant. CONFIGURATION DE L'ENVIRONNEMENT ‘Ala question suivante : « Pensez- vvous utiliser un environnement graphique ?», il est important de répondre yes dans la mesure ot: cela constitue un de nos objec- tifs II nous est ensuite proposé dltilser, ou pas, le programme xenodm pour lancer lenvironne- ‘ment graphique et nous devons une nouvelle fois répondre yes puisque celui-i est parfait dans ce réle, FIN DELA CONFIGURATION La question suivante concerne les utilisateurs souhaitant admi- nistrer ce systéme depuis un port série de communication, Dans notre situation, nous sou- hraltons utiliser un écran, un clavier et une souris donc nous ‘ne sommes pas concernés, Nous répondons par le choix par défaut. Nous avons maintenant la possibilité de créer un utilisa- teur non privlégié, mais nous le ferons ultérieurement en SSH, ce qui nous conduit a sélectionner Bi G)STEME § CONFIGURATION 99 Cpends0 no, Dans cette optique, nous décidons d'autoriser root a se connecter tne unique partition qui contien en SSH méme si cela n’est pas sécurisé en production, Nous modifi dra ensemble du systéme. Nous rons ce comportement une fois notre systéme pourvu de comptes saisissons une par une les valeurs utlisateurs non privilégiés. Ensulte, le choix afférent au fuseauhoraire _suivantes dépendra bien entendu de votre emplacement géographique. Pour cet article, nous avons choisi Eurepe/Paris. Saati partition: ar) aero TAPE 7 Serena Ec PARTITIONNEMENT DU DISQUE La valeur de Sve dépend de la Linstalleur a la capacité de détecter automatiquement les disques durs taille du disque de votre VM. qui sont présents sur la machine. Si vous ne disposez que d'un seul Ainsi, nous obtenons une unique disque, ce qui est notre cas, nous validons le choix par défaut qui nous _ partition qui utilise fensemble du est proposé, Notons que la table de partition du disque vierge peut étre disque. Pour nous en convaincre, MBR pour les BIOS ne supportant pas le partitionnement GPT. Notre nous saisissons la touche [p] et machine virtuelle ne disposant pas d'un BIOS UEF!, nous devons opter _vérifions que seules les partitions pour ce mode sur la totalité du disque (pour cela, choisir Whole). Ensuite, 4 (notre systéme) et ¢ (toujours Finstalleur nous propose un partitionnement automatique lequel favo- présente sous openBSD qui rise la séparation des dossiers du systéme en partitions indépendantes. symbolise Fensemble du disque e choix est tres bien expliqué dans la documentation officielle du projet _utilisable), sont présentes. Pour que nous trouvons & ladresse suivante : https://www.openbsd.org/faq/ —_terminer, nous saisissons la faqd.html#Partitioning. Pourtant, nous allons mettre de c6té ce parti- touche [4] qui sauvegarde nos tionnement et nous arréter sur un partitionnement manuel. En effet, le modifications et quite Futiitaire partitionnement automatique crée trop de petites partitions, ce qui nous de partitionnement. Linstallation empécherait dinstaller de gros logiciels comme un environnement gra reprend alors. phique ou une suite bureautique. Nous répondons donc {¢] pour custom layout. Lutilitaire de parttionnement qui Souvre bénéficie dune aide si nous saisissons la touche [7]. Nous allons aller au plus simple et créer Cr CRs) CHOIX DES . Pern PROGRAMMES A eens eee ts Perey are ta ure INSTALLER ee ee AMR | Uinstallcur nous questionne main- eee eee ee eee eT tenant sur nos supports instal merrier i Perea lation, et dans notre eas, tout est arn Sete centrale cancetré dans finage 50, mo mins Spa O téecomme un lecteur CD susie Peery nom «id. Ensuite, nous choisissons ec kr te chemin des éléments & installer ROMER depuis le CO etic le choix par ort seen eat ee eet eree eo défaut est parfait, a savoir 65/ att ‘amd64, Linstalleur nous demande alors quels sont les programmes 2 installer. Dans notre situation, nous acceptons le cholx par défaut lequel consiste & installer tous les programmes contenus dans image ISO. Si cela ne repré- sente pas une importante quan- tité de programmes, notons que cela comprend en grande majo- rité un ensemble de programmes nécessaires a Vexécution du systéme en environnement gra- phique. Attention, la question suivante nous propose par défaut darréter installation dans la mesure oie fichier de somme de contréle, permettant de vérifier authenticité des paquets, est manquant. Notre image ISO ayant 6té récemment téléchargée sur le site officiel, nous pouvons outre- passer cet avertissement et de fait répondre yes pour continuer Fins tallation, Maintenant, installation proprement dite peut débuter ! FIN DE LIINSTALLATION Alain de Vinstallation, nous sommes invités & installer des paquets supplémentaires 3 partir dautres supports, mais, comme nous r’en avons pas, nous répondons done. A ce stade, linstalleur soccupe du noyau BSD et nous propose de redémarrer automatiquement la YM. Ic, rvoublions pas d'jecter image ISO pour ne pas relancer tinstallation au redémarrage, OpenBSO - install PREMIER DEMARRAGE Nous nous trouvons face a une fenétre graphique de connexion. Mais étant donné que nous r’avons pas créé dutllsateur non privilégié de Finstallation, nous ne pouvons pas ouvrir de session graphique. Cependant, grace & SSH, que nous avons configuré lors de linstallation, nous sommes capables dfouvrir une session distante en tant que root et ainsi poursuivre la configuration de notre systéme et enfin, ouvrir une session graphique. Pour cela, il convient douvrir un terminal depuis notre systéme hate ainsi qu'une session SSH en tant que root vers notre VM. CREATION D’UN UTILISATEUR STANDARD Aprésent que nous sommes connectés en SSH sur notre VM OpenBSD en tant que root, nous commengons la création dun premier uilisateur et pour cela, nous disposons de la commande user, capable de créer, de modifier, de lister et de supprimer les utilisateurs sur le systéme Le parametre indique que nous voulons créer un répertoire Hone pour cet utilisateur (nécessaire pour ouvrir une session graphique). Ici, notre uitilisateur aura pour nom de login wl. La commande pssswé, que Fon trouve aussi dans les distributions Linux, permet de lui attribuer un mot de passe ae wured-diamond.com MS @)stéME & CONFIGURATION 9» y g EXECUTION DE TACHES PRIVILEGIEES Sous Linux, le seul utilisateur qui est autorisé & exé- cuter des tches privilégiées est root. Cet impérati est le méme sous OpenBSD. Et pourtant.il peut ‘avérer néc stains utilisateurs non privilégiés la possibilité dexécuter ces taches, par exemple pour installer des programmes, confi- gurer le réseau, etc. Sous Linux, nous connaissons le programme suo qui remplit cette fonction, Sous. ‘OpenBSD, son équivalent s‘appelle doas. Attention, ce programme n'est pas activé par défaut, nous lacti- vons en lui donnant une configuration & partir d'un fichier d'exemple fourni par OpenBSD Sr ee Dans cette situation, la configuration par défaut autorisera lexécution de toutes les commandes pour tous les utilisateurs appartenant au groupe wi. Ajoutons notre premier utilisateur au groupe whe! “G wheel moi Puls, nous ouvrons une session en tant que nic! et listons ses groupes d'appartenance avec la com- mande \i eee ecco) Bry aon. Linus Pratique Maintenant, utisons 8 nouveau la commande ii pré- cédée de la commande dos eee) rroersesers Nous obtenons les appartenances de lutilisateur root. En effet, a commande soas exécute la com- ‘mande iv en tant que root par défaut. Pour exécuter la commande ji sous un autre nom dutilisateur, par exemple en tant que wi, qui est Futilisateur par défaut du serveur web, nous devons ajouter le para metre wiyw-dals comme suit openbsd$ doas -u www id Oct Carne Nous obtenons bien les appartenances de f'utilisa- teur www-data, A noter que chaque appel a la com- mande soa: sollicite le mot de passe de Iutlisateur en cours de session. Trés rapidement, si nous utilisons ‘ows pour exécuter plusieurs commandes successives, cela peut devenir une source d/agacement. Pour modifier ce comportement, nous ajoutons le mot-clé persist dans la configuration par défaut de doas pour le groupe whee! # Allow wheel by default permit keepenv wheel Permit persist keepenv Nous avons toujours & notre disposition le manuel de la commande oss obtenir plus diinformations : CONFIGURATION AUTOMATIQUE DU RESEAU Lors de installation d OpenBSD, nous avons choisi de configurer automatiquement notre unique interface réseau avec le protocole DHCP. Vérifions la configura- tion que nous avons obtenue ines) www linuxpratique.com Perron eS ere] index 3 priority 0 liprio 3 See peer USCC] SOU sec eck Anet 127.0.0.1 netmask 0x€£000000 Cao Pee TE eG Lan eens athe coe etd groups: egress Pearce torrets CCU eres index 2 priority 0 Liprio 3 re oeeeretery Rote eC et on ence ECE Pree acter etter] ested Notre interface principale nommeée vio a obtenu ladresse IP 10.0.0.136. Pour connaitre Tadresse du serveur DNS regu, nous affichons le fichier De Rees Sees erence ates eee o rt) peor eecnstr Cest le serveur avec IP 10.0.0.1 qui est utilisé pour nos recherches DNS. Enfin, pour connaitre la passerelle par deéfaut, il faut utiliser la commande suivante Eee B cute sto} presen caer poertreetsy Cer] Cer a ee Tce Ty some ro A ns ) eer ere teeter Cs o er ee) ne} ‘openbed co rhe) 10.0.0.1 Perse oem ed openbed Pee eee mate ro coer! Hb 2 27/8 peters ‘ucRs ea Peters Peeters coy Perey Notre passerelle est le serveur IP 10.0.0.1 via interface Linux Pratique n°116 Bi G)STEME § CONFIGURATION 99 Cpends0 CONFIGURATION STATIQUE DU RESEAU Maintenant que notre configura- Loutil icons est particuliérement adapté pour configurer statiquement _tion est compléte, nous pouvons une interface réseau. Cependant, il existe un risque que la configuration _activer en saisissant la com- soit perdue au prochain redémarrage de la machine, De fait, pour para-_-mande suivante: métrer durablement une configuration réseau, nous éditons un fichier dont le chemin ne peut étre changé - portant le nom de interface réseau correspondante, par exemple vi00. Ce fichier a pour chemin st: iosinamevio0, CelUl-ci peut contenir les informations suivantes : # configuration automatique avec dhcp 4 dhep 4 configuration statique {net 192.168.1.10 255.255.255.0 MISE AJOUR DU # création d'interface virtuelle supplénentaire SYSTEME # inet alias 10.0,2.0 255.255,255.0 Atinstar de tout systéme dex Les commentaires se suffisent eux-mémes et nous avons simplement _poitation en développement besoin de décommenter au moins une ligne, celle qui crée une confi- actif, OpenSD propose des guration statique, afin 'obtenir une configuration pour notre interface. mises 8 jour réguliéves pour Concernant les réseaux wifi utilitaire co's propose plusieurs com: le maintien de son systéme. mandes, 8 savoir Pulsque nous utiisons une archi 7" ern tecture supportée (actuellement eer eer aria aan amd64, x386 et arm64), nous Peet Cena tl avons & notre disposition un uti- > litre trés pratique (seulement & coineenaid partir de Open8S0 6.1) qui nous Ici, Finterface inttulée ivn0 est notre carte wifl, Pour rendre cette configu- _fatilite cette tache :sspach. En ration persistante aprés un redémarrage, rYoublions pas de renseigner le effet, ce programme télécharge fichier itc/nosinan und comme suit automatiquement les informa: tions de mise a jour sur le dépot ] Fes poe name eee’ ccaial configuré dans notre systéme, De fait, nous avons besoin au Attention, si aucune de nos interfaces n'est configurée automatiquement préalable de configurer un dépat avec DHCP, nous devons renseigner manuellement adresse IP de notre proche de chez nous. Nous trou- passerelle par défaut. Nous devrons renseigner alors le fichier f\cinyanle: vos la liste officielle des dépats en ligne & fadresse suivante https://www.openbsd.org/ftp. Notre machine dispose maintenant du serveur 192.168.1.254 comme html#http. URL du dépét cholsi passerelle par défaut. Enfin, comme vu précédemment, le serveur DNS _est a saisir dans le fichier le! est fourni dans le fichier Je: /esolv SHOME/.xsession Enfin, il nous reste & ajouter un service au démarrage, messaves, dans le fichier leci'.ont lol, afin eactiver cer- taines fonctionnalités intéressantes comme par exemple éteindre la machine depuis la session graphique xenodm _ flags= (Pkg _ scripts="nessagebus" ETAPE 18 INSTALLATION DE L'ENVIRONNEMENT GRAPHIQUE I3WM Dans létape précédente, nous avons installé un environnement moderne. Méme sile résultat atteint est un environnement léger trés fonctionnel, nous avons pu relever Finstallation d'un nombre plutét important de dépendances. Or, ce rrest pas le but d OpenBSD de surcharger le systéme d'autant quill sera difficile, voire www.ed-diamond.com Linux Pratique n°116 8 Bi GST E & CONFIGURATION 9» dpenBs0 tenia €>¢o [oa snot paten INUX as impossible, de donner a MATE, sous OpenBSD, les mémes fonc- tionnalités existant dans des distributions Linux grand public, comme Ubuntu, Ceci sexplique en partie par le manque de certains logiciels qui nvexistent que sous les distributions Linux. Ainsi, pour ceux dentre vous en recherche d'un systéme léger, tant ln ressource qu’en poids, dans un systéme d'exploitation OpenBSD, environnement graphique i3wm est disponible dans le dépat. Nous Hinstallons simplement : llnous reste &configurer cet env- ronnement& partir dela documen- tation officielle, A ce propos, un artile portant sur fervironnement i8wm a été publié dans le Linux Pratique n°112 de mars-avil 2019, © irwrrreiquerens “a> LE MAGAZINE POUR COMPRENORE, UTILISER & ADMINISTRER LINUX aim! OE ce qui pourra compléter vos infor- mations. Grace a i3wm, nous béné- ficions dun environnement léger enressources et en dépendances, et dans lequel nous pouvons ajou- ter les logiciels qui nous corres- pondent (un terminal, un lecteur de média, une suite bureautique, etc.) lesquels sont disponibles dans le depot. POUR ALLER PLUS LOIN Comme expliqué dans cet article, le systéme d'exploitation ‘OpenBSD est capable de four- nir un environnement de travail graphique complet sur un grand nombre de machines, quielles soient récentes ou anciennes, En revanche, son administration S-o-8- dee Bonjour OpenBSD)! 028A siadresse & des utilisateurs rela- tivement avancés. Il existe pas dinstalleur graphique et un grand nombre d'outils graphiques ne sont pas portés non plus, comme la configuration réseau, le gestion- naire diaffichage, etc.) Mais, quill sfagisse d'un usage en entreprise ou familial, son déploiement vous permettra de bénéficier d'un ordi- nateur fonctionnel, sans risque de pannes du systéme. Noubliez pas que cest en limitant les dépen- dances logicielles et en réduisant les possibilités graphiques de configuration que vous étes en mesure de garantir un systéme trés stable dont le fonctionne- ment ne sera pas altéré par des années dutllisation. Dernier mot, ce systéme est distribué sous licence BSD, une référence en matiére de liberté | m www linuxpratique.com Bs t ays x x K ses ZO = era ee chez votre marchand de journaux et sur www.ed-diamond.com BS GP STEME & CONFIGURATION 99 Anse AWX, UNE WEBUI POUR VOS JOBS ANSIBLE DAVID BLASKOW, ANSIBLE C'EST COOL [1], (A VOUS APPORTE RAPIDITE DE DEPLOIEMENT, UNE GRANDE SOUPLESSE GRACE ASES MODELES ET BIEN D'AUTRES AVANTAGES. SEULEMENT, VOUS NE POUVEZ PAS LE LAISSER ENTRE TOUTES LES MAINS, L'OUBLI D'UNE OPTION LORS D'UN DEPLOIEMENT ET C'EST TOUT VOTRE INFRA QUI RISQUE D’ETRE IMPACTEE. LE MOMENT TANT REDOUTE EST-IL ARRIVE ? ETES-VOUS DEVENU LE SINGLE POINT OF FAILURE DE TOUTE LIINFRASTRUCTURE ? ALLEZ-VOUS DEVOIR VOUS CHARGER DE TOUS LES DEPLOIEMENTS, ET CE, JUSQU’A CE QUE MORT S'ENSUIVE ? NON, NON, NON ET NON ! VOUS N’ALLEZ PAS VOUS LAISSER © FAIRE ! ET QUO! DE MIEUX POUR METTRE LE PIED A L'ETRIER DE TOUT LE MONDE QU'UNE SIMPLE WEBUI ? Avant de partir dans le vif du toutes les plateformes de a famille _crée une API ReST (Tower) pour sujet, /aimerais uste faire un petit Red Hat, grace aux dépéts EPEL, faclter la gestion des déploie- rappel sur Ansible I devient également disponible ments avec Ansible. ‘Ansible a été développé par our dautres distributions famille Er, 2017, Red Hat ouvre enfin le Michael DeHaan (Cobbler)en 2012. Debian, etc.) ‘dépét upstream de Tower et nous Ansible intégre les dépots Fedora et En 2015, apras le rachat de offre AWX, la version libre de devient rapidement disponible sur. Ansible par Red Hat, ce dernier. Tower. Comme Ansible utilise Python, il est quasiment agnostique du systéme d'exploitation : Linux, Unix, mais aussi Microsoft Windows, grce & WinkM. Nous allons commencer par préparer un serveur pour accueilir installation AWK. Vous pouvez bien entendu utlliser nimporte lequel de vos Linux préférés, du moment quil supporte Docker et Ansible, Personnellement, jai un faible pour Debian. Pour Finstallation de Docker CE, utilisons la procé dure fournie par la documentation officielle [2]. En bref, nous installons tout cfabord les dépendances Sree eC ee rete eons} ca-certificates curl gnupg2 software- poetry certareestart peeers Poe eco fener mrttets Unpacking gnupg2 (2.1.18-8-deb9u2) Setting up apt-transport-hetpe (1.4.8) Setting up Libcurl3:and64 (7.52.1-54debu7) Se ee a eee eoT) pert as tree ete sce sree) peer nee ee eee See es) Setting up curl (7.52.1-5+deb9u7) Ensuite, on ajoute la clé du repository APT Pee we cme ences pe Sete eee eae Puis le repository: ce hetps://download.docker.com/linux/debian Pre mesteecen ans Stay (On met & jour notre base APT, en validant bien que le nouveau repository est présent og pene ae eee OSC Lee/ Osean er ies eee Pree ee eat OSeC Re CSCC cstag pone ec rorea st De oot ean caren Pra aie ee eet er esteem teers Recs (eorntosn conor con tecuncescay [etre hetotetes RE Oe rere oernone cocten con tanux sober | feerotch erate Chea TE Peer ere eR ECa a eEsy Pentre re tethers Etenfin, nous installons Serene ol Peco Busy perermeet ters Parra perC Ce Ret er Setting Ererren) re Tere) Se Se te eee) pes acer Perera teeen te ere eee Een) Setting up aufe-dkas (4.9420161219-1) peerrtpee treme t arnt Petree) skipped since Sore eer ee en ens installed. Patt Sree CMEC Ores nee et eesemr Teter sts) re Ine nous reste plus quia vérifier que tout soit 8 eee coeearerey Client: Version: PLES pemeeertr Pier) Pence ents pets Built: Peach TELE SCITCy coe prernyerr] cates Linux Pratique n°116 Engine: eu promeeerere Peron ert eerl a Pome) aunts ca Built: Pn ear Ue Taroe) core reer Poeestrr re CaS Prenez le temps de vérifier que le service docier est bien chargé au démarrage, ne sait-on jamais, § eudo ayatemctl statue docker errr eee esterec enon etrs cores Peers Cree MOU etter ere rates PSsten recente pee ee tr eee eee eter’ eee eee ee Pe cera Pléce indispensable pour installation d/AWX: Ansible lu-méme, Sivous étes familier avec Ansible et que vous Futilisez couramment depuis votre laptop, votre poste de travail ou depuis un serveur dédié, vous pouvez passer cette partie. Pour qu/AWX soit fonctionnel, vous devez simplement vous assurer d'avoir correctement. Installé Docker. La mise en ceuvre d’Ansible est relativerent simple, il faut juste sassurer dinstaller Ansible en version 2.4 minimum; sur Debian 9, il faut passer par le repository’ ee ered Sse nsec ese eroet pareere ters Ensuite, on lance installation, en indiquant que fon veut utiliser les backports Linux Pratique n°116 ie a ¢ $ sudo apt -t stretch-bi ansibl fan) Peete eer ay ee Re ee eae eee ed pesetene tse a eee Nous pouvons vérifier que notre instal est fonctionnelle Peo eee creme estrd one erence ete Ecce Caer nrrtesty La pite a gateau est préte, il est temps de passer ala Quoi de mieux, me direz-vous, quun réle Ansible pour éviter les erreurs humaines, et faire et refaire Un déploiement a Fidentique ? Cest bien aussi favis de la communauté Ansible, qui a créé un réle pour le déploiement d’AWX (comme quoi, il n'y a pas de hasard), Récupérons ce r6le depuis le dépot Git [3] $ git clone hetps://github.com/ansible/awx. rea Cloning into ‘awx" ee remote: Counting objects: 100% (212/212), are cere Smee ere eet Sct (delta 55), pack-reused 181971 Perrine steerer a tE zt ato} PRTC MELO SC ee, FOr seas reused 105 Peseta otets Python-pip va nous étre d'une grande aide pour ins: taller les modules Python nécessaires a ce réle ; alors hop, on tajoute Fee estes ad Setting up python2.7-dev (2.7.13-2+deb9u3) python-pip (9.0.1-2) Installons maintenant le module Se eC Successfully built backporte.sal-match- Pree eee ROCCE aces Semmens res thra idna, urllib3 cette: ernie a senre Preeerr Seraetieetter est Serarroey prrereorertre eee wert este pene saree cre Reece 1.11.0 urllib: chardet, amen) requests-2.20.0 six an) Comme pour tout réle Ansible, il nous faut configu: rer notre fichier d'inventaire ; ca se fait en éditant le fichier dans Nous adoptons une configuration minimaliste + Le serveur PostgreSQL. est un conteneur avec un ‘mountlocal + Le serveur RabbitMQ est lui aussi conteneurisé. Comme vous lavez sans doute noté dans le fichier original, il vous est tout 2 fait possible de configurer AWX pour stexécuter sur Kubernetes ou Openshift Vous pouvez directement gérer les certificats depuis le réle Ansible, bien évidemment modifier le mot de passe par défaut de ladmin (jenfonce des portes uvertes la, non 2) et aussi, le secret qui soccupe du chiffrement, Alors, voyons voir ce que donne le fichier, une fois, toutes les lignes superflues supprimées localhost ansible python _ interpreta: connectionslocal ansible _ "fasr/bin/env pytho: [ali:vars] dockerhub _ base=ansible aws _ task hostnanezawe awe _ web hostname=awxweb postgres _ dats host _port=80 docket _ compose _ dir=/var/Lib/awx Pg _ usernane=awie Pg _ password=awxpass Pg _ database=ax Pg _ port=5432 rabbitng _ password-auxpass rabbitng erlang _ cockie=cockiemonster admin _usersadnin admin _ paseword=password create preload _data=True secret _ key=awxsecret Ceest plus clair ! Oups, mais je n'ai pas changé les mots de passe par défaut, mauvais bougre que je suis, ne faites surtout pas ¢a ! La recette est préte, passons-la au four Ree reser er eee ererteeerees aws/installer/install yal ons] Cmte Peete er eererec) eer Caer od cron Seer Linux Pratique n°116 ale Dee e eee eee eee ne eee eee een ee ey Peer) eee Benstreaee Se errenreverrenrroverrererrevevesevereerunrruverosererrureriviverenvurrruverceeresrnvord peste reo eT Ste me Tey Une fois le déploiement terminé, nous pouvons jeter un rapide coup d'cell aux conteneurs qui permettent & AWX de s‘exécuter es Cees) cre ard Co) Ae Po NAMES reece poe met ea OMe SU. poe peered omer Pee Sh Teac) Seen eel ee Ce Perec ome ecco Paes PeSraeeery mencached:alpine Poor ss sce eC Uno eet 11211/tep oe peered Pst ermee sere Cea ee orn) Peres Pere eee eae ry ety este aa) postgres:9.6 ees eee Uo Peon pore eee Parfait, nous avons maintenant accés & IU! dAWX depuis notre navigateur, Et voila, notre AWX est prét a accueillir nos différents déploiements Ansible, le reste nest plus que plaisir et amusement | Quel moment merveilleux, grace & UI d'AWX, vous allez pouvoir confier & Jean-Lou, les petites mains de léquipe des OPS, qui de son cété n’a aucune idée de comment fonctionne un réle Ansible, a possibilité de déployer tous ces réles que vous avez créés, sans lui imposer la tache 6 combien laborieuse de devoir les comprendre (je sais, est triste, mais Jean-Lou ilest comme ¢a, il veut bien étre les petites mains, mais pas la petite téte) Lun des principaux atouts dAWX, Cest d’étre multitenant, grace au principe d'organizations. Que voila un terme odieux, « multitenant »... Nous pourrions tout aussi bien parler de multientité, qui iser laméme est un principe d'architecture logicielle, qui veut que plusieurs organisations puissent installation d'un méme logiciel, plutdt que de devoir déployer une nouvelle instance de ce logiciel par organisation. Linux Pratique n°116 une WebUI pour vas jobs FIGURE 1. La page de dashboard d’AWX est un petit résumé de toute l'activité AWK. Chaque organization peut créer des teams, et chaque team a un ou plu- sieurs users. Chaque user peut se voir attribuer des droits spécifiques, en fonction de ses besoins/aptitudes avec loutil, Pour tauthentification des users et des teams, vous pouvez utiliser au choix LDAP, GitHub, ‘OAuth ou AzureAuth.. Mais rien que de trés classique jusqu’a présent... Ce que je veux démon- trer ici, Cest la simplicité avec laquelle nous pouvons déployer une application depuis IU. Une fois connecté, vous étes directement sur le tableau de bord d'AWX (figure 1). Ce tableau de bord vous permet de voir le statut des runs effectués par Ansible : ceux qui ont échoué, ceux qui ont réussi. Vous avez également une vue sur les informations concernant les inventaires et les projets (nous y reviendrons tras vite). 2.1 Les inventaires Comme pour un run Ansible classique, la premiére chose 8 faire est de créer votre inventaire, ici vous aver le choix ‘avec un fichier inventaire que vous mettez dans larborescence dAWX (cependant, je ne vous le conseille pas, étant donné que nous sommes en mode conteneur) ; wured-diamond.com + un inventaire dynamique (avec script Python capable diinterro- ger IAPI de votre las), Pour créer notre inventaire, nous allons dans la section Inventories 2 gauche du tableau de bord. >> INFORMATION Comme vous le constatez, ily a déja un inventaire préexistant, est un inventaire de démo. CChaque section se trouvant dans la partie Resources contient un exemple ; vous pouvez les supprimer sans crainte. Créons notre premier inventaire en cliquant sur la croix verte en’ haut a droite de la page, et en sélectionnant Inventory. BE GPVsTEME G CONFIGURATION 99 Ansibl FIGURE 2. Page de création d'un inventaire dans AWX, essentiel pour définir vos groupes d’hétes ou de ‘simples machines. Une fois que cest chose faite, nous sommes rediri- és sur la page de création dun nouvel inventaire (figure 2) Donnez-Iui un nom et cliquez sur SAVE. Si tout stest bien passé, vous devriez voir apparaitre dans la par- tie basse de votre navigateur finventaire fraichement créée. Ajoutons maintenant des serveurs a finventaire et Ia, rien de plus simple, i sufit de cliquer sur le bouton HOSTS dans le haut de la page. La page change quelque peu : vous vous retrouvez avec un encart gris oi lest écrit « PLEASE ADD ITEMS TO THIS LIST » avec une croix verte juste au-dessus. Comme précédemment, nous cliquons sur cette croix. La nouvelle page nous permet de mettre le ‘nom de rhéte (ou son adresse IP) que nous souhai- tons ajouter & rinventaire, Une fois ce champ rempli, appuyez sur le bouton SAVE; vous voyez maintenant votre hote apparattre dans la section basse de la page. >» INFORMATION Tout comme dans un inventaire Ansible classique, il vous est tout a fait possible diajouter des variables spécifiques a 'héte ou Vinventaire. Pensezyy si vous n’utilisez pas d' dynamique. 2.2 Credentials Point crucial si nous souhaitons pouvoir nous connecter aux serveur de notre inventaire (et nous le voulons), les credentials. Allons & gauche cette fois, dans la section Credentials. En cliquant dessus, nous pouvons créer tune nouvelle ressource credentials dans cette page. Ilfaut dabord donner un nom ala ressource et ensuite sélectionner le type de credentials: sélec tionnons Machines (puisquil va nous servir nous won linuxpratique.com une WebUI pour vas jobs 3S eo m 0 #0 FIGURE 3. La page de création d'un credential AWX vous sera fort utile pour gérer tous vos logins et mots de passe de connexion ou vos secrets. connecter aux serveurs}, et renseignons futilisateur cet le mot de passe (ou une clé SSH privée). Pour finir, cliquez sur le bouton SAVE (figure 3). llexiste plusieurs types de credentials en fonction de la ressource ou de laccés que vous souhaitez utiliser. lest également possible de créer de nouveaux types de credentials, si besoin, 2.3 Projets La ressource pojet dans AWK correspond au chemin oi se situent vos playbooks; dans AWK, ca peut étre tn chemin local au serveur ou un dépét de sources, de type Git. Pour cet article, ja mis un réle et un playbook sur un GitHub personnel. Définissons maintenant un nou- veau projet, Dans la section Resources 3 gauche de la page, cliquez sur la section Projects, ajoutez un nou- veau projet et nommez-e (figure 4, page suivante). wured-diamond.com Sélectionnez ensuite le SCM, qui est done Git (cest un ‘dép6t publi, il n'y a pas besoin de credentials) En cliquant sur SAVE, nous langons un clone du dépot, 2.4 Templates Il nest pas rare, nous pouvons méme dire quil est fréquent, lors dun déploiement avec Ansible, utiliser toute une série doptions ou de surchar- Ber des variables ; et 4 moins de l'avoir noté dans tin playbook, ces options et ces variables sont & repasser 8 chaque fois. Attention, erreur nous guette | Un template nous permet de définr tout ce dont nus avons besoin lors d'un déploiement, et la cerise sur le gateau, de conserver toutes ces options afin de pouvoir les réutlser pour dautres serveur. Les remplates sappuient sur les différentes res- sources que nous avons créées précédemment. BS GP STEME & CONFIGURATION 99 Anse FIGURE 5. La liste des templates que vous avez créés, appuyez sur la fusée pour lancer votre run Ansible. © snvcreiqueors www linuxpratique.com Dans la partie Resources, allons cette fois dans la section Templates. Sur la page des templates, appuyons sur la croix verte et créons un nouveau Job template. >» INFORMATION Sur la page de templates, lorsque fon appule surla croix d'ajout, nous avons deux choix + Job template; + Workflow template. Le workflowest une facon d'exécuter une série de jobs 8 la suite les uns des autres, qul se déclenchent en fonction du code retour (ou code d'erreur) du job précédent. Ilfaut alimenter les informations nécessaires & notre job, Commengons par donner un nom a ce template, sélectionnons ensuite le type de job. Comme avec Ansible, il est possible de faire un dry-run du déploie. ment, Nous sélectionnons linventaire & utllser, le projet, le playbook, les credentials nécessaires 8 la connexion sur le serveur cible, Enfin, précisons sile déploiement nécessite ou non si. Ene précisant pas de limite, nous nous assurons que le déploiement s‘effectue sur tous les hétes de Finventaire, Des options d’exécution sont également disponibles verbosité, taches en parallel. Une fois le template sauvegardé, nous pouvons Iutili- ser et le réutiliser & volonté, Plus bas dans la page des templates, nous retrou- vons notre template avec trois boutons sur la gauche : une fusée, une icdne de copié/collé et enfin, une poubelle (figure 5) Pour lancer notre job, il nous suffit d'appuyer sur le bouton fusée. Quand le job se lance, nous sommes redirigés vers la page de log du déploiement. Notre run seest bien déroulé, vérifions tout de meme les logs wured-diamond.com AZINE DELA CYBERSECURTE MA PreNsIVe ET DEFENSIVE ‘orrens chez votre marchand de journaux et sur www.ed-diamond.com BE QPSTEME § CONFIGURATION 99 Anil Mais revenons & Jean-Lou, que pense-til de tout ga? Il est heureux notre Jean-Lou : indi eed caer SEROUS parr) See cores eee ester coe ees quer le nom de la machine sur een ae rr laquelle déployer la recette, Loaded: loaded (/etc/init.d/ntp; gen pore cliquer sur la petite fusée, a) aller prendre un café, était fetes eee Ce eS Cecere tres son réve absolu en entrant Ce cane Quant & vous, vous pourrez ore enfin vous consacrer & Iécriture ee Seen ne ey ee Eee de nouveaux réles et de nou vveaux projets, Sans dire que Ul Ree Re teetr ere etre eee eee a encourage vraiment tadoption Sees ater eer ees area etre! Peele ammesee aren ere tee y IAW par sa simplicité, vous Eee terete ears allez découvrir le nouveau pepe ante ore visage dAnsible, tout en étant nepa(9782}: Seliciting pect server 213.209109.45 MRMMMN ea ntpd{9782]: Soliciting pool server 37.187.5.167 raid nan correatsiors bon intpd[9782]: Soliciting pool eat pei Eeotereer messy 2 Nov SO Eocene 2001: Wouhou, ga marche ! REFERENCES 3. LES PETITS PLUS D'AWX [1] Ansible a fait Fobjet d'un précédent article dans Linux Pratique: https://connect. ed-diamond.com/ Dans le menu a gauche de la page, vous trouverez la section Jobs : cest une page récapitulative des différents jobs qui ont été effectués. Elle vous permettra d'accéder aux logs dexécution de chaque job pour vous permettre de débuggersil'un dentre eux a échoué. ‘Comme nous pourrions le faire via un cov, il est possible de planifier des jobs. systemes-d-informations- Nous pouvons également créer des notifications par e-mail, que ce soit avec-Ansible pour reusateauourTuchec dun tesdemereverionsoAwx | (lisalaen de Doce CE Sechorgelorsqumi es ortement is rosbler pases Isa dckercon! moter) isllinn/ cael debun/sceupe repost CONCLUSION [3] Dépét AWX sur GitHub Nous avons mis en place un serveur AWK et exécuté notre tout premier btps://github com? job ! Quel début ! Je mvattends maintenant a ce que vous créiez pléthore snsibiefaws de playbooks a lier 4 vos templates. Vous ! 6 MAGAZINES/AN 39- au lieu de 47,40 € FRAIS DE PORT OFFERTS 1c TC en Euros France Metropolitan DISPONIBLE EN VERSION Ld eel) FLIPBOOK — a) oe ea : a : Prix kiosque Tr Prix kiosque 39 47,40€ \ 69 92,10€ + Economie “ 1 Economie € sae & Qs € ive DECOUVREZ LE FLIPBOOK ! v.22.ciarona.com aa ees ee a JEMABONNE A JE REGLE «reese € | COORDONNEES DE L'ABONNE LINUX PRATIQUE ea (1 offre LP1 - 6 numéros pour 39 €* (papier O par cheque bancaire noe Offre LP4 - 6 ruméros pour 39 € (Fipbook) 0u postal 3 lordre fom aneeeacie Cnspetghceneey des Editions Diamond po JE MABONNE A LINUX PRATIQUE (uniquement France a ET SES HORS-SERIES et DOM TOM) a o Cee ae apie POS 3 ore séeies 1 Pour es réglements par | code Postal virement, veuillez nous Offre LP+4-6 nurnéros et 3 hor Vile our 69 €*(Fipoook) contacter par e-mail : Pays cial@ed-diamond.com | Téléphone: ou par téléphone es ‘découper ou recopier et renvayer avec votre +33 (0)3 67 10 00 20 réglement 3 Les Editions Diamond Service des Abonnements [Ly Jautorse GNuvtinax Magazine & me contacter par 10, Place dela Cathédrale ~ 68000 Colmar = France ‘email ou par téléphone RETROUVEZ TOUTES NOS OFFRES SUR : Www.ed-diamond.com ! Pe neal Pesan Os) lus sal Madd aN BS rt td ere pera eo writer chez votre et sur w marchand de jou ww.ed-diamond rnaux nd.c .com SHELL & SCRIPTS 99 Fonctionnement et utilisation DES QUOTES DU SHELL MARTIAL BORNET LES QUOTES, QU'ELLES SOIENT SIMPLES OU DOUBLES, SONT DES FONCTIONNALITES ESSENTIELLES DES SHELLS, ET NE SONT PAS TOUJOURS CORRECTEMENT UTILISEES. NOUS ALLONS REVENIR SUR LEUR UTILISATION AFIN DE CLARIFIER LEUR FONCTIONNEMENT. Lécriture de scripts shell de bonne qualité passe toujours par une bonne maitrise de Iutlisa- tion des quotes, quelles soient simples ou doubles. Il est essen: tiel de bien comprendre comment le shell les traite, particulidrement dans le cas d’évaluation dargu- ments en cascade par plusieurs programmes (si, rake... Dans cet article, nous allons étudier leurs effets & laide dun programme C de visualisation arguments et dexemples appropriés, wured-diamond.com 1, RAPPELS SUR LES META-CARACTERES. Commengons par quelques rappels sur les shells et leurs méta-carac- tres (voir (1] pour une analyse plus complete) Un shell est un interpréteur de commandes qui donne un sens parti- culier 8 certains caractéres. On appelle ces caractéres des méta-carac- teres. Les méta-caractéres sont des caractéres qui sont traités de facon particuligre, et non recopiés tels quels comme les caractares standards, Ils peuvent différer d'un shell autre (ch, ks, 2s, ts.) Parmi les méta-caractéres généralement communs 8 tous les shells, on trouve par exemple + les espaces, qui sont traités comme des séparateurs d'arguments ; + le point-virgule (), qui est traité comme un séparateur de commandes; Linux Pratique n°116 8 Bi HELL & SCRIPTS 99 Quotes + le ET commercial (s), qui est traité comme un sépa- rateur de commandes indiquant qu'une commande doit étre lancée en arriére-plan (background) ; + le signe égal (-), qui permet laffectation dune valeur ‘une variable; + le signe dollar (i), qui permet révaluation du contenu d'une variable, ou d'une commande sil est associé & une parenthése ouvrante (dans certains shells) + le backslash (\, ou barre oblique inversée, qui permet la désactivation de linterprétation d'un méta-caracteére ; + les caractéres étoile ("), crochets ouvrant et fermant ((), et le point dinterrogation (°) qui sont utilisés dans les expressions de sélection (voir [1] et [2] pour plus de détails); sete. Dans cette liste, nous avons, entre autres, omis les quotes, que nous allons examiner plus en détail dans cet article. 2. LES QUOTES DU SHELL Dans la suite de cet article, nous utiliserons générale- ment le terme shell pour désigner le Bourne shell (sh) ‘ou le Bourne Again SHell (bash). ll existe 3 types de quotes en shell: + les doubles quotes (’); + les simples quotes (); + les back quotes, ou quotes inversées (). Elles sont toutes des méta-caractéres du shell et ont toutes leur propre interprétation + les doubles quotes permettent dencadrer des carac- ‘tres en supprimant la signification des mots-clés, des alias et de certains méta-caractéres, comme espace, le point-virgule, le ET commercial le signe égal, toile, les crochets ouvrant et fermant, etc., mais pas le dollar nile backslash ; + les simples quotes permettent drencadrer des carac- tres en supprimant la signification des mots-clés, des aliases et de tous les méta-caractéres, y compris le dollar et le backslash ; @© inxrrsiquerens + les back quotes permettent dencadrer une suite de caractéres correspondant & une commande a exé- cuter. Elles sont de moins en moins utilisées de nos Jours, donc nous ne les aborderons pas. (On notera un fait important : les quotes ouvrantes (délimiteur de début) et les quotes fermantes (déli- miteur de fin) utilisent le méme caractere, contrat- rement aux délimiteurs suivants qui distinguent le délimiteur de début et le délimiteur de fin + les parentheses: (et); + les crochets (ou square brackets): | et ); + les accolades (ou curly brackets) : (et); + les chevrons (ou angle brackets): En ce qui concerne les quotes, on ne peut pas identi- fier le type ouvrante ou fermante dune quote isolée de son contexte, contrairement aux délimiteurs cités précédemiment. Nous reviendrons sur cette caracté- ristique un peu plus loin dans cet article. 3. ANALYSE DES ARGUMENTS AVEC LE PROGRAMME ARGS.C Pour analyser plus facilement les syntaxes que nous allons tester, nous allons nous alder du programme avo: qui est la version compilée du programme C 205. suivant #include ‘include int main(int argc, char *argvi]) ( int. a PEint£("ARGC = d\n", arge); for (_i= 1; _4 < argo; _ iH) ( Printe("ARGV[s3d : Tength = $34) = [ts1\n", a strlen(argv{ _ il), axgvf_ il); ) return 0; , On obtient la version compilée de ce fichier source en langant la commande www linuxpratique.com Romarque :il est pratique de copier ce binaire dans un répertoire dont le nom est spécifié dans la variable PATH de fagon a pouvoir fexécuter en utili- sant uniquement son nom réduit (b2senar), et non. Le but de ce programme est de montrer les valeurs quilui sont passées en arguments. On utilise comme dans exemple suivant on eal rere length py 5 peer ea) length = 5] = (EEEEE] Ce programme affiche le nombre des arguments quilui sont passés (160), puis affiche chacun des arguments en indiquant leur numéro dans la liste des arguments, leur longueur en nombre de carac: teres, et finalement leur valeur entre crochets. Son intérét est de mettre en évidence les arguments qui sont effectivement passés a une commande, aprés avoir été éventuellement évalués par le shell, lors par exemple de linterprétation des expressions de sélec tion, comme dans le cas suivant cr ppeerty ra esc) ieee et de montrer que certaines chaines de caractéres sont passées 8 un programme sous forme d'une liste darguments conforme a la liste espérée, ou parfois non conforme a cette liste. Voici quelques exemples. diutilisation eae en I permet aussi de verifier que les quotes peuvent se désactiver mutuellement : les doubles quotes désactivent les simples quotes, et les simples quotes désactivent les doubles quotes ey ce eC) A oT Oe ul Les backquotes permettent le lancement de la com: mande vane et la transformation du résultat de cette commande en argument pour le programme ar Dans la deuxime commande, les simples quotes ont désactivé les backquotes : le programme sss recoit la chatne ‘uname men tant que chatne de caracteres. Dans la troisitme commande, les doubles quotes encadrant les simples quotes ont désactivé ces derniéres puisque les backquotes sont de nouveau opérationnelles et ont bien permis de lancer la com- mande vane Linux Pratique n°116 BE HEL SCRIPTS > Quote Dans lexemple précédent, on voit que lencadrement des doubles quotes par des simples quotes a pour effet de transformer les doubles quotes en simples caractéres sans signification pour le shell puisque les espaces de part et dautre de la chaine C0 retrouvent leur réle de séparateur arguments. ‘Au passage, on confirme le fait que, pour passer dune simple quote 3 un programme, on peut fenca drer de doubles quotes, et vice versa 4, QUELQUES MANIPULATIONS DE QUOTES Nous allons maintenant effectuer quelques manipu- lations de quotes afin de bien comprendre leur fonc- tionnement. 4.1 Premier cas : toto Supposons que nous voulions passer & un pro- gramme, par exemple le programme arss présenté plus haut, avec la chaine tio: cette chaine ne contient aucun méta-caractare du shell, donc nous avons les possibilités suivantes ol omc oe eco) Le fait de mettre la chaine toio entre quotes, simples, ou double, ne modifie en rien la valeur de la chaine passée au programme, 4.2 Deuxiéme cas : «toto» Supposons maintenant que nous voulions passer la chatne *oio', Cest-a-dire que nous souhaitons que le programme appelé recoive la chaine io\c encadrée de doubles quotes, nous avons alors les possibilités suivantes perce cers length coro La premiére possibilité désactive la signification des doubles quotes pour le shell, quiles traite alors. comme des caractéres standards, La deuxiéme possibilité utilise les simples quotes pour désactiver la signification de tout caractére Hintérieur de la paire de simples quotes. La troisiéme possibilité utilise les doubles quotes pour désactiver la signification de certains méta. caractéres, mais dans ce cas il est tout de méme nécessaire de faire précéder les doubles quotes & conserver dun backslash afin que le shell ne les Interpréte pas comme des doubles-quotes qui seralent des fermantes de la premiere. La quatriéme possibilité utilise les simples quotes uniquement pour désactiver linterprétation des doubles quotes. Sila chaine ioio comportait des méta- caractéres, ceux-ci seraient interprétés par le shell 4.3 Troisiame cas : ‘toto’ Supposons que nous voulions maintenant passer la chaine ‘oto. Les possibilités seraient les suivantes err coro www linuxpratique.com Le caractére > affiché sous la commande est le contenu par défaut de la variable 952 du shell, affiché lorsqu'une commande est incomplete. tength = 6] Compliquons maintenant un peu les choses. la premiére possibilte désacive 4.4 Quatriéme cas : «toto» uniquement linterprétation des simples quotes en les faisant pré céder du caractére backslash. Supposons maintenant que nous souhaitions passer le contenu dune variable lois encadré entre doubles quotes : nous allons initialiser préala blement la variable toto avec la valeur T0T0, afin de valider les résultats. La deuxiéme possibilité désac- tive Finterprétation de certains caractéres, y compris les simples quotes. Les possibilités sont les suivantes La troisiéme possibilité désactive ce) uniquement linterprétation des simples quotes en les encadrant entre des doubles quotes. cory Mais, contrairement avec ce que Von a fait au paragraphe 4.2 avec a la troisiéme possibilité, on ne Ces trois possibilités donnent bien des résultats identiques, mais sont pourrait pas utliser la notation elles équivalentes ? Remplagons donc le contenu de (oo par la chaine suivante GNU Not Unis, et relangons les mémes commandes care backslash, 8 lintérieur de simples quotes, nva aucune sinificaton partir i Pl se trouve donc étre la fermante poe dela premire.Lawolstme fant precede dun bacalash interpret por le shell event un caractre standard etl re quavéme et derire est une ea Feae nee eae coro een co a] En ce qui concerne la premiére et la troisiéme possibilit la valeur de la variable (lo nétait pas encadrée de double quotes actives: leur significa tion pour le shell a 6té désactivée par des backslashes ou par des simples quotes, donc les méta-caractéres contenus dans la variable ‘oi nvont pas Gté désactivés, et les espaces (en fait les seuls, dans la variable, qui sont des méta-caractéres) ont joué leur role de séparateur darguments. ms G11. & SCRIPTS »» 4.5 Cinquiéme cas interprétation de la variable Nous souhaitons maintenant passer la chaine $toto», sans et )encadrée rons utiliser les pos non la valeur contenue dans la variable entre doubl quotes. Nous sibilités suivantes cece length Bien sOr, pour des raisons de lisibilité et de mainte- nance des scripts, il est recommandé de toujours uti- liser les expressions les plus simples, et la premiére sera bien suffisante pour le besoin exprimé. 4.6 Sixiéme cas : utilisation de awk i est un programme trés puissant de manipulation de données au format texte. II peut accepter un pro- gramme (dans son langage) sous forme d'un argu: ment en ligne de commandes, et utilise des variables identification des champs possédant les mémes noms que certaines variables du shell : Si, $2, $2. Lécriture de programmes 2wic dans des scripts shell nécessite de ne pas confondre ces variables, et de placer correctement les quotes pour ne pas risquer de couper le programme en plusieurs arguments. tae toe Dans Fexemple suivant, dont lintérét est uniquement pédagogique, la fonction () a pour but de remplacer le deuxiéme champ (52 pour av) du fichier dont le pathname lui est passé en deuxiéme argument (‘2 pour la fonction {)) par le parametre qui lul est passé en premier argument (31 pour la fonction (0) #/bin/bash £0) ‘ ‘awe ‘BEGIN ( i= 1, print; poeta ) £ XKOK etc/passwd £ UNUSED /etc/group La référence a la variable $2 de avk doit arriver telle quelle 8 94, etla valeur a substituer au deuxiéme champ du fichier doit étre évaluée par le shell, mais. doit étre définie comme une chatne de caractéres pour avi, Sion regarde attentivement le programme yk, On voit quil commence par une simple quote (devant le mot CIN), et que la simple quote fer- ante associée se trouve étre la premiere simple quote de la ligne [ees Cette simple quote, que Ion pourrait prendre pour ne ouvrante, suivie quelques caracteres plus loin de son apparente fermante, est en fait bien une fermante, et celle qui suit est une ouvrante, et non une fermante, Ce qui signifie que tous les caractéres situés entre ces deux derniéres simples quotes sont interprétables par le shell. La variable $1 est donc une variable du shell, et nom une variable de yk, et sielle contient des caractéres interprétables par le shell, elle doit étre encadrée de doubles quotes afin d'étre transmise sans modification au programme. Les doubles quotes qui encadrent les simples quotes expriment, quant a elles, le fait que www linuxpratique.com ceaque fon este auchamp %2 laquelle de ces deux variables on dot chois, et comment on dolt a spé deavkest une chane de carac- cer. Le script dhdessous va lstrer les cfférences de résultats selon la teres, LImpossiblit, dontrous _syntaxechoisle avions parlé plus haut dans cet article, de déterminer si une ‘H/bin/bash {uote simple ou double) est ispp une ouvante ou une frrante ; Ne lee oleae i interpréter a ignition dune tse instruction telle que celle qui echo vient tre cee ile simples = quotes étalentremplacées par = des chevron par exemple, nous fy aurions aa pace fnstruction 7 disp BB Co" DoD ls Son exécution donne le résultat suivant aqui serait moins ambigué, et au montrerait lairement quelle est pas celle laquelle on pense en isan instruction isolément, 8 eens = area fe liconvient donc, lors de Fécriture de programmes ay, ou du pas: sage dun argument multi-lignes & nimporte quel autre programme, de faire trés attention a fendroit se trouvent les caractéres que fon manipule : 8 intérieur des quotes, ou a lextérieur des quotes. ">"; pores 5. LES VARIABLES $*, pO $@, «$*» ET «$@» baie pores Le shell définit quelques variables relatives aux arguments passés 3 un script ou une fonction dans lequel on voit que seule la syntaxe $0" permet la conservation ces variables sont s* et $2, mais sans modification des arguments passés 3 la fonction. L'expression 'S*" lorsquon neles utilise pas fréquem- conserve bien les arguments intacts, mais les concaténe en une seule ment, on se demande souvent chane de caractéres, en les séparant par un espace. cas trés particulier, on préférera donc utiliser dans les scripts la syntaxe "$2" qu ments tels quels, serve les argu (On trouve souvent des scripts dans lesquels fauteur, pour tester sila variable ‘io était vide, a écrit le code suivant pera Cette syntaxe suscite souvent des interrogations de la part des personnes quilisent le code, qui ne le comprennent pas immédiatement et se demandent Pourquoi il se trouve la, et pourquoi plut6t que nimporte quelle autre chaine de caractéres. Effectivement, sion souhaite tester si une variable est indéfinie ou vide (cest-a-dire quelle ne contient aucun caractére), il est préférable dutil: ser, depuis Unix v7 (publiée en 1979) la commande avec la syn- dou sortce ona choisi (plus souvent utilisée sous le nom taxe suivante La premiére syntaxe ne devrait pas étre utllisée, méme si le shell utilisé comporte des bugs et ne per- met utilisation de chaines vides. En effet, il existe des cas dans lesquels cette syntaxe ne donne pas le espéré, comme nous allons le voir avec le script suivant ees Pere) oe oe aed or rn eee Linux Pratique n°116 "toto Perera) Terenas Pe rear og Ce script effectue, pour 6 valeurs distinctes de la variable (ot, les deux tests de la variable, le premier avec la syntaxe quil faut éviter, et le deuxieme avec la syntaxe correcte. Voici le résultat d'exécution de ce script ere eee poner cas 2 rr toto Pore) ren warn toto est non-vide Cec as aa unexpected operator (On peut voir que le cas 1 (variable toi» indéfinie) et le a8 2 (variable too vide) donnent des résultats cor- rects avec les deux syntaxes, Par contre, dans le cas 3 (variable ioio contenant un espace), le résultat avec la premiére syntaxe est incorrect: la variable ‘oto rest pas vide, mais son contenu (un espace) est ignoré parle shell, car traité comme un simple séparateur c'arguments. Le cas 4 est identique au cas 3 le fait que la variable contient plusieurs espaces plutét qulun seul ne change en rien le résultat Le cas 5 pose un probléme de syntaxe, car la com- mande évaluée est en fait Jute ce qui n'a aucun sens pour lopérateu! 1; then uisquil ya deux opérandes & gauche (x et A), et que cette syntaxe est sans signification pour lui. On notera une difference dans le cas ou on utilise bash au lieu de s) dans ce cas, le message derreur sera remplacé par: qui semble un peu plus clair que le précédent, wured-diamond.com Fanctionnerent et utilisation shell 9 es qu Plus grave maintenant, le cas 6 montre comment on peut piéger un test mal écrit et lui faire dire le contraire de la réalité : en effet, le contenu de la variable (oto nvest pas encadré de doubles quotes, donc on peut placer dans cette variable des él ‘ments qui seront interprétés par la commande de test, et changeront le test réellement effectué. Dans le cas présent, la commande réellement effectuée sera en fait : soit: si x égale x et x égale x, qui est toujours vrai On voit ici clairement le danger dutiliser une syn- taxe approximative puisque dans certains cas, une personne mal intentionnée pourrait faire en sorte de générer les conditions permettant & un test de donner un résultat différent de la réalité CONCLUSION Apres cette étude relativement approfondie des quotes et de leur utilisation, il ne devrait plus, en Principe, subsister de questions relatives a celles que fon doit utiliser, ni quand on doit les utiliser. Dans thypothase oi ily aurait encore des doutes, utilisation du programme ars: permettra de les lever rapidement. Et la régle absolue a conserver en mémoire lorsqu'on écrit des scripts est tou- jours: essayer de faire le code le plus simple et le plus lisible possible ! REFERENCES [1] « Expressions Réguliéres, Syntaxe et mise en oeuvre »- Martial Bornet - Editions ENI- ISBN 978-2-7460-9806-0 [2] «glob(7) »: page de manuel de lobbing pathnames décrivant les expressions de sélection du shell, et accessible par la commande : a7 slob Linux Pratique n°116 38 Ce Ey or acolo) LES LOGICIELS DE SECURITE PEUVENT ETRE COMPLEXES A COMPRENDRE ET oP MaMa ee oe laa a) amy een Del ae sata) aa emer @ lam cle) UU} STU a Clea tael eee eae) 0) e300 eel SL) fats SUP ses R ase Lt) a en a ae QUE PEU DE CHOIX DE CONFIGURATION. EN EFFET, SON DEVELOPPEUR, JASON ENDL NP ee Cu ea el eo Ld aod Colona Lo Nace Vel mee Mara Oe LS ALUTILISATEUR QU'UNE SIMPLE INTERFACE RESEAU. CES CHOIX PERMETTENT DE MASQUER BEAUCOUP DE LA COMPLEXITE SOUS-JACENTE DU VPN DERRIERE (ania oy alee Poke) cen a ee) aCe) WIREGUARD AFFIRME AUSSI APPORTER UN HAUT NIVEAU DE PERFORMANCE. JE VOUS PROPOSE DE VERIFIER ENSEMBLE SI CETTE PROMESSE EST BIEN TENUE ! ee) en S\NU LLIN T ETP Reyes Upp eae ced Pee 1. UN VPN, DIANTRE, MAIS POURQUOI FAIRE ? Excellente question !En effet, nous entendons souvent parler de VPN, mais avant cen installer un, voyons si nous en avons vraiment besoin. Avant d'étre un logiciel, un Virtual Private Network (VPN) est une architecture réseau permettant diétablir une communication chiffrée et sécurisée entre deux ‘machines et au-dela de ces machines, entre les deux réseaux de part et diautre de ce tunnel chiffré. Cette architecture est souvent basée sur le modéle client-server, mais pas tout le temps. Les cas d'usage les plus fréquents sont les suivants + Tusage professionnel : apres sftre connecté au Wi-Fi de son hotel, un professionnel en déplacement va se connecter au serveur VPN de son entreprise. Cela va établir, entre son ordina- teur et le serveur en question, un tunnel chiffré dans lequel tout le trafic réseau sortant dela ‘machine du professionnel tran- sitera, La personne en question sera alors sOre qu‘aucune infor- ‘mation sortant de sa machine ne sera accessible & quelquun qui scruterait le réseau (requétes DNS, trafic web non sécurisé, ‘messages électroniques en clair, etc.) La connexion VPN lui per- met ainsi daccéder aux services et serveurs disponibles sur son réseau interne dentreprise (ser- veurs intranet, applicatifs wored-diamond.com iétiers, messagerie, etc), mais aussi a son proxy de navigation wed, + tusage pour le consommateur aurdeld de la communication sécurisée décrte dans le para- raphe précédent, un VPN peut ous aider& accéder & des ser- vices inacessibles depuis votre domicile ou votre smartphone en France. En effet i faut com- prendre que si votre trafic web passe au travers dun serveur ‘VPN localisé par exemple aux Etats-Unis alors, fadresse P que Verront es services web aux- quels vous accéderez sera celle du serveur VPN. Et dans le cas dun serveur VPN aux USA, ces services web verront que votre adresse IP est américaine. Cela peut, par exemple, vous servir a avoir accés& des services uniquement accessibles aux machines amériaines. + Tusage pour le ctoyen ou le militant: nous avons compris quiaprés avoir établ la commu- nication entre votre poste et le serveur VPN, tout votre trafic réseau part de maniére cht- frée vers ce serveur. ainsi, plus aucune inspection ni manipula- tion du trafic rest possible entre ces deux machines. Dans le cas un citoyen dun pays autor- taire, voire pire, si le serveur est hors de portée de état en question, le citoyen peut étre sir aqui ne pourra pas étre surveillé ni censuré par une surveillance de masse étatique, Des attaques ciblées peuvent toujours étre opérées contre votre ordinateur ou votre smartphone, mais dans WireGuard, le VPN simple et efficace 99 ce cas, nous sortons du modéle de menace auquel répond le VPN. En un mot, si vous étes dans ce cas, courez ! En résumé, le VPN peut vous permettre + daccéder & Internet avec la certi- tude que votre trafic réseau rvest ni observable ni modifiable entre votre machine et votre serveur VPN; + daccéder de maniére sécurisée votre réseau dentreprise et donc 8 des services et des res- sources non directement raccor- dés a internet ‘et de pouvoir cacher votre adresse IP réelle. Cette caracté- ristique rest pas une assurance tout risque, mais un premier pas vers plus de discrétion. sitel est votre objectif, usage de réseau de type Tor et de navigateurs durcis(blocage du JavaScript, etc) vous permetira davoir plus assurance sur ce dernier point. Maintenant que vous avez tout cela en main, pensez-vous étre intéressé parla découverte dun VPN simple et efficace ? Oui ? Alors, jetons un regard curieux et enthousiaste sur WireGuard. 2. WIREGUARD : LES CONCEPTS WireGuard, avant diétre un outil, est tout d'abord un protocole de communication. Son auteur Ia écrit et documenté de maniére ouverte, Lobjectif est de faciliter la création 5 = 2 a zg S 2 ¥ plateformes, dans des langages différents et avec des choix darchi- tecture qui peuvent différer de timplémentation de référence. Par ‘exemple, un développeur peut choisir de en pas utiliser de module noyau et de Sorienter vers une Jmplémentation uniquement en espace utilisateur. Cy ra Décrivons rapidement quelques points clés de WireGuard : + il sagit dun protocole de com- munication de niveau 3 (méme niveau quiP) ; +l tlise UDP comme transport; +l peut établir une communica- tion de pair pair entre les deux machines établissant le lien VPN {out comme une implémentation de type client serveur + Tauthentification des paquets émis par les machines repose sur le principe des clés SSH (chaque machine dispose d'un Jeu de clés privée et publique) ; +e protocole est discret : aucun paquet non authentifié ne rece- vra de réponse; + ilimplémente un jeu restreint dalgorithmes cryptographiques ‘qui sont a Fétat de Vart. Quand ‘ceuxcciseront mis en défaut par une attaque, is seront changés pour des alternatives plus + un point important est que le protocole ne comporte aucune phase de négociation sur ces algorithmes entre les deux machines. Ainsi, on coupe court tout risque dattaque de type ‘«négociation & la baisse » vers des algorithmes moins srs ; Q© irwrrreiquereis + enfin, WireGuard est basé sur Nimplémentation d'une interface réseau de type WireGuard (Le. »»90). Bu coup, tout ce que vous faites habituellement sur les interfaces réseau (fitrage, rou- tage) est faisable sur Vinterface réseau dédiée au VPN et fournie par WireGuard. 3. WIREGUARD : LA MISE EN CEUVRE La configuration de notre test est basée sur un serveur core i3, tournant sous Debian 9 hébergé dans un datacenter OVH en France et sur un ordinateur portable tournant sous Ubuntu 19,04 raccordé a Internet via la fibre. Je précise cela pour don- rer le contexte technique des mesures de performance don- nées dans le dernier paragraphe de rarticle. Liaison Internet 3.1 Réseau Lorsque le VPN sera activé sur ordinateur portable, nous allons choisir de router tout le trafic sor- tant de fordinateur au travers du tunnel VPN. Voici ce que cela donne au travers dun schéma : lest & noter que ce nest pas du tout une obligation et on pourrait router dans ce tunnel que le tra- fica destination des adresses pri- vées des machines appartenant au VPN. En effet, il est important de com- prendre qu'un VPN est un réseau privé virtuel au sein duquel tous les ordinateurs qui y évoluent ont tne adresse IP privée apparte- nant a ce VPN. Pour notre archi tecture VPN, nous allons mettre cen place la plage d'adresses IP privées suivante : 10.200.200.0 = 10.200.200.255, soit le sous réseau 10.200.200.0/24, Internet &2 directe Laptop Liaison VPN 10.200.200.2 Serveur 10.200.200.1 FIGURE 1. Architecture de notre VPN. won linuxpratique.com 3.2 Configuration du serveur VPN Nous allons commencer par installer WireGuard sur notre serveur. II agit dans notre cas d'un serveur sous Debian 9 (aka Stretch). Ilest 8 noter que toutes les modifications qui vont étre apportées au systéme et la configuration de WireGuard exigent que vous ayez les droits d'administration sur votre systéme (culo ou €lévation de privileges de type rood. NOYAU LINUX : UN PETIT POINT Py NatNOh) Ce eeu eae rer votre attention sur un point particulier: ST a Cua Pee cacy Cee ee ae none Ce td ete Coe AU nh a sein des modules standards du noyau Linux. Cree ae nd en tant quiutilisateur: il faut que les entétes de votre noyau Linux soient installés sur les Eee ee eect Runt Pe ee eee Pc Ce ee RL eet eee cir und Pe enor aio eet ea ea end Oe cas Boe eens uae ed Co ee Pee eee) Modifions tout d'abord nos dépots et rafraichissons D debian/ unstable main” List.d/anstable: reer eres eerie ay or Perron} oo) trretrcere crit errr Peer eas Install Berrersetern: pic yenoers ret coe Pavcreeetey preety eesti Nous noterons la compilation et installation du module noyau de WireGuard. Vérifions ensuite avec la commande module est bien chargé en mémoire que le eee erent) ere 208896 acme rt Seen! se Passons ensuite a la configuration de notre serveur VPN WireGuard. On se rend donc dans le répertoire ISTRATION 99 VF MISE A JOUR DU NOYAU LINUX Pee cn ea ec eg Ree eu Cee peter Peat tees ees a votre noyau, vous devrez réinstaller les entétes, ce qui per- Dee a oe my Boe eee ue eo ad ee Ce temec tec e CCeecaite cere ete eee te Puis effectuons les étapes de configuration suivantes 1) Mettons en place le relais de paquets qui permet au serveur VPN de relayer vers internet (ou son réseau local) les paquets venant de ses clients et de traiter correctement les paquets retours. Pour cela, on décommente la ligne ad-hoc dans le fichier et on force la prise en compte immédiate de la modification pee ed 2) Ouverture du pare-feu : nous allons utiliser le port par défaut de WireGuard (51820) et nous allons configurer notre pare-feu pour lais- ser passer le trafic UDP vers ce port. Pour cela, nous utilisons finter- face de configuration iptables et nous controlons sa prise en compte # ipeabl a Prosties Cee ometeg destinatio! cor eens peers) Poet eco anywhere coe poate enees Cece nets canary peace: ee anywhere eee eee anywh destinati cer ao ety renee Bien entendu, vous veillerez & sauvegarder ces nouvelles régles iptables afin quelles persistent apres le prochain redémarrage du systéme. Les commandes et per- mettent de sauvegarder la confi- guration iptables courante dans Un fichier et de la restaurer. Le Paquet permet de réutliser ce fichier & la relance de votre machine. Pour cela, le paquet vous demandera lors de son installation les fichiers de sauvegarde de vos régles (en général, il agit de et less) afin de pouvolr les restaurer au redémarrage du systeme, 3) Génération des clés privée et publique du serveur. Comme indiqué plus haut, authentification des paquets émis par les machines se fait au travers de clés privées et publiques. Il faut donc les géné rer, respectivement ici sous les fichiers et eee 4 chnod 600 privatekey er Fanoee 4) Création du fichier de configu: ration. Aprés avoir récupéré le nom de votre carte réseau portant votre adresse IP publique grace a la commande isis (dans mon as, il 'agit de Vinterface e001), nous allons créer le fichier de configuration et le compléter avec une premiere partie de la configura tion du serveur www linux-pratique.com ERT ListenPort = 51820 ersten a mre ney recta nretse ease cer tc ss ee} peme rest) ee Sen er ee) ere Stee erent aed Pome t PrivateKey = COPIER _ICI_LA_CLE_ Cy Détaillons quelques-unes des options : cela permet de fixer adresse IP du serveur au sein du VPN. Ici, ce sera 10.200.200.1 Point important : le masque |? permet de dire & WireGuard que les adresses du réseau VPN vont de 10.200,200.0 & 10.200.200.255. ‘oow0 lignes permettent de mettre en place des régles iptables de translation dadresses a Factivation du VPN et de les inactiver & son arrét. Cela permet de router les paquets réseau venant des clients vers Internet quand cest nécessaire, Note : veillez & bien valoriser la configuration ci-dessus avec + le nom de votre interface réseau (comme dit plus haut, dans mon cas evo) + et le contenu de votre fichier genéré a etape précédente, On modifie ensuite les droits du fichier afin den assurer la confidentialité (lecture possible unique- ment par l'utilisateur rood) Nt RL Puls nous activons le VPN via les commandes et os er Ce et Omer) etme et reremt RCE entire (CeCe ae eC ner erste Sc nein pees er ener nel Pent} cere ty poorer) pase Sneha tse oem Tere) Listening port: 51820 Nous installons ensuite WireGuard sur fordinateur portable tournant sous Ubuntu 19.04. Nous allons + installer les entétes du noyau et DKMS + installer le dépét de WireGuard ; + installer le logiciel + activer le module (vous pouvez aussi relancer la machine); + et vérifier le bon lancement du module. # sudo apt-get install Linux-headers: eet eee ret es See Sa recrrtcy Sern eee nt ee urement) Peers emcees eteen iene eer! Por) Poe Ld Foray Perr’ moti! Perec! Linux Pratique n°116

You might also like