Quelques changements sur le blog 31


Suite à une demande d’un lecteur acharné, les tutos Python vont changer de format.

Si le code est un peu long, il sera maintenant noté dans la mesure du possible sous la forme:

expression
## resultat

et non plus

>>> expression
resultat

De manière à ce que ce soit facile à copier / coller pour jouer avec.

Et l’intégralité du code du tuto sera mis sur ce repo git.

Vous pouvez déjà voir le résultat de ces changements sur le dernier tuto.

Au passage, vous avez du remarqué que pour les gros tutos de temps en temps on met des videos de musique. C’est aléatoire, la musique n’a pas de thème précis, c’est selon l’humeur.

La plantage de vendredi m’a aussi fait prendre conscience que ce blog ne durera pas toujours, et que quand on arrêtera d’écrire dedans, se serait bête de perdre tout son contenu. Je voudrais donc faire un dump statique du site à mettre en téléchargement à dispo.

Pour le moment j’ai essayé htttrack, mais il a un million d’options et avait pas finit après 3 heures. Puis divers plugins wordpress qui marchent tous moins bien les uns que les autres. Le dump SQL demanderait trop de nettoyage manuel. Le dump XML pareil, il contient les mails des posteurs de comment, et je ne veux pas divulguer vos adresses à qui que ce soit.

Bref, si vous avez une suggestion pour une “one command => mirror site”, faites pêter.

