version finale
This commit is contained in:
parent
adbbc9e7a6
commit
dcdcfc6134
17 changed files with 99 additions and 80 deletions
|
@ -1,12 +1,16 @@
|
|||
# Automatiser les tâches récurrentes
|
||||
|
||||
Quand nous étudions attentivement à notre usage de l'informatique, nous réalisons que bien des tâches sont répétitives et qu'il y a souvent peu de différence entre les actions que nous posons d'une itération à une autre.
|
||||
|
||||
En automatisant certaines tâches, nous libérons du temps pour effectuer celles qui nécessitent de la réflexion ou des interactions sociales, ou encore pour prendre du temps pour soi !
|
||||
|
||||
## Utiliser le langage de ligne de commande Bash
|
||||
|
||||
Nous préférons Bash pour automatiser des tâches à effectuer de façon récurrente[](https://fr.wikipedia.org/wiki/Bourne-Again_shell). C'est un langage de script qui est principalement utilisé sur les systèmes d'exploitation GNU/Linux et macOS.
|
||||
Nous préférons [Bash](https://fr.wikipedia.org/wiki/Bourne-Again_shell) pour automatiser des tâches à effectuer de façon récurrente. C'est un langage de script qui est principalement utilisé sur les systèmes d'exploitation GNU/Linux et macOS.
|
||||
|
||||
Il est aussi possible d'installer [MSYS2](https://www.msys2.org/) sur Windows. Cet outil donne accès à une multitude de logiciels créés initialement pour GNU/Linux, dont Bash.
|
||||
|
||||
Voici des usages fréquents du langage de script Bash:
|
||||
Voici des usages fréquents du langage de script Bash :
|
||||
|
||||
- Appeler des logiciels
|
||||
- La manipulation de fichiers
|
||||
|
@ -23,31 +27,33 @@ Un exemple d'appel de logiciels que nous utilisons souvent, c'est un court progr
|
|||
|
||||
### La manipulation de fichiers
|
||||
|
||||
Au lieu d'utiliser des fichiers binaires tels que ceux produits par les suites bureautiques tels que Microsoft Office, les environnements en ligne de commande préfèrent les fichiers simples au format texte. Ils excellent dans la manipulation de ceux-ci.
|
||||
Au lieu d'utiliser des fichiers binaires tels que ceux produits par les suites bureautiques tels que Microsoft Office, les environnements en ligne de commande préfèrent le format texte. Ils excellent dans la manipulation de ceux-ci.
|
||||
|
||||
Souvent, les logiciels conçus pour la ligne de commande sont interfacés très simplement : ils reçoivent du texte, souvent d'un fichier, et retourneront du texte dans un fichier. Dans les autres cas, le texte voyage d'un programme à l'autre par les tubes ou parvenir à la sortie standard (ce qui est affiché à l'écran).
|
||||
Souvent, les logiciels conçus pour la ligne de commande sont interfacés très simplement : ils reçoivent du texte, souvent d'un fichier, et retourneront du texte dans un fichier. Dans les autres cas, il voyage d'un programme à l'autre par les tubes ou parvenir à la sortie standard (ce qui est affiché à l'écran).
|
||||
|
||||
Un exemple fréquent de manipulation de fichiers: fusionner des fichiers PDF en un seul document. Le logiciel *pdftk* permet d'arriver à ce résultat.
|
||||
Un exemple fréquent de manipulation: fusionner des fichiers PDF en un seul document. Le logiciel [pdftk](https://framalibre.org/content/pdftk) permet d'arriver à ce résultat. En passant, le lien pointe sur Framalibre, qui est un répertoire génial d'applications libres, toutes en français !
|
||||
|
||||
### Les tubes
|
||||
|
||||
Les tubes permettent d'utiliser la sortie d'un programme directement dans l'entrée d'un autre programme, sans devoir écrire un fichier. Ils sont représentés par la barre verticale`|`.
|
||||
Les tubes permettent d'utiliser la sortie d'un programme directement dans l'entrée d'un autre programme, sans devoir écrire un fichier. Ils sont représentés par la barre verticale *|*.
|
||||
|
||||
Un exemple fréquent que nous utilisons est pour effectuer la recherche de fichiers.
|
||||
|
||||
Le logiciel le plus courant sur GNU/Linux qui permet de lister tous les fichiers d'un répertoire se nomme`find`. Il peut répondre à certaines conditions, par exemple une extension de fichier précise comme *.pdf* pour les fichiers PDF.
|
||||
Le logiciel le plus courant sur GNU/Linux qui permet de lister tous les fichiers d'un répertoire se nomme *find*. Il peut répondre à certaines conditions, par exemple une extension de fichier précise comme *.pdf* pour les fichiers PDF.
|
||||
|
||||
Si nous voulons filtrer plus précisément cette liste de fichiers avec d'autres attributs, nous utiliserons le logiciel grep. Ce dernier utilise une **expression régulière**, une syntaxe fréquemment utilisée dans la recherche de texte.
|
||||
Si nous voulons filtrer plus précisément cette liste de fichiers avec d'autres attributs, nous utiliserons le logiciel [grep](https://fr.wikipedia.org/wiki/Grep). Ce dernier recourt à une [expression régulière](https://fr.wikipedia.org/wiki/Expression_r%C3%A9guli%C3%A8re), une syntaxe fréquemment utilisée dans la recherche de texte.
|
||||
|
||||
### Les boucles
|
||||
|
||||
Les boucles permettent de contrôler l'exécution répérée d'une section de programme. Celles-ci permettent de répéter des tâches identiques ou très similaires pour de multiples valeurs en entrée. Par exemple, si nous voulons produire un document quasi identique pour chaque jour de la semaine, c'est possible. L'élément de code qui permet de répéter du code un nombre déterminé de fois est nommé *for*. Il existe aussi les boucles *while* et *until* qui sont basées sur une condition. Elles sont utilisées lorsque le nombre de répétitions n'est pas connu à l'avance.
|
||||
Les boucles permettent de contrôler l'exécution répétée du code. Généralement, il s'agit d'une section d'un programme qui effectue une seule, ou ça le devrait ! Celles-ci permettent de répéter des tâches identiques ou très similaires pour de multiples valeurs en entrée. Par exemple, si nous voulons produire un rapport chaque jour de la semaine, c'est possible. L'élément de code qui permet de répéter du code un nombre déterminé de fois est nommé *for*. Il existe aussi les boucles *while* et *until* qui sont basées sur une condition. Elles sont utilisées lorsque le nombre de répétitions n'est pas connu à l'avance.
|
||||
|
||||
### Un exemple pratique
|
||||
|
||||
Pour créer ce guide, nous utilisons le langage [Markdown](https://www.markdownguide.org/) ainsi que le langage [\LaTeX](https://www.latex-project.org/), deux systèmes de conception de documents. Le premier est davantage utilisé pour le contenu texte et le code informatique; le second, pour la mise en page et les graphiques. Comme nous devons souvent convertir les fichiers Markdown au format \LaTeX, puis en PDF pour avoir un aperçu du document, alors nous utilisons Bash et les logiciels *Pandoc* et *pdflatex*.
|
||||
Pour créer ce guide, nous utilisons le langage [Markdown](https://www.markdownguide.org/) ainsi que le langage [\LaTeX](https://www.latex-project.org/), deux systèmes de conception de documents. Le premier est davantage utilisé pour le contenu texte et le code informatique ; le second, pour la mise en page et les graphiques. Comme nous devons souvent convertir d'un à l'autre, puis en PDF pour la publication, alors nous écrirons un script Bash et les logiciels [Pandoc](https://pandoc.org/) et [pdflatex](https://www.tug.org/applications/pdftex/) pour automatiser cette tâche.
|
||||
|
||||
Ce guide comprend 3 sections composées chacune de 4 chapitres. Pour chaque chapitre, il y a un fichier Markdown distinct. Nous voulons convertir chacun d'eux vers le format \LaTeX. Nous allons donc itérer pour chacune des sections, puis à l'intérieur de celle-ci, pour chacun des chapitres. Notre code sera donc exécuté 12 fois.
|
||||
**Conseil important**: Pandoc est sérieusement à considérer pour les créatrices et créateurs de contenu, il permet de produire ses textes avec la syntaxe Markdown, puis de publier sous une multitude de formats. Nous conseillons fortement d'y jeter un oeil.
|
||||
|
||||
Ce guide comprend 3 sections composées chacune de 4 chapitres. Pour chaque chapitre, il y a un fichier [Markdown](https://fr.wikipedia.org/wiki/Markdown) distinct. Nous voulons convertir chacun d'eux vers le format \LaTeX. Nous allons donc itérer pour chacune des sections, puis à l'intérieur de celle-ci, pour chacun des chapitres. Notre code sera exécuté 12 fois.
|
||||
|
||||
Ensuite, nous utilisons le logiciel *pdflatex* pour générer ce document PDF.
|
||||
|
||||
|
@ -64,5 +70,3 @@ done
|
|||
|
||||
pdflatex --shell-escape -synctex=1 -interaction=nonstopmode main.tex
|
||||
```
|
||||
|
||||
Note : [Pandoc](https://pandoc.org/) est à considérer pour les créatrices et créateurs de contenu, il permet de produire ses textes avec la syntaxe Markdown, puis de publier sous une multitude de formats. Nous conseillons fortement d'y jeter un oeil.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue