Suite de pyconfr 2014 jour 1 épisode 1.
Nous attendions avec impatience cette présentation, et Christophe de
Vienne a très bien présenté CubicWeb,
le framework web dont Logilab est à l'origine.
Après une courte introduction aux concepts du web sémantique (les URIS,
les relations, le Linked Data), il a appuyé sur la nécéssité de donner
du sens aux données que l'on stoque dans nos applications. Il a
expliqué la finesse des réglages dans le moteur de permissions de
CubicWeb.
Il a expliqué certaines fonctionnalités intéressantes selon lui dans Cubicweb :
- les hooks:
équivalent des procédures stockées déclenchées par des triggers, ils sont
écrits en Python et permettent de modifier des données en cascades, implémenter des
règle de gestion ou générer des notifications.
- les adaptateurs
: permettent de maximiser la réutilisation de code en adaptant une
entité à une nouvelle interface
Selon Christophe, CubicWeb permet de développer une "base de donnée
métier" strictement structurée, mais restant souple. Il a expliqué que
l'interface par défaut n'est pas très sexy, mais qu'elle est
néanmoins fonctionnelle comme backend d'édition.
Une petite introduction aux cubes qui sont les "plugins" ou les
"extensions" dans le monde CubicWeb, ils contiennent :
- un schéma
- du code métier
- des vues
- des contrôleurs
Pour manipuler les données, CubicWeb utilise RQL, qui a été
inventé avant SPARQL
(langage de requête du web sémantique) et est plus pragmatique et
lisible. Une fonctionnalité notable de RQL : plus besoin d'écrire des
jointures SQL !
Finalement Christophe a conclu en présentant le mariage de Pyramid et
Cubicweb. Selon lui, en regardant dedans, ils ont des philosophies
communes. Le code permettant de développer une application Pyramid sur
une base CubicWeb est publié sur la forge de CubicWeb. Christophe a
aussi expliqué qu'il pousse des modifications pour que CubicWeb soit
plus accessible aux développeurs habitués aux modes de développement
"à la python".
Support de présentation : https://dl.dropboxusercontent.com/u/36590471/pyconfr-2014-pres-cubicweb/index.html
Pierre-Yves David (marmoute) nous a concocté un petit panorama des
problèmes traités par les gestionnaires de source, avec des anecdotes
de problèmes non-triviaux et quelques rappels historiques sur notre
"science" informatique (merci les encodages!) Pierre-Yves s'est
concentré sur les systèmes de gestion de version de "nouvelle
génération", les outils décentralisés (hg, git, bzr). Forcément, étant
donné qu'il travaille sur mercurial
(et oui, celui écrit en python) il s'est concentré sur celui-là.
Quand il travaillait chez Logilab, Pierre-Yves a notamment rajouté à Mercurial
la notion de changeset obsolete et de phase pour faciliter la revue de code
et le travail en équipe.
baron et RedBaron sont des projets assez
prometteurs (et assez dingues) de manipulation de code en utilisant du
code (plutôt que des éditeurs).
Laurent Peuch est revenu sur les outils historiques du domaine : rope qui a pris la suite de bicycle
repair man. Il y a aussi
pyfmt par le même auteur, et
autopep8 écrit par
d'autres.
Un exemple qui m'a parlé : ajouter @profile sur toutes les fonctions
d'un script devient faisable en 3 lignes de python, et inversement
pour les enlever. À suivre...
Support de présentation : https://psycojoker.github.io/pyconfr-redbaron/presentation.html
Prochain épisode: jour 1, bus de communication, packaging et fin