STIC:STIC I - Atelier technique 5
Aller à la navigation
Aller à la recherche
Programme
- Partie commune
- 09:00 - 09:15 Discussion sur le déroulement du cours de vendredi (Présentation + BASES + Feedback mutuel sur STIC I + II)
- 11:45 - 12:30 S'il reste du temps: démo utilisation d'un hébergeur externe
- Projet 1
- 09:15 - 10:00 Démo aspiration site web + Discussion sur la sécurité, mise à jour des portails
- 10:00 - 11:45 Travail sur projet personnel (y compris la pause)
- Projet 2
- 09:15 - 10:00 Socket.io
- 10:00 - 11:45 Coding with Node/Express/Scoket ou Travail sur projet personnel (y compris la pause)
Activités P1
Sécurité
- Comprendre les enjeux de sécurité d'un portail
- SPAM, Attaques informatiques, DoS, ...
- Mises à jour du code, Vulnérabilité des anciennes versions
- Évaluer à quel point vous avez besoin d'un site dynamique vs. statique
- Quelles fonctionnalités dynamiques sont absolument nécessaires (authentification, commentaires, forum, ...)
- Quels mécanismes de contrôle/sécurité ont été prévus/mis en place
Aspiration d'un site
- Possibilité d'aspirer (i.e. faire une copie statique) un site web dynamique
- Utile pour :
- Sites informationnels "finis" : toute l'information, ou presque, est déjà publiée (e.g. événement, site explicatif, ...)
- Sites qui ne sont plus mis à jour : "figer" la dernière version existante et la transformer en site statique
- Petits sites avec mise à jour pas fréquente : avoir une version dynamique en local (e.g. sur votre ordi) et aspirer les pages pour les publier ensuite chaque fois qu'il y a un changement (voir également les générateurs de site statiques plus bas)
- Outils
- Possibilité de le faire par ligne de commande (Linux) : e.g.
wget -p -k url du site
(autre options possibles voir par exemple: https://www.guyrutenberg.com/2014/05/02/make-offline-mirror-of-a-site-using-wget/) - Logiciel (e.g. HTTrack)
Générateurs de sites statiques
- Possibilité d'utiliser un "logiciel" qui génère, souvent à partir de simple fichiers, des sites statiques et fait l'upload du output HTML
- Mode assez récente, donc système pas très simples/fiables pour l'instant
- À utiliser plutôt pour des petits sites / blogs personnels
- Nécessitent souvent l'installation (mais pas forcément la connaissance) d'un langage de programmation (e.g. Node.js, Python, PHP, Ruby, ...)
- Utilisation de fichiers HTML ou Markdown pour créer les contenus
- Quelques exemples (langage nécessaire)
Activité P2
Socket.io
- Real-Time avec Socket.io
- Comprendre la différence entre HTTP et WebSocket : one-way vs. duplex communication
- WebSocket côté client et côté serveur : échange de message .on() et .emit()
- Utiliser Socket.io avec Node.js et Express.js
- Ressources
- Socket.io
- Site officiel Socket.io
- https://github.com/mafritz/stic-1-socket.io-essentials : quelques exemples d'utilisation
Déployer une application Node.js
- Discussion
- Différence entre hébergement standard (PHP/MySQL) et Node.js
- À quoi faire attention lors du déploiement
- Système de déploiment
- Ligne de commande
- À travers Git et Github
- Plateforme d’hébergement (différents plans tarifaires... y compris gratuit sous certaines conditions)
- Alternative sur son propre serveur (disponible sur serveur TECFA mais pas encore testé sérieusement)