4 Commits 29be534ad9 ... c0dae76ed3

Auteur SHA1 Message Date
  Benoît Hubert c0dae76ed3 add dist script il y a 7 ans
  Benoît Hubert 9f9d7300e0 Move assets il y a 7 ans
  Benoît Hubert fd57feb276 examples => exemples il y a 7 ans
  Benoît Hubert 743b59d27e Renommage exemples il y a 7 ans
46 fichiers modifiés avec 56 ajouts et 54 suppressions
  1. 0 0
      assets/css/empty.css
  2. 0 0
      assets/css/materialize.css
  3. 0 0
      assets/css/materialize.min.css
  4. 0 0
      assets/css/prism.css
  5. 0 0
      assets/css/style.css
  6. 0 0
      assets/fonts/roboto/Roboto-Bold.woff
  7. 0 0
      assets/fonts/roboto/Roboto-Bold.woff2
  8. 0 0
      assets/fonts/roboto/Roboto-Light.woff
  9. 0 0
      assets/fonts/roboto/Roboto-Light.woff2
  10. 0 0
      assets/fonts/roboto/Roboto-Medium.woff
  11. 0 0
      assets/fonts/roboto/Roboto-Medium.woff2
  12. 0 0
      assets/fonts/roboto/Roboto-Regular.woff
  13. 0 0
      assets/fonts/roboto/Roboto-Regular.woff2
  14. 0 0
      assets/fonts/roboto/Roboto-Thin.woff
  15. 0 0
      assets/fonts/roboto/Roboto-Thin.woff2
  16. 0 0
      assets/img/logo-gogs.png
  17. 0 0
      assets/img/logo-ipi.png
  18. 0 0
      assets/img/logo-js.png
  19. 0 0
      assets/img/logo-materializecss.png
  20. 0 0
      assets/img/logo-python.png
  21. 0 0
      assets/img/logo-react.png
  22. 0 0
      assets/img/logo-wcs.png
  23. 0 0
      assets/img/tuto/python.gif
  24. 0 0
      assets/img/tuto/python3-win-install.gif
  25. 0 0
      assets/js/init.js
  26. 0 0
      assets/js/materialize.js
  27. 0 0
      assets/js/materialize.min.js
  28. 0 0
      assets/js/prism.js
  29. 0 33
      examples/mini-serveur-ft.py
  30. 0 0
      exemples/4-bases-python-tdd/1-premier-programme.py
  31. 0 0
      exemples/4-bases-python-tdd/2-fonctions.py
  32. 0 0
      exemples/4-bases-python-tdd/3-classes-starwars.py
  33. 12 0
      exemples/5-mini-serveur-http/mini-serveur-ft.py
  34. 11 1
      examples/mini-serveur.py
  35. 7 7
      index.html
  36. 13 0
      pack.sh
  37. 1 1
      react-tuto/gulpfile.js
  38. 3 3
      react-tuto/src/components/About.js
  39. 2 2
      react-tuto/src/components/Navbar.js
  40. 1 1
      react-tuto/src/markdown/1. Setup Windows/01. Python 3.md
  41. 1 1
      react-tuto/src/markdown/1. Setup Windows/05. Pour terminer.md
  42. 1 1
      react-tuto/src/markdown/2. Setup OS X/05. Pour terminer.md
  43. 1 1
      react-tuto/src/markdown/3. Setup Linux/05. Pour terminer.md
  44. 1 1
      react-tuto/src/markdown/4. Bases de Python/05. TDD - exemple.md
  45. 1 1
      react-tuto/src/markdown/5. Mini-serveur web/03. HTTP.md
  46. 1 1
      react-tuto/src/resources/markdown.json

css/empty.css → assets/css/empty.css


css/materialize.css → assets/css/materialize.css


css/materialize.min.css → assets/css/materialize.min.css


css/prism.css → assets/css/prism.css


css/style.css → assets/css/style.css


fonts/roboto/Roboto-Bold.woff → assets/fonts/roboto/Roboto-Bold.woff


fonts/roboto/Roboto-Bold.woff2 → assets/fonts/roboto/Roboto-Bold.woff2


