README.md 4.43 KB
Newer Older
Matthieu Boileau's avatar
Matthieu Boileau committed
1
2
# Construction du site <https://calcul.math.unistra.fr>

Matthieu Boileau's avatar
Matthieu Boileau committed
3
4
5
6
7
8
9
10
11
## Installation de Pelican et prérequis

### Git-lfs

[`git-lfs`](https://git-lfs.github.com/
) est utilisé pour gérer les fichiers attachés.

### Paquets python

12
Il est conseillé d'utiliser [`virtualenv`](https://virtualenv.pypa.io/en/latest/userguide/) ou [`conda-env`](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) pour isoler vos installations python.
Matthieu Boileau's avatar
Matthieu Boileau committed
13

Matthieu Boileau's avatar
Matthieu Boileau committed
14
15
16
17
#### Avec `virtualenv`

On crée un virtualenv dans la racine du projet

Matthieu Boileau's avatar
Matthieu Boileau committed
18
```bash
Matthieu Boileau's avatar
Matthieu Boileau committed
19
20
21
22
23
virtualenv --python=python3 venv
```

On l'active

Matthieu Boileau's avatar
Matthieu Boileau committed
24
```bash
Matthieu Boileau's avatar
Matthieu Boileau committed
25
26
27
28
source venv/bin/activate
```

On install les dépendances et Pelican avec
Matthieu Boileau's avatar
Matthieu Boileau committed
29

Matthieu Boileau's avatar
Matthieu Boileau committed
30
```bash
Matthieu Boileau's avatar
Matthieu Boileau committed
31
32
33
pip install -r requirements.txt
```

Matthieu Boileau's avatar
Matthieu Boileau committed
34
35
36
37
#### Avec `conda-env`

On crée un conda-env qui contient les dépendances

Matthieu Boileau's avatar
Matthieu Boileau committed
38
```bash
Matthieu Boileau's avatar
Matthieu Boileau committed
39
40
41
42
43
conda env create --file environment.yml
```

On l'active

Matthieu Boileau's avatar
Matthieu Boileau committed
44
```bash
Matthieu Boileau's avatar
Matthieu Boileau committed
45
46
47
48
49
50
51
conda activate calcul
```

#### Avec Docker

On se connecte au registry :

Matthieu Boileau's avatar
Matthieu Boileau committed
52
```bash
Matthieu Boileau's avatar
Matthieu Boileau committed
53
54
55
56
57
docker login registry.math.unistra.fr
```

On récupère l'image docker :

Matthieu Boileau's avatar
Matthieu Boileau committed
58
```bash
Matthieu Boileau's avatar
Matthieu Boileau committed
59
60
61
62
63
docker pull registry.math.unistra.fr/groupe-calcul/website
```

On instancie l'image en montant le répertoire courant qui doit correspondre à la racine du projet :

Matthieu Boileau's avatar
Matthieu Boileau committed
64
```bash
Matthieu Boileau's avatar
Matthieu Boileau committed
65
66
67
68
69
70
docker run --rm -ti -v $PWD:/home/calcul/website \
registry.math.unistra.fr/groupe-calcul/website
```

> Plus d'info dans la [doc gitlab](/container_registry).

Matthieu Boileau's avatar
Matthieu Boileau committed
71
72
73
74
## Construction du site

Pour visualiser en local le rendu du site :

Matthieu Boileau's avatar
Matthieu Boileau committed
75
```bash
Matthieu Boileau's avatar
Matthieu Boileau committed
76
make devserver
Matthieu Boileau's avatar
Matthieu Boileau committed
77
78
79
80
81
```

puis se connecter sur <http://localhost:8000>.
La modification d'un fichier source markdown est détectée dynamiquement par le script qui relance automatiquement la construction du site pour mettre à jour le rendu.

Matthieu Boileau's avatar
Matthieu Boileau committed
82
Le numéro du port de publication peut-être changé avec
Matthieu Boileau's avatar
Matthieu Boileau committed
83

