me retrouver : |
smartview |
twitter |
slideshare |
linkedin |
3 derniers articles : |
Shadoks, freins, changement, cynefin |
coach retreat paris, 2012 |
Stoos network, un départ, des attentes |
recherche | archives | catégories | à propos
Juste un retour sur une petite analyse concernant les portails Java sur le marché actuellement. Je ne les connais pas tous naturellement, j’ai pu travaillé avec certains, sur d’autres je n’ai que des retours d’expériences récupérés par ci par là. Je ne me permettrai donc pas d’avoir un jugement définitif, mais en quelques mots je vous indique mon ressenti, si cela peut aider certaines personnes ?
Les nominés/accusés sont -par ordre alphabétique- :
eXo -qui propose associé à son portail une suite ambitieuse : WCM, GED, suite collaborative, Knowledge suite, etc.- s’associe avec JBoss pour sortir GateIn. Version 3.0.0 beta 4 en ce moment même. Un produit orienté middleware si l’on croit sur parole le touilleur. Les retours d’expériences sont cependant alarmants. eXo/GateIn doit vite stabiliser son cycle de développement, son code, sa plate-forme pour être à la hauteur de ses ambitions (et renforcer son équipe).
Une société française, un code propre, des retours d’expériences corrects, une solution probablement en devenir. à surveiller. à tester. à challenger.
Le succès de la version 4, les erreurs de la version 5 : Jahia a manifestement fait de gros effort pour refactorisé son code, son produit. Ses forces sont ses faiblesses : son positionnement d’éditeur (avec une licence finalement pas donnée pour accéder à toutes les fonctionnalités), l’intégration du CMS dans le portail. Il faudrait désormais valider la pertinence de la version 6 et rentre les interfaces plus souples (on intègre GWT mais les portlets restent désespérement statiques). Commence à être bousculé par Lutèce ou Jalios.
Un beau labo. Pour faire des expériences donc.
Constance et qualité sont les deux forces indiscutables de Liferay. Ce portail qui s’appuie désormais sur une communauté et un succès énorme se limite -pour l’instant- à être un portail, mais il le fait très bien. Son succès entraine d’autres succès : adhérences nombreuses, extensions nombreuses, etc. De très bons retours d’expériences.
Un portail, un CMS, de bons retours d’expérience. Une solution assez neuve qui doit faire ses preuves mais qui semble s’imposer au sein des collectivités (CMS). A surveiller, à évaluer.
Très orienté universités et instituts de recherche aux US. Peu de retours ici, chez les frenchy.
This entry was written by , posted on January 31, 2010 at 10:50 am, filed under java, opensource and tagged exo, gatein, jahia, jalios, java, jetspeed, liferay, lutece, opensource, portal, uportal. Leave a comment or view the discussion at the permalink.

Il faut éviter : d’avoir des discussions techniques/boulot lors des pauses déjeuners
Il faut éviter : d’avoir des discussions techniques/boulot avec une pression à la main
C’est pourtant le piège dans lequel une fois de plus nous avons chuté, Blazing Nick (c’est son surnom de catcheur, il ne veut pas que j’emploie son vrai nom pour ne pas exploser les stats de mon blog), et moi même. Nous avons donc parlé Java (je devais vouloir lui remonter le moral). Et notamment de la sortie de la version 7 qui semble être comme la marée, elle s’approche, elle s’éloigne. Java / MySQL, même combat, depuis le rachat de Sun par Oracle, tout le monde est sur l’expectative.
Bref nous avons donc parlé Java, futur, amélioration : avec Blazing Nick dans le rôle du gentil (le pro Java) et ma pomme dans le rôle du méchant car Java n’est pas nécessairement ma tasse de thé (en tant que langage, car les solutions métiers comme Liferay, Alfresco ou Lucène entre autres ont largement fait leurs preuves). Qu’est ce qui va donc arriver avec ce Java 7. Rien manifestement, en tous cas rien de bouleversant si j’en crois Blazing Nick. Et d’ailleurs de quoi a-t-il besoin ose-t-il me narguer ?
Amélioration des perfs ? non pas vraiment. Que l’on allège ce langage bien trop déclaratif, ces fichiers de conf bien trop alambiqués ? Ben non ce que nous aimons me dit Retorquing Nick. Un mode “script” ? Il existe si on veut l’utiliser. Alors quoi. On tergiverse, on lance des pistes, etc. (n’oubliez pas on a des pressions à la main). Finalement on se rejoint sur un point: Il faudrait faciliter le déploiement d’une appli Java en la déposant directement dans un dossier et que Apache puisse la lire sans trop poser de question. Qu’il ne soit pas nécessaire d’embarquer un conteneur de servlet genre Tomcat à brancher sur Apache (avec mod_jdk ou autre). Cela aurait pu exister depuis longtemps si la communauté java et la communauté opensource s’étaient trouvés plus d’atomes crochus, ce qui n’est pas vraiment le cas. Je fais mon dev, j’ouvre le navigateur, ça roule. Pas de processus trop lourd pour déployer lors du dev. Bref que l’adhérence entre le système et le moteur java soit invisible.
Pour le coup ce billet est vraiment une brêve de comptoir.
This entry was written by , posted on December 2, 2009 at 5:36 pm, filed under java and tagged alfresco, apache, java, liferay, lucene, mysql, opensource, oracle, sun. Leave a comment or view the discussion at the permalink.

