14,90 € TTC
p.08 Réalisez des programmes aux performances optimales avec Valgrind
p.30 Introduction au dossier
p.32 Les différents frameworks de web scraping
p.56 Lâchez vos agents sur la Console de Recherche Google !
p.74 Un bot qui surveille le Web et envoie des alertes
p.84 Web scraping avec Node.js
p.96 Persistance et objets en C++
p.110 Écrire des mathématiques en LaTeX
Joyeux anniversaire Python !
Cette année Python fête ses 30 ans ! Il me semblait donc important de lui consacrer un édito pour revenir sur le succès de ce langage.
Un apprentissage simple, de très nombreux modules permettant de ne pas réinventer la roue carrée et un écosystème cohérent et performant, voilà ce qui a propulsé Python au sommet du classement des langages de programmation.
Tout au long de ces 30 ans, Python a su évoluer, se remettre en question afin de ne pas stagner. Le système de propositions PEP (Python Enhancement Proposals), dont l’index peut être consulté dans le PEP 0 (https://www.python.org/dev/peps/), a montré toute sa robustesse et son intérêt. Certaines propositions furent maintes fois rejetées pour ensuite aboutir à une intégration dans le langage après discussions acharnées des partisans et des opposants. On peut ainsi prendre pour exemple le très récent PEP 634, intitulé « Structural Pattern Matching : Specification », qui sera intégré dans la version 3.10 de Python. Le titre ne vous dit sans doute rien, le code suivant, extrait du PEP 636 et que Steve Jobs aurait sans aucun doute qualifié de « révolution », vous éclairera sans doute plus :
Eh oui, le switch / case réclamé depuis de nombreuses années par les développeurs arrive enfin ! Il sera désormais inutile de bidouiller [1] ! Python est donc un langage bien vivant ! Cela peut repousser certains développeurs arguant de prétextes fallacieux (« mon code ne sera plus compatible »), mais pour ma part je trouve cela très positif et encourageant : il y a toujours quelque chose à apprendre, un code à optimiser.
En parlant d’apprentissage, j’espère que vous trouverez dans le présent numéro de ce hors-série de quoi nourrir votre curiosité et satisfaire votre soif de savoir. Bonne lecture !
Tristan Colombo
[1] T. COLOMBO, « Python et le cas du switch (ou the switch case en anglais) », GNU/Linux Magazine n°199, décembre 2016 : https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMF-199/Python-et-le-cas-du-switch-ou-the-switch-case-en-anglais
GNU/Linux Magazine s'adresse aux professionnels et aux particuliers désireux de mieux maîtriser les techniques et problématiques liées à la programmation et à l’utilisation de solutions open source. Tous les deux mois avec ses articles techniques, la publication couvre les thématiques suivantes : programmation système, algo, bas niveau, sécurité du code, développement web...
Le web scraping, encore appelé parfois harvesting, n’est pas une pratique nouvelle. Elle consiste à utiliser des programmes ou des scripts pour extraire des données de sites internet. En soi, cela n’est pas réellement difficile, à condition que l’on sache quelles sont les opérations à effectuer et dans quel ordre.
Vous avez l’habitude d’allouer de la mémoire, mais vous oubliez constamment de la libérer ? Vous souhaitez optimiser le processus d’exécution de vos programmes ? Grâce à Valgrind, vos soucis d’amélioration des performances n’existeront plus !
Il ne viendrait à l’idée à personne de nos jours de se lancer dans la récupération de données sur le Web sans s’appuyer sur un framework simplifiant la tâche et évitant de réinventer la roue (carrée). Voyons donc quelques outils indispensables permettant de mener à bien cette tâche.