Matthieu Boileau's avatar
Matthieu Boileau committed
84
```bash
Matthieu Boileau's avatar
Matthieu Boileau committed
85
make devserver PORT=8001
Matthieu Boileau's avatar
Matthieu Boileau committed
86
87
```

Matthieu Boileau's avatar
Matthieu Boileau committed
88
pour publier sur <http://localhost:8001>.
Matthieu Boileau's avatar
Matthieu Boileau committed
89
90
91
92
93
94
95

## Publication

La publication se fait par intégration continue avec GitLab-CI.
Tout est décrit par le fichier [.gitlab-ci.yml](.gitlab-ci.yml).
En combinaison avec la configuration apache de `calcul.math.unistra.fr`, le fichier `.gitlab-ci.yml` permet de publier sur une adresse qui dépend de la branche git :

Matthieu Boileau's avatar
Matthieu Boileau committed
96
- `master` publie vers <https://calcul.math.cnrs.fr> en utilisant le service [PLMShift](http://plmshift.pages.math.cnrs.fr) de Mathrice
Matthieu Boileau's avatar
Matthieu Boileau committed
97
98
- les branches `dev-*` publient vers <https://calcul-dev.math.unistra.fr/dev-*>
- Toute autre `branche` listée dans le champ `apache-dev::only:` publie également vers <https://calcul-dev.math.unistra.fr/branche>
99
- Toute autre branche non listée est testée en construction par le job `build` mais n'est pas publiée
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121

## Note sur la préparation des vidéos 

### Extraction depuis les bbb

L'extraction de la vidéo enregistrée par bbb peut être faite à partir des scripts de Roland, disponibles ici :

`git clone https://github.com/rolanddenis/bbb-recorder.git`

Dans le fichier `export.js`, modifier éventuellement le chemin d'extraction de la vidéo en fonction de votre environnement 

-const downloaddir = homedir + "/Téléchargements";
+const downloaddir = homedir + "/Downloads";

### Récupérer le format webm

Le scripts de `bbb-recorder` récupère un fichier webm

`node export.js "https://BBB-HOST/playback/presentation/2.0/playback.html?meetingId=MEETING-ID" meeting.webm 0`

### Troncature éventuelle du début et de la fin du fichier video

Anne Cadiou's avatar
Anne Cadiou committed
122
L'extraction du bbb donne un fichier `meeting.webm` qui peut être directement téléversé sur le site de `canal-u.tv`. Il peut être nécessaire de modifier ce fichier au préalable, notamment pour en couper le début et la fin. Par exemple,  pour supprimer les `00:01:20` premières secondes et poursuivre le film pendant 1h05 et 32s (3932 secondes), sans perte de qualité :
123
124
125
126
127
128
129
130
131

`ffmpeg -ss 00:01:20 -t 3932 -i meeting.webm -c:v copy -c:a copy cut.mkv`

La conversion du mkv en mp4 peut être faite ensuite via 

`ffmpeg -i cut.mkv -c:v copy -c:a copy -strict -2 movie.mp4`

### Dépôt dans canal-u.tv

Anne Cadiou's avatar
Anne Cadiou committed
132
Pour déposer le fichier sur `canal-u.tv` pour le Groupe Calcul, il est nécessaire d'avoir un compte administrateur 
133
134
135

`https://www.canal-u.tv/admin/`

136
137
138
139
140
141
142
143
Pour déposer un fichier, aller dans __Programme__

`https://www.canal-u.tv/admin/index.php?curTable=c_programme`

et cliquer sur __Ajouter un élément__ 

`https://www.canal-u.tv/admin/index.php?curTable=c_programme&curId=new`

Anne Cadiou's avatar
Anne Cadiou committed
144
Il est demandé d'importer un fichier que le site canal-u.tv réencode en `mp4` après téléversement (attendre le message de confirmation du réencodage pour basculer la vidéo en mode visible à tous).
145