MariaDB c’est le bébé de Monty Widenius : fondateur de MySQL. C’est aussi un fork 100% compatible de MySQL.
“MariaDB is a drop-in replacement of MySQL, with more features, less bugs and better performance”, peut-on lire dans le README du dossier MariaDB 5.1.38 que je viens d’extraire, rien que ça ! MariaDB est un fork officiel de MySQL par l’un de ses fondateurs.Les différences entre MariaDB et MySQL sont listées ici. MariaDB est entièrement compatible MySQL, d’ailleurs toutes la documentation d’installation de MySQL est compatible (pour dire le démon se lance avec libexec/mysqld…bref C’EST MySQL). Essayons ! Je télécharge les sources, je compile. je déploie, je copie ma conf mysql, je fais les changements qui vont bien, je lance le mysql_install_db…
/opt/mariadb5138$ sudo bin/mysql_install_db --defaults-file=/opt/mariadb5138/my.cnf Installing MariaDB/MySQL system tables... OK [...]
Et je me retrouve avec :
/opt/mariadb5138$ sudo ls data/ maria_log.00000001 maria_log_control mysql test
J’ai toute une petite série d’exécutables MariaDB : maria_chk, maria_dump_log, maria_ftdump, maria_pack, maria_readlog : le moteur de stockage mariadb est sensé être crashproof, contrairement à MyISAM, et à l’instar de InnoDB. Bref je lance le biniou (c’est moi qui ai placé le démon sur le port 3308, et changé la socket).
/opt/mariadb5138$ sudo libexec/mysqld --defaults-file=/opt/mariadb5138/my.cnf --user=mysql 091103 16:23:22 [Note] Event Scheduler: Loaded 0 events 091103 16:23:22 [Note] libexec/mysqld: ready for connections. Version: '5.1.38-maria-beta' socket: '/tmp/mariadb.sock' port: 3308 Source distribution
J’ai plus qu’à dumper mes données mysql vers mariadb(on va essayer une base eZ 4.2.0) (j’ai pris soin de placer comme moteur de stockage par défaut “maria”, sinon je vais devoir faire des alter table en pagaille)
mysqldump -u*** -p*** ez420 | mysql -u*** -p*** -S/tmp/mariadb.sock ez420 mysql> show table status like "ezcontentobject"\G *************************** 1. row *************************** Name: ezcontentobject Engine: MARIA Version: 10 Row_format: Page [...]
Ah je vois que j’ai un format Page (qui n’existe pas avec MyISAM). Je note que l’on peut dans processlist analyser les temps des requêtes à la milliseconde prêt (ce que l’on peut faire avec MySQL Proxy, mais pas le mysql “de base”), je note que l’on a une analyse étendue des logs des “slow query”. Et pas mal d’améliorations côté performance. Je vois cela là.
Et je vois pas mal de variables associées au moteur de stockage :
mysql> show variables like "%maria%"; +-------------------------------------------+---------------------+ | Variable_name | Value | +-------------------------------------------+---------------------+ | maria_block_size | 8192 | | maria_checkpoint_interval | 30 | | maria_force_start_after_recovery_failures | 0 | | maria_log_file_size | 1073741824 | | maria_log_purge_type | immediate | | maria_max_sort_file_size | 9223372036853727232 | | maria_page_checksum | ON | | maria_pagecache_age_threshold | 300 | | maria_pagecache_buffer_size | 8384512 | | maria_pagecache_division_limit | 100 | | maria_recover | OFF | | maria_repair_threads | 1 | | maria_sort_buffer_size | 8388608 | | maria_stats_method | nulls_unequal | | maria_sync_log_dir | NEWFILE | | maria_used_for_temp_tables | ON | +-------------------------------------------+---------------------+
Si je fais un show create sur l’une de mes tables je vois ce paramètre (nouveau) : PAGE_CHECKSUM=1. Il me dit que cela accroit la sécurité autour de l’intégrité de mes données. Mais je dois aussi ajouter l’option TRANSACTIONAL pour rendre la table “crash safe” (rien à voir avec les transactions, en fait il journalise dans des logs). donc :
mysql> alter table ezcontentobject transactional=1;
Après tout cela mon site test ez420 fonctionne très bien. Le driver php_mysql continue à marcher as usual. Si j’essaye le module mysqli(mproved) ça marche aussi normalement. Bref je peux effectivement faire le remplacement tel quel de MyISAM par MariaDB (oui je sais des petits malins me diront que eZPublish nécessite un moteur InnoDB pour ses fonctionnalités transactionnels et ils auront raison. C’est juste un test sur la première base qui me tombe sous la main).
Tout ceci est très prometteur. Attention pour l’instant mariadb n’est pas un moteur transactionnel, mais, pas bête, la distribution MariaDB intègre XtraDB : la version Fork de InnoDB proposé par les excellentissimes Percona. 
l’Open Database Alliance, qui est saluée par la communauté opensource, oeuvre manifestement pour soutenir MariaDB. C’est aussi une vraie réponse au risque que fait planer Oracle sur MySQL. La communauté autour de MariaDB semble assez dynamique et surtout grossir. Monty Widenius interviendra ce 12/13 novembre au Forum PHP Paris 2009 (AFUP).
Encore plein de questions, mais je n’hésiterai pas d’ores et déjà à recommander son utilisation.

