• Home
    • Home
    • Wouf's Blog
    • Boutique TShirt
    • Sponsoring
  • Math
    • Math au collège
    • Applis et boutiques
    • Cours particuliers
  • Jeux
    • Echecs
    • Poker
    • Des chiffres et des lettres
    • Dogs and cats (mastermind)
    • boggle - version Anglaise
    • boggle - version Française
  • Info
    • Console Python
    • SVG EDIT
    • fond d'écran
    • Prénom en chinois
    • Boite à outils
    • Mes Logiciels
    • DIVERS
    • Webmaster?
    • Liens

Laurent Petitprez

Tweet


Les conseils de Wouf

Beaucoup d’élèves entrant au lycée ont en effet des difficultés à manipuler les fractions, les racines carrées, les puissances, à factoriser des expressions… Ces notions, apprises au collège, sont mal assimilées, et le programme des classes de lycée ne prévoit pas de les retravailler en profondeur.

Cet ouvrage propose une remédiation pas à pas. Un code simple et mnémotechnique est associé à chacune des règles et rappelé dans toutes les corrections d’exercices. Il permet de se repérer et de comprendre ses erreurs.

Internet sera à l'économie du 21è siècle ce que l'essence fut au 20è siècle. La puissance des ordinateurs c'est l'essence d'internet.

Craig Barret

Voir toutes les citations.


Python vers HTML : une application en Python gratuite
Code Python traduit en HTML:
#vershtml.py version 1.1.1

import keyword, html
"""py.txt en py.htm
imperatifs :
1/ les strings n'utilisent pas les simples quotes

"""     
#constantes css
intro="<em ><a style=\"margin-left:35px; color:grey;\" href=\"http://site2wouf.fr/python_vers_html.php\">"     
intro+="Code Python traduit en HTML: </a></em>"     
intro+="<code><pre style=\"margin-top:2px; margin-left:20px; font-size:120%;border-radius: 20px;  max-width:600px; max-height:600px; padding-left :15px; overflow-x:auto;  border:3px ridge grey; Line-Height: 1.5;\">"     
fin="</pre></code>"     
motsclefs=keyword.kwlist
natives=["abs"     ,"bytes"     ,"chr"     ,"eval"     ,"exec"     ,"input"     ,"int"     ,"len"     ,"max"     ,\
         "min"     ,"open"     ,"print"     ,"str"     ]
nativestyle="<span style=\"color:purple\">"     
motsclefstyle="<span style=\"color:orange\">"     
diesestyle="<span style=\"color:red\">"     
fichier=open("py.txt"     ,"r"     )
texte=fichier.read()
fichier.close()
avant=["/n"     ," "     ,"("     ,"="     ,"."     ]
apres=["/n"     ," "     ,")"     ,"."     ,"("     ,":"     ]
print("Cette application va transformer le code python du fichier py.txt en html"     )
print("Et enregistrer le résultat dans py.htm..."     )
print("Les deux fichiers étant dans le répertoire de l'application !"     )
nom=input("(Facultatif ) Entrez le nom du programme :"     )
if nom!=""     :
    sources=input("(Facultatif ) Entrez un lien hypertext:"     )


#pretraitement à cause du caractère d echappement en html
texte=texte.replace("\\\""     ,"|@@|"     )

""" c est ici qu on modifie texte"""     
liste=texte.split("\"\"\""     )
"""les elements paires de la liste sont des commentaires de type triples cotes"""     
i=1
texte=""     
for morceau in liste:
    if i%2==1:
        #On cherche les strings
        morceau2=morceau.split("\""     )
        morceau2propre=""     
        j=1
        for partie in morceau2:
            if j%2==1:
                """On continue le traitement en cherchant les # hors chaine (commentaires)
qu'on remplace temporairement par |&|

"""     


                partiepropre=partie.replace("#"     ,"|&|"     )
                for mot in motsclefs:
                    for av in avant:
                        for ap in apres:
                            partiepropre=partiepropre.replace(av+mot+ap,av+motsclefstyle+mot+"</span>"     +ap)
                for mot in natives:
                    for av in avant:
                        for ap in apres:
                            partiepropre=partiepropre.replace(av+mot+ap,av+nativestyle+mot+"</span>"     +ap)
                morceau2propre+=partiepropre
            else:
                morceau2propre=morceau2propre+"<span style=\"color:#04B404\">\""      \
                +html.escape(partie,quote=True)+"\" </span>"     
            j+=1
                
        texte+=morceau2propre
    else:
        texte=texte+"<span style=\"color:#04B404\">\"\"\""      +html.escape(morceau,quote=True)+"\"\"\" </span>"     
    i+=1


