Le blog du garambrogne

Rendre DotClear plus joli avec php5.3 fpm et lighttpd

Bon, ok, c'est de la beauté intérieur. Mais ce sera moins gourmand en RAM et plus véloce qu'avec le classique Apache. Voici les informations pour déployer un Dotclear sur un lighttpd avec un PHP 5.3.3.

Lire la suite...

Apache est mort, et c'est PHP qui mettra les clous dans le cercueil

Un serveur web ne fait pas grand chose, mais il doit le faire souvent, avec plein de personne. Le protocole http fonctionne en mode déconnecté, chaque page est indépendante des autres. Des astuces (les cookies) permettent de simuler une connexion continue le temps d’une session. Le gros du travail d’un serveur web est donc de gérer un maximum de connexion, et de servir les pages, sans perdre de temps.

Lire la suite...

Drupalisation!

Drupal est outil très agréable d'emploi, mais aussi un très bon socle de développement. Il arrive à proposer une API simple et efficace sans être invasive, ce qui le differencie clairement de Typo3 ou de Spip, pour n'en citer que deux.

En attendant une étape de lobbying pour qu'ils soient intégrés aux plugins officiels, voici un lot de plugins pour Drupal. Ces projets sont hébergé sur l'excellent GitHub, le site le plus tendance du moment, ridiculisant un peu SourceForge ou même Trac. Restes à voir pour combien de temps, en attendant, git reste un très bel outil, qui donne un bon coup de vieux au vaillant SVN.

Compressor

Les laboratoires de recherches de Yahoo ont publié un trés bel outil, le YUI compressor, la rolls royce des compresseurs de javascript et de feuille de styles. Drupal propose un outil simple, en PHP, ce qui lui permet de fonctionner sur les hébergements mutualisés, mais qui n'offre pas les performances du compressor. Compressor, pour peu que l'on puisse lancer une application en java sur son serveur permet d'agglomerer et de compresser les javascripts et les feuilles de style.

Ditaa

Ditaa est un ovni qui permet de dessiner des schémas en ascii art, comme on le ferait dans un wiki. Ditaa est à l'origine un outil en ligne de commande, il est maintenant utilisable en tant que service web : ditaa-web. Les négociations sont entamés pour intégrer cette simple servlet dans le projet officiel. Comme exemple concret, voici le module Ditaa pour Drupal, qui permet d'inclure le schéma ditaa directement dans les textes de Drupal.

La syntaxe Dotclear

Les wikis sont pour l'instant très peu normalisé, et c'est plutôt l'anarchie qui règne. Dotclear, le moteur de ce blog, propose une syntaxe cohérente et agréable. Il a aussi le bon gout de proposer une class autonome permettant d'intégrer facilement cette syntaxe dans des projets PHP ou même Python. Voici le module de syntaxe Dotclear pour Drupal.

Snapshot

Drupal fait parti des projets PHP qui usent et abusent des bases de données, rendant compliqué la sauvegarde. Le module snapshot utilise Drush (DRupal SHell), pour effectuer des snapshots cohérant de l'application de son site Drupal en ligne de commande. Les sauvegardes peuvent être une simple copie, une synchronisation (rsync) ou même une sauvegarde différentielle (rdiff-backup). L'outil est fonctionnel, mais il lui manque encore la gestion des sauvegardes multiples ou des sauvegardes distantes (FTP, SSH, S3 ...).

Drawing diagrams without pains

Wiki formatting is the perfect tools for simple structured text, without WYSIWYG hassles. With Ditaa, you can draw diagrams in the wiki way! Ditaa is a nice tools with 2 drawbacks, it's java and command lines tools. Average web server doesn't like java, and any web engines doesn't like command lines tools. The official way, parsing HTML and seeking for hidden diagrams is a bit ugly.

Lire la suite...

On verra plus tard

La différence et la force de PHP est son coté amnésique laborieux. Une requête arrive? il réponds, puis balance tout à la poubelle. Le gros avantage, c'est que même si le code est moche, ou même les bibliothèques utilisées dégueulasses, la crasse ne dure pas plus longtemps qu'une requête. Pas de fuite de mémoire possible. En ajoutant à ça la limitation de la mémoire utilisable, et un temps maximum d'utilisation, on obtient une système extrêmement résiliant. Mais la vie d'un site web ne se limite pas forcément à réagir à des requêtes. Il faut parfois effectuer des traitements longs, sans forcément faire attendre l'utilisateur.

Lire la suite...

Le monde selon Drupal : la notion de contenu

Drupal est une machine à faire des sites webs. C'est un logiciel libre qui utilise le couple classique PHP et Mysql, ce qui lui permet d'être utilisé sur la plupart des hébergeurs. Il est maintenu et développé par une communauté active, il est souple et paramétrable, pas trop moche, bref, il fait parti des bons.

Lire la suite...

Using Compass without dirtying its hands with java

GoniometerCompass is a nice project using Lucene to bring easy search to java project.

But sometimes, we don't need java in a project.

Lire la suite...

Une passerelle depuis Java vers le reste du monde

Java propose de très beaux produits, comme Lucène ou Hadoop, mais son manque de souplesse le pénalise quand on veut faire des choses simples et efficaces. Des projets hybrides comme solr se sont déjà attaqués à ce problème, en proposant un emballage complet de Lucène pour fournir un système d'indexation et recherche à n'importe quel langage via du classique XML ou JSON.

L'idée d'emballer des produits Java et de les utiliser comme un simple service est tout à fait généralisable.

Lire la suite...

cdb, c'est de la balle

BibliothèqueQuand un script a besoin de ce souvenir de quelques chose entre deux exécutions, on parle alors de persistances, la première solution venant à l'esprit est la bonne grosse base de donnée relationnelle. Pour des informations simples et en grande quantité, de grandes listes de donnée clef=valeur par exemple, le base de données non relationnelle représentée par la célèbre Berkeley DB est une solution idéal. Mais il existe pas mal de variantes de ce genre de bases.

Lire la suite...

programation aspect en php4

Les langages civilisés font des concours d'élégance sur leur implémentation du modèle aspect. Java, python, c'est des langages de chochottes, en php, l'AOP se fait à la truelle. Et ça marche en plus.

Lire la suite...

- page 1 de 2