fonts/roboto/Roboto-Light.woff → assets/fonts/roboto/Roboto-Light.woff


fonts/roboto/Roboto-Light.woff2 → assets/fonts/roboto/Roboto-Light.woff2


fonts/roboto/Roboto-Medium.woff → assets/fonts/roboto/Roboto-Medium.woff


fonts/roboto/Roboto-Medium.woff2 → assets/fonts/roboto/Roboto-Medium.woff2


fonts/roboto/Roboto-Regular.woff → assets/fonts/roboto/Roboto-Regular.woff


fonts/roboto/Roboto-Regular.woff2 → assets/fonts/roboto/Roboto-Regular.woff2


fonts/roboto/Roboto-Thin.woff → assets/fonts/roboto/Roboto-Thin.woff


fonts/roboto/Roboto-Thin.woff2 → assets/fonts/roboto/Roboto-Thin.woff2


img/logo-gogs.png → assets/img/logo-gogs.png


img/logo-ipi.png → assets/img/logo-ipi.png


img/logo-js.png → assets/img/logo-js.png


img/logo-materializecss.png → assets/img/logo-materializecss.png


img/logo-python.png → assets/img/logo-python.png


img/logo-react.png → assets/img/logo-react.png


img/logo-wcs.png → assets/img/logo-wcs.png


img/tuto/python.gif → assets/img/tuto/python.gif


img/tuto/python3-win-install.gif → assets/img/tuto/python3-win-install.gif


js/init.js → assets/js/init.js


js/materialize.js → assets/js/materialize.js


js/materialize.min.js → assets/js/materialize.min.js


js/prism.js → assets/js/prism.js


+ 0 - 33
examples/mini-serveur-ft.py

@@ -1,33 +0,0 @@
-from selenium import webdriver
-
-browser = webdriver.Firefox()
-
-# Edith has heard about a cool new online to-do app. She goes
-# to check out its homepage
-browser.get('http://localhost:8081')
-
-# She notices the page title and header mention to-do lists
-assert 'Mini-Serveur' in browser.title
-
-# She is invited to enter a to-do item straight away
-
-# She types "Buy peacock feathers" into a text box (Edith's hobby
-# is tying fly-fishing lures)
-
-# When she hits enter, the page updates, and now the page lists
-# "1: Buy peacock feathers" as an item in a to-do list
-
-# There is still a text box inviting her to add another item. She
-# enters "Use peacock feathers to make a fly" (Edith is very methodical)
-
-# The page updates again, and now shows both items on her list
-
-# Edith wonders whether the site will remember her list. Then she sees
-# that the site has generated a unique URL for her -- there is some
-# explanatory text to that effect.
-
-# She visits that URL - her to-do list is still there.
-
-# Satisfied, she goes back to sleep
-
-browser.quit()

examples/debut.py → exemples/4-bases-python-tdd/1-premier-programme.py


examples/functions.py → exemples/4-bases-python-tdd/2-fonctions.py


examples/03-classes-starwars.py → exemples/4-bases-python-tdd/3-classes-starwars.py


+ 12 - 0
exemples/5-mini-serveur-http/mini-serveur-ft.py

@@ -0,0 +1,12 @@
+from selenium import webdriver
+
+# Instance de Firefox contrôlée par webdriver
+browser = webdriver.Firefox()
+
+# On pointe ce browser vers l'URL de notre mini-serveur
+browser.get('http://localhost:8081')
+
+# En toute logique, on voudrait que le HTML généré par notre serveur ait un titre
+assert 'Mini-Serveur' in browser.title
+
+browser.quit()

+ 11 - 1
examples/mini-serveur.py

@@ -1,5 +1,14 @@
 from http.server import BaseHTTPRequestHandler, HTTPServer
 
+base_html = """<!DOCTYPE html>
+<html>
+  <head>
+    <title>Mini-Serveur</title>
+  </head>
+  <body>{body}</body>
+</html>
+"""
+
 # HTTPRequestHandler class
 class MiniHTTPServerRequestHandler(BaseHTTPRequestHandler):
 