""" reste à verifier ligne par ligne les mots clefs et les commentaires"""     
lignes=texte.split("\n"     )
texte=""     
for ligne in lignes:
    lignefinale=""     
    demi=ligne.split("|&|"     ,1)
    lignefinale=demi[0]
    for mot in motsclefs:
        for x in apres:
            if demi[0].find(mot+x)==0:
                lignefinale=motsclefstyle+mot+x+"</span>"     +demi[0][len(mot)+len(x):]
               
    for mot in natives:
         for x in apres:
            if demi[0].find(mot+x)==0:
                lignefinale=nativestyle+mot+x+"</span>"     +demi[0][len(mot)+len(x):]
    texte+=lignefinale
    if len(demi)>1:
        texte=texte+"<span style=\"color:red\">|&|"     +demi[1]+"</span>\n"     
    else:
        texte=texte+"\n"     

        
texte=intro+texte+fin

                  
#postraitement
texte=texte.replace("|@@|"     ,"\\\""     )
texte=texte.replace("|&|"     ,"#"     )
if nom!=""      and sources!=""     :
                  texte=texte+"<p style=\"text-align:right; width:600px; margin-top:2px; \"><em><a style=\"color:grey;\" href=\""     +sources+"\">"     +nom+"</a></em></p>"     
elif nom!=""      and sources==""     :
                  texte=texte+"<p style=\"text-align:right;width:600px;margin-top:2px; color:grey;\"><em>"     +nom+"</em></p>"     
                  

fichier=open("py.htm"     ,"w"     )
fichier.write(texte)
fichier.close()#vershtml.py version 1.1.1


Ce code c'est quoi?

Les problématiques étaient les suivantes :

  • Pouvoir afficher du code Python, avec une syntaxe de coloration claire, dans une page html. Ici ou dans l'ENT du collège.
  • Laisser la possibilité aux visiteurs de copier tout ou partie du code présenté pour collage dans un fichier Python (.py)
  • Une utilisation simplissime, sans option inutile.

Ma solution :

Ma solution consiste en une application Python sommaire qui, exécutée dans un répertoire, va lire le code Python dans un fichier texte (py.txt) et écrire dans un autre fichier texte (py.htm) ce même code mais traduis en html.

Mode d'emploi :

Prérequis:

L'utilisateur dispose d'un fichier exemple.py et aimerait récupérer son contenu pour le publier en html.

L'utilisateur dispose de Python installé sur son ordinateur.

La démarche pas à pas:

  • Commencer par copier-coller le code ci-dessus dans un fichier nommé html.py (par exemple)
  • Dans le répertoire de ce fichier, créer un fichier py.txt contenant le code python de exemple.py.
  • Double cliquer sur html.py et répondez aux questions (facultatives)
  • Récupérer le code html du fichier apparu : py.html

Remarques

Pour l'instant cette application ne gère pas les 'simples quotes' pour les chaines de caractères.

Note de version

La dernière version est la 1.1.1 :

Ajout du caractère ":" dans la liste apres pour corriger un bug de coloration syntaxique du code else:

Des questions ?

Utilisez le champ suivant !

Avertissements
Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes de la Licence Publique Générale GNU publiée par la Free Software Foundation Ce programme est distribué car potentiellement utile, mais SANS AUCUNE GARANTIE, ni explicite ni implicite, y compris les garanties de commercialisation ou d'adaptation dans un but spécifique. Reportez-vous à la Licence Publique Générale GNU pour plus de détails.
Officiel

Au cycle 4, les élèves s'initient à la programmation, en développant dans une démarche de projet quelques programmes simples, sans viser une connaissance experte et exhaustive d'un langage ou d'un logiciel particulier. En créant un programme, ils développent des méthodes de programmation, revisitent les notions de variables et de fonctions sous une forme différente, et s'entraînent au raisonnement.

Attendus de fin de cycle

  • Écrire, mettre au point et exécuter un programme simple

Connaissances et compétences associées

Décomposer un problème en sous-problèmes afin de structurer un programme ; reconnaître des schémas. Écrire, mettre au point (tester, corriger) et exécuter un programme en réponse à un problème donné. Écrire un programme dans lequel des actions sont déclenchées par des événements extérieurs. Programmer des scripts se déroulant en parallèle. - Notions d'algorithme et de programme. - Notion de variable informatique. - Déclenchement d'une action par un événement, séquences d'instructions, boucles, instructions conditionnelles.

Exemples de situations, d'activités et de ressources pour l'élève

