Repository: zestedesavoir/zds-site

Issue:
la documentation du script d'install semble fausse/périmée ?
`make` fournit l'aide suivante:

```
Please use `make <target>' where <target> is one of
  [...]
  install-back      to install backend dependencies
  install-front     to install frontend dependencies
  install-debian    to install debian dependencies
  install-ubuntu    to install ubuntu dependencies
  install-fedora    to install fedora dependencies
  install-archlinux to install archlinux dependencies
  install-macos       to install os x dependencies
  [...]
```

Mais j'observe le comportement suivant sur ma machine:

```
$ make install-fedora
make: *** No rule to make target 'install-fedora'.  Stop.
```


Discussion:
Comme je disais par ailleurs, *mea culpa*, j'ai oublié de mette a jour le Makefile. Ceci dit, "make install-linux" devrait faire le café (https://docs.zestedesavoir.com/install/install-linux.html).
Question, tient: qu'est ce qui ne fonctionne pas chez toi, @gasche  ? J'avais testé sur un live-usb de Fédora de la dernière version en date, mais j'ai pas poussé le vice jusqu'à lancer les tests.
La trace est la suivante:

```
$ make test-back
find . -name '*.pyc' -exec rm {} \;
cd zmd/node_modules/zmarkdown && npm run server
module.js:549
    throw err;
    ^

Error: Cannot find module '../lib/utils/unsupported.js'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at /usr/lib/node_modules/npm/bin/npm-cli.js:19:21
    at Object.<anonymous> (/usr/lib/node_modules/npm/bin/npm-cli.js:86:3)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
make: *** [Makefile:70: zmd-start] Error 1
```

Donc j'imagine que soit les paquets npm soit zmd ne se sont pas installés correctement, mais je n'ai pas cherché plus loin. Certains des tests marchent quand même quand je les lance directement avec `python3 manage.py test ...`, et je me contente de ça (plus la CI) pour le moment.
P.S.: Si j'avais une petite requête pour `install-linux`, ce serait de ne pas demander les droits administrateurs au milieu. Je préférerais qu'une cible (celle-ci ou une cible `detect-deps` séparée) affiche "Now please run `sudo dnf install ...`" en utilisant la même logique de détection de la distribution et des paquets nécessaires. Donner les droits d'aministrateurs à un script opaque, ce n'est pas très agréable, et la grande majorité des trucs se fait en fait dans un environnement local qui n'en a pas besoin.
Probablement. Quand t'a 5 minutes, si tu savais donner le résultat de `make install-front` et `make install-zmd`, ça aidera surement :)

(à priori, npm est bon)
P.P.S.: Un jour si j'ai le temps je regarderai à écrire une "recipe" Docker pour ZDS. Autant une image virtuelle est un gros bousin que je n'aurais pas si envie de télécharger, autant une "recipe" (qui décrit comment construire une image) est légère et pas si chiante à écrire ou utiliser. Ceci-dit, installer Docker peut être un obstacle (chez moi j'ai du tripoter SELinux à la main, etc.), et une image ne force pas à garder des dépendances un minimum à jour, donc c'est bien d'avoir et de pousser aussi une méthode manuelle propre.
> P.S.: Si j'avais une petite requête pour install-linux, ce serait de ne pas demander les droits administrateurs au milieu. Je préférerais qu'une cible (celle-ci ou une cible detect-deps séparée) affiche "Now please run (sudo dnf install ...)" en utilisant la même logique de détection de la distribution et des paquets nécessaires. Donner les droits d'aministrateurs à un script opaque, ce n'est pas très agréable, et la grande majorité des trucs se fait en fait dans un environnement local qui n'en a pas besoin.

Agreed, d'autant que le script ne fait pas grand chose en root (en fait, il ne fait que l'installation des paquets, le reste se fait sans), même si c'est "logique" de donner les droits roots à un script d'installation

> P.P.S.: Un jour si j'ai le temps je regarderai à écrire une "recipe" Docker pour ZDS. Autant une image virtuelle est un gros bousin que je n'aurais pas si envie de télécharger, autant une "recipe" (qui décrit comment construire une image) est légère et pas si chiante à écrire ou utiliser. Ceci-dit, installer Docker peut être un obstacle (chez moi j'ai du tripoter SELinux à la main, etc.), et une image ne force pas à garder des dépendances un minimum à jour, donc c'est bien d'avoir et de pousser aussi une méthode manuelle propre.

Y'a #5012, si tu veux faire des suggestions :)
J'ai essayé de faire `make install-linux` :

```
$ make install-linux
./scripts/install_zds.sh +base
* [+packages] installing packages (require sudo)
!! I did not detect your linux version
!! Please manually install the packages and run again with `-packages`
Makefile:8: recipe for target 'install-linux' failed
make: *** [install-linux] Error 1
```

Il faut lancer en sudo ? Peut etre l'indiquer dans la doc si oui.
Non, comme l'a fait remarqué @gasche, le script fait un sudo à un moment, donc il va utiliser sudo. Faut surtout pas lancer le script entier en super utilisateur, ou le site va être compliqué à lancer par après ^^

Mais par contre ... Quelle est ta version de linux ?
Debian 8
Ok, pas normal. Euuuh ... ça donne quoi `cat /proc/version` chez toi ?
```
$ sudo cat /etc/issue
Debian GNU/Linux 8 \n \l
$ sudo cat /proc/version
Linux version 2.6.32-042stab127.2 (root@kbuild-rh6-x64.eng.sw.ru) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Thu Jan 4 16:41:44 MSK 2018
```
Mouais. [Comme tu le vois](https://github.com/zestedesavoir/zds-site/blob/dev/scripts/install_zds.sh#L43-L64), le script est pas très futé pour détecter la version de linux (en même temps, en fonction de la distribution, ça change --"). Du coup, ce que fait [cette ligne là](https://github.com/zestedesavoir/zds-site/blob/dev/scripts/install_zds.sh#L54) devrais le faire (je suis pas certain d'avoir testé sur Debian 8, donc à confirmer).

Puis ensuite, `./scripts/install_zds.sh +base -packages` devrait normalement le faire :)
Il n'y a pas debian dans /proc/version :(
J'ai constaté :(

Resolving patch:
diff --git a/scripts/release_generator.py b/scripts/generate_release_summary.py
similarity index 98%
rename from scripts/release_generator.py
rename to scripts/generate_release_summary.py
--- a/scripts/release_generator.py
+++ b/scripts/generate_release_summary.py
@@ -120,6 +120,7 @@ def dump_issues(milestone, openissues, closed_bug, closed_evo, closed_unk):
         out.write(mdarray(closed_evo))
         out.write('## Non défini\n\n')
         out.write(mdarray(closed_unk))
+    print('==> Vous pouvez trouver le rapport dans', OUTPUT_PATH)
 
 
 def mdarray(tableau):


Test patch: