Skip to content

Commit 22b0628

Browse files
committed
feat(resources.pycon): add additional resources
1 parent fb4a46d commit 22b0628

File tree

1 file changed

+130
-0
lines changed

1 file changed

+130
-0
lines changed

site/src/resources/pyconfr2025/index.md

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,133 @@ Juste après, vous retrouverez les supports de présentation:
2222
.. url-preview:: https://www.tldraw.com/f/VRC0YZYlbfwPC1fx_iB5B
2323
:title: tldraw - Support de présentation intéractif
2424
:image: https://www.tldraw.com/social-twitter.png
25+
26+
Et voici les ressources additionelles. Merci à tout le monde d'etre venu et désolé pour
27+
le chaos technique, j'espere que ces quelques ressources vous permetrons d'explorer ca à
28+
votre rythme.
29+
30+
Pour approndir comment un site web fonctionne je recommende vraiment la documentation
31+
Mozilla qui est aussi traduite en francais !
32+
33+
- <https://developer.mozilla.org/en-US/docs/Learn_web_development/Getting_started/Web_standards/How_the_web_works>
34+
35+
## Jinja
36+
37+
<https://jinja.palletsprojects.com/en/stable/>
38+
39+
Example de template html jinja:
40+
41+
```html
42+
<html lang="en">
43+
<head>
44+
<title>PyCon Demo</title>
45+
</head>
46+
<body>
47+
<h1>{{ PAGE_TITLE|escape }}</h1>
48+
<p>voici une liste d'images:</p>
49+
{% for img_path in IMGS %}
50+
<img src="{{ img_path }}">
51+
{% endfor %}
52+
</body>
53+
</html>
54+
```
55+
56+
Example de recette de build de template:
57+
58+
```python
59+
import jinja2
60+
61+
from pathlib import Path
62+
63+
templates_root = Path("...")
64+
65+
imgs_root = templates_root / "imgs"
66+
imgs = list(imgs_root.glob("*.jpg"))
67+
# les urls HTML ne supported pas les path absolus, nous devons convertir en relatif
68+
imgs = [img.relative_to(templates_root) for img in imgs]
69+
70+
jinja_env = jinja2.Environment(
71+
undefined=jinja2.StrictUndefined,
72+
loader=jinja2.FileSystemLoader(templates_root),
73+
)
74+
75+
template = jinja_env.get_template("template_name...")
76+
77+
attributes = {
78+
# mapping de variables globale propagees dans le template
79+
# mettez ce que vous voulez
80+
"PAGE_TITLE": "PyCon démo",
81+
"IMGS": imgs,
82+
}
83+
84+
# 'content' est une str qu'il faut ensuite sauvegarder sur disque
85+
content: str = template.render(**attributes)
86+
87+
# reste la logique de comment ecrire l'html et lancer le serveur ...
88+
```
89+
90+
## Markdown vers HTML
91+
92+
*Partie qu'on a pas eu le temps de voir*
93+
94+
En utilisant <https://python-markdown.github.io/>
95+
96+
```python
97+
from pathlib import Path
98+
import markdown
99+
100+
# voir la doc pour les settings dispo
101+
settings = {}
102+
103+
markdown_file_path = Path("...")
104+
markdown_content = markdown_file_path.read_text("utf-8")
105+
106+
html = markdown.markdown(
107+
markdown_content,
108+
# regardez dans la doc quel extensions sont necessaire pour vous,
109+
# les extensions permettent de rajouter de nouvelle facon d'ecrire
110+
# du markdown et sont vraiment pratiques.
111+
extensions=[
112+
# builtins.extra
113+
"abbr",
114+
"attr_list",
115+
"def_list",
116+
"fenced_code",
117+
"footnotes",
118+
"md_in_html",
119+
"tables",
120+
# builtins
121+
"admonition",
122+
"toc",
123+
],
124+
extension_configs=settings,
125+
output_format="xhtml",
126+
tab_length=4,
127+
)
128+
```
129+
130+
## Heberger son site
131+
132+
- <https://docs.github.com/en/pages>
133+
- gratuit pas vraiment de limitation
134+
- soucis ethique: GitHub est gerer par Microsoft et il n'hesistent pas a entrainer
135+
leur IA sur le contenu hebergé sur GitHub.
136+
- <https://codeberg.page/>
137+
- comme GitHub CodeBerg est une platforme plus ethique
138+
- marqué comme experimentale sur leur site
139+
- <https://neocities.org/>
140+
- Assez connu, inlus aussi un editeur HTML en ligne.
141+
- necessaire de apyer pour mettre un nom de domaine personalisé
142+
143+
Alternative queer (https://eldritch.cafe/@zorume/115247647232654326):
144+
145+
- <https://besties.house/> qui gère:
146+
- <https://pages.gay/> pour les sites
147+
- et <https://git.gay/> comme forge git
148+
149+
Et pour faire du "self-host" c'est aussi possible de louer un ordinateur, appelé VPS
150+
et d'utiliser [YunoHost](https://yunohost.org/) pour gerer le systeme. YunoHost rend le processus
151+
beaucoup moins technique.
152+
153+
- Pour trouver un VPS: <https://european-alternatives.eu/category/vps-virtual-private-server-hosters>
154+
- L'app YunoHost a installer pour gerer un site web: <https://apps.yunohost.org/app/my_webapp>

0 commit comments

Comments
 (0)