« STIC:STIC I - Atelier technique 5 » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
mAucun résumé des modifications
Aucun résumé des modifications
Ligne 2 : Ligne 2 :
<categorytree mode="pages" depth="0" style="float:right; clear:right; margin-left:3px; border:1px solid gray; padding:0.7ex; background-color:#f9f9f9;">STIC</categorytree>
<categorytree mode="pages" depth="0" style="float:right; clear:right; margin-left:3px; border:1px solid gray; padding:0.7ex; background-color:#f9f9f9;">STIC</categorytree>


Objectifs:
== Programme ==
* Utiliser un shell (Mac, Win, Linux)
* Variables d'environnements (notamment le "Path")
* Ecrire/modifier un fichier de commande.


Activités Linux:
;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


* Télécharger avec wget
;Projet 1
* Extraire des zip ou tar(gz)
* 09:15 - 10:00 Démo aspiration site web + Discussion sur la sécurité, mise à jour des portails
* Créer des zip
* 10:00 - 11:45 Travail sur projet personnel (y compris la pause)
* Changer des permissions
* Renommer des fichiers/bouger


Activités Mac - Window
;Projet 2
* Lancer des applications Java depuis une console
* 09:15 - 10:00 Socket.io
java -jar xxx.jar
* 10:00 - 11:45 Coding with Node/Express/Scoket ou Travail sur projet personnel (y compris la pause
* Réparer un fichier de commandes (bat/cmd sous Windows, sh sous Mac)


Ressources:
== Activités P1==


* [[Commandes Unix]]
===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 "finit" : 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
* Logiciel (e.g. [http://www.httrack.com/ 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) :
* [https://sculpin.io/ Sculpin] (PHP)
* [https://hexo.io/ Hexo] (Node.js)
* [http://jekyllrb.com/ Jekyll] (Ruby)
* [http://blog.getpelican.com/ Pelican] (Python)
 
== Activité P2 ==
 
;Real-Time avec [[Socket.io]] :
* Comprendre la différence entre HTTP et [https://en.wikipedia.org/wiki/WebSocket 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]]
* [https://socket.io/ Site officiel Socket.io]
* https://github.com/mafritz/stic-1-socket.io-essentials : quelques exemples d'utilisation

Version du 4 mai 2017 à 15:22

Cette page fait partie des cours STIC I et STIC II

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 "finit" : 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
  • 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

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