3 choses géniales que vous pouvez faire avec python

Je ne m’en cache pas, je suis un gros fan du langage python. Même s’il n’est pas vraiment adapté à la création de grosses applications, lorsque il agit en synergie avec d’autres choses, il devient véritablement un truc de fou !

interagir avec une multitude de services (gmail, youtube, spotify, dropbox, twitter…)

la plupart des services que vous utilisez sur le web tous les jours possèdent ce qu’on appelle des API. Pour faire simple, il s’agit de fonction que l’on peut appeler généralement via le web pour faire pour interagir avec du code avec le service. Par exemple, l’api youtube permet de lister les vidéos d’une chaîne, de liker automatiquement les vidéos d’un utilisateur dès que celle-ci sort, créer des playlists… l’api dropbox permet de créer de créer des fichiers sur votre espace de stockage, de les créer de les supprimer…
Ca n’a l’air de rien comme ça parce que vous vous dîtes que vous pourriez très bien faire cela sur le site de youtube et dropbox. Pourtant, puisque vous pouvez, au sein d’un même programme faire interagir une infinité de service, les possibilités sont infinies. Mais ce n’est pas tout car certains objets connectés, comme par exemple les ampoules philips hue, sont pilotable par une API et donc par python et là, ça devient génial ! Et vous pouvez faire des trucs géniaux, ou bien génialement débiles. Personnellement, j’ai réalisé en python un programme avec une interface web qui me permet de piloter mes lumières, spotify et plusieurs appareils chez moi.

Simplifier les tâches du quotidien

Classer, renommer, chercher… tous ces mots sonnent à l’oreille comme des trucs plutôt chiants, répétitifs, rébarbatifs. La bonne nouvelle, c’est que python (et la programmation en général) sont là pour vous aider à le faire. Si nous avons des ordinateurs, ce n’est pas pour classer un à un nos fichiers comme s’il s’agissait de paperasse. Ce n’est pas pour écrire un à un des mails de candidature spontanés comme on enverrait des courriers. Python peut renommer, classer, envoyer des mails etc… il existe des bibliothèque pour manipuler des fichiers, envoyer des mails etc.. et tout cela compatible avec n’importe quel système. Aidez-vous et aidez les autres à ne plus perdre leur temps sur des choses fastidieuses !

Devenir un « utilisateur surpuissant »

Pas mal de programmes open-source proposent d’étendre les possibilités du logiciel avec du code python. C’est naturellement le cas des logiciels écrits nativement en python mais aussi de logiciels proposant d’écrire des extensions en python. Vous en retrouverez une liste énorme ici : https://fr.wikipedia.org/wiki/Liste_de_logiciels_Python#Applications
Vous n’utiliserez plus jamais vos logiciels comme un noob ! Imaginez que vous ayez besoin d’une fonctionnalité très particulière, eh bien il est fort possible que vous puissiez l’ajouter vous-même avec quelques lignes de codes et devenir ainsi ce qu’on appelle un « power user », des utilisateurs malins, la crème de la crème.

Mais toutes ces choses, nous les aborderons sur ce blog ou bien sur ma chaîne Youtube.
Alors qu’attendez-vous pour devenir un geek malin ?

Apprendre à coder ?

Le 12 juillet 2017, Laurent Alexandre publie un article remarqué intitulé « Apprendre à coder ? Non ! » ; dans ce court articles, que je vous invite à lire, il avance qu’il est inutile que le tout venant apprenne à programmer. En résumé, ce serait inutile parce que dans un futur proche, la concurrence de l’intelligence artificielle aura rendu les métiers du développement élitistes et inaccessibles aux cerveaux mous. Beaucoup on discuté cette assertion à commencer par monsieur Bidouille dont la vidéo a porté cet article à ma connaissance.

Je ne suis pas foncièrement en désaccord avec Laurent Alexandre pourvu qu’on définisse bien le cadre d’intervention de l’IA. En effet, il faut distinguer deux types de logiciels : ceux dont l’évolution et l’amélioration continue est un confort et ceux dont l’amélioration continue est une raison d’être.

Si demain, on doit créer un programme capable de piloter un robot pour effectuer une opération à coeur ouvert, l’amélioration du programme semble indispensable, elle est vitale en l’occurence. Compter sur de bonnes décisions sur les modifications à apporter semble risqué car il s’agit d’un domaine où les connaissances théoriques comptent mais aussi un apprentissage pratique. Cet apprentissage pratique q’un humain fait naturellement, un programme sans IA ne peut le reproduire. Dans ce domaine, une IA capable de faire évoluer rapidement le programme aura tout son interêt. L’intelligence artificielle permet ici de faire des choses qu’on est pas capable de faire sans. En effet, programmer ce genre d’IA, surtout vu les risques encourus, est un job très qualifié, inaccessible au commun des mortels.

En revanche, si on doit créer un logiciel permettant à des commerciaux de faire un suivi de leurs clients et de leurs visite, qu’est-ce que l’IA peut faire pour nous aider ? Rien du tout. On a des utilisateurs, qui possèdent un besoin qu’on peut définir de manière assez précise, besoin que l’on peut affiner au fil des évolutions. On pourra également apprécier le retour sur investissement de telle ou telle évolution en faisant des statistiques et des tests comparés.

Dans ce cas, et c’est l’un des arguments à charge de l’article exposé par monsieur Bidouille, il faut pouvoir spécifier de manière très précise au programme ce qu’il doit faire. Et quel langage permet de décrire sans ambiguïté le comportement d’un programme ? Le code, par définition.

Il faut, cela étant dit, tempérer un peu ce propos. Les domaines dans lesquels l’IA aura sa valeur ajoutée vont aller croissants en nombre et en valeur. C’est dans les secteurs les plus générateurs de croissance que se retrouveront les investissements les plus lourds dans l’IA et donc l’élite de programmeur qui s’en occupent. Mais par ce mécanisme, l’élite des développeurs d’aujourd’hui seront occupés  sur l’IA demain ; et qui restera t-il pour développer le reste ? Tous les autres, et ça fait beaucoup de monde !

Certains pays ne s’y sont pas trompés. En 2013, Barack Obama a lancé la semaine de l’informatique en invitant les jeunes à développer leurs propres jeux vidéos. « Cette compétence n’est pas importante juste pour votre avenir, elle est importante pour l’avenir du pays. » dira t-il.

Au royaume-uni, 2014 a été « l’année du code » : une campagne visant élèves et enseignants qui prévoyait une initiation au code dès l’âge 5 ans et l’apprentissage de deux langages dès 11 ans.

Et en France ? Pas grand chose de concret.

Donc, oui, l’IA est un secteur promis à une croissance mirobolante dans l’avenir. Oui, si vous voulez gagner « mucho dinero » en développant, il faudra entrer dans l’élite des développeurs. Mais si vous voulez faire votre trou autour de programmes plus simples et moins coûteux, apprendre à coder semble plus un pari sur l’avenir que veut bien nous faire croire Laurent Alexandre. Ceux qui savent coder seront dans l’air du temps ; ceux qui ne savent pas seront irrémédiablement retardés.