Sites


Créer un site web en Python

Introduction

La création de sites web dynamiques s'est largement développé depuis le début des années 2000 et le recours aux sites statiques est de plus en plus rare. L'accroissement de la popularité des systèmes de wiki et de blog, avec des modèles graphiques riches et variés libres et souvent accessibles gratuitement a mis à la portée de tous des outils d'installation et de personnalisation en apparence simples. Les logiciels libres (langages) Apache, PHP et Mysql ont été les rois de ces évolutions alors que de nombreuses autres possibilités techniques auraient pu exister.

Pour des personnes qui ont des connaissances en python, cette prédominance du PHP peut sembler un peu injuste car python s'adapte très bien à réalisation de sites dynamiques. Il est même plutôt performant sur ce sujet avec des framework performants et célèbres comme Django, des gestionnaires de contenu comme Plone, voire même des serveurs du plus léger intégré à Python ou plus lourds avec Zope.

De nombreux sites existent en python et pour faire valoir, la plupart de ces sites s'avèrent souvent être des sites complexes, aux fonctionnalités exigeantes autant en terme de service qu'en terme de rapidité d'exécution. A titre d'exemple, on citera simplement Google qui utilise énormément python mais on pourrait multiplier ainsi les occasions sans pouvoir rivaliser avec la quantité de PHP tant en terme de sites, que de solutions prêtes à l'emploi.

Soyons donc honnête de reconnaître que le monde du python a fait le choix de mettre des outils de construction de sites en place, plutôt que de fournir des sites clefs en main. Il sera donc souvent nécessaire pour le développeur web d'avoir des connaissances plus profondes que s'il avait simplement à installer un Wordpress ou un Joomla. Si on met de côté le caractère moins immédiat, on pourra mentionner de nombreux avantages à cela :

  • chaque site est fait pour lui-même
  • chaque site a un système technique dimensionné à ses besoins
  • le développeur contrôle bien la chaîne de production
  • la mise en place peut être plus longue mais les personnalisations simplifiées
  • on apprend à chaque fois, à chaque site
  • les sites créés sont tous différents et sont par conséquent moins sensibles aux bugs de sécurités et aux spams, ce qui de nos jours, peu en soi représenter un gain de temps phénomènal...

Arrêtons là. De nôtre côté, nous considérons que la faible place de python dans l'environement web est dû à plusieurs paramètres :

  • manque de connaissance de python dans les écoles de design et d'informatique légère
  • poids des habitudes qui font que PHP reste majoritaire, mais fut un moment où il se battait face à asp ou coldfusion
  • et surtout, manque de documentation claire sur le sujet. Il existe bien quelques livres ici où là, mais rien à voir avec la masse de choses sur PHP; il existe bien des sites ici ou là, mais rien à voir avec le foisonnement de sites sur PHP.

Le but de ce livre est donc de contribuer à mettre une documentation simple sur l'utilisation de python dans un contexte web. On ne verra pas ici comment créer un site de A à Z, mais on s'attachera à voir les principales techniques utilisables, charge à chacun de les adapter selon les besoins. Nous avons souvent eu à développer des sites en PHP, mais nous considérons que  la richesse technologique fera évoluer les choses et qu'elle diminue l'impact des éléments pollueurs. Aussi nous nous efforcerons de mentionner parfois des corrélations ou différences pour aider d'éventuels développeurs PHP à migrer.

Si vous n'avez aucune connaissance en python, sachez que ce langage est plutôt simple à apprendre. Un petit tour dur le web vous pointera de nombreux documents. La communauté python est très active et très orienté libre ce qui fait que de nombreuses documentations d'initiation sont facilement accessibles. Nous nous permettons de mentionner notre Initiation à python disponible sur le site de Flossmanuals francophone.

Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.

Vous devriez rafraîchir la page.