@@ -13,7 +22,8 @@ class MiniHTTPServerRequestHandler(BaseHTTPRequestHandler):
         self.end_headers()
 
         # Send message back to client
-        message = "Hello world!"
+        message = base_html.replace("{body}", "Hello world!")
+
         # Write content as utf-8 data
         self.wfile.write(bytes(message, "utf8"))
         return

+ 7 - 7
index.html

@@ -7,9 +7,9 @@
 
     <!-- CSS  -->
     <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
-    <link href="css/materialize.css" type="text/css" rel="stylesheet" media="screen,projection"/>
-    <link href="css/style.css" type="text/css" rel="stylesheet" media="screen,projection"/>
-    <link href="css/prism.css" type="text/css" rel="stylesheet" media="screen,projection"/>
+    <link href="assets/css/materialize.css" type="text/css" rel="stylesheet" media="screen,projection"/>
+    <link href="assets/css/style.css" type="text/css" rel="stylesheet" media="screen,projection"/>
+    <link href="assets/css/prism.css" type="text/css" rel="stylesheet" media="screen,projection"/>
 
   </head>
   <body>
@@ -29,10 +29,10 @@
 
     <!--  Scripts-->
     <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
-    <script src="js/materialize.js"></script>
-    <script src="js/init.js"></script>
-    <script src="js/prism.js"></script>
-    <script src="js/dist/bundle.react.js"></script>
+    <script src="assets/js/materialize.js"></script>
+    <script src="assets/js/init.js"></script>
+    <script src="assets/js/prism.js"></script>
+    <script src="assets/js/dist/bundle.react.js"></script>
     <script>
     </script>
 

+ 13 - 0
pack.sh

@@ -0,0 +1,13 @@
+#!/bin/sh
+
+SAVE_DIR=$PWD
+if [ -d /tmp/python-tdd ]; then
+  rm -r /tmp/python-tdd/
+fi
+
+echo "creating /tmp/python-tdd"
+mkdir /tmp/python-tdd
+cp -R empty.html index.html assets exemples /tmp/python-tdd/
+cd /tmp/
+zip -r ~/Documents/python-tdd.zip python-tdd/
+cd $SAVE_DIR

+ 1 - 1
react-tuto/gulpfile.js

@@ -67,7 +67,7 @@ function buildClient(watch, done) {
       .pipe(uglify())
       .pipe(sourcemaps.init({ loadMaps: true }))
       .pipe(sourcemaps.write('./'))
-      .pipe(gulp.dest(path.normalize(__dirname + '/../js/dist')))
+      .pipe(gulp.dest(path.normalize(__dirname + '/../assets/js/dist')))
       .on('end', resolve);
   });
 }

+ 3 - 3
react-tuto/src/components/About.js

