Selaa lähdekoodia

Begin #5 but... refactor ahead

Benoît Hubert 7 vuotta sitten
vanhempi
commit
1edf6ab82d

+ 44 - 0
_stuff/Python Django TDD.md

@@ -0,0 +1,44 @@
+# Python / Django / TDD
+
+## Intro
+
+- Serveur web
+- Requêtes HTTP, POST / GET
+- Frameworks MVC
+- Tests fonctionnels
+- Tests unitaires
+
+## Setup / Install
+
+* Python 3
+* Git
+* pip3 install selenium
+* pip3 install Django
+* Firefox
+* geckodriver
+* EDITEUR DIGNE DE CE NOM (auto correct indentation Python)
+* BIEN INDIQUER COMMANDE python / python3
+
+## Création d'un compte GitHub ou Gogs ? ==> + TARD !!!
+
+## Python
+
+- Premier programme: `message = 'Hello' print(message)`
+- Pas de point virgule
+- Variables n'ont pas besoin d'être déclarées
+- Définition d'une fonction
+  - Pas de curly braces
+  - Indentation
+- Définition d'une classe
+  - héritage
+  - self comme 1er argument aux méthodes
+- Types de données : string, list, dict
+- Conversions str(int) etc.
+
+## Test unitaire
+
+## Django
+
+- C'est quoi ?
+  - Framework MVC
+  - Fait office de serveur web (utilise des librairies pour comprendre des requêtes HTTP et émettre des réponses HTTP)

+ 23 - 0
_stuff/Random Stuff.md

@@ -0,0 +1,23 @@
+
+```python
+def count_words(str):
+    return len(str.split(' '))
+
+message = "The show must go on!"
+print("Nombre de mots dans '%s' : %d" % (message, count_words(message)))
+```
+
+La fonction `count_words()` prend en paramètre une chaîne de caractères. Elle utilise la méthode `split()` accessibles aux chaînes (qui sont des objets !). Celle-ci fonctionne comme `split()` en JavaScript : elle sépare la chaîne selon le séparateur passé en paramètre, et renvoie une "liste" (l'équivalent des tableaux).
+
+Ensuite la fonction `len()` compte le nombre d'éléments dans la liste.
+
+Remarque ensuite ce qu'on met en arguments de `print()`. La partie entre guillemets ressemble à ce qu'on pourrait trouver en C ou en Java : `%s` et `%d` sont des "emplacements" pour des variables (chaîne et entier respectivement). Par contre, la syntaxe de la suite diffère : les valeurs à insérer dans les emplacements sont situées entre parenthèses, suite au caractère `%`.
+
+Pour terminer, le plus important à retenir de cet exemple... Voici comment on aurait écrit `count_words()` en JS :
+
+```javascript
+function count_words(str) {
+  return str.split(' ').length;
+}
+```
+

+ 11 - 0
react-tuto/src/markdown/4. Bases de Python/05. Conclusion provisoire.md

@@ -0,0 +1,11 @@
+On passe à la suite !
+
+Je t'entends demander : « Quoi, déjà fini ? Ça y est, je suis un Maître Jedi du Python ? »
+
+Heu, ne t'emballe pas, jeune padawan ! Disons que tu en sais assez pour passer à la suite !
+
+Un petit rappel tout de même, s'il ne fallait retenir qu'une chose :
+
+> **Attention** à l'indentation : une erreur d'indentation peut empêcher le programme de se lancer !
+
+Prochaine étape : un mini-serveur web en Python !

+ 33 - 0
react-tuto/src/markdown/5. Mini-serveur web/01. Mise en route.md

@@ -0,0 +1,33 @@
+```python
+from http.server import BaseHTTPRequestHandler, HTTPServer
+
+# HTTPRequestHandler class
+class testHTTPServer_RequestHandler(BaseHTTPRequestHandler):
+
+  # GET
+  def do_GET(self):
+        # Send response status code
+        self.send_response(200)
+
+        # Send headers
+        self.send_header('Content-type','text/html')
+        self.end_headers()
+
+        # Send message back to client
+        message = "Hello world!"
+        # Write content as utf-8 data
+        self.wfile.write(bytes(message, "utf8"))
+        return
+
+def run():
+  print('starting server...')
+
+  # Server settings
+  # Choose port 8080, for port 80, which is normally used for a http server, you need root access
+  server_address = ('127.0.0.1', 8081)
+  httpd = HTTPServer(server_address, testHTTPServer_RequestHandler)
+  print('running server...')
+  httpd.serve_forever()
+
+run()
+```

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
react-tuto/src/resources/markdown.json