











Dès sa création, la société rennaise Net-ng s'est spécialisée dans le développement en Python : 90 % de ses projets sont réalisés avec ce langage. Elle s'est également appuyée sur une autre brique open source, le serveur d'applications Zope, pour construire des applications internet.
Issu de deux années de recherche, le projet Nagare vient de voir le jour. Il s'agit d'un framework Python open source dédié au développement d'applications web. Sa principale innovation tient en son utilisation de la technique de la continuation qui permet des développements web de manière linéaire. Classiquement, ce type d'application nécessite de casser le flux de contrôle normal de l'application en une multitude de contrôleurs destinés à gérer le cycle requête-réponse du protocole HTTP, le rafraîchissement et les actions back et fork du navigateur.
Le principe de la continuation consiste à n'utiliser que des appels de fonction qui prennent pour argument celle qui suit dans l'exécution au lieu d'exécuter une fonction à partir du résultat de la précédente. De cette manière, le développeur qui utilise le framework Nagare écrit en Python de manière linéaire comme il le ferait pour une application desktop, le framework s'occupant des cycles requête-réponse de la page web.
Nagare est le seul framework à utiliser la continuation comme comportement de base de l'application, l'autre référence étant le projet académique Seaside, écrit en Smalltalk, dont Nagare reprend également le modèle de composants. Une application Nagare est constituée de composants interactifs, chacun avec son propre état et son workflow conservé sur le serveur. Chaque composant peut avoir une ou plusieurs vues qui sont composées pour générer la page internet finale.
Ce projet est encore jeune mais prometteur. Pour les prochaines versions, l'outil promet d'être entièrement événementiel. Actuellement, le fonctionnement est multithread. Il est contrôlé au moment du déploiement. En événementiel, l'application consomme moins de mémoire, le framework gère la création des objets et autorise des montées en charge de plus de 100 000 objets, au lieu de quelques milliers en multithread. Dans les prochaines versions, Nagare sera également compatible avec WSGI (Web Server Gateway Interface), une norme pour les serveurs web et les serveurs d'application pour communiquer avec les applications web.
Le framework Nagare est maintenant utilisé par Net-ng pour tous ses clients. Il permet de gagner du temps dans le développement de manière spectaculaire. Avec Python, on a déjà, en termes de rapidité de développement, un rapport de 1 à 5 par comparaison à Java. Avec Nagare, on gagne encore un facteur de 2 à 3.
Nom : Net-ng.
Date de création : 2003
Domaine : génie logiciel.
Innovation : framework web fondé sur la continuation.
Produit : Nagare.
Siège : Rennes (35).
Effectif : 15 personnes.
Financement : autofinancement. Subvention Oséo de 100 000 euros.
CA 2007 : 1,3 M d'euros.
Jean-Luc Carre, 35 ans, directeur. Diplômé de l'université des sciences et techniques de Nantes.
Alain Poirier, 37 ans, directeur technique. Diplômé de l'Insa Rennes, expert internet avec une forte orientation sécurité.
Benoît Lugand, 33 ans, responsable commercial, diplômé de l'Ifsic Rennes (Miage) et de l'université Rennes-I. Ancien responsable informatique et consultant pour des collectivités locales.
