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

Répondre à