Différences entre les versions de « Utilisateur:Selim »
(5 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
=Quelques petits codes huhu= | =Quelques petits codes huhu= | ||
+ | |||
+ | ==bot python sur mastodon : @insect_recipes== | ||
+ | ===Explications=== | ||
+ | Mon bot python (https://botsin.space/web/accounts/108231373883730919 )permet de générer des titres de recette et de les poster sur le compte | ||
+ | Mastodon @insect_recipes. Les noms des recettes sont produits de manière quotidienne en aliant | ||
+ | d'une part la "recette du jour" du site marmitton.org et de l'autre un insecte issu d'une liste que j'ai | ||
+ | moi-même créée. Pour cela, le programme choisit un mot au hasard dans le titre de la recette et le | ||
+ | remplace par un nom d'insecte. J'ai fait en sorte que ce mot ne soit pas un déterminant à l'aide d'une | ||
+ | petite liste de conditions, cependant j'aurai aimé passer par un dictionnaire pour vérifier que le mot | ||
+ | sélectionné soit un nom (pour éviter que l'insecte remplace un adjectif, par exemple). J'ai essayé | ||
+ | d'utiliser la bibliothèque spacey sans aboutir à un résultat concluant et malheureusement, les | ||
+ | alternatives que j'ai trouvées étaient exclusivement anglophones et ne pouvaient par conséquent pas | ||
+ | m'aider. | ||
+ | |||
+ | Pour tout ce qui concerne le fonctionnement du code, je l'ai parsemé de commentaires afin | ||
+ | de le rendre clair à la lecture humaine. | ||
+ | |||
+ | A la fin de la rédaction du bot, j'ai cherché à l'automatiser pour ne plus devoir le faire | ||
+ | tourner moi-même chaque jour. J'ai trouvé crontab, qui permetterait de déléguer cette tâche à mon | ||
+ | ordinateur, mais pour une raison qui m'échappe, je n'ai pas réussi à sauvegarder le crontab que | ||
+ | j'essayais de créer. Le code doit donc toujours être activé manuellement. | ||
+ | |||
+ | ===code=== | ||
+ | <syntaxhighlight lang="python"> | ||
+ | |||
+ | from bs4 import BeautifulSoup | ||
+ | import requests | ||
+ | import random | ||
+ | from datetime import datetime | ||
+ | import re | ||
+ | import pickle | ||
+ | from mastodon import Mastodon | ||
+ | |||
+ | #identification sur mastodon | ||
+ | mastodon = Mastodon( | ||
+ | access_token = 'xxxxx', | ||
+ | api_base_url = 'https://botsin.space/' | ||
+ | ) | ||
+ | |||
+ | #charge la date de la dernière execution du code avec génération d'un titre de recette | ||
+ | done = pickle.load(open("save.p", "rb")) | ||
+ | |||
+ | #vérifie qu'il est 12:00 (BE) pour poster la recette du jour | ||
+ | if datetime.utcnow().date() != done: | ||
+ | #enregistre la date de cette génération d'un titre de recette | ||
+ | done = datetime.utcnow().date() | ||
+ | pickle.dump(done,open("save.p", "wb")) | ||
+ | |||
+ | #web-scrap le titre de la recette du jour du site marmitton | ||
+ | html_text = requests.get('https://www.marmiton.org/').text | ||
+ | soup = BeautifulSoup(html_text, 'lxml') | ||
+ | recipe = soup.find('div', class_ = 'm_contenu_left') | ||
+ | title = recipe.find('div', class_ = 'm_titre_bloc') | ||
+ | name = title.find('h2').text | ||
+ | #print(name) | ||
+ | |||
+ | #supprime tout texte entre crochets ou parenthèses | ||
+ | name = re.sub("[\(\[].*?[\)\]]", "", name) | ||
+ | |||
+ | #divise le reste du titre de la recette en mots | ||
+ | mots = name.split(' ') | ||
+ | |||
+ | #supprime toute mention "facile", "très facile", "simple", "tout simple" ou "toute simple" | ||
+ | for i in range(len(mots)): | ||
+ | if mots[i] == "facile": | ||
+ | mots.pop(i) | ||
+ | if mots[i-1] == "très": | ||
+ | mots.pop(i-1) | ||
+ | elif mots[i] == "simple": | ||
+ | mots.pop(i) | ||
+ | if mots[i-1] == "tout" or mots[i-1] == "toute": | ||
+ | mots.pop(i-1) | ||
+ | |||
+ | #sélectionne un mot du nom de la recette au hasard | ||
+ | r = random.randrange(len(mots)) | ||
+ | while mots[r] == "le" or mots[r] == "la" or mots[r] == "de" or mots[r] == "à" or mots[r] == "et" or mots[r] == "au" or mots[r] == "aux" or mots[r] == "des": | ||
+ | r = random.randrange(len(mots)) | ||
+ | |||
+ | #sélectionne un insecte de la liste "insectes" | ||
+ | insectes = ["chenille","mouche","cafard","moustique","taon","cloporte","phasme"] | ||
+ | ri = random.randrange(len(insectes)) | ||
+ | |||
+ | #remplace le mot par un des mots de la liste | ||
+ | #analyse si mots[r] est au pluriel ou au singulier | ||
+ | if mots[r][-1] == "s" or mots[r][-1] == "x" or mots[r-1] == "aux" or mots[r-1] == "des": | ||
+ | nbr = "pl" | ||
+ | else: | ||
+ | nbr = "sg" | ||
+ | #vérifie que les accords de genre soient (approximativement) justes | ||
+ | if mots[r-1] == "la" and ri >= 2: | ||
+ | mots[r-1] = "le" | ||
+ | elif mots[r-1] == "le" and ri < 2: | ||
+ | mots[r-1] = "la" | ||
+ | if mots[r][:2] == "l'" and ri < 2: | ||
+ | mots[r] = "la " + insectes[ri] | ||
+ | elif mots[r-2] == "à" and mots[r-1] == "le": | ||
+ | mots[r-1] = "au" | ||
+ | mots[r] = insectes[ri] | ||
+ | mots.pop(r-2) | ||
+ | elif mots[r-2] == "de" and mots[r-1] == "le": | ||
+ | mots[r-1] = "du" | ||
+ | mots[r] = insectes[ri] | ||
+ | mots.pop(r-2) | ||
+ | elif mots[r][:2] == "l'" and ri > 2 and mots[r-1] == "à": | ||
+ | if ri >= 2: | ||
+ | mots[r-1] = "au" | ||
+ | elif ri < 2: | ||
+ | mots[r-1] = "à la" | ||
+ | mots[r] = insectes[ri] | ||
+ | elif mots[r][:2] == "l'" and ri > 2: | ||
+ | mots[r] = 'le ' + insectes[ri] | ||
+ | elif mots[r][:2] == "d'": | ||
+ | mots[r] = "de " + insectes[ri] | ||
+ | else: | ||
+ | mots[r] = insectes[ri] | ||
+ | #accorde au pluriel si nécéssaire | ||
+ | if nbr == "pl": | ||
+ | mots[r] = mots[r] + "s" | ||
+ | |||
+ | #réécrit le titre de la recette | ||
+ | recette = ' '.join(mots) | ||
+ | |||
+ | print(recette.capitalize()) | ||
+ | |||
+ | #poste le résultat | ||
+ | mastodon.toot(recette.capitalize()) | ||
+ | elif datetime.utcnow().date() == done: | ||
+ | print("la recette d'aujourd'hui a déjà été publiée") | ||
+ | else: | ||
+ | print("ERREUR: aucune des conditions rencontrée") | ||
==projet bot== | ==projet bot== | ||
− | faire un bot qui utilise une liste (des dinosaures, des champignons, des animaux extincts, des voitures) et place le mot du jour dans un descriptif trouvé sur internet (un titre d'article, un titre de video porno, l'annonce de la météo du jour)en remplaçant le mot le plus important par l'élément de la liste sélectionné ce jour-là | + | >> faire un bot qui utilise une liste (des dinosaures, des champignons, des animaux extincts, des voitures) et place le mot du jour dans un descriptif trouvé sur internet (un titre d'article, un titre de video porno, l'annonce de la météo du jour)en remplaçant le mot le plus important par l'élément de la liste sélectionné ce jour-là |
[ça donnerait des résultats comme | [ça donnerait des résultats comme | ||
Ligne 8 : | Ligne 138 : | ||
"baromètre de la motivation: donnez votre echinodon sur la vaccination" | "baromètre de la motivation: donnez votre echinodon sur la vaccination" | ||
"comment Bruxelles veut faire evenir ses fourniseurs d'utahraptor"] | "comment Bruxelles veut faire evenir ses fourniseurs d'utahraptor"] | ||
+ | |||
+ | >> faire un bot qui regarde à la journée/à la semaine le nombre d'articles (dans un journal précis comme le NYtimes par exemple)qui parle des pays occidentaux (europe, états-unis, canada, australie et nouvelle-zélande) par rapport aux autres pays et qui publie les chiffres [par exemples: 3 articles sur l'occident contre un 1 article sur l'orient] et le nom de l'article le plus lu pour chacune des deux catégories. | ||
==rendu: édition du poème binaire== | ==rendu: édition du poème binaire== |
Version actuelle datée du 9 mai 2022 à 14:49
Quelques petits codes huhu
bot python sur mastodon : @insect_recipes
Explications
Mon bot python (https://botsin.space/web/accounts/108231373883730919 )permet de générer des titres de recette et de les poster sur le compte Mastodon @insect_recipes. Les noms des recettes sont produits de manière quotidienne en aliant d'une part la "recette du jour" du site marmitton.org et de l'autre un insecte issu d'une liste que j'ai moi-même créée. Pour cela, le programme choisit un mot au hasard dans le titre de la recette et le remplace par un nom d'insecte. J'ai fait en sorte que ce mot ne soit pas un déterminant à l'aide d'une petite liste de conditions, cependant j'aurai aimé passer par un dictionnaire pour vérifier que le mot sélectionné soit un nom (pour éviter que l'insecte remplace un adjectif, par exemple). J'ai essayé d'utiliser la bibliothèque spacey sans aboutir à un résultat concluant et malheureusement, les alternatives que j'ai trouvées étaient exclusivement anglophones et ne pouvaient par conséquent pas m'aider.
Pour tout ce qui concerne le fonctionnement du code, je l'ai parsemé de commentaires afin de le rendre clair à la lecture humaine.
A la fin de la rédaction du bot, j'ai cherché à l'automatiser pour ne plus devoir le faire tourner moi-même chaque jour. J'ai trouvé crontab, qui permetterait de déléguer cette tâche à mon ordinateur, mais pour une raison qui m'échappe, je n'ai pas réussi à sauvegarder le crontab que j'essayais de créer. Le code doit donc toujours être activé manuellement.
code
from bs4 import BeautifulSoup
import requests
import random
from datetime import datetime
import re
import pickle
from mastodon import Mastodon
#identification sur mastodon
mastodon = Mastodon(
access_token = 'xxxxx',
api_base_url = 'https://botsin.space/'
)
#charge la date de la dernière execution du code avec génération d'un titre de recette
done = pickle.load(open("save.p", "rb"))
#vérifie qu'il est 12:00 (BE) pour poster la recette du jour
if datetime.utcnow().date() != done:
#enregistre la date de cette génération d'un titre de recette
done = datetime.utcnow().date()
pickle.dump(done,open("save.p", "wb"))
#web-scrap le titre de la recette du jour du site marmitton
html_text = requests.get('https://www.marmiton.org/').text
soup = BeautifulSoup(html_text, 'lxml')
recipe = soup.find('div', class_ = 'm_contenu_left')
title = recipe.find('div', class_ = 'm_titre_bloc')
name = title.find('h2').text
#print(name)
#supprime tout texte entre crochets ou parenthèses
name = re.sub("[\(\[].*?[\)\]]", "", name)
#divise le reste du titre de la recette en mots
mots = name.split(' ')
#supprime toute mention "facile", "très facile", "simple", "tout simple" ou "toute simple"
for i in range(len(mots)):
if mots[i] == "facile":
mots.pop(i)
if mots[i-1] == "très":
mots.pop(i-1)
elif mots[i] == "simple":
mots.pop(i)
if mots[i-1] == "tout" or mots[i-1] == "toute":
mots.pop(i-1)
#sélectionne un mot du nom de la recette au hasard
r = random.randrange(len(mots))
while mots[r] == "le" or mots[r] == "la" or mots[r] == "de" or mots[r] == "à" or mots[r] == "et" or mots[r] == "au" or mots[r] == "aux" or mots[r] == "des":
r = random.randrange(len(mots))
#sélectionne un insecte de la liste "insectes"
insectes = ["chenille","mouche","cafard","moustique","taon","cloporte","phasme"]
ri = random.randrange(len(insectes))
#remplace le mot par un des mots de la liste
#analyse si mots[r] est au pluriel ou au singulier
if mots[r][-1] == "s" or mots[r][-1] == "x" or mots[r-1] == "aux" or mots[r-1] == "des":
nbr = "pl"
else:
nbr = "sg"
#vérifie que les accords de genre soient (approximativement) justes
if mots[r-1] == "la" and ri >= 2:
mots[r-1] = "le"
elif mots[r-1] == "le" and ri < 2:
mots[r-1] = "la"
if mots[r][:2] == "l'" and ri < 2:
mots[r] = "la " + insectes[ri]
elif mots[r-2] == "à" and mots[r-1] == "le":
mots[r-1] = "au"
mots[r] = insectes[ri]
mots.pop(r-2)
elif mots[r-2] == "de" and mots[r-1] == "le":
mots[r-1] = "du"
mots[r] = insectes[ri]
mots.pop(r-2)
elif mots[r][:2] == "l'" and ri > 2 and mots[r-1] == "à":
if ri >= 2:
mots[r-1] = "au"
elif ri < 2:
mots[r-1] = "à la"
mots[r] = insectes[ri]
elif mots[r][:2] == "l'" and ri > 2:
mots[r] = 'le ' + insectes[ri]
elif mots[r][:2] == "d'":
mots[r] = "de " + insectes[ri]
else:
mots[r] = insectes[ri]
#accorde au pluriel si nécéssaire
if nbr == "pl":
mots[r] = mots[r] + "s"
#réécrit le titre de la recette
recette = ' '.join(mots)
print(recette.capitalize())
#poste le résultat
mastodon.toot(recette.capitalize())
elif datetime.utcnow().date() == done:
print("la recette d'aujourd'hui a déjà été publiée")
else:
print("ERREUR: aucune des conditions rencontrée")
==projet bot==
>> faire un bot qui utilise une liste (des dinosaures, des champignons, des animaux extincts, des voitures) et place le mot du jour dans un descriptif trouvé sur internet (un titre d'article, un titre de video porno, l'annonce de la météo du jour)en remplaçant le mot le plus important par l'élément de la liste sélectionné ce jour-là
[ça donnerait des résultats comme
"le prix du abelisaurus va auguementer"
"baromètre de la motivation: donnez votre echinodon sur la vaccination"
"comment Bruxelles veut faire evenir ses fourniseurs d'utahraptor"]
>> faire un bot qui regarde à la journée/à la semaine le nombre d'articles (dans un journal précis comme le NYtimes par exemple)qui parle des pays occidentaux (europe, états-unis, canada, australie et nouvelle-zélande) par rapport aux autres pays et qui publie les chiffres [par exemples: 3 articles sur l'occident contre un 1 article sur l'orient] et le nom de l'article le plus lu pour chacune des deux catégories.
==rendu: édition du poème binaire==
[documents HTML et CSS]
===INDEX.HTML===
<syntaxhighlight lang="html4strict">
<!DOCTYPE html>
<html>
<head>
<title> édition poème </title>
<link href="style.css" rel="stylesheet" type="text/css">
<meta charset="utf-8">
</head>
<body>
<section class="un1">
<div class="page hg twelve">
<img src="snakeboy1.png" id="poster12">
<element class="c12">Wesh la zone</element>
<element class="c12-2">Wesh une pie blanche dans le ciel
Wesh J'ai des cheveux<br>
Wesh A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~<br>
Wesh la zone<br>
Wesh Ou est la mer, vive le vent<br>
Wesh a;rS\x17CK\x17'KS;<br>
Wesh [CKg\x1bS[C\x17K;<br>
Wesh Je suis telle une rose... Delicate et qui embaume...<br>
Wesh As'tu vu mon nez Tout elumine<br>
Wesh Chemin prevu Sillon trace<br>
Wesh J'espere ce qui m'est interdit<br>
Wesh O \x15age<br>
Wesh O Desespoir<br>
Wesh O Vieillesse ennemie</element>
<div class="line"></div>
<element class="abonnement">tarif abonnement</element>
<element class="article12">1 une pie blanche dans le ciel
2 J'ai des cheveux<br>
3 A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~<br>
4 Wesh la zone<br>
5 Ou est la mer, vive le vent<br>
6 a;rS\x17CK\x17'KS;<br>
7 [CKg\x1bS[C\x17K;<br>
8 Je suis telle une rose... Delicate et qui embaume...<br>
9 As'tu vu mon nez Tout elumine<br>
10 Chemin prevu Sillon trace<br>
11 J'espere ce qui m'est interdit<br>
12 O \x15age<br>
13 O Desespoir<br>
14 O Vieillesse ennemie</element></div></element>
</div>
<div class="page hd one">
<img src="snake4.png" class="drawnsnake">
<element class="pub1">O \x15age<br>
O Desespoir<br>
O Vieillesse ennemie</element></div>
<div class="page bg back">
<element class="dos">une pie blanche dans le serpent
J'ai des serpents
A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~
Wesh la zone
Ou est la mer, vive le serpent
a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;
Je suis telle une rose... Delicate et qui embaume...
As'tu vu mon serpent Tout elumine
Chemin prevu Sillon trace
J'espere ce qui m'est interdit
O \x15age
O Desespoir
O Vieillesse ennemie</element>
</div>
<div class="page bd cover">
<element class="nom">J'ai des <br>cheveux<br></element>
<element class="numero">N° A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~<br>20 DECEMBRE 2021<br></element>
<element class="principal"> Ou est la mer,<br>vive le vent </element>
<element class="titre second"><div class="citation">"Je suis telle une rose...<br>Delicate et qui embaume..."</div><br>
une pie blanche dans le ciel</element>
<element class="titre troisieme">Wesh<br><div class="citation">la zone</div></element>
<element class="bord">a;rS\x17CK\x17'KS; [CKg\x1bS[C\x17K;SELIM CLERIN</element>
</div>
</section>
<section class="deux2">
<div class="page hg two">
<img src="snake6.jpg" class="snake1"><element class="caption c1">jaune</element>
<img src="snake5.jpg" class="snake2"><element class="caption c2">orange</element>
<img src="snake10.jpg" class="snake3"><element class="caption c3">??????</element>
<element class="titre2">jaune ou orange</element>
<element class="article2">une pie blanche dans le ciel
J'ai des cheveux jaune
A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~
Wesh la zone
Ou est la mer, vive le vent orange
a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;
Je suis telle une rose... Delicate et qui embaume... jaune
As'tu vu mon nez Tout elumine
Chemin prevu Sillon trace
J'espere ce qui m'est interdit jaune
O \x15age orange
O Desespoir orange
O Vieillesse ennemie orange</element>
</div>
<div class="page hd eleven">
<element class="titrearticle11">a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;</element>
<element class="article11">a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;
a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;
a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;
a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;
a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;
a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;
</element>
<div class="line"></div>
<img src="snakegirl2-.png" id="snakegirl11">
<element class="pub11">Dlicat</element>
<element class="c11">J'ai ds chvux<br>
A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~<br>
Wsh la zon<br>
Ou st la mr, viv l vnt<br>
a;rS\x17CK\x17'KS;<br>
[CKg\x1bS[C\x17K;<br>
J suis tll un ros... Dlicat t qui mbaum...<br>
As'tu vu mon nz Tout lumin<br>
Chmin prvu Sillon trac<br>
J'spr c qui m'st intrdit<br>
O \x15ag<br>
O Dsspoir<br>
O Viillss nnmi</element>
</div>
<div class="page bg zero"><element class="pub0">une pie blanche dans le ciel
J'ai des cheveux<br>
A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~<br>
Wesh la zone<br>
Ou est la mer, vive le vent<br>
a;rS\x17CK\x17'KS;<br>
[CKg\x1bS[C\x17K;<br>
Je suis telle une rose... Delicate et qui embaume...<br>
As'tu vu mon nez Tout elumine<br>
Chemin prevu Sillon trace<br>
J'espere ce qui m'est interdit<br>
O \x15age<br>
O Desespoir<br>
O Vieillesse ennemie</element></div>
<div class="page bd thirteen">
<element class="pub13-1">Chemin prevu<br>Sillon trace</element>
<element class="pub13-2">J'espere ce qui m'est interdit</element></div>
</section>
<section class="trois3">
<div class="page hg four">
<img src="snake8.jpg" id="illu4">
<element class="article4">une mare aux canards blanche dans le raton-laveur
J'ai des cheveux<br>
A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~<br>
Wesh la mare aux canards<br>
Ou est la mare aux canards, vive le raton-laveur<br>
a;rS\x17CK\x17'KS;<br>
[CKg\x1bS[C\x17K;<br>
Je suis telle une mare aux canards... Delicate et qui embaume...<br>
As'tu vu mon nez Tout elumine<br>
Chemin prevu Sillon trace<br>
J'espere ce qui m'est interdit<br>
O \x15age<br>
O Desespoir<br>
O Vieillesse ennemie</element>
</div>
<div class="page hd nine">
<element class="titre9">"Je suis telle une rose... Delicate et qui embaume...":<br>
une pie blanche dans le ciel</element>
<element class="article9">une pie blanche dans le ciel
J'ai des cheveux
A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~
Wesh la zone
Ou est la mer, vive le vent
a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;
Je suis telle une rose... Delicate et qui embaume...
As'tu vu mon nez Tout elumine
Chemin prevu Sillon trace
J'espere ce qui m'est interdit
O \x15age
O Desesp-ir
O Vieillesse ennemie</element>
<element class="article9b">une pie blanche dans le ciel
J'ai des cheveux
A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~
Wesh la zone
Ou est la mer, vive le vent
a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;
Je suis telle une rose... Delicate et qui embaume...
As'tu vu mon nez Tout elumine
Chemin prevu Sillon trace
J'espere ce qui m'est interdit
O \x15age
O Desesp-ir
O Vieillesse ennemie</element>
</div>
</section>
<section class="quatre4">
<div class="page hg ten">
<element class="pub10">une pie blanche dans le ciel
J'ai des cheveux<br>
A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~<br>
Wesh la zone<br>
Ou est la mer, vive le vent<br>
a;rS\x17CK\x17'KS;<br>
[CKg\x1bS[C\x17K;<br>
Je suis telle une rose... Delicate et qui embaume...<br>
As'tu vu mon nez Tout elumine<br>
Chemin prevu Sillon trace<br>
J'espere ce qui m'est interdit<br>
O \x15age<br>
O Desespoir<br>
O Vieillesse ennemie</element>
<img src="snakeboss.png" id="snakeboss">
<element class="c10">Chemin prevu Sillon trace</element>
<div class="line"></div>
<element class="titre10">Ou est la mer, vive le vent</element>
<element class="article10">une pie blanche dans le ciel
J'ai des cheveux<br>
A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~<br>
Wesh la zone<br>
Ou est la mer, vive le vent<br>
a;rS\x17CK\x17'KS;<br>
[CKg\x1bS[C\x17K;<br>
Je suis telle une rose... Delicate et qui embaume...<br>
As'tu vu mon nez Tout elumine<br>
Chemin prevu Sillon trace<br>
J'espere ce qui m'est interdit<br>
O \x15age<br>
O Desespoir<br>
O Vieillesse ennemie</element>
</div>
<div class="page hd three">
<element class="description3">As'tu vu mon nez Tout elumine</element></div>
</section>
<section class="cinq5">
<div class="page hg eight">
<img src="snake7.jpg" id="snake7-8">
<element class="titre8"></element>
<element class="article8">une pie blanche dans le ciel
J'ai des cheveux
A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~
Wesh la zone
Ou est la mer, vive le vent
a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;
Je suis telle une rose... Delicate et qui embaume...
As'tu vu mon nez Tout elumine
Chemin prevu Sillon trace
J'espere ce qui m'est interdit
O \x15age
O Desesp-ir
O Vieillesse ennemie</element>
<element class="article8b">une pie blanche dans le ciel
J'ai des cheveux
A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~
Wesh la zone
Ou est la mer, vive le vent
a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;
Je suis telle une rose... Delicate et qui embaume...
As'tu vu mon nez Tout elumine
Chemin prevu Sillon trace
J'espere ce qui m'est interdit
O \x15age
O Desesp-ir
O Vieillesse ennemie</element>
</div>
<div class="page hd five">
<element class="article5">
with open('poeme.txt','r') as f_open:<br>
data = f_open.read()<br><br>
lines = data.splitlines()<br><br>
for indice in range (0,len(lines)):<br>
mots = lines[indice].split(' ')<br>
for indiceMot in range (0, len(mots)):<br>
if mots[indiceMot].lower() == 'le'or mots[indiceMot].lower() == 'un':<br>
mots[indiceMot + 1] = 'raton-laveur'<br>
elif mots[indiceMot].lower() == 'la'or mots[indiceMot].lower() == 'une':<br>
mots[indiceMot + 1] = 'mare aux canards'<br>
lines[indice] = ' '.join(mots)<br><br>
data = '\n'.join(lines)<br>
print(data)
</element>
</div>
<div class="page bg upsidedown seven">
<element class="c7">une pie blanche dans le ciel
J'ai des cheveux
A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~
Wesh la z-ne
-u est la mer, vive le vent
a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;
Je suis telle une r-se... Delicate et qui embaume...
As'tu vu m-n nez Tout elumine
Chemin prevu Sill-n trace
J'espere ce qui m'est interdit
- \x15age
- Desesp-ir
- Vieillesse ennemie</element>
<element class="r-se">R-SE</element>
</div>
<div class="page bd upsidedown six">
<element class="c6">une pie blanche dans le ciel
J'ai des cheveux NARCISSE
A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~
Wesh la zone
Ou est la mer, vive le vent
a;rS\x17CK\x17'KS;
[CKg\x1bS[C\x17K;
Je suis telle une rose... Delicate et qui embaume... NARCISSE
As'tu vu mon nez Tout elumine
Chemin prevu Sillon trace
J'espere ce qui m'est interdit NARCISSE
O \x15age
O Desespoir
O Vieillesse ennemie</element>
<element class="narcisse">NARCISSE</element></div>
</section>
<section class="six6 centerfold">
<element class="nomcenter">J'ai des <br>cheveux<br></element>
<element class="numerocenter">N° A'Z\x177W[{;;S/\x17{W\x17S;\x1bW[K;S~<br>20 DECEMBRE 2021<br></element>
</section>
</body>
</html>
==code du lundi 11 oct 2021==
<syntaxhighlight lang="python">
print("combien de doigts as-tu?")
doigts = input("j'en ai ")
doigts = int(doigts)
if doigts == 10:
print("original pour un poisson")
elif doigts == 0:
print("comme moi")
print("...")
print("...")
print("...")
print("mais comment m'as tu répondu?")
elif doigts == 20:
print("tu as des doigts de pieds, c'est bien")
else:
print("intéressant")
STYLE.CSS
*{
box-sizing:border-box;
}
html, body{
margin:0;
padding:0;
}
body{
background:#00AAFF;
display:flex;
flex-wrap:wrap;
font-size:6px;
word-wrap: break-word;
overflow-wrap: break-word;
}
section{
margin:1%;
width:210mm;
height:297mm;
border:solid 2px black;
background:#FFFFFF;
display:grid;
grid-template-columns:repeat(2, 50%);
grid-gap: none;
grid-auto-rows:50%;
position: relative;
}
.page{
margin:0;
border:solid 1px black;
position:absolute;
}
.hg{
bottom:50%;
top:0;
left:0;
right:50%;
}
.hd{
bottom:50%;
top:0;
left:50%;
right:0;
}
.bg{
bottom:0;
top:50%;
left:0;
right:50%;
}
.bd{
bottom:0;
top:50%;
left:50%;
right:0;
}
.upsidedown{
transform:rotate(180deg);
}
.cover{
background-image: url("snakeboy2.png");
background-size: 100%;
color:white;
font-family:montserrat;
}
.nom{
font-family:Bakbak One;
font-size:40px;
position:absolute;
top:0;
left:14%;
background:#c5174b;
padding-left: 8px;
padding-right: 60px;
box-shadow:#861134 1px 1px 1px;
}
.numero{
font-size:10px;
padding-bottom:10px;
position:absolute;
top:8.2%;
left:16%;
color:black;
}
.principal{
font-size:30px;
position:absolute;
top:22%;
left:8%;
text-align:start;
text-shadow:black 1px 1px 0;
}
.titre{
font-size:10px;
position:absolute;
right:10%;
text-align:end;
}
.second{
bottom:10%;
}
.troisieme{
bottom:28%;
}
.citation{
font-size:14px;
}
.bord{
transform:rotate(270deg);
font-size:8px;
color:black;
position:absolute;
left:-23%;
top:20%;
}
.zero{
background-image: url("snake4b.png");
background-size: 180%;
}
.pub0{
position:absolute;
top:38px;
bottom:38px;
left:38px;
right:38px;
text-align: center;
padding-top:20px;
line-height: 30px;
background:#FFFFFF50;
color:black;
text-shadow:white 1px 1px 0;
font-size:16px;
font-family:impact;
border:black solid 0.8px;
}
.one{
background-image: url("snake4b.png");
background-size: 180%;
background-position:left 125% top 0;
}
.drawnsnake{
position:absolute;
top:14%;
left:0;
right:0;
text-align:center;
width:320px;
margin:auto;
background:white;
padding:6px;
border:black solid 2px;
}
.pub1{
position:absolute;
bottom:24px;
left:0;
right:0;
text-align:center;
font-family: impact;
font-size:56px;
color:white;
text-shadow:black 12px 12px 0;
}
.snake1{
position:absolute;
top:38px;
right:30px;
width:180px;
}
.caption{
position:absolute;
right:30px;
text-align:end;
font-family:roboto slab light;
font-size:10px;
}.c1{
top:160px;
}
.snake2{
position:absolute;
top:40%;
right:30px;
width:180px;
}
.c2{
top:335px;
}
.snake3{
position:absolute;
bottom:38px;
right:30px;
width:180px;
}
.c3{
bottom:23px;
}
.titre2{
position:absolute;
left:30px;
right:240px;
top:30px;
color:black;
font-size:24px;
font-family:roboto slab light;
}
.article2{
position:absolute;
left:30px;
right:240px;
top:100px;
bottom:30px;
color:black;
padding:6px;
font-size:12px;
font-family:roboto slab light;
border:black solid 1px;
}
.three{
background-image: url("snakegirl1.png");
background-size:100%;
}
.description3{
color:white;
font-family:roboto slab light;
font-size:16px;
position:absolute;
left:0;
right:0;
text-align:center;
bottom:38px;
}
#illu4{
position:absolute;
top:36px;
left:36px;
width:320px;
}
.article4{
position:absolute;
bottom:36px;
right:36px;
left:36px;
font-family:roboto slab light;
font-size:12px;
text-align:end;
}
.article5{
position:absolute;
bottom:36px;
top:36px;
right:36px;
left:36px;
border:black solid 1px;
font-family:roboto slab light;
font-size:14px;
padding:10px;
}
.six{
background-image:url("snakeboy3.png");
background-size:90%;
background-repeat:no-repeat;
background-position:center;
}
.narcisse{
position:absolute;
color:white;
font-family:bebas neue;
font-size:64px;
left:0;
right:0;
text-align:center;
bottom:42%;
letter-spacing:16px;
}
.c6{
position:absolute;
bottom:5%;
left:30px;
right:30px;
color:white;
text-align:left;
font-family:'Courier New';
font-size:10px;
}
.seven{
background-image:url("snakegirl3bw.png");
background-size:90%;
background-repeat:no-repeat;
background-position:center top 20px;
}
.r-se{
position:absolute;
color:black;
font-family:orbitron;
font-size:50px;
right:16px;
text-align:end;
bottom:2px;
letter-spacing:8px;
}
.c7{
position:absolute;
top:5%;
bottom:15%;
right:22px;
left:70%;
color:white;
text-align:right;
font-family:orbitron;
font-size:12px;
}
.centerfold{
background-image: url("snakeboy1.png");
background-size: 100%;
background-position: left 0 bottom 0;
}
.nomcenter{
font-family:Bakbak One;
color:white;
font-size:40px;
position:absolute;
bottom:0;
left:58%;
background:#c5174b;
padding-left: 8px;
padding-right: 60px;
box-shadow:#861134 1px 1px 1px;
}
.numerocenter{
font-size:10px;
padding-bottom:10px;
position:absolute;
bottom:2.8%;
left:59%;
color:black;
font-family:montserrat;
}
#snake7-8{
position:absolute;
top:36px;
left:36px;
width:320px;
}
.article8{
position:absolute;
left:36px;
right:56%;
top:46%;
font-size:12px;
line-height: 20px;
font-family:veranda;
}
.article8b{
position:absolute;
left:56%;
right:36px;
top:46%;
font-size:12px;
line-height: 20px;
font-family:veranda;
}
.titre9{
position:absolute;
left:36px;
right:36px;
top:36px;
bottom:60%;
font-size:30px;
font-family:veranda;
font-weight:bold;
padding:6px;
border:black solid 2px;
}
.article9{
position:absolute;
left:36px;
right:56%;
top:46%;
font-size:12px;
line-height: 20px;
font-family:veranda;
}
.article9b{
position:absolute;
left:56%;
right:36px;
top:46%;
font-size:12px;
line-height: 20px;
font-family:veranda;
}
.pub10{
position:absolute;
top:36px;
left:36px;
font-size:10px;
right:56%;
font-family:orbitron;
}
#snakeboss{
position:absolute;
top:55%;
left:36px;
width:130px;
}
.c10{
position:absolute;
bottom:36px;
left:36px;
right:56%;
font-size:24px;
text-shadow:rgb(64, 192, 224) 2px 2px 0;
font-family:orbitron;
}
.titre10{
position:absolute;
left:56%;
right:36px;
top:36px;
font-family:bakbak one;
text-shadow:rgb(179, 177, 177) 3px 3px 0;
font-size:26px;
}
.article10{
position:absolute;
left:56%;
right:36px;
top:26%;
bottom:36px;
font-size:12px;
line-height:16px;
font-family:'courier new';
}
.titrearticle11{
position:absolute;
font-family:bakbak one;
text-shadow:rgb(179, 177, 177) 3px 3px 0;
font-size:26px;
left:36px;
top:36px;
right:56%;
}
.article11{
position:absolute;
font-family:'courier new';
font-size:12px;
left:36px;
top:36%;
right:56%;
line-height:24px;
}
#snakegirl11{
position:absolute;
width:140px;
top:36px;
left:56%;
}
.pub11{
position:absolute;
color:black;
font-family:roboto slab light;
font-size:16px;
left:56%;
top:45%;
right:36px;
}
.c11{
position:absolute;
left:56%;
right:36px;
top:52%;
font-size:10px;
font-family:montserrat;
}
#poster12{
position:absolute;
width:120px;
top:36px;
left:36px;
}
.c12{
position:absolute;
color:black;
font-family:roboto slab light;
font-size:16px;
left:36px;
top:40%;
right:62%;
}
.c12-2{
position:absolute;
left:36px;
right:53%;
top:46%;
font-size:10px;
font-family:montserrat;
}
.line{
position:absolute;
background:black;
bottom:36px;
top:36px;
left:50%;
right:49.6%;
}
.abonnement{
position:absolute;
left:55%;
top:36px;
font-size:20px;
font-family:bakbak one;
}
.article12{
position:absolute;
left:56%;
right:36px;
top:72px;
font-size:12px;
font-family:montserrat;
}
.thirteen{
background-image:url("snakewatchbw.png");
background-size:100%;
}
.pub13-1{
position:absolute;
left:20px;
top: 10px;
color:black;
font-size:32px;
font-family:roboto slab light;
}
.pub13-2{
position:absolute;
right:22px;
bottom:22px;
text-align:end;
color:white;
font-size:40px;
font-family:roboto slab light;
}
.back{
background-image:url("snake12.jpg");
background-size:110%;
}
.dos{
position:absolute;
top:30px;
bottom:30px;
left:30px;
right:50%;
font-family:bakbak one;
font-size:14px;
text-align:end;
color:white;
}
@media print{
@page{
size:210mm 297mm;
}
body{
display:block;
margin:0;
}
section{
margin:0;
border:none;
}
.page{
margin:0;
border:none;
}
}
==code du lundi 18 oct 2021==
<syntaxhighlight lang="python">
import random
sujet = ["poisson", "agneau", "sac à patates", "amour", "molusque"]
print("combien de doigts as-tu?")
doigts = input("j'en ai ")
doigts = int(doigts)
i = random.randint(0, len(sujet))
if doigts == 10:
print(f"original pour un {sujet[i]}")
elif doigts == 0:
print("comme moi")
print("...")
print("...")
print("...")
print("mais comment m'as tu répondu?")
elif doigts == 20:
print("tu as des doigts de pieds, c'est bien")
print(f"c'est pratique pour attraper ton {sujet[i]} au pied du lit le matin quand tu es trop fatigué.e pour te lever.")
else:
print("intéressant")
lundi 25 oct 2021
code
import random
sujet = ["poisson", "agneau", "sac à patates", "amour", "molusque"]
print("combien de doigts as-tu?")
doigts = input("j'en ai ")
doigts = int(doigts)
i = random.randint(0, len(sujet))
if doigts == 10:
print(f"original pour un {sujet[i]}")
elif doigts == 0:
print("comme moi")
print("...")
print("...")
print("...")
print("mais comment m'as tu répondu?")
elif doigts > 15:
print("tu as des doigts de pieds, c'est bien")
print(f"c'est pratique pour attraper ton {sujet[i]} au pied du lit le matin quand tu es trop fatigué.e pour te lever.")
else:
print("intéressant")
print(f"Raconte-moi comment tu vis le monde dehors, être à {doigts} doigts")
raconte = input()
x = len(raconte)
if x < 20:
print("Tu ne parles pas beaucoup...")
plus = input ()
x = x + len(plus)
j = 1
while x < 60:
n = n + 1
if n < 2:
print("Dis m'en plus")
plus = input ()
x = x + len(plus)
elif n < 4:
print("PLUS")
plus = input ()
x = x + len(plus)
else:
print("Non mais vraiment, écrit plein de caractères comme ça on passe à la suite")
plus = input ()
x = x + len(plus)
elif x < 60:
print("Je t'entends")
j = 1
else:
print("Tu parles beaucoup")
j = 0
memoire = []
for i in range (0,3):
if j = 1:
jemesens = input("Bref, je me sens comme ")
memoire.apend(jemesens)
j = 0
print(f"{jemesens} se sent comme toi")
else:
jemesens = input("Je me sens comme ")
memoire.apend(jemesens)
if jemesens in memoire:
print("tu me l'as déjà dis")
i = i - 1
else:
print("Et c'est réciproque")
print(f"{jemesens} se sent comme toi")
propositions pour le poème
- un script qui remplace les 'o' par des 'ooooH'
- un script qui remplace un mot sur trois par 'miaou'
- un script qui ajoute 'lalala' à la fin des lignes dans lesquelles il y a un 'la'
- un script qui remplace les lignes qui commence par 'J' par la la phrase "J'ai menti"
- un script qui remplace les espaces par des '-hhh-'
- un script qui mélange les lignes
- un script qui remplace les mots qui suivent les 'le' par 'raton-laveur' et ceux qui suivent les 'la' par 'mare aux canards
- un script qui remplace les 'x' par 'XXX'
- un script qui remplace les mots de trois lettres par '???'
- un script qui supprime les derniers mots de chaque ligne et qui invite à les compléter de façon créative (avec des input())