31 thoughts on “Quelques changements sur le blog

  • Daïku

    Mes deux centimes :

    wget -r -linf -k -p -E http://www.site.org/

    Explications prises sur la page http://doc.ubuntu-fr.org/wget :

    Télécharger le site récursivement avec une profondeur infinie ( -linf ), convertit les liens pour une consultation en local ( -k ), rapatrie tout les fichiers nécessaires à l’affichage convenable d’une page HTML ( -p ) et renomme toutes les pages HTML avec l’extension .html ( -E ) :

    Je suis en train de pomper mon propre blog, pour voir. A ce stade j’ignore si ça va plus vite ou moins vite qu’avec httrack.

  • roro

    Mes oustitis et moi, nous faisons (en basic) une interface (non graphique) qui est un tutoriel.
    Ce qu’ils préfèrent pour les trucs chelous, c’est un com sous la ligne:
    # a fait de “…” un objet
    # va appeler telle fonction
    Nous nous sommes rendu compte que la justesse des termes (appeller, créer…) est véry importante.
    Il paraît que mes explications les embrouillent…
    N’est pas prof qui veut…

  • Daïku

    Ah ben il vient de finir.

    J’ai la copie conforme de mon site, en local, bien présentée (du moins pour les pages que j’ai consultées).

    Et dans l’arborescence des fichiers et dossiers, sur mon disque dur, j’ai une structure que je ne soupçonnais pas qu’elle serait là.

    Eh bien… Que dire en conclusion ?

    Je connaissais vaguement wget.

    Merci à vous de m’avoir permis d’approfondir le bestiau car, même si je n’en ai pas spécialement l’usage, cela ajoute une corde à ma trousse à outils ! ;-)

  • roro

    Avec httrack, en filtrant: “.html”, ça devrait bien marcher vu qu’il n’y a pas de liens externes.
    Mais après, faut trier les articles des conneries.

  • truxs

    Je confirme que la solution de Daïku marche parfaitement sur Sam&Max

  • Etienne

    Pourquoi pas tout imprimer sur du papier recyclé et envoyer par la poste sur demande?

    Vous pouvez même le relier, avec une jolie couverture (safe pour les -18 ans, on sait pas où ça pourrait traîner)

  • Etienne

    En tout cas, il y a un truc qu’il ne faut pas changer sur ce blog, c’est le choix des photos d’illustration des articles. Elles sont excellentes. J’ose pas imaginer le temps que tu mets parfois à les trouver

  • Etienne

    @Daïku
    sympa ton blog. Le bois et moi, ça fait deux (sauf dans “qu’est-ce que tu bois?”), mais le ton est chouette.

  • roro

    Httrack marche très bien.
    Bon, ça arrache un peu le goudron, mais 5000 fichiers à trier ça occupe..les longues soirées d’hiver.

  • Sam Post author

    @Etienne: la moitié du temps de l’article est passé à trouver la photo :-)

  • JEEK

    @Sam: je ne suis pas surpris…
    Pour ce qui est du morceau de musique placé au début de certains articles : ne changez rien, c’est yabon (enfin, perso…j’adore) !
    :-)

  • roro

    Sam@ Quand tu estimera que l’oeuvre est achevée; tu n’aura qu’à vendre des clefs USB comme Wikipédia. (qui a été en rupture en moins de deux)

  • Sam Post author

    Merci @Daiku, , j’ai utilisé:

    wget -m -k -p -c -E  http://sametmax.com

    Et j’ai obtenu une version statique consultable en locale parfaite.

    120 Mo de Python et de Cul mine de rien.

  • Sam Post author

    Ok, je met tout ça en ligne demain. Y a parties illimitées de laser tag ce soir, j’aurais pas le temps. Je sais notre vie est tellement dure.

  • Etienne

    C’est leur testament, je le sens! Ils vont euthanasier leur pauvre serveur, comme on achève les chevaux, juste parce qu’il boite un peu. C’est fini. Adieu, on vous aimait bien. Snif…

    Cela dit, j’y pense, 120 Mo en héritage… Si le dix plus gros commentateurs de ce blog (dont j’espère faire partie, après tous les efforts fournis) se les partage, ça fait 12 Mo chacun. Pas mal…

  • roro

    Amarrer tout ce qui se trouve à moins de dis mètres du serveur, éloigner les femmes, les enfants et les animaux…
    …Je branche httrack !

  • Luigi

    C’est le cul qui occupe la majeure partie des 120 Mo selon moi ;o) Les implants ça bouffe du ko…

  • roro

    @Sam: Il manque ici un “dépôt de questions”.
    En voici une: On vois dans la doc que python a 30 keywords.
    Or, si on mets le nez dans la moindres lib: “time”->50 mots, tk->250 mots…ext.
    Existe t-il une liste complète des mots, et des modules dans lesquels ils sont employés ?
    Une sorte d’annuaire inversé.
    Ou va t-il falloir que je me cogne le taf ?

  • Sam Post author

    Il y a seulement 30 keywords. Tout le reste, ce sont des variables ordinaires. Elles marchent toutes de la même façon.

    Si tu veux savoir ce que contient et ce que tu peux faire avec une variable en particulier, il faut consulter la doc de chaque module. Pour la lib standard, (time, tk, etc), c’est par ici.

    En résumé : il faut connaitre les 30 keywords et leur fonctionnement par coeur (et les structures de données de base) si on veut vraiment être efficace. Mais pour tout le reste, on peut le regarder à chaque fois dans la doc.

    Pour les questions, ouai il manque une sorte de forum. Ca fait un bout de temps qu’on se tate. C’est un taff énorme.

  • roro

    Et le mot “master” qu’est-ce que c’est au juste?
    Il n’est pas dans la pydocgui.pyw. Et dans la doc ils en parlent très vaguement.

  • kontre

    pour avoir de l’aide sur un module, tu peux aussi faire help(nom_du_module). Et si t’as un bon ide, il peut te l’afficher en html plutôt qu’en texte brut. Ça peut servir à se rappeler de la syntaxe d’une fonction rapidement.

    Sauf les malins qui n’indiquent que fonction(*args, **kwargs)…

  • Sam Post author

    @roro: je ne connais pas de “master” en Python. Mais dans git, c’est le nom de la première branche créer par défaut automatiquement à l’initialisation du repo.

  • roro

    Les gamins sont sur un tuto Tkinter de Dorian.
    Ils ont voulu modifier le mot “master” en pensant que c’était une variable. ça a coincé, et je n’ai pas su leur répondre (les embrouiller).
    J’ai posé la question sur le blog de Dorian, on verra ce qu’il en dit.
    Au chap:24.1.4 de la doc de v2.7 je lis:
    The master of an objects is implicit…in Tkinter are spécified explicitly. C’est clair, mais pas sur le statut de ce mot.
    Tu dis plus haut qu’on “peut” consulter la doc.
    Je crois qu’on ne fait rien sans la doc.
    Y’a plus qu’à revoir l’intégrale des “Monty-python” pour saisir
    les subtilités de ce langage de cinglés.

  • roro

    @Kontre: J’ai fais un raccourcis de C:\python27\tools\scripts\pydocgui.pyw
    C’est plus cool que d’encombrer l’idle ou la console.

  • Sam Post author

    ahhhhhhhhhhhhH. L’attribut master d’un objet tkinter. Ok.

    Dans tous les GUI, chaque objet graphique à une référence vers l’objet qui le contient (le bouton a une référence à son formulaire, le formulaire a une référence à sa fenêtre, etc).

    Dans tkinter, cette référence est contenu dans l’attribut “master”.

  • roro

    Voila qui est plus clair. J’espère que le phénomène se limite à ce cas.
    Sinon il faudrait faire l’inventaire des exotismes.
    Cette doc est tellement monumentale que personne n’ose y toucher.

  • Sam Post author

    Oh ce n’est pas un exostime, c’est de la programmation normale. Les docs ont toujours été à chier, et il y a plein de chose à savoir. C’est pour ça qu’on est payé en fait : pas parce que la prog c’est dur, mais parcequ’il y a plein de truc à savoir et qu’il faut se taper des milliers de docs pourries pour les comprendre.

  • Roro

    C’est marrant de voir comme les gamins ont un angle d’attaque de la doc assez différent du mien et peut-etre du notre.
    Wait and see…

  • lenod

    Peut-être un peu tard, mais pour faire un dump du blog, l’autoblog de l’ami sebsauvage ne fait-il pas l’affaire ?
    Il héberge d’ailleurs lui-même une copie de s&m ici (mais je pense que je ne vous apprends rien). Bon après, ça ne garde pas tout (genre les commentaires) mais c’est une solution comme une autre.

    Quoi que vous fassiez, je crois que vous êtes forcés de rester dans la postérité.

  • Sam Post author

    Il ne prend pas en compte les commentaires et les pages statiques.

Leave a comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.