Jeux dans un labyrinthe, jeu de Pong, bataille navale, jeu de nim, tic tac toe. Réalisation de figure à l'aide d'un logiciel de programmation pour consolider les notions de longueur et d'angle. Initiation au chiffrement (Morse, chiffre de César, code ASCII...). Construction de tables de conjugaison, de pluriels, jeu du cadavre exquis... Calculs simples de calendrier. Calculs de répertoire (recherche, recherche inversée...). Calculs de fréquences d'apparition de chaque lettre dans un texte pour distinguer sa langue d'origine : français, anglais, italien, etc.

Repères de progressivité:

En 5e, les élèves s'initient à la programmation événementielle. Progressivement, ils développent de nouvelles compétences, en programmant des actions en parallèle, en utilisant la notion de variable informatique, en découvrant les boucles et les instructions conditionnelles qui complètent les structures de contrôle liées aux événements.

Liens
  • python.org Le site officiel, pour télécharger Python !
  • Apprenez à programmer en Python avec Openclassrooms
  • Un programme Python pour publier du code Python sur une page web
  • Algorithme au cycle 4
  • La séquence 1 : Qu'est-ce qu'un algorithme ? Où on joue avec les indices...
  • La séquence 2 : Premier programme et premières boucles
  • La séquence 3 : Premiers tests...
  • La séquence 4 : Tests imbriqués.
  • La séquence 5 : Premières fonctions.
  • La séquence 6 : Bilan et commentaires
  • La séquence 7 : Python et Cesar(1)
  • La séquence 8 : Python et Cesar(2) : Un exemple de fonction récursive
  • La séquence 9 : Python et Cesar(3) : Notion de portée de variable
  • La séquence 10 : Python et Cesar(4) :boucle FOR et accès aux fichiers
  • La Séquence 11 - Python, longueur et angle, le module turtle(1)
  • Python sur le Blog
  • Un exemple d'application utilisant tkinter : Juniper_U
  • Scratch - site officiel
Téléchargemments
  • Le memo des séquences 1 et 2 en PDF
  • Les sources :
    • Bonjour monde !
    • conjugueur.py version 0.0.0
    • conjugueur.py version 0.0.1 (correction fin de séquence 2)
    • conjugueur.py version 0.1.0 (fin de séquence 3)
    • conjugueur.py version 0.2.0 (départ séquence 5)
    • L'exemple de la séquence 3
    • L'exemple de la séquence 3 (version corrigée)
    • Les fonctions -projet cesar- de la séquence 9
 


Tweets de @wouf

Comment ???

NEWS

  • Page : https://site2wouf.fr/python_vers_html.php
  • Catégorie : Informatique

Parlons RGPD et Education Nationale

Le Règlement général sur la protection des données (RGPD) est un texte de l'Union européenne qui a pour objectif de renforcer et unifier la protection des données personnelles des citoyens de l'UE. Depuis sa mise en place en mai 2018, il s'applique à toutes les entreprises et organisations, y compris les établissements d'enseignement.

Dans l'éducation nationale, le RGPD peut poser de nombreuses problématiques en raison de la quantité importante de données personnelles en jeu. Voici quelques-uns des principaux défis auxquels les établissements d'enseignement peuvent être confrontés :

  1. Gestion des données des étudiants : Les établissements d'enseignement doivent gérer de nombreuses informations personnelles sur leurs étudiants, telles que leur nom, leur adresse, leur numéro de téléphone, leur adresse e-mail, leur histoire scolaire, etc. Il est important de veiller à ce que ces informations soient protégées conformément aux exigences du RGPD.
  2. Stockage sécurisé des données : Les établissements d'enseign...

    lien vers l'article sur wouf blog
 

TIPS

Connaissez-vous OOO?.

Open Office (.Org) est une suite bureautique pleine d'avenir, avec déjà un passé riche.

Traitement de texte, tableur, gestionnaire de base de données, etc... Rien ne manque!

Open office est indispensable, un lien vers le site de téléchargement est bien rangé, dans la boite à outil du menu "Informatique".

Voir tous les conseils.

Dernière mise à jour:

Juin-juillet 2021

Nouvelles Pages !

  • Exercices du jour : autour de Thalès !
  • Activité du jour "L'ascenseur fou fou fou! version2"
  • Les exercices du jour : Fractions

Voir toutes les mises à jour.

 

Trois liens disponibles !

Votre propre message ici, c'est possible! Plus d'informations



Sauf mention contraire, le site est placé sous double licence Creative Commons et GNU Free Documentation License, par contre les grandes images décoratives appartiennent à Corbis et sont licenciées par microsoft

Contact: w0uf@free.fr (avec un zéro à la place du O)