Enseigner pour élève lycée serveur python

Bonjour à la rentrée, je veux faire une initiation aux sites internet pour des élèves de TS en isn.
Nous faisons du python, je veux donc poursuivre en python et ne pas faire du php.
J’ai longuement hésité entre Flask, cherrypy, django, script cgi …

J’avais fait des scripts cgi sur un serveur apache ces deux dernières années.

Est ce que vous pensez que c’est bien de commencer par autre chose que php?
Je pense utiliser flask cette année.

Qu’utiliserez vous pour un public novice?

[quote=“limax”]Bonjour à la rentrée, je veux faire une initiation aux sites internet pour des élèves de TS en isn.
Nous faisons du python, je veux donc poursuivre en python et ne pas faire du php.
J’ai longuement hésité entre Flask, cherrypy, django, script cgi …

J’avais fait des scripts cgi sur un serveur apache ces deux dernière année.

Est ce que vous pensez que c’est bien de commencer par autre chose que php?
Je pense utiliser flask cette année.

Qu’utiliserez vous pour un public novice?[/quote]

Pour des novices effectivement c’est assez compliqué de trouver quelque chose qui soit évolutif mais pourquoi ne pas commencer avec du site statique du genre Pelican servit par du serveur tornado avec un nginx devant pour proxyfier els serveur web des élèves.

Quels sont les moyens mis à disposition ? tu par sur un serveur unique avec une base LAMP ? ou plus exotique ?

Le gros avantages de la solution c’est de pouvoir apprendre les rouages du python à la fois sur le serveur web, le site ne lui même et se faire la mains en même temps sur la gestion de version (je fais régulièrement du push/pull sur du site statique en interne au taff et ça marche plutôt bien).

[quote=“Clochette”]
Quels sont les moyens mis à disposition ? tu par sur un serveur unique avec une base LAMP ? ou plus exotique ?[/quote]

on travaille sur la clé usb de françois et on dispose d’un serveur apache + cgi python

Je vais regarder pelican merci

Finalement j’utiliserai flask, et si j’ai des projets on pourra les poser sur heroku

[ul]- Mon tp

edit: pas encore fini mais j’ai les grandes lignes.

edit2: Finalement on a utilisé pythonanywhere à la place d’heroku. C’est bien plus simple pour des élèves de Terminale.

Question naïve (je suis en train de me mettre à Flask) : ils ont de bonnes bases de Python pour pas être largués ? Parce que Flask a beau être un “micro” framework, ça reste un framework et je trouve l’idée pas forcément triviale à appréhender. Typiquement, les décorateurs partout c’est un peu perturbant. Si tu recopies et adaptes ça marche (et c’est déjà cool), mais beaucoup ne comprennent visiblement pas ce qu’ils font.
Pareil, l’idée du MVC ils l’ont ?

En tout cas c’est super comme initiative, j’aurais aimé avoir ça à l’époque :slightly_smiling:

Non pas tous, ils savent normalement manipuler le texte, les listes, (un tout petit peu les tuples), faire une fonction.
Nous n’avons pas fait les classes mais nous en avons déjà parlé parce qu’ils l’ont vu sur le net.

Non justement je souhaite juste qu’ils en voient le principe.

Tu sais nous ne demandons pas forcément des choses complexes. Les élèves ont tendance à choisir des projets complexes et nous au contraire on leur demande de simplifier voir même de changer de projet.

Je te dirai ce que ma leçon donne sur les élèves. J’espère bien avoir un ou deux projets dessus.

OK, j’attends de voir !

[quote=“seb-ksl”]les décorateurs partout c’est un peu perturbant.[/quote]Je ne compte utiliser que pour les routes
tu as quoi d’autre? (pour se loguer, les templates et ???)

Je n’utilise que le routage et la gestion de base de données (@app.before_request, @app.after_request, @app.teardown_request).

C’est juste que je vois deux solutions :

  1. ne pas expliquer les décorateurs, et ça aura un peu l’air d’un tour de magie
  2. les expliquer, au risque de paumer un peu de monde au passage (c’est quand même des fonctions d’ordre supérieur déguisés, je trouve pas ça hyper intuitif).

[quote=“seb-ksl”]Je n’utilise que le routage et la gestion de base de données (@app.before_request, @app.after_request, @app.teardown_request).

