Chapter 0: Préface
Je crois que la possibilité de déployer facilement des applications web de haute qualité est d'une importance critique pour la croissance d'une communauté libre et open source. Cela limite la possibilité de monopolisation des flux par les géants du web.
Dans un premier temps, j'ai débuté le projet web2py
en 2007 comme un outil d'apprentissage avec pour but de rendre le développement web plus facile, plus rapide et plus sécurisé. Peu à peu, il a gagné la confiance de milliers d'utilisateurs enthousiastes et de centaines de développeurs. Notre effort collectif a créé l'un des Framework Open Source les plus complets pour le développement web en entreprise.
Résultat, en 2011, web2py
remporte le Bossie Award pour le meilleur logiciel de développement Open Source, et gagne en 2012 le prix de Technologie de l'Année par InfoWorld.
Comme vous l'apprendrez dans les pages suivantes, web2py
essaie de faciliter l'entrée dans le développement web en se focalisant sur trois points principaux :
Facilité d'utilisation. Cela comprend aussi bien la réduction de l'apprentissage et du temps de déploiement que le développement et les coûts de maintenance. C'est pourquoi web2py
est un framework complet sans dépendances. Il ne requiert pas d'installation et n'a pas de fichiers de configuration. Tout est prêt à l'emploi, incluant un serveur web, une base de données et un EDI web donnant accès à toutes les fonctionnalités principales. L'API inclut seulement 12 principaux objets, faciles à utiliser et à mémoriser. Il est possible de s'interfacer avec la plupart des serveurs web, des bases de données et toutes les librairies Python.
Développement rapide. Toute fonction de web2py
a un comportement par défaut (qui peut être modifié). Par exemple, dès que vous avez spécifié vos modèles de données, vous aurez accès à un panneau d'administration web pour la base de données. web2py
génère automatiquement les formulaires pour les données et vous permet de présenter les données en HTML, XML, JSON, TSS, etc, ... web2py
fournit des widgets haut niveau tel que le wiki ou la grille pour construire rapidement des applications complexes.
Sécurité. La couche d'abstraction à la base de données (Data Abstraction Layer - DAL) de web2py
évite les injections SQL. Le modèle de langue empêche les vulnérabilités de Crosse-Site Scripting (XSS). Les formulaires générés par web2py
fournissent une validation des champs et bloquent les tentatives de requêtes criminelles Cross-Site. Les mots de passe sont toujours stockés sous forme de hash. Les sessions sont stockées côté serveur par défaut pour éviter l'usurpation de cookie. Les cookies de session sont UUID pour éviter tout détournement de session.
web2py
est construit en perspective utilisateur et est constamment optimisé pour devenir plus rapide et léger, tout en conservant une rétro-compatibilité.
web2py
est fourni à ses utilisateurs avec la généreuse liberté de la licence open-source LGPL. Si vous en tirez profit, nous espérons que cela vous encouragera à contribuer au projet quelle que soit la forme de contribution choisie.