@@ -10,7 +10,7 @@ class About extends React.Component {
         <div className="row valign-wrapper">
           <div className="col s3">
             <a href="https://reactjs.org">
-              <img src="img/logo-react.png" alt="logo React" className="responsive-img" />
+              <img src="assets/img/logo-react.png" alt="logo React" className="responsive-img" />
             </a>
           </div>
           <div className="col s9">
@@ -23,7 +23,7 @@ class About extends React.Component {
         <div className="about row valign-wrapper">
           <div className="col s3">
             <a href="http://materializecss.com">
-              <img src="img/logo-materializecss.png" alt="logo MaterializeCSS" className="responsive-img" />
+              <img src="assets/img/logo-materializecss.png" alt="logo MaterializeCSS" className="responsive-img" />
             </a>
           </div>
           <div className="col s9">
@@ -36,7 +36,7 @@ class About extends React.Component {
         <div className="about row valign-wrapper">
           <div className="col s3">
             <a href="https://gogs.io">
-              <img src="img/logo-gogs.png" alt="logo Gogs" className="responsive-img" />
+              <img src="assets/img/logo-gogs.png" alt="logo Gogs" className="responsive-img" />
             </a>
           </div>
           <div className="col s9">

+ 2 - 2
react-tuto/src/components/Navbar.js

@@ -6,8 +6,8 @@ class Navbar extends React.Component {
     return (
       <nav className="teal lighten-1" role="navigation">
         <div className="nav-wrapper"><Link id="logo-container" to="/" className="brand-logo">
-          <img src="img/logo-ipi.png" alt="logo IPI" />
-          <img src="img/logo-python.png" alt="logo Python" />
+          <img src="assets/img/logo-ipi.png" alt="logo IPI" />
+          <img src="assets/img/logo-python.png" alt="logo Python" />
         </Link>
           <ul className="right hide-on-med-and-down">
             <li><Link to="/a-propos">&Agrave; propos</Link></li>

+ 1 - 1
react-tuto/src/markdown/1. Setup Windows/01. Python 3.md

@@ -8,4 +8,4 @@ Pour la télécharger, [c'est ici](https://www.python.org/downloads/).
 
 Ensuite, lors de l'installation, il est **très important** de cocher "Add Python 3.6 to PATH" comme dans l'image ci-dessous :
 
-<img alt="python3 win install" src="img/tuto/python3-win-install.gif" />
+<img alt="python3 win install" src="assets/img/tuto/python3-win-install.gif" />

+ 1 - 1
react-tuto/src/markdown/1. Setup Windows/05. Pour terminer.md

@@ -6,4 +6,4 @@ Pour terminer, deux points importants :
     - NotePad++
 - Contrairement aux "malheureux" sous OS X ou Linux qui doivent utiliser `python3`, tu utiliseras tout simplement `python` pour invoquer le Python tout-puissant.
 
-<img alt="python" src="img/tuto/python.gif" />
+<img alt="python" src="assets/img/tuto/python.gif" />

+ 1 - 1
react-tuto/src/markdown/2. Setup OS X/05. Pour terminer.md

@@ -5,4 +5,4 @@ Pour terminer, deux points importants :
     - Sublime Text
 - Contrairement aux "heureux" utilisateurs de Windows qui peuvent juste utiliser `python`, tu devras utiliser `python3` pour invoquer le Python tout-puissant. Sinon le système va confondre avec Python 2 qui est installé en standard sous OS X. Et je te le dis tout de suite, ça serait fâcheux !
 
-<img alt="python" src="img/tuto/python.gif" />
+<img alt="python" src="assets/img/tuto/python.gif" />

+ 1 - 1
react-tuto/src/markdown/3. Setup Linux/05. Pour terminer.md

@@ -5,4 +5,4 @@ Pour terminer, deux points importants :
     - Sublime Text
 - Contrairement aux "heureux" utilisateurs de Windows qui peuvent juste utiliser `python`, tu devras utiliser `python3` pour invoquer le Python tout-puissant. Sinon le système va confondre avec Python 2 qui est installé en standard sous Linux. Et je te le dis tout de suite, ça serait fâcheux !
 
-<img alt="python" src="img/tuto/python.gif" />
+<img alt="python" src="assets/img/tuto/python.gif" />

+ 1 - 1
react-tuto/src/markdown/4. Bases de Python/05. TDD - exemple.md

@@ -2,7 +2,7 @@ Un exemple : on veut écrire une fonction, qui nous renvoie une valeur booléenn
 
 #### Le test
 
-D'abord le test :
+D'abord le test, que tu peux créer dans `exemples/4-bases-python-tdd/5-tdd-exemple.py` :
 
 ```python
 import unittest

+ 1 - 1
react-tuto/src/markdown/5. Mini-serveur web/03. HTTP.md

@@ -1,6 +1,6 @@
 Une petite illustration :
 
-<img src="img/tuto/HTTP.png" alt="HTTP" />
+<img src="assets/img/tuto/HTTP.png" alt="HTTP" />
 
 - HTTP est un protocole client-serveur à requêtes et réponses. Il est *asymétrique* : c'est le client qui "tire" (pull) de l'information du serveur, en émettant une requête à laquelle le serveur répond.
 - HTTP est un protocole *stateless*, sans état. La requête courante ne "sait" pas ce qui s'est passé lors des requêtes précédentes (ce qui peut te faire te demander *comment* on gère l'authentification, s'il n'y a pas d'état persistant).

Fichier diff supprimé car celui-ci est trop grand
+ 1 - 1
react-tuto/src/resources/markdown.json