Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

article.md 9.4KB

title: ★ Pourquoi Python et Django slug: pourquoi-python-et-django date: 2009-12-11 00:59:01 type: post vignette: images/logos/scrumpy_pony.png contextual_title1: Stratégie de chiffrement des données et emails contextual_url1: 20101206-strategie-de-chiffrement-des-donnees-et-emails contextual_title2: Un projet Python : de l'idée à la publication contextual_url2: 20101203-un-projet-python-de-lidee-la-publication contextual_title3: ★ De l'OpenData au LinkedData : exemple de nosdonnees.fr contextual_url3: 20101130-de-lopendata-au-linkeddata-exemple-de-nosdonneesfr

Retour sur l’événement Scrumpy auquel j’ai participé le mois dernier. J’ai déjà eu l’occasion de m’exprimer ici sur Pourquoi Python et Pourquoi Django mais le contexte était assez différent sur cet intervention car je devais commencer à convaincre des bienfaits de Python. Or convaincre sur un langage ou un framework est relativement stupide.

On utilise un outil pour son usage, on peut faire des trucs super chiants aussi avec Python ou Django. Partant de là, comment parler des usages possibles, facilités par ces outils ? Ou reformulé un peu différemment, qu’est-ce qui me motive pour utiliser ces outils dans mon quotidien ?

Une lecture dont vous êtes le héros : soit vous voulez visionner l’intervention dans son intégralité (25 minutes) et je vous conseille de ne pas lire la suite avant (mais de sauter à la fin), soit vous continuez la lecture et vous pourrez vous rattrapper plus tard.

J’ai choisi d’explorer 2 axes un peu inhabituels : les vacances et le fun !

Vacances et productivité

Vacances et productivité

Si on veut pouvoir partir en vacances confortablement, il va en fait falloir être plus productif, et ça la productivité ça parle à tout le monde et ça fait pro :-).

Apprentissage

Apprentissage

L’apprentissage de Python est l’un des plus rapides qui soit, on peut l’enseigner aux enfants, aux élèves, aux développeurs, il suffit de quelques heures pour en maîtriser les bases. Avec quelques bases, on peut hacker son premier programme en quelques minutes. Vraiment.

Rapidité d’apprentissage signifie aussi facilité à intégrer de nouvelles personnes dans une équipe ou à transférer des compétences sur un projet (ce qui est plutôt utile pour partir en vacances tranquille).

Agilité

Agilité

Agilité : vaste programme car on en arrive à mettre tout et n’importe quoi derrière ce terme. En quoi Python vous fait gagner en agilité ? Il y a bien sûr l’usage des tests dont je parle ensuite qui rendent les refactorisations moins douloureuses, évitant les régressions inévitables autrement. Mais c’est surtout à l’usage que l’on se rend compte à quel point le langage est flexible et puissant.

Réutilisation

Réutilisation

La philosophie de Python et d’être batteries included, c’est à dire de proposer une bibliothèque standard complète permettant d’effectuer les tâches courantes avec le langage de base sans avoir à installer des bibliothèques tierces. Ceci favorise le code portable et réutilisable entre plusieurs projets.

Fun et qualité

Fun et qualité

La relation entre le fun et la qualité ? Une équipe qui prend du plaisir à développer va introduire de la qualité dans son produit.

Conventions

Conventions

Python repose sur des conventions de codage fortes qui favorisent la compréhension du code par un autre développeur. Ça paraît anodin énnoncé ainsi mais c’est pourtant capital pour la réutilisation et la maintenabilité du code. Lorsque vous prennez un code en main, bibliothèque externe ou code de votre collègue, vous n’allez pas être perdu grâce à une normalisation familière. C’est un gain de temps considérable à l’usage.

Tests

Tests

Python encourage l’usage des tests qui sont indispensables à la pérennité d’un code. Je ne vais pas me répéter sur ce point, c’est juste la représentation du capital de votre application, ce qui fait finalement sa valeur à long terme.

Élégance

Élégance

Ici aussi, je vous renvoie sur le billet l’Artiste qui sommeille en chaque geek, la part d’élégance que vous pouvez trouver dans votre code dépend de vous, de votre sensibilité et de la vision que vous avez de vos créations.

En conclusion, grâce à une productivité accrue et à la qualité de son code, on gagne en séreinité et en confiance.

Django

Je ne vais pas réexpliquer la boîte à outils qu’est un framework web, vous pouvez aussi consulter une ancienne présentation sur Django si vous souhaitez aller plus loin.

Applications réutilisables

Réutilisation

C’est aujourd’hui LE point fort de Django : un écosystème d’applications développées par la communauté de très bonne facture. Vous cherchez une application pour faire de l’OpenID, gérer des droits finement, pousser vos média sur S3, etc etc c’est possible et facilement intégrable à votre projet.

Cohérence

Cohérence

Le framework ayant été pensé dans sa globalité, on retrouve une cohérence et une qualité constante sur les différents points du framework. Et l’une des grandes forces de Django c’est la cohérence de sa documentation et son excellente qualité. Allez faire un tour dessus, ce n’est pas une légende :-).

Rapidité

Rapidité

Enfin un dernier argument en faveur de Django, c’est la rapidité de développement rendue possible grâce aux nombreux outils mis à disposition par le framework permettant d’éviter les tâches fastidieuses et répétitives. Vu la vitesse à laquelle les sites évoluent, c’est un point essentiel à prendre en compte au lancement d’un projet.

Démonstration et code

Suite à la théorie, j’ai réalisé une démonstration live de ce que l’on pouvait avoir en pratique qui a également été filmée. Et je viens de rendre le code accessible pour que vous puissiez continuer/hacker/etc, c’est un twitter-like qui reprend pas mal des concepts Django. J’ai ajouté un peu de code pour que vous puissiez aller plus loin, pour repartir de la présentation il suffit de prendre la révision qui va bien. N’hésitez pas à poser des questions ici au besoin.

Formation

Suite à cette intervention était prévue une formation qui malheureusement a été reportée faute de participants. C’est vraiment dommage car j’étais bien motivé et j’espère qu’il y aura davantage de curieux lors de la prochaine session. Si vous êtes intéressé, n’hésitez pas à me contacter ou à contacter Stéphane, en plus le cadre est vraiment unique !

En conclusion, j’ai eu des retours assez positifs et j’espère avoir convaincu ou au moins donné envie à certaines personnes présentes d’essayer de nouveaux horizons :-). Si l’agilité vous intéresse (et ça devrait), je vous encourage également à aller consulter les vidéos de Claude Aubry.