Zope est un serveur d'applications web développé en python. Il est construit de manière à pouvoir être étendu sans limites en y ajoutant des modules. Ces modules se nomment des produits dans le vocabulaire de Zope. Comparable à des scripts php ou perl, ces produits offrent de nouvelles fonctionnalités pour étendre son application. L'exemple le plus connu de produit est Plone, gestionnaire de contenu en vogue.
Pour promouvoir cette technologie, Zopeur.org, portail francophone sur Zope et Python, lance un projet tuteuré de création de produits. Ce projet "ouvert" a pour objectif de démystifier et de proposer une documentation collégiale sur la création de produits pour Zope.
Toutes les étapes de construction d'un produit seront abordées et le projet sera suivi par des professionnels du domaine. Alors si vous voulez participer à ce projet ou si vous êtes tout simplement curieux de découvrir Zope et sa technologie à travers ce projet, rendez-vous sur Zopeur.org
Utiliser lex et yacc dans vos programmes C/C++
On a tous entendu parler un jour ou l'autre de lex et yacc, ne serait-ce que pour compiler certains logiciels ... mais à quoi peut servir cet ensemble d'outils ?
Entre autres, il vous sera très utile si votre programme C/C++ a par exemple recours à un fichier de données structurées et qu'il vous faut le parcourir, en vérifier sa validité, en extraire les données utiles etc... lex et yacc vous permettent de décrire la syntaxe du fichier (les mots clefs structurants) ainsi que sa grammaire (les enchaînements de mots clefs et l'exploitation des données parsées) dans un langage de haut niveau. Une fois ce travail accompli, ces deux outils génèrent une fonction C facilement intégrable dans votre projet C/C++.
Cet article se présente sous forme d'un tutoriel et permet de vite appréhender l'utilisation de lex et yacc par l'exemple. L'article n'aborde donc pas les aspects avancés de ces outils mais sachez qu'ils permettent de faire bien plus que ce qui y est décrit... d'ailleurs une des utilisations avancées les plus communes est la création de compilateurs.
À découvrir !
Entre autres, il vous sera très utile si votre programme C/C++ a par exemple recours à un fichier de données structurées et qu'il vous faut le parcourir, en vérifier sa validité, en extraire les données utiles etc... lex et yacc vous permettent de décrire la syntaxe du fichier (les mots clefs structurants) ainsi que sa grammaire (les enchaînements de mots clefs et l'exploitation des données parsées) dans un langage de haut niveau. Une fois ce travail accompli, ces deux outils génèrent une fonction C facilement intégrable dans votre projet C/C++.
Cet article se présente sous forme d'un tutoriel et permet de vite appréhender l'utilisation de lex et yacc par l'exemple. L'article n'aborde donc pas les aspects avancés de ces outils mais sachez qu'ils permettent de faire bien plus que ce qui y est décrit... d'ailleurs une des utilisations avancées les plus communes est la création de compilateurs.
À découvrir !
JUnitScenario 0.1 vient de sortir
JUnitScenario est un outil pour simuler l'utilisation d'une application avant sa mise en production. Il permet de décrire des scénarios qui sont composés d'appels à des tests unitaires et d'émuler plusieurs utilisateurs exécutant ces scénarios.
Le but est de pouvoir très facilement réutiliser les tests unitaires pour tester la capacité de montée en charge de vos applications.
JUnitScenario est une applications Java sous licence LGPL.
Le but est de pouvoir très facilement réutiliser les tests unitaires pour tester la capacité de montée en charge de vos applications.
JUnitScenario est une applications Java sous licence LGPL.
CamelBones 1.0.0b5
Comme beaucoup de libristes ayant rejoint le club des macounets pervers, je me suis posé la question de savoir comment faire des applications ayant des GUI sans passer par la couche d'émulation X11 de Mac OS X.
Lors de mes différentes recherches, j'avais trouvé diverses choses plus ou moins laissées à l'abandon. Depuis quelques semaines déjà, l'activité semble avoir repris autour de ce projet assez peu orthodoxe, j'ai nommé CamelBones.
CamelBones est un framework permettant de faire entre autre des applications utilisant Cocoa en Perl. Ce framework est distribué sous licence LGPL. Il existe déjà quelques applications utilisant CamelBones tel que Perl Pad permettant d'écrire des services OS X en perl.
Lors de mes différentes recherches, j'avais trouvé diverses choses plus ou moins laissées à l'abandon. Depuis quelques semaines déjà, l'activité semble avoir repris autour de ce projet assez peu orthodoxe, j'ai nommé CamelBones.
CamelBones est un framework permettant de faire entre autre des applications utilisant Cocoa en Perl. Ce framework est distribué sous licence LGPL. Il existe déjà quelques applications utilisant CamelBones tel que Perl Pad permettant d'écrire des services OS X en perl.
Au pays de PHP ...
Petite mise au point sur l'actualité PHP en ce moment:
Tandis que les premières ébauches des fonctionnalités du futur Zend2/PHP5 apparaissent sur Zend.com (relooké, au passage), les versions 4.0.7 et 4.1.0 de PHP sont en approche. PHP 4.0.7-RC1 est d'ailleurs d'ores et déjà disponible ici, et le fichier NEWS se trouve là. Les versions 4.0.7 et 4.1.0 seront identiques au niveau du contenu, et ne seront différenciées que par l'utilisation (ou non) de l'option de configuration register_globals (plus d'infos sur cette page de Zend.com).
Quelques "grosses" applications ont également été mis à jour récemment:
·SPIP, le gestionnaire de contenu crée par les webmasters du mini-rezo, passe en version 1.0.5.
·Sorties de PHP-Nuke 5.1 puis 5.2
·La nouvelle team de phpMyAdmin a sorti une version 2.2.0-RC4 (le ChangeLog est ici)
·PHPlib revient en version 7.2d et corrige un gros trou de sécurité
·ModeliXe, un nouveau moteur de templates, arrive en version beta 6.0, une 6.1 devant suivre d'ici peu.
Enfin, deux SGBD souvent associés à PHP ont été mis à jour:
·MySQL passe en version 3.23.41
·et PostgresSQL est updaté en version 7.1.3
Tandis que les premières ébauches des fonctionnalités du futur Zend2/PHP5 apparaissent sur Zend.com (relooké, au passage), les versions 4.0.7 et 4.1.0 de PHP sont en approche. PHP 4.0.7-RC1 est d'ailleurs d'ores et déjà disponible ici, et le fichier NEWS se trouve là. Les versions 4.0.7 et 4.1.0 seront identiques au niveau du contenu, et ne seront différenciées que par l'utilisation (ou non) de l'option de configuration register_globals (plus d'infos sur cette page de Zend.com).
Quelques "grosses" applications ont également été mis à jour récemment:
·SPIP, le gestionnaire de contenu crée par les webmasters du mini-rezo, passe en version 1.0.5.
·Sorties de PHP-Nuke 5.1 puis 5.2
·La nouvelle team de phpMyAdmin a sorti une version 2.2.0-RC4 (le ChangeLog est ici)
·PHPlib revient en version 7.2d et corrige un gros trou de sécurité
·ModeliXe, un nouveau moteur de templates, arrive en version beta 6.0, une 6.1 devant suivre d'ici peu.
Enfin, deux SGBD souvent associés à PHP ont été mis à jour:
·MySQL passe en version 3.23.41
·et PostgresSQL est updaté en version 7.1.3
Ruby On Rails 1.1 et conférence RoR
Ruby On Rails (RoR) est un framework de développement Web MVC (Model View Controller) basé sur le langage de programmation Ruby. La version 1.1 de Ruby On Rails est maintenant disponible.
Beaucoup de corrections ont été intégrées, et la liste ci-dessous n'est qu'un aperçu des nouveautés dont une description plus complète (mais en anglais) peut-être trouvée au 2ème lien. Cette version change beaucoup de choses, un certain nombre de plugins devront donc s'adapter avant de fonctionner correctement, ce qui ne devrait pas nécessiter trop de temps.
NdM : Merci également à Céline de nous avoir signalé qu'une conférence Ruby On Rails par Richard Piacentini (créateur du portail Railsfrance.org) est organisée par le CETRIL (centre européen de transfert et de recherche en informatique libre). Cette conférence aura lieu le Jeudi 27 Avril 2006 de 14h à 17h à Soissons.
Beaucoup de corrections ont été intégrées, et la liste ci-dessous n'est qu'un aperçu des nouveautés dont une description plus complète (mais en anglais) peut-être trouvée au 2ème lien. Cette version change beaucoup de choses, un certain nombre de plugins devront donc s'adapter avant de fonctionner correctement, ce qui ne devrait pas nécessiter trop de temps.
NdM : Merci également à Céline de nous avoir signalé qu'une conférence Ruby On Rails par Richard Piacentini (créateur du portail Railsfrance.org) est organisée par le CETRIL (centre européen de transfert et de recherche en informatique libre). Cette conférence aura lieu le Jeudi 27 Avril 2006 de 14h à 17h à Soissons.
Nouveau Pilote pour le Speed Touch USB
Alcatel vient de sortir de nouveaux pilotes pour son modem USB, vous savez la raie bleue.
La nouveauté est que le pilote intégre directement le client PPPoE, ce qui évite d'avoir à en installer un sur le PC.
De plus,selon les données publiées le 15 août 2001 par le cabinet Dell'Oro, Alcatel est le premier fournisseur de modems ADSL pour le troisième trimestre consécutif avec 24,2% de parts de marché. De plus, au cours du deuxième trimestre 2001, Alcatel a pour la première fois été classé premier fournisseur de routeurs ADSL avec 27,1% du marché mondial.
Il est donc intéressant que le leader dans le domaine n'ai pas oublié linux.
Update d'un autre modérateur: Cette news ne concerne en rien l'apparition d'une nouvelle version du driver Linux, désolé.
La nouveauté est que le pilote intégre directement le client PPPoE, ce qui évite d'avoir à en installer un sur le PC.
De plus,selon les données publiées le 15 août 2001 par le cabinet Dell'Oro, Alcatel est le premier fournisseur de modems ADSL pour le troisième trimestre consécutif avec 24,2% de parts de marché. De plus, au cours du deuxième trimestre 2001, Alcatel a pour la première fois été classé premier fournisseur de routeurs ADSL avec 27,1% du marché mondial.
Il est donc intéressant que le leader dans le domaine n'ai pas oublié linux.
Update d'un autre modérateur: Cette news ne concerne en rien l'apparition d'une nouvelle version du driver Linux, désolé.
Sortie d'OpenSceneGraph 1.1
OpenSceneGraph Professional Services a annoncé le 19 juillet dernier la version 1.1 d'OpenSceneGraph, la bibliothèque graphique Open Source compatible OpenGL 2.0 et OpenGL Shading Language (diffusée sous OpenSceneGraph Public License (OSGPL), dérivée de la LGPL).
OpenSceneGraph est conçu pour accélérer le développement d'applications et améliorer les performances graphiques 3D.
OpenSceneGraph 1.1, écrit entièrement en C++ standard, et reposant sur OpenGL, offre aux développeurs dans les marchés de la simulation visuelle, du développement de jeux, de la réalité virtuelle, de la visualisation scientifique et de la modélisation un outil de visualisation temps réel qui rivalise avec les toolkits actuels de gestion de scène graphe, tant au niveau fonctionnalités que performances.
OpenSceneGraph 1.1 fonctionne sur toutes les plateformes Microsoft Windows et systèmes d'exploitation Apple OS/X, GNU/Linux, IRIX, Solaris et FreeBSD.
OpenSceneGraph est conçu pour accélérer le développement d'applications et améliorer les performances graphiques 3D.
OpenSceneGraph 1.1, écrit entièrement en C++ standard, et reposant sur OpenGL, offre aux développeurs dans les marchés de la simulation visuelle, du développement de jeux, de la réalité virtuelle, de la visualisation scientifique et de la modélisation un outil de visualisation temps réel qui rivalise avec les toolkits actuels de gestion de scène graphe, tant au niveau fonctionnalités que performances.
OpenSceneGraph 1.1 fonctionne sur toutes les plateformes Microsoft Windows et systèmes d'exploitation Apple OS/X, GNU/Linux, IRIX, Solaris et FreeBSD.
Test Eclipse
Ca fait quelques jours que je découvre Eclipse et WebSphere Studio Application Developer (le produit commercial d'IBM basé sur Eclipse) et je tiens à vous faire part de mes impressions.
Pour rappel Eclipse est un environnement de développement open-source né d'une initiative d'IBM. Là où Eclipse est original, c'est qu'il est entièrement modulaire et que tout composant est un plug-in. En gros Eclipse n'est qu'un moteur sur lequel tournent des composants. L'espace de travail peut etre vu sous différentes "perspectives" mettant en valeur un aspect des projets (par exemple "Data", "Java", "Team", ...), perspectives elles-même composées de vues (par exemple pour la pespective "Debug" les vues "Breakpoints", "Console", ... sont affichées). La version de base d'Eclipse comprend des plug-in pour le développement Java, un accès CVS, ... Mais il est possible de développer un plug-in pour faire à peu près n'importe quoi (informations sur le développement de plug-in sur le site d'Eclipse). D'ailleurs bien qu'écrit en Java, Eclipse se place comme un outil de développement totalement indépendant d'un langage en particulier (je pense que des plug-in pour le développement en C/C++ sont en cours de réalisation).
Bref. L'utilisation d'Eclipse nécessite un petit temps d'adaptation pour se faire aux perspectives, vues, ... Mais il devient vite très agréable et très souple (toute l'interface est modulaire). C'est très pratique d'avoir l'environnement de développement, celui de test et de debug rassemblés dans une seule interface, et ça même pour les EJBs/WebServices, ... (version WebSphere Studio Application Developer). Enfin il est peu gourmant en mémoire et je ne l'ai pas encore vu planter...
Bref un outil qui mérite qu'on s'intéresse à lui.
Pour rappel Eclipse est un environnement de développement open-source né d'une initiative d'IBM. Là où Eclipse est original, c'est qu'il est entièrement modulaire et que tout composant est un plug-in. En gros Eclipse n'est qu'un moteur sur lequel tournent des composants. L'espace de travail peut etre vu sous différentes "perspectives" mettant en valeur un aspect des projets (par exemple "Data", "Java", "Team", ...), perspectives elles-même composées de vues (par exemple pour la pespective "Debug" les vues "Breakpoints", "Console", ... sont affichées). La version de base d'Eclipse comprend des plug-in pour le développement Java, un accès CVS, ... Mais il est possible de développer un plug-in pour faire à peu près n'importe quoi (informations sur le développement de plug-in sur le site d'Eclipse). D'ailleurs bien qu'écrit en Java, Eclipse se place comme un outil de développement totalement indépendant d'un langage en particulier (je pense que des plug-in pour le développement en C/C++ sont en cours de réalisation).
Bref. L'utilisation d'Eclipse nécessite un petit temps d'adaptation pour se faire aux perspectives, vues, ... Mais il devient vite très agréable et très souple (toute l'interface est modulaire). C'est très pratique d'avoir l'environnement de développement, celui de test et de debug rassemblés dans une seule interface, et ça même pour les EJBs/WebServices, ... (version WebSphere Studio Application Developer). Enfin il est peu gourmant en mémoire et je ne l'ai pas encore vu planter...
Bref un outil qui mérite qu'on s'intéresse à lui.
Sortie du langage de programmation Tom 2.4
Six mois après la dernière version, la version 2.4 du langage TOM vient de sortir, apportant son lot d'innovations.
TOM est un langage de programmation développé au sein de l' INRIA et qui marie le meilleur des mondes des langages fonctionnels et impératifs en ajoutant du filtrage de motifs («pattern matching») et de la programmation par statégies à Java, C ou OCaml.
TOM permet de manipuler des arbres (termes, AST, XML, ...) grâce à un mécanisme de filtrage puissant (travaillant aussi sur des listes) sur les types Java/C. De plus, il fournit un outil permettant de générer des arbres non-mutables en Java avec partage maximal de la mémoire et invariants (listes triées, sans doublons, arbres balancés, ...).
Combiné avec un langage de stratégies réflexives, il est utilisé entre autres pour :
Le compilateur est stable et mature, et la documentation est fournie et à jour. De plus, l'environnement de programmation est multi-plate-forme et convivial : greffon vim, tâches ant, greffon pour l'IDE Eclipe.
Le tout est publié sous des licences libres (GPL et BSD).
TOM est un langage de programmation développé au sein de l' INRIA et qui marie le meilleur des mondes des langages fonctionnels et impératifs en ajoutant du filtrage de motifs («pattern matching») et de la programmation par statégies à Java, C ou OCaml.
TOM permet de manipuler des arbres (termes, AST, XML, ...) grâce à un mécanisme de filtrage puissant (travaillant aussi sur des listes) sur les types Java/C. De plus, il fournit un outil permettant de générer des arbres non-mutables en Java avec partage maximal de la mémoire et invariants (listes triées, sans doublons, arbres balancés, ...).
Combiné avec un langage de stratégies réflexives, il est utilisé entre autres pour :
- développer des compilateurs (comme le compilateur Tom) ;
- transformer à la volée du bytecode Java ;
- le développement d'un assistant à la démonstration ;
- générer des sites web (transformations de XML plus puissantes que XSLT grâce aux stratégies)
Le compilateur est stable et mature, et la documentation est fournie et à jour. De plus, l'environnement de programmation est multi-plate-forme et convivial : greffon vim, tâches ant, greffon pour l'IDE Eclipe.
Le tout est publié sous des licences libres (GPL et BSD).
kernel traffic #148
Tout est dans le sujet: le numéro 148 de Kernel Traffic vient de paraître (date du 1er janvier).
Extrait du menu:
-Microsoft Patents Loading A Trusted OS Into A Trusted CPU
-Status Of CPU Hotplugging In 2.5
-2.5 API Change Summaries
-VM Subsystem Fixes In 2.4 And 2.5
-Status Of Asymmetric Multi-Processing
-Compiler Optimization Requirements
-2.4 Release Policy
-Web Page Tracking All Linux Ports
-Marcelo On Vacation
Il faut peut-être préciser que Kernel Traffic est une « newsletter » hebdomadaire qui propose une synthèse de la mailing liste linux-kernel.
Extrait du menu:
-Microsoft Patents Loading A Trusted OS Into A Trusted CPU
-Status Of CPU Hotplugging In 2.5
-2.5 API Change Summaries
-VM Subsystem Fixes In 2.4 And 2.5
-Status Of Asymmetric Multi-Processing
-Compiler Optimization Requirements
-2.4 Release Policy
-Web Page Tracking All Linux Ports
-Marcelo On Vacation
Il faut peut-être préciser que Kernel Traffic est une « newsletter » hebdomadaire qui propose une synthèse de la mailing liste linux-kernel.
IBM libère un framework pour le Web sémantique
IBM a annoncé la semaine dernière l'ouverture du code du SRLP (Semantic Layered Research Platform) : un ensemble d'applications développées dans le cadre de leurs recherches sur le Web sémantique.
Pour l'instant, seul Boca, un dépôt RDF qui s'appuie sur la base de donnée DB2 est disponible, mais l'ensemble des composants de la plateforme devraient être rendus publics dans les mois qui viennent sous licence Eclipse. Il reste en effet à nettoyer le code et écrire la documentation technique afin que cette libération soit utile à l'ensemble de la communauté.
Cette annonce est importante de deux points de vue :
D'une part, cela montre l'engagement d'une entreprise aussi importante qu'IBM dans la recherche et le développement sur le Web sémantique qui pourrait bien devenir une véritable révolution de notre façon de traiter l'information.
D'autre part, c'est une illustration importante de l'intérêt du modèle libre pour la recherche en informatique.
L'article Semantic Web Technologies in the Enterprise sur le blog de Lee Feigenbaum illustre bien ces deux points de vue.
Pour l'instant, seul Boca, un dépôt RDF qui s'appuie sur la base de donnée DB2 est disponible, mais l'ensemble des composants de la plateforme devraient être rendus publics dans les mois qui viennent sous licence Eclipse. Il reste en effet à nettoyer le code et écrire la documentation technique afin que cette libération soit utile à l'ensemble de la communauté.
Cette annonce est importante de deux points de vue :
D'une part, cela montre l'engagement d'une entreprise aussi importante qu'IBM dans la recherche et le développement sur le Web sémantique qui pourrait bien devenir une véritable révolution de notre façon de traiter l'information.
D'autre part, c'est une illustration importante de l'intérêt du modèle libre pour la recherche en informatique.
L'article Semantic Web Technologies in the Enterprise sur le blog de Lee Feigenbaum illustre bien ces deux points de vue.
La crise des patchs du noyau
Le gourou de l'Open Source, Eric Raymond, a dit que la création de patchs du noyau Linux est en crise et il a renouvelé son appel pour que quelqu'un viennne en aide à Linus Torvalds en tant que "penguin patch lieutenant."
S'exprimant lors d'une conférence organisée par le "UK Unix Users Group" à Londres mercredi soir, Raymond précise que les patchs du kernel sont l'un des vestiges de la centralisation dans le développement Open Source.
Il a dit aussi que Linus a "atteint ses limites de stress" et qu'une personne seule ne pouvait traiter tous les patchs proposés par les développeurs du noyau.
Les patchs, dont beaucoup pourraient aider au développement de Linux, ne sont pas pris en compte et ce sans raison apparente a observé Raymond.
Avis aux amateurs!
S'exprimant lors d'une conférence organisée par le "UK Unix Users Group" à Londres mercredi soir, Raymond précise que les patchs du kernel sont l'un des vestiges de la centralisation dans le développement Open Source.
Il a dit aussi que Linus a "atteint ses limites de stress" et qu'une personne seule ne pouvait traiter tous les patchs proposés par les développeurs du noyau.
Les patchs, dont beaucoup pourraient aider au développement de Linux, ne sont pas pris en compte et ce sans raison apparente a observé Raymond.
Avis aux amateurs!
Cairo 1.4 : performances accrues !
Cairo 1.4.0 vient tout juste de sortir aujourd'hui, neuf mois après la version 1.2.0 (qui apportait notamment l'écriture de PDF). Les six derniers mois de développements ont été consacrés à améliorer drastiquement les performances de Cairo, qui constituent la principale récrimination envers le projet. Les performances ont été notablement optimisées pour les périphériques embarqués.
Certaines applications de la bibliothèque sont maintenant jusqu'à 96 fois plus rapides ! Certaines optimisations sont en butte avec la xlib, qu'Xorg tend à remplacer par XCB. Pour optimiser le dessin, certain changements structurels ont conduit à de minimes pertes de performances sur quelques points précis, mais cela reste relativement négligeable.
En plus des performances, de nombreuses améliorations du moteur PDF permettent désormais de produire un PDF avec du texte sélectionnable, et de compresser le texte et les polices (tout en évitant les doublons). À quand la compression des images ?
L'API s'est enrichie de nombreuses fonctions touchant divers domaines, de la gestions des masques aux fonction win32. Enfin, cette version apporte de nombreuses corrections de bogues.
Certaines applications de la bibliothèque sont maintenant jusqu'à 96 fois plus rapides ! Certaines optimisations sont en butte avec la xlib, qu'Xorg tend à remplacer par XCB. Pour optimiser le dessin, certain changements structurels ont conduit à de minimes pertes de performances sur quelques points précis, mais cela reste relativement négligeable.
En plus des performances, de nombreuses améliorations du moteur PDF permettent désormais de produire un PDF avec du texte sélectionnable, et de compresser le texte et les polices (tout en évitant les doublons). À quand la compression des images ?
L'API s'est enrichie de nombreuses fonctions touchant divers domaines, de la gestions des masques aux fonction win32. Enfin, cette version apporte de nombreuses corrections de bogues.
InterAKT annonce PHAkt 2,0, le support pour PHP dans Macromedia Ultradev MX
InterAKT continue le support professionnel du PHP dans la version récemment lancé de Macromedia Dreamweaver MX.
Même si Macromedia Dreamweaver MX a déjà le soutien initial de PHP, ceci fonctionne seulement sur le serveur de MySQL, alors que PHAkt 2 sera basé sur ADODB et soutiendra plus d'onze bases de données d'une manière transparente. D'ailleurs, PHAkt 2 inclura la plupart des fonctionnalités trouvées dans la version initiale
http://www.interakt.ro/products
Même si Macromedia Dreamweaver MX a déjà le soutien initial de PHP, ceci fonctionne seulement sur le serveur de MySQL, alors que PHAkt 2 sera basé sur ADODB et soutiendra plus d'onze bases de données d'une manière transparente. D'ailleurs, PHAkt 2 inclura la plupart des fonctionnalités trouvées dans la version initiale
http://www.interakt.ro/products