N'est ce pas un dauphin qui plonge que je vois là ?
This entry was written by , posted on November 4, 2009 at 10:58 am, filed under database, mysql and tagged innodb, maria, mariadb, monty, myisam, mysql, open database alliance, opensource. Leave a comment or view the discussion at the permalink.
Les choses ont bien changées depuis une dizaine d’années. PHP n’était pas vraiment ma tasse de thé à la fin du siècle précédent. Une auberge espagnole, un bazar sans nom, qui ne donnait pas confiance. On y trouvait de tout mais aussi beaucoup de n’importe quoi. Mais les choses ont bien changées. Il me semble que PHP est arrivé à l’âge adulte aux alentours de 2004, 2005. Aujourd’hui j’esquisse un sourire quand je vois certains de ces développeurs Java, C# ou autre, qui se gaussent de ce language du peuple, se faire complètement dépasser par son succès. Car aujourd’hui PHP est fiable, puissant, et il est la source de nombreux logiciels phares des entreprises modernes. Il accompagne l’émancipation de l’opensource, et son spectre d’action s’étend de plus en plus à des logiciels métiers à forte valeur ajoutée. Il reste encore une terra incognita au main de Java ou autres, mais peu à peu son rayon d’action en fait une technologie incontournable dont la prise en main est aisée et la productivité garantie (si l’on ne cherche pas à réinventer la roue). Même des grandes comptes assez inattendus (comme dans le milieu banquaire par exemple) ont franchi le pas. J’attends donc avec impatience que les Liferay, Alfresco, Pentaho, OpenBravo et consort trouvent leur alter ego php.
Ps : ci-joint un arbre des solutions PHP que je viens de réaliser, un dessin valant mieux qu’un long discours.

