Commit daddc81f authored by 84524221613d58c87acfb7d2d0777c72's avatar 84524221613d58c87acfb7d2d0777c72
parents df51eae8 56de6ddd
# Journal de bord du Mooc / Mooc's logbook
# Journal de bord du Mooc
FR
**Bienvenue dans mon journal de bord du Mooc RR !**
Espace réservé au journal de bord du Mooc
## Module 1 : « Cahier de notes, cahier de laboratoire »
EN
Ce premier module offre une partie historique tout à fait interressante.
J'utilise déjà la notation markdown pour divers applications, par contre j'ai
beaucoup à apprenndre sur le fonctionnement de Gitlab et je pressens que j'en
ferai un usage intensif !
Reserved for the Mooc's logbook
\ No newline at end of file
### Une application des « étiquettes »
Je propose une petite application utilisant les étiquettes.
Il s'agit de construire un fichier markdown structuré en *strophes* à savoir un
ensemble de lignes encadrées par des étiquettes personnalisées.
- La première strophe est la table des matières (notée TOC).
- Sur chaque ligne de la TOC est inscrit un sujet numéroté-
- Les autres strophes, encadrées des numéros correspondants, développent les sujets.
Les étiquettes sont de la forme :
- pour la table des matières : `<!--:toc:--> ... <!--::toc::-->`
- pour le sujet numéroté 4 (par exemple) : `<!--:4:--> ... <!--::4::-->`
Pour exploiter ce fichier, un script Python extrait une strophe en utilisant ces
commentaires comme des expressions régulières, et l'affiche sur le navigateur
par défaut,
Ci-joint, une copie d'écran qui illustre la structure de l'application.
![exemple](etikedo.png).
Le script Python se nomme `md2html.py`.
Il est à côté du répertoire `exemple` contenant le fichier markdown `exemple.md`
et des images utiles au format `png`.
Pour exploiter plus facilement ce fichier, on peut utiliser un shell script (cf.
le fichier `exemple`).
<!--
Ce fichier est rédigé en langage markdown.
Il est structuré en strophes. Une strophe est un ensemble de lignes encadrées
par des étiquettes (utlisant des commentaires markdown).
- La première strophe est la table des matières (notée TOC). Sur chaque ligne est inscrit un sujet numéroté-
- Les autres strophes, encadrées des numéros correspondants, développent les sujets.
-->
<!--:toc:-->
### TOC
1. Texlive
2. Anaconda
3. Gâteaux secs
4. Clavier Eo
<!--::toc::-->
---
<!--:1:-->
### Install texlive
La commande `tlmgr --self` informe sur la mise-à-jour. Pour faire une mise-à-jour :
`tlmgr -gui` Puis appuyer sur "Mettre à jour tous les packages installés"
##### Install
Exemple d'install pour texlive 2019 :
- download de `install-tl` depuis le site `tug.org/texlive/acquire-netinstall.html`
- décompresser `install-tl-unx.tar.gz`
- `$ ./install-tl -gui`
- configurer le répertoire principal : `/home/bob/texlive/2019`
##### Ajout d'un paquet (par exemple `bclogo`)
`tlmgr install bclogo`
##### Ajout d'un paquet hors texlive (par exemple `tikz-uml.sty`)
- Créer un répertoire dans `~/texlive/2019/texmf-dist/tex/latex` :
`$ mkdir tikz-uml`. Vérifier les permissions : `755 bob:bob`
- Ajouter le paq dans le répertoire :
` ./tikz-uml/tikz-uml.sty`. Vérifier les permissions : `644 bob:bob`
- Régénérer la base de données de texlive :
`$ mktexlsr`
**Note :** Même procédure pour ajouter une classe de document (`*.cls`).
<!--::1::-->
---
<!--:2:-->
### Install anaconda
##### Install
- Download : `https://www.anaconda.com/distribution/`
- Dans `Téléchargement` : `$ bash <distrib>`
- Accepter l'activation de l'environnement de base
##### Mise à jour
`conda update conda` puis `conda update --all`
##### Les environnements
- Création
1. `conda config --set channel_priority strict`
2. `conda create -n dun2 python=3.7`
- Activation : `conda activate dun2` (alias : `dun2`)
- Désactiver l'environnement en cours : `conda deactivate` (alias : `deac`)
Note : Pour **ne pas activer** conda base au startup :
`$ conda config --set auto-activate_base false`
<!--::2::-->
---
<!--:3:-->
### Gâteaux secs
##### Préparation
45 min. Cuisson 10 min.
##### Ingrédients
- 175 g de farine
- 1/2 cc de bicarbonate de sodium
- 1/2 cc de cannelle
- 1/2 cc de gingembre
- 75 g de sucre
- 75 g de beurre
- 2 cs de miel (miel de coing ou sirop d'agave)
- 1 jaune d'œuf
![gâteaux secs](canelle_gingembre.png)
Préchauffer le four à 180 °C (th 6).
Mélanger les matières sèches. Ajouter le beurre ramolli, le jaune d'œufs et le miel de coing. Bien mélanger. Pétrir, faire une boule et la laisser reposer 1/2 h au frigo dans papier alimentaire.
Étaler au rouleau sur papier sulfurisé, quadriller au couteau puis séparer les carrés pour qu'ils ne collent pas à la cuisson.
10 min au four puis laisser refroidir sur le papier sulfurisé.
Bon appétit !
<!--::3::-->
---
<!--:4:-->
### Claviers Eo
Par défaut j'utilise la disposition de clavier : « Français (variante) » qui est assez riche.
*On peut visualiser un clavier par l'application* `Onboard`.
Par contre, j'ai besoin d'afficher les caractères accentués de l'espéranto.
##### Configuration
À la racine du compte, mettre le fichier `.Xmodmap` (-rw-r--r--) contenant :
![keycode](keycode.png)
On active ce fichier par la commande :
`$ xmodmap ./.Xmodmap`
*À ne faire qu'une fois car l'effet est persistant.*
##### Usage
Les 6 lettres accentuées de l'espéranto sont simplement obtenues en utilisant la touche Windows gauche (notée `W`). Par exemple :
- `W+c` (ĉ) ou `W+u` (ŭ) pour les bas de casse ;
- `Shift+W+c` (Ĉ) ou `Shift+W+u` (Ŭ) pour les capitales.
<!--::4::-->
# coding: utf8
"""Extrait une strophe du fichier info.md et l'affiche dans firefox
Usage: python3 md2html.py nom_fichier.md [numéro_strophe]
La strophe à afficher est encadrée par un commentaire spécial dans info.md :
<!--:numéro_strophe:-->
strophe
<!--::numéro_strophe::-->
L'appel sans numéro de strophe donne la table des matières .
Auteur: B. Cordeau sur une idée de L. Pointal
"""
# Import ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import sys
import re
from pathlib import Path
from markdown import markdown
import webbrowser
# Programme principal =========================================================
fichier_md = sys.argv[1]
motif = 'toc' if len(sys.argv) == 2 else sys.argv[2]
motif_deb = r"<!--:" + motif + ":-->"
motif_fin = r"<!--::" + motif + "::-->"
deb = re.compile(motif_deb)
fin = re.compile(motif_fin)
infos = "" # chaîne résultat
dedans = False
with open(fichier_md, encoding='utf-8') as f:
for line in f:
if fin.match(line):
break
if dedans:
infos += line
if deb.match(line):
dedans = True
path = Path(sys.argv[1])
fichier = path.name.split(".")[0]
titre = "TOC" if len(sys.argv) == 2 else fichier + " n° " + sys.argv[2]
entete = """\
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>""" + titre + """</title>
</head>
<body>
"""
body = markdown(infos)
enbas = """\
</body>
</html>
"""
page = entete + body + enbas
with open("page.html", "w", encoding="utf-8") as f:
f.write(page)
webbrowser.open("page.html")
test
\ No newline at end of file
# Partie 1
## Sous-partie 1 : texte
Une phrase sans rien
*Une phrase en italique*
**Une phrase en gras**
Un lien vers [fun-mooc.fr](https://www.fun-mooc.fr/)
Une ligne de `code`
## Sous-partie 2 : listes
**Liste à puce**
- item
- sous-item
- sous-item
- item
- item
**Liste numérotée**
1. item
2. item
3. item
## Sous-partie 3 : code
# Extrait de code
```python
# On repère une position sur un échiquier par une lettre (la colonne) et un nombre (la ligne).
# Entrer une position valide et déterminer la couleur de la case.
H = 'abcdefgh' # Repère horizontal
# Saisies filtrées de la position
lettre = input("Position horizontale ['a'.. 'h'] : ").lower()
while lettre not in H:
lettre = input("Position horizontale ['a'.. 'h'], S.V.P : ").lower()
nombre = int(input("Position verticale [1.. 8] : "))
while not (1 <= nombre <= 8):
nombre = int(input("Position verticale [1.. 8], S.V.P : "))
# On postule que noir est vrai et blanc faux
coul_lettre = True if H.index(lettre)%2 == 0 else False
coul = coul_lettre if nombre%2 == 1 else not(coul_lettre)
print(f"\nLa position '{lettre}{nombre}' est une case {'noire' if coul else 'blanche'}.")
```
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment