Le 08/02/2013 10:37, Oumar FALL a écrit :
PS: @LienRag, je t'ai envoyé une réponse en te proposant une librairie
PHP (Goutte <https://github.com/fabpot/Goutte>). Tu l'as regardé??
Pas encore, tu sais bien que je ne veux jamais faire le moindre
effort...;-)
Plus sérieusement, je crois que vous sous-estimez grandement la barrière
à l'entrée de la programmation moderne.
Nul n'est bon juge de lui-même et je suis donc incapable d'évaluer avec
justesse le sérieux ou le manque de sérieux de ma démarche
d'apprentissage, mais je sais que le tout petit peu que j'arrive à faire
est déjà insurmontable pour la majorité des sénégalais (ou des
non-sénégalais d'ailleurs) avec qui je discute.
Quand un programmeur averti programme et que ça ne marche pas, ça lui
confirme juste qu'il est en train de programmer (c'est quand ça marche
qu'il est étonné!). Quand un débutant programme et que ça ne marche
pas, c'est une remise en question existentielle qui provoque une assez
forte angoisse: "pourquoi les machines m'en veulent à moi? Qu'est-ce
que je leur ai fait? Aurais-je dû sacrifier un poulet à la fonction en
cours et est-elle fâchée que je ne l'ai pas fait? Skynet va-t'il me
confondre avec Sarah Connor?" (et c'est quelque chose que j'ai observé -
en un peu moins coloré certes - chez tous les débutants que j'ai pu
tenter d'initier, et surtout tous ceux qui n'osent même pas commencer),
c'est probablement un point qu'il est difficile de percevoir lorsque
l'on a dépassé ce stade il y a longtemps.
Sans compter qu'aussi blasphématoire que cela puisse paraître à vos
yeux, l'apprentissage de Python ou d'un autre langage de programmation
n'est pas pour moi un but en soi, mais un moyen pour arriver à une fin
(régler mon problème immédiat d'automatisation de certaines tâches
internet, me préparer à pouvoir gérer plus facilement des besoins futurs
d'automatisation de tâches informatiques non encore définies, participer
au mouvement général de démocratisation des connaissances techniques).
Plus blasphématoire encore, je n'ai pas l'intention de changer sur ce
point, d'ailleurs.
Quelqu'un m'a dit que les communautés (Python, Ruby et bien d'autres) ne
cherchent pas à avoir des "programmeurs" qui ne fournissent aucun effort
pour résoudre les problèmes qu'ils rencontrent.
Au-delà de la confusion entre refuser de fournir un effort et chercher à
éviter les efforts inutiles*, la référence à une communauté me paraît
être une des sources d'incompréhension.
La notion de communauté vient des américains, et a une assez forte
connotation religieuse - il me semble même qu'elle vient en grande
partie de la forme particulière d'organisation du christianisme prise
lors de la constitution des USA, de la conquête du territoire et du
génocide des autochtones.
Elle ne me paraît donc pas pertinente pour décrire ni l'expérience
humaine en général ni la promesse d'émancipation qu'apporte le logiciel
libre.
Je n'ai donc pas l'intention d'intégrer une "communauté", Python ou
autres, mais d'apprendre un langage qui correspondra à mes besoins et
que je pourrais éventuellement apprendre à qui en aura ensuite besoin,
restituant l'aide que j'aurais reçue non à une communauté mais à l'humanité.
Et à mon niveau, passer d'un langage à l'autre est assez perturbant -
donc j'ai mis Goutte dans un coin et j'y reviendrais quand j'aurais le
temps ou l'énergie, ou si tu as le temps et l'énergie de me l'expliquer
en direct à une prochaine rencontre.
D'ailleurs Alioune si on se voit le 23 et que cela te dit, j'aimerais
bien que tu m'expliques ce que tu disais sur les recommandations du W3C,
je n'y ai rien compris mais ça a l'air d'être le niveau d'abstraction
qui m'intéresse.
Tu pourras également, toujours si tu en as le temps, l'énergie et
l'envie, m'expliquer un peu mieux
ton code : _recurse(node) ressemble à une façon élégante de procéder, à
laquelle je n'aurais certainement pas pensé tout seul. Mais j'ai du mal
à comprendre ce que tu lui passes comme argument, et je ne vois pas de
test sur le sous-dossier à traiter.
Au fait j'ai probablement fait une erreur en demandant un dictionnaire,
à la réflexion un simple tuple devrait suffire.
Et oui, cela irait plus vite si je t'envoyais le fichier bookmark.html à
traiter, mais en fait et vu ma vitesse de traitement et puisqu'il y a
pour l'instant moins d'une soixantaine d'URLs, j'aurais probablement
aussi vite fait de faire le copier-coller et le rechercher-remplacer à
la main.
C'est donc surtout comme exercice (et aussi pour pouvoir reprendre la
même méthode si j'améliore la macro initiale un jour) que je cherche à
le scripter.
Mais je pense que je vais faire un premier essai en trichant un peu, en
faisant un copier-coller (encore un!) de la partie qui m'intéresse de
Bookmarks.html dans un fichier texte et en remplissant mon tuple à
partir de ce fichier.
Pour l'instant je me contente d'iMacro même si j'ai beaucoup de mal à
tester ces temps-ci du fait de ma connexion pourrie qui dépasse rarement
le 0,5 ko/s depuis quatre jours** et qui fait que les macros que j'écris
plantent à peu près toutes avant la fin de leur exécution, au moins une
des pages appelées refusant de se charger. Sans compter que plusieurs
des tutoriels sont en vidéo, donc non chargeables avec une telle connexion.
Mais bon malgré tout je pense avoir réussi à a peu près optimiser ma
macro, en tous cas par rapport à mes capacités de codeur, donc re-merci
Genova. Le seul problème qui reste est que iMacro n'est batchable qu'en
version payante, donc pour me faire un lanceur il va falloir bricoler et
je ne sais pas trop comment.
En fait j'ai trois solutions, lancer une fenêtre Firefox sur une URL
précise et y appeler une macro générique (puis recommencer sur les
environ 60 URLs concernées), ou scripter la création d'une macro géante
en faisant boucler le copier-coller du code de la macro optimale et le
rechercher-remplacer de l'URL à l'intérieur de ce code (visiblement je
dois être un criminel endurci: non seulement je pratique le
copier-coller de code, mais je boucle dessus qui plus est! Dieu aie
pitié de mon âme...) et la lancer à la main, ou scripter la création de
60 macros par la même boucle et les lancer une par une par le lanceur
que je ne sais pas coder.
Donc là encore, s'il y a quelqu'un qui n'est pas rebuté par ma
maladresse informatique et ma pratique blasphématoire du copier-coller,
il peut éventuellement me dire comment faire (enfin la deuxième méthode
je dois pouvoir y arriver seul, mais ce n'est pas très élégant et laisse
tout le processus à la merci d'une erreur ou d'une perte de connexion
lors des premiers passages)...
(*) Je sais que j'ai infiniment moins d'expérience que vous, mais
jusqu'à présent je ne vois pas en quoi copier-coller le code d'Alioune
(par exemple) dans un IDE pour le passer au débuggeur et suivre son
exécution pas à pas est une mauvaise méthode d'étude (oui je sais, les
Vrais Informaticiens parsent à la main, mais je n'ai jamais prétendu en
être).
Ni quelle est l'utilité pédagogique d'avoir à corriger une cinquantaine
de syntax error uniquement dues au fait que Python est incapable de
gérer proprement le copier-coller.
A la limite il est vrai que pour un débutant, recopier le code à la main
ligne par ligne ou bloc par bloc facilite la mémorisation, mais il n'est
pas clair que cela rentabilise le temps que cela demande, surtout si
l'on tient compte du temps qu'il faudra passer à corriger les fautes de
frappe.
(**) Enfin le logiciel d'e-express m'annonce entre 50 et 200 ko/s - sur
3 Mo/s vendus - mais Bittorrent m'annonce entre 2 et 5 ko/s et le total
des téléchargements ne fait que rarement plus que 0,5 ou 1 ko/s,
exceptionnellement 10 ko/s; et les pages firefox ne se chargent que très
difficilement; comme je n'ai pas trouvé de logiciel de surveillance du
débit réel et que l'atelier prévu au Barcamp pour expliquer comment
fonctionne et se répartit la connexion n'a pas eu lieu, je peux
difficilement être plus précis.
Le 07/02/2013 19:32, Patt Nsukami a écrit :
Vu l'excuse annoncée pour ne plus apprendre (copier/coller), je reste
persuadé qu'il n'a JAMAIS voulu apprendre. endOfStory.
Le 07/02/13, Genova<[email protected]> a écrit :
Le 7 février 2013 17:55, Genova<[email protected]> a écrit :
Pas facile d'apprend
mois pour apprend de news truc, je m'y prend comme suite:
Avant de faire du code je me documente beaucoup de lecture, d'audio ou de
vidéo
après je fait dessine des schéma si possible pour mieux comprend
quand je sens que je suis prés je débute les exos ou les prototype
dés que j'ai la main je reviens sur la documentation
et je répète se cycle trés souvent avec mon rythme
avec de petit objectifs
Dans tout sa j'ai un cadre dédier à l'apprentissage, un ordi adapté, un
éditeur configurer pour les besoin du python dans mon cas, quelque truc
et astuce sens oublier un liste pour demander si j'y arrive pas
on est tous passer par le copier coller du courage ;-)
Genova
+221772630047 / +221703337332
+221338697269 / +221338685574
0033173033269
www.dofbi.com
--
Ce message a été envoyé à la liste [email protected]
Gestion de votre abonnement : http://dakarlug.org/liste
Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug
Le site du DakarLUG : http://dakarlug.org