teach
/
akhet
Archived
1
0
Fork 0

Initial survey

This commit is contained in:
nemunaire 2016-10-19 20:27:46 +02:00
commit 8ded814424
5 changed files with 267 additions and 0 deletions

11
home.go Normal file
View File

@ -0,0 +1,11 @@
package main
import (
"log"
"net/http"
)
func Home(w http.ResponseWriter, r *http.Request) {
log.Printf("Serve home page to %s: %s [%s]\n", r.Header.Get("X-Forwarded-For"), r.URL.Path, r.UserAgent())
http.ServeFile(w, r, "home.html")
}

199
home.html Normal file
View File

@ -0,0 +1,199 @@
<!DOCTYPE html>
<html>
<head>
<title>Sondage VIRLI</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>
<body class="container">
<h1>Virtualisation légère &mdash; SRS 2017</h1>
<p>
Aidez-moi à améliorer ce cours en donnant votre avis.
</p>
<form method="post" action="/vote">
<div class="form-group">
<h3>Quel est le cours/TP que vous avez préféré ?</h3>
<div class="radio">
<label>
<input type="radio" name="q1" id="q1" value="r1">
Docker, premiers pas
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="q1" id="q1" value="r2">
Docker, avancé
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="q1" id="q1" value="r3">
Linux Internal part 1 : procfs, capabilities, cgroups
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="q1" id="q1" value="r4">
Linux Internal part 2 : namespaces, mount, networking
</label>
</div>
</div>
<hr>
<div class="form-group">
<h3>Quel(s) cours mériterait, selon vous, d'être complété/approfondi ?</h3>
<div class="radio">
<label>
<input type="radio" name="q2" id="q2" value="r1">
Docker, premiers pas
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="q2" id="q2" value="r2">
Docker, avancé
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="q2" id="q2" value="r3">
Linux Internal part 1 : procfs, capabilities, cgroups
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="q2" id="q2" value="r4">
Linux Internal part 2 : namespaces, mount, networking
</label>
</div>
</div>
<hr>
<div class="form-group">
<h3>Diriez-vous que ce cours a :</h3>
<div class="checkbox">
<label>
<input type="checkbox" name="q3" id="q3" value="r1">
Trop de rappels
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="q3" id="q3" value="r2">
Trop de contenu
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="q3" id="q3" value="r3">
Pas assez d'heures
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="q3" id="q3" value="r4">
Arrive trop tard dans l'année
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="q3" id="q3" value="r5">
Manque de sources, webographie/bibliographie ou de contenu pour aller plus loin
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="q3" id="q3" value="r6">
Trop élitiste
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="q3" id="q3" value="r7">
Pas assez élitiste
</label>
</div>
</div>
<hr>
<div class="form-group">
<h3>Les TP, principalement :</h3>
<div class="radio">
<label>
<input type="radio" name="q4" id="q4" value="r1">
sont trop longs
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="q4" id="q4" value="r2">
ont trop de texte
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="q4" id="q4" value="r3">
n'ont pas assez d'exercices
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="q4" id="q4" value="r4">
ont trop d'exercices
</label>
</div>
</div>
<hr>
<div class="form-group">
<h3>Quelle raison vous a principalement poussée à ne pas assister au cours ?</h3>
<div class="radio">
<label>
<input type="radio" name="q5" id="q5" value="r1">
Je suis venu moi ! (ou autres empêchements non-liés au cours)
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="q5" id="q5" value="r2">
Je connaissais déjà les notions abordées
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="q5" id="q5" value="r3">
Trop bullshit
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="q5" id="q5" value="r4">
Trop technique
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="q5" id="q5" value="r5">
Il n'y a pas de valeur ajouté à aller à ce cours/TP
</label>
</div>
</div>
<hr>
<div class="form-group">
<h3>Laissez votre avis et n'hésitez pas à compléter les réponses que vous avez donné ci-dessus</h3>
<textarea class="form-control" name="other" rows="3"></textarea>
</div>
<button type="submit" class="btn btn-primary">Envoyer</button>
</form>
</body>
</html>

21
main.go Normal file
View File

@ -0,0 +1,21 @@
package main
import (
"flag"
"fmt"
"log"
"net/http"
)
func main() {
var bind = flag.String("bind", "0.0.0.0:8081", "Bind port/socket")
flag.Parse()
log.Println("Registering handlers...")
http.HandleFunc("/", Home)
http.HandleFunc("/vote", Vote)
log.Println(fmt.Sprintf("Ready, listening on %s", *bind))
if err := http.ListenAndServe(*bind, nil); err != nil {
log.Fatal("Unable to listen and serve: ", err)
}
}

16
thanks.html Normal file
View File

@ -0,0 +1,16 @@
<!DOCTYPE html>
<html>
<head>
<title>Sondage VIRLI</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>
<body class="container">
<h1>Virtualisation légère &mdash; SRS 2017</h1>
<div class="alert alert-success" role="alert">
<strong>Merci d'avoir donné votre avis !</strong> votre contribution a bien été enregistrée.
</div>
</body>
</html>

20
vote.go Normal file
View File

@ -0,0 +1,20 @@
package main
import (
"log"
"net/http"
)
func Vote(w http.ResponseWriter, r *http.Request) {
if r.Method == "POST" {
r.ParseForm()
log.Printf("Handling new vote from %s: %s [%s]\n", r.Header.Get("X-Forwarded-For"), r.URL.Path, r.UserAgent())
for k, v := range r.PostForm {
log.Println(k + ":", v)
}
http.ServeFile(w, r, "thanks.html")
} else {
http.NotFound(w, r)
}
}