C’est juste que je vois deux solutions :

  1. ne pas expliquer les décorateurs, et ça aura un peu l’air d’un tour de magie
  2. les expliquer, au risque de paumer un peu de monde au passage (c’est quand même des fonctions d’ordre supérieur déguisés, je trouve pas ça hyper intuitif).[/quote]
    J’ai donc joué au magicien et le cours s’est pas trop mal passé. J’ai juste à déplorer un manque de temps car nous ne sommes pas aller à la fin.
    Je terminerai ce cours avec les élèves qui envisageront un projet internet.

Ok :slightly_smiling:
Je vois pas non plus comment faire autrement, à moins d’avoir un temps conséquent à disposition.

Pour ne pas mourir idiot, qu’est-ce que la filière “ISN” de la TS ? Ça n’existait pas encore quand j’y suis passé (en tout cas je crois pas). C’est une option orientée informatique ? Ça compte au bac ?

[quote=“seb-ksl”]Pour ne pas mourir idiot, qu’est-ce que la filière “ISN” de la TS ? Ça n’existait pas encore quand j’y suis passé (en tout cas je crois pas). C’est une option orientée informatique ? Ça compte au bac ?[/quote]Informatique et science du numérique
C’est une spécialité de TS, au même titre que maths, physique, svt, et science de l’ingénieur (SI). C’est un coef. 2 au bac.
Nous avons 2 heures par semaine.
François boisson a d’ailleurs modifié sa clé agreg pour l’isn.

[quote=“limax”]
François boisson a d’ailleurs modifié sa clé agreg pour l’isn.[/quote]
Pour être exact, on m’a demandé une clef pour être distribuée aux enseignants (et élèves?) de cette option (j’ai accepté sans vouloir de rétribution). les rectorats ont été suffisament stupides pour diffuser la clef en recopiant bêtement les fichiers, pour une clef live, c’est moyen…

Je sais le rectorat m’en a donnée une qui ne bootait pas :mrgreen: :mrgreen: :mrgreen:
Franchement ça faisait peine pour un cours d’isn.

J’avais demandé explicitement qu’il n’y ait pas de logo sur la clef (environ 50centimes/clef, pas de boites 1-2€ et que la clef soit le modèle non métaliique (moins cher). Est ce que cela a été respecté? Je ne crois pas te l’avoir demandé, sur Paris Creteil Versialles, oui mais j’ignore ailleurs.

Pour l’académie de grenoble la clé n’avait pas de logo, pas de boite et avait une partie métallique pour protéger la clé (et c’était bien vu).
Je dis avait car cette clé n’est plus :pray:
J’ai marché dessus :075 et j’ai cassé la clé :079 .

Bonjour

Voici le site réalisé par un de mes groupes.

Chiffrage, déchiffrage avec un site internet utilisant flask.
http://antoninisn.pythonanywhere.com/

Qu’est-ce que tu as eu comme retours des élèves ?

( je fais un peu de django avec eux ).

Je trouve flask un peu plus simple que django. J’ai hésité avant de me lancer.

Nous avons avec 18 élèves:
-> 2 groupes jeux avec pygame,
-> sudoku sur internet.
-> cryptographie sur internet (le lien que j’ai donné)
-> Création d’images fractales (tkinter et visualisation de l’image sur un site internet)
-> Éditeur d’images (tkinter)

Pour internet avec flask,
-> le groupe sudoku a perdu beaucoup de temps à cause d’un élève qui connaissait déjà le html et du coup n’a pas travaillé le td python-flask. Au final ce sont les deux autres élèves qui compensent et ils sont à la bourre.
-> le groupe fractale: La personne qui s’occupe de la partie internet a un peu de mal. Elle a encore du mal à faire la différence entre client et serveur. Pourquoi on ne peut pas faire certaine chose avec le serveur python? C’est difficile pour elle mais je me dit qu’elle apprend des choses cette année.
-> Cryptographie Ils m’ont dit qu’au début c’était un peu difficile avec tous ces fichiers (les modèles html, les scripts python, les statics) mais avec un peu d’habitude on s’y retrouve très vite.
Eux s’éclatent dans leur projet et le fait de le mettre sur internet est un vrai plus.

Et vous?

edit: cause grilled

Chez nous, pas mal de projets assez diversifiés sous tkinter, pygame, et même parfois opengl.

La partie django est plutôt dans le cadre d’un club pour les élèves, mais ça leur paraît trop compliqué, et préfèrent se tourner vers php.
C’est un peu dommage, mais aussi un peu de ma faute, car je n’arrive pas à avoir assez de temps avec eux pour ce projet.

Les retours d’autres expériences sont intéressants tout de même :slightly_smiling: