Le nécessaire pour la présentation aux journées de l'écoconception 2025 - retour accueil
git clone git://bebou.netlib.re/jour-eco-2025
Log | Files | Refs |
prez.slides (8734B)
1 2 3 4 5 6 7 8 Y'a-t-il quelque chose après 9 l'écoconception web ? 🍂 10 11 12 13 › Qui suis-je 14 15 Informaticien de formation 16 Milieu universitaire au service de la recheche 17 18 Membre de Katzele 😸🖥 19 20 › Une précédente présentation 21 22 Semaine Européenne du Numérique Responsable 2023 (Strasbourg) 23 24 https://numerique-responsable.strasbourg.eu/article/vidc3a9o-5-convivialisons-l-accc3a8s-au-infos-pratiques-d-alsace-1 25 26 Deux temps : 27 28 1. Derek critique le site des horaires de piscines de la ville 29 2. Je propose une version textuelle en dehors du navigateur 30 31 TODO heberger les horaires sur bebou pour montrer 32 TODO mettre des photos ? 33 34 › Quoi de neuf ? 35 36 En discutant avec Thomas on a décidé de : 37 38 1. Sauter la première partie (bien documentée) 39 2. Reprendre la seconde 40 3. Boucler la boucle, Derek fait une partie terminal/TUI de son 41 point de vue de designer 42 43 › Mais encore ? 44 45 Envie d'aller au delà du mode classique d'interaction terminal+CLI qui est : 46 47 Y'a une information textuelle quelque part 48 Je demande l'information 49 Je reçois l'information 50 Voilà 51 52 Très bien pour les horaires de piscines - n'importe quel site statique ou qui 53 devrait être statique. 54 Mais limité quand on a besoin de plus d'interaction. 55 56 Donc implémentation et démonstration de quelque chose qui serait plutôt un 57 appli web 58 59 "silent ! feh -F zero.webp bebou.jpeg› La machine de présentation 60 61 Légende : deux photos un peu moches d'un raspberry 3b 62 et d'un raspberry zero W 1. Le 3b est sur le 63 point de tomber à la renverse. 64 65 66 › Quizz 67 68 Faisons un petit quizz à propos de la machine 69 70 firefox https://app.wooclap.com/auth/login?lang=fr 71 72 › Frustrant non ? 73 74 Généralement c'est là que l'obsolescence logicielle vous pousse à acheter un 75 nouvel ordi. 76 77 78 79 › Comment résoudre ce problème 80 81 Deux logiciels particulièrement importants ici : 82 83 1. l'application web 84 2. le navigateur 85 86 › L'application web 87 88 21 requêtes 89 11,84 Mo / 3,58 Mo transférés 90 1258 éléments dans le DOM 91 92 Meilleures perfs que ce à quoi je m'attendais 93 Quasi inaccessible avec mauvaise co 94 Accessible uniquement en HTTPS 95 96 › Le navigateur 97 98 Un énorme truc en soit, presque un OS dans un OS 99 100 › Qu'est-ce qu'on garde qu'est-ce qu'on jette ? 101 102 Web : 103 104 Un client 105 Un navigateur 106 HTTP 107 HTML 108 CSS 109 JS 110 Un serveur 111 Serveur web 112 Log 113 › Qu'est-ce qu'on garde qu'est-ce qu'on jette ? 114 115 Web : 116 117 Un client 118 Un navigateur 119 HTTP 120 HTML 121 CSS 122 JS 123 Un serveur 124 Serveur web 125 Log 126 127 128 › Qu'est-ce qu'on garde qu'est-ce qu'on jette ? 129 130 Web : 131 132 Un client 133 Un navigateur 134 HTTP 135 Un serveur 136 Serveur web 137 Log 138 139 › Qu'est-ce qu'on garde qu'est-ce qu'on jette ? 140 141 Web : 142 143 Un client 144 Un navigateur 145 HTTP 146 Un serveur 147 Serveur web 148 Log 149 150 › Qu'est-ce qu'on garde qu'est-ce qu'on jette ? 151 152 Web : 153 154 Un client 155 HTTP 156 Un serveur 157 Serveur web 158 Log 159 160 › Une histoire à grepper des logs 161 162 Septembre 2022, un homme cherche à sonder sa communauté. 163 Il n'a pas d'outil pour, "juste" un serveur web 164 165 "N'ayant pas le temps de créer ou utiliser un outils de sondage, je vous 166 propose un "sondage par log": merci de construire (dans votre navigateur 167 ou avec curl) l'adresse suivante (qui répondra 404 et c'est normal). 168 169 https://people.u-strasbg.fr/surveydistro/devlog2209/N,P,D,F,H,X,O,E 170 171 › Génial 172 173 1. On profite de l'ubiquité du web plutôt que de se battre contre - pas de 174 "Teste cet outil c'est super mais il te faut un terminal et d'ailleurs 175 est-ce que t'as linux ?" 176 2. Mais on ne requiert des utilisateurices que le strict minimum. Il est 177 possible pour une part immense des machines de créer et envoyer une 178 requête HTTP. La barrière d'entrée en puissance de calcul et en 179 logicielle est très très faible. 180 3. On ne requiert de la personne qui a créé le questionnaire "uniquement" un 181 serveur web qui créé des logs et de quoi les parser. 182 4. L'idée est tellement simple que la diversité des implémentations peut être 183 très grande. Très rapide à créer, immédiat à utiliser. L'outil pour 184 répondre peut aller de la requête écrite à la main pipée dans un netcat à 185 la barre url de Chrome. 186 187 › L'entourloupe 188 189 190 T'arrivais pas à me faire sortir du navigateur pour 191 que je pratique la ligne de commande donc t'as mis 192 la ligne de commande dans mon navigateur ? 193 194 - Un ami très lucide 195 196 197 › qcm 198 199 code : http://git.bebou.netlib.re/qcm/file/README.html 200 article (en fait le readme) : http://arthur.bebou.netlib.re/qcm/index.sh 201 202 Pour résumer : 203 204 Un script à installer sur le serveur web 205 Qui lit des questionnaires écrit dans un certain format (du texte) 206 Ecoute en continue les logs du serveur et affiche les résultats 207 Nécessite un shell, xargs, sed, mktemp, stdbuf 208 209 › qcm 210 211 code : http://git.bebou.netlib.re/qcm/file/README.html 212 article (en fait le readme) : http://arthur.bebou.netlib.re/qcm/index.sh 213 214 Pour résumer : 215 216 Un script à installer sur le serveur web 217 Qui lit des questionnaires écrit dans un certain format (du texte) 218 Ecoute en continue les logs du serveur et affiche les résultats 219 Nécessite un shell, xargs, sed, mktemp, stdbuf 220 Que des choses déjà installées par défaut 221 sur la grande majorité des linux 222 stdbuf : 2009 223 224 225 226 227 › Et si on testait ? 228 229 ssh mbb qcm 230 231 › A quoi ressemble un questionnaire ? 232 233 ======= 234 question: "De quand date ce raspberry ?" 235 options: 2004~2012~2017~2023 236 demander 237 238 question: "Et son processeur ?" 239 type: regex 240 options: [0-9]+ 241 demander 242 ======= 243 244 ssh mbb '< questionnaire qcm -i joeco -g' 245 ssh mbb '< q qcm' 246 247 › Les specs 248 249 Raspberry zero W v1.1 250 251 1GHz, single-core CPU 252 512MB RAM 253 254 BCM2835 - ARM1176JZF-S 255 256 qcm: 5,3Ko 257 "silent ! feh -F 1Ghz-?.png› Une idée de ce que ça représente 258 259 Légende : Un screenshot d'un article publié par Wired datant 260 de 2000 et documentant la sortie du premier processeur 261 cadencé à plus de 1GHz. On y lit que presque personne 262 n'a besoin d'une rapidité aussi froudroyante. 263 264 265 › Et les performances ? 266 267 10 qcm 268 269 en idle 270 cpu à 1% (usage normal) 271 recevant 10 réponses par secondes 272 cpu ~ 25/30% 273 274 Pas un problème étant donné le contexte 275 Ca n'a pas à "scale" 276 277 › Pourquoi ssh ? 278 279 Pour que la personne qui l'utilise ait le 280 minimum de choses à installer sur son pc 281 282 › Pourquoi ssh ? 283 284 Pour que la personne qui l'utilise ait le 285 minimum de choses à installer sur son pc 286 287 Reproduire ce que les personnes qui fournissent 288 des services trouvent alléchant dans le web : 289 290 Pas d'installation sur les clients 291 Gestion des majs plus simples 292 ... 293 294 295 296 › Pourquoi ssh ? 297 298 Pour que la personne qui l'utilise ait le 299 minimum de choses à installer sur son pc 300 301 Reproduire ce que les personnes qui fournissent 302 des services trouvent alléchant dans le web : 303 304 Pas d'installation sur les clients 305 Gestion des majs plus simples 306 ... 307 308 Quand tout se passe bien le déploiement du service 309 consiste simplement à vérifier que le commande 310 s'exécute bien sur le serveur. 311 312 › En gros 313 314 "C'est accessible en SSH, t'as juste à ouvrir ton terminal" 315 316 est le nouveau 317 318 "C'est accesible sur le site, t'as juste à ouvrir ton navigateur" 319 320 321 › Pas une idée nouvelle 322 323 Mettre ici des exemples 324 325 Vieux 326 demander à marc 327 328 Plus moderne 329 330 pico.sh (vendent même des trucs autour) 331 332 créer un compte : 333 ssh pico.sh 334 335 poster un pastebin : 336 ssh mbb 'cat q' | ssh pastes.sh 337 338 Acheter du café 339 terminal.shop 340 341 telnet mapscii.me 342 343 Ici citation de Marc 344 345 "en fait avant on disait 'telnet all the things !'" 346 347 › Des exemples plus vieux/encore plus simples 348 349 telnet : 1973 350 telnet mapscii.me 351 352 nc bebou.netlib.re 2222 353 echo "c manger" | nc -N bebou.netlib.re 2222 354 355 › Une philosophie pour construire des services 356 357 Le propos n'est pas de remplacer toutes les applis webs avec des applis ssh 358 359 L'idée est de diversifier les interfaces et les technologies pour rendre les 360 services plus facile d'accès et plus résilients 361 362 Suggestion de conduite de projet pour la création d'un service : 363 364 1. Un minimum viable program (pas un POC). Partir sans à priori sur les 365 outils à mobiliser pour le créer. 366 2. Si besoin , créer des fonctionnalités et interfaces plus complexes sans 367 que cela se fasse au détriment des versions plus simples 368 369 Si c'est bien fait ça ne représente (presque) pas de dev en plus 370 371 Avoir déjà les fonctionnalités et interfaces essentielles en production 372 permet de se poser la question du besoin de manière plus équilibrée 373 puisque l'on pourra plus facilement opposer aux demandes le fait 374 que l'on a déjà quelque chose qui fait (presque tout) le taf 375 376 377 378 › Des personnes en discutent 379 380 https://shazow.net/posts/ssh-how-does-it-even/ 381 https://ploum.net/2024-07-21-memoire-commune-numerique.html#soustitre-2