Si vous souhaitez m’éclairer sur une solution opensource, fiable, php, qui complète ce diagramme je suis preneur !
This entry was written by , posted on October 5, 2009 at 6:36 pm, filed under opensource, php, technologies and tagged java, opensource, php, tree. Leave a comment or view the discussion at the permalink.
Depuis 2 ou 3 jours je test sous l’impulsion de Yves (a qui je laisse la paternité de la sentence suivant : “On ne fait d’elgg sans casser des oeufs”) Elgg, la plate-forme opensource de réseaux sociaux. Inutile d’expliquer pourquoi les réseaux sociaux sont en plein boum, mais c’est le cas. Du coup, grande force de la communauté opensource, qui peut en irriter certains sur le plan idéologique, elle a décidé (la communauté) de sortir sa propre plate-forme (la meilleure R&D étant de lorgner chez le voisin). Elgg donc.
Basé sur PHP, a première vue le code parait surprenant, on ne voit pas immédiatement dans l’arborescence projet où se trouve quoi, et à quoi sert tel ou tel dossier. Tout ce qui se conçoit clairement se déploie clairement, et cette première impression reste mitigée. Je vous en dirais plus lorsque j’aurai vraiment essayé de toucher au code. Je suppose que cela est du au modèle de données : apparemment il a été prévu un modèle très malléable : j’introduis un nouveau type d’élément (une entité), je lui donne telle ou telle propriété avec telle ou telle valeur. Du coup demain si j’ai un élément de type nouveau, pas de problème, pas de modification de la structure des tables, ça roule. Bon, pour l’instant mon analyse est très superficielle donc sujette à caution. Je compte creuser et vous informer. Je ne sais pas si ce modèle n’a pas un impact sur les performances aussi, que je trouve un chouïa poussives (ils ont cependant prévu l’utilisation de memcached ou autre pour optimiser celles-ci). Idem pour le design, et le système de templates, je n’ai rien vu de concret jusqu’à présent. Enfin, un dernier petit point : l’installation se fait cahin-caha : il faut nécessairement activer le mod_rewrite de Apache. J’aurais préféré avoir le choix d’utiliser le rewrite ou non, cela pourrait faciliter le debug.
Bref il me faut creuser, car c’est malgré tout très prometteur (ah j’oubliais aussi de signaler une API REST qui permet à l’accès à toutes les fonctions de l’outil, même si un warning indique qu’elle peut encore secouer un peu).
J’ai pu assez (très) rapidement monter une plate-forme, activer tout un tas de plugins à la facebook, twitter, pages, blog, albums photos, fichiers, etc. C’est du PHP/MySQL/Apache, donc cela reste simple (dans le bon sens du terme), efficace et productif. Aujourd’hui avec l’évolution des pratiques des internautes, et plus globalement des gens (voir des mobilonautes ou des iphonautes) il parait évident que c’est le genre d’outil à déployer : communauté d’utilisateurs d’un logiciel, d’un produit, événementiel : par exemple un festival de musique, ou la convention des maraichers, ou l’université d’été du xxx (mettez le parti qui vous embauche) : 3 mois avant la plate-forme est disponible, on chat, on blog avec les intervenants, avec les organisateurs, etc. durant l’événement c’est un vecteur en temps réel de l’actualité, a posteriori, c’est un outil de rétrospective (fichiers liés, blogs,images, etc.).
Bref, pas mal de projets assez excitants autour en perspective, j’espère du moins. Si vous souhaitez tester un peu la plate-forme vous pouvez aller chez Elgg.org ou me demander de vous créer un compte pour elgg.areyouagile.com (en me contactant pablo point pernot arboase gmail point com). C’est la plate-forme de test dont je vous parlais. Attention actuellement vu de l’extérieur elle paraît très creuse car nous avons ajouté un pluggin (walledgarden) qui interdit l’accès du public aux infos.
This entry was written by , posted on September 25, 2009 at 7:48 am, filed under opensource, php, technologies and tagged apache, elgg, opensource, php, réseau social, social network. Leave a comment or view the discussion at the permalink.