- Le cours sur les formulaires
- Le sujet du TP sur les CGIs et les formulaires
- Partie 1 - les scripts à télécharger : cgi
- Partie 2 - le formulaire HTML à télécharger : form.html
- Partie 4 :
- les formulaires HTML à télécharger : forms
- les scripts à télécharger : cgi2
- Autres scripts intéressants : cgi3
- Comment donner à Apache la permission de créer des fichiers dans votre public_html ?
- Intérêts :
- Pour uploader un fichier, et que ce fichier soit accessible ultérieurement.
- Si l'un de vos scripts crée dynamiquement un fichier (une image grâce à matplotlib, un fichier texte résultat, etc.), sur lequel on mettra un lien hypertexte.
- Créez un sous-répertoire download dans votre répertoire web, grâce a une commande du style :
mkdir ~/public_html/download
-
Donnez les permissions à tous (dont Apache) de créer des fichiers dans ce répertoire :
chmod a+w ~/public_html/download
- Notre script ouvrira un fichier en écriture, de nom "../download/arbre.nwk" (votre script étant dans ~/public_html/cgi-bin), puis créera dans la page HTML résultant un lien (<a href="../download/arbre.nwk"> pour permettre à l'utilisateur de le télécharger.
- Problème : si 1000 utilisateurs se connectent et créent leur propre fichier résultat, il faudrait pour chacun d'eux des noms différents. Pour ça, créez des nombres aléatoires (en utilisant random, rand, randint, etc.) et nommez vos fichiers de la façon suivante par exemple : protein134581356.fasta.
- La façon propre est d'utiliser les sessions (voir cours de Magali Contensin).
- Il faudra aussi trouver un moyen de supprimer ces fichiers créés sinon votre disque dur finira par déborder.
- Cette partie est également valable pour PHP (en l'occurrence, vous verrez les sessions en PHP).
-
Travail à rendre pour le dimanche 9 février 23h :
- Pour ceux ayant fait le projet PS1 : votre projet de PS1 porté en application web avec python-CGI.
- Pour les autres, un projet conséquent en CGI, en sachant que le support CGI pour Perl, Python2, Python3, Shell, et langages compilés (C, C++, Fortran) est installé.
Évaluation :
- Utilisez les validateurs HTML et CSS (w3.org) : pas conforme au standard XHTML 1.0 Strict ou HTML5 = pas la moyenne. Je ne veux aucune erreur ; les warnings sont tolérés.
- Le script CGI doit fonctionner et ne pas générer d'exceptions (testez le avant, hors-ligne == en ligne de commande, puis avec cgitb activé).
- A l'instar de TradConcept, faites une vraie séparation entre le CSS (aspect visuel) et HTML (contenu). Je visualiserai avec et sans CSS.
- Vous devez tester sur les machines du CRFB. Si ca ne passe pas sur celles-ci : pas la moyenne.
- Bien entenu il faut quand même un code conséquent. Si votre code est trop simpliste, creusez-vous un peu la tête pour faire quelquechose d'un peu sympa côté web.
|