Mettre à jour un projet

07/04/2020

Mettre a jour le serveur en lui même

pour savoir si il est à jour ou non (si les chiffres sont à 0 tout est à jour)
(necessite le paquet update-notifier-common)

/usr/lib/update-notifier/apt-check

Pour mettre à jour :

apt-get update
apt-get upgrade

Si il y a des choses qui ne se mettent pas à jour tu peux tenter :

apt-get --with-new-pkgs upgrade

Si tu souhaite mettre a jour vers la prochaine version majeure de ubuntu (attention ça peut empecher la machine de rebooter, et apres il faut creuser :) )

apt-get dist-upgrade

pour nodejs

Tu peux le mettre a jour en tapant

n latest

Ensuite il faut vérifier que le site marche toujours mais normalement c'est bon.

Pour le site

afin de savoir si il y a des libs avec des failles tu peux faire

npm audit

pour savoir si il y a des nouvelles version de libs.

npm outdated

pour mettre a jour les libs.

npm update

si les libs ont trop changées et quelles ne respectent pas bien le versioning semantique il faut parfois adapter le code pour que le site remarche. En général ce n'est pas difficile, mais c'est nécéssaire.
il faut donc aller sur le github de chaque lib et regarder la documentation.
ps: chaques lib utilisées sont dans le fichier package.json

Templates (html twig)

Permet de modifier le texte présent sur le site
ils sont en html, avec une syntaxe twig (pour la gestion des variables, boucles etc)

Les fichiers de templates se trouvent dans le dossier views/

Il y a un fichier par page : index, cgu, concept, ...
les fichiers email_* correspondent aux emails envoyés par le site
les fichiers layout* correspondent aux themes utilisés
les fichiers admin_* correspondent aux différentes page d'administrations

Controlleurs (express js)

Permet de créer de nouvelles pages et de faire des requetes sur la base de donnée.

dans le dossier controlers/

Gestion des erreurs

si il y a une faute de syntaxe le serveur va planter.
Pour voir les logs tu peux taper cette commande "tail -f log/forever.log" et recharger ta page pour voir les erreurs

Lancement du projet

Un cron est lancé au demarage du serveur afin de demarrer le projet

#crontab -l
@reboot cd /home/projet_prod/site && /usr/local/bin/forever -w -a -l /home/projet_prod/site/log/forever.log -c /usr/local/bin/node start server.js

forever permet de relancer le serveur automatiquement si il plante.

Exemple de commandes :
forever list
forever logs
forever start server.js
forever stop server.js