Le Programmeur Python avec Django et MySQL
Introduction « La simplicité est la sophistication suprême. » Léonard De Vinci (1452 - 1519) Le langage de programmation Python a été développé au début des années 1990 par le Néerlandais Guido van Rossum au Centrum voor Wiskunde en Informatica (CWI) à Amsterdam. Le nom Python n'est pas inspiré du nom de la famille des serpents, mais de celui du groupe de comédiens britannique Monty Python. C’est un langage de programmation à la fois puissant et facile à apprendre, en passe selon certaines statistiques de dépasser Java en termes de popularité et de trafic. Python est un langage de programmation multiparadigme. Il est possible, par exemple, de programmer en Python orienté objet et fonctionnel. Les programmes Python sont indépendants de la plate-forme sur laquelle ils sont exploités, en particulier sur Windows, Linux ou macOS. La bibliothèque standard de Python est très ample, elle offre un large éventail d’outils, des plus élémentaires, par exemple pour la manipulation de texte, l’accès aux fichiers, les opérations mathématiques, aux plus sophistiqués, par exemple pour la communication réseau ou le stockage de données. Bon nombre d’entreprises à la croissance rapide utilisent, au moins en partie, Python pour le développement de leurs programmes ou applications Web (Gmail, Google Maps, YouTube, Dropbox, etc.). Nous dirons donc que Python est un langage de programmation populaire, largement utilisé et moderne qui vaut certainement la peine d'être appris. L’objectif de cet ouvrage est de faire connaître Python aux développeurs et étudiants qui connaissent d’autres langages, mais aussi de mettre à la disposition des professionnels un ouvrage de référence auquel ils peuvent avoir recours à chaque fois que le besoin se fait ressentir. Nous commençons dans le premier chapitre par énoncer les avantages du langage de programmation Python et citer les principaux environnements de développements pour Python. Nous avons consacré le deuxième chapitre à une description de l’installation de Python. Nous développons dans le troisième chapitre notre première application, un script Python qui affiche le message Hello World ! Les éléments communs à tous les langages de programmation (données et opérateurs, structures de contrôle) sont traités dans les quatrième et cinquième chapitres. L’aspect programmation orientée objet (POO) en Python est traité dans le sixième chapitre. C’est dans ce chapitre que nous présentons les notions de classe, de méthode, de constructeur et de destructeur, d’instanciation, d’héritage, etc. Le traitement de fichiers et de répertoires, quant à lui, est décrit dans le septième chapitre. Les notions avancées, à l’intention des lecteurs qui se seront déjà largement familiarisés avec les notions de bases, font l’objet du huitième chapitre : De multiples exemples permettront de bien cerner les notions d’itérateurs, de générateurs, de fermeture, de décorateurs, etc. L’accès en Python à des données stockées dans une base de données fait l’objet du neuvième chapitre. Le choix du Système de Gestion de Bases de Données (SGBD) MySQL pour traiter cet aspect n’est pas fortuit, puisque MySQL est un SGDB des plus répandus dans le monde. Il s’agit d’un logiciel, existant aussi bien en version open source qu’en version commerciale, qui peut fonctionner sous de nombreux systèmes d’exploitation. Python dispose bien sûr d’une bibliothèque qui permet, en procédant à la conversion des types de données, d'intégrer les deux : Python et MySQL. Nous décrivons dans ce neuvième chapitre l’installation du SGBD MySQL ainsi que ses outils d’administration et de développement. Nous avons aussi décrit dans ce chapitre la compilation de logiciels libre XAMPP, qui contient le SGBD MySQL et permet de l’installer et de le configurer rapidement. Nous étudions dans ce chapitre l’accès à une base de données MySQL à partir d’un script Python et l’insertion, dans un script Python, de commandes SQL (Structured Query Language) avec leurs différentes clauses, que les commandes se rapportent à une définition ou à une manipulation de données,. Le onzième chapitre est entièrement consacré à l’environnement de développement web Django. Django est à Python ce que Symfony est à PHP. Sa capacité à permettre de mettre en œuvre des projets rapidement et efficacement fait qu’il est considéré comme étant « destiné aux perfectionnistes qui souhaitent gérer leur temps de manière optimale ». Avec Django, structuré selon le modèle Model-Template-View (MTV), lui-même basé sur le modèle connu Model-View-Controller (MVC), le développeur adhère au principe DRY (don’t repeat yourself - ne vous répétez pas). Django apparaît aujourd’hui comme une solution optimale pour une conception MVP (Minimum Viable Product - Produit minimum viable). De nombreuses start- up choisissent aujourd’hui le modèle MVP pour développer un logiciel initial or la conception MVP peut être implémentée, avec le framework Django, de manière optimale. Elle y est disponible et prête à l'emploi. L’architecture d’une application Django est décrite dans ce onzième chapitre ainsi que l’application d’administration contenue dans Django. Un exemple de développement d’une application web, étape par étape, est donné dans ce chapitre. Les mots réservés ainsi que les conventions de nommage, utiles pour une maintenance facile des programmes ou pour leurs extensions, sont donnés à la fin de l’ouvrage. On trouvera après cela une description des balises HTML les plus utilisées, des exercices corrigés, ainsi que les réponses aux questions à choix multiple proposées à la fin de chaque chapitre. Pour rendre cet ouvrage facilement lisible, des polices de caractères différentes ont été utilisées pour différencier son texte du code Python donné dans les exemples et exercices. Nous avons aussi parfois consciemment utilisé la terminologie anglaise pour désigner certaines notions, la terminologie française prêtant dans certains cas à confusion.
Avis des lecteurs
Aucun avis pour le moment.