Archives pour mai 2008

Blogmarks pour le 29/05/2008

29 mai 2008

Online Office, Word Processor, Spreadsheet, Presentation, CRM and more

Zoho est une suite bureautique en ligne que je trouve plus puissante que GoogleDocs.

(categories: )

Trouvez un emploi avec Jobs PHP

Un peu vide pour l’instant

(categories: )

sfAdvancedConstPlugin – symfony – Trac

The sfAdvancedConstPlugin is a symfony plugin that provides app wide constants functionality. It automatically generates constant values based on sfRefTable values and make them accessible in every app module. It works the following way – go through the tables defined in sfRefTable and generate for each id / name pair from this table constants. This plugin is different from sfConst plugin which required to keep all the constants directly in sfConst table and did not require ref tables. Effectively, both plugins are usefull to be used.
Installation

(categories: )

The Lightbox Clones Matrix

Comparison of various scripts that display images
and other objects in somehow cool CSS popups

(categories: )

blogmarks.net

The IT Crownd – une série britannique pour geek vraiment sympa !

27 mai 2008

Tout de même, le « héros » porte un t-shirt RTFM dans le premier épisode …. énorme !

[googlevideo]http://video.google.fr/videoplay?docid=4174391869357140840&q=The+IT+Crowd&ei=IlM8SOiPE4z42gLc9ejeAw[/googlevideo]

(via le bistrot du coin)

Symfony : comment gérer l’apparition du panneau de connexion dans les zones rafraichies en Ajax

27 mai 2008

Symfony permet assez facilement de mettre en œuvre des appels Ajax afin de dynamiser vos écrans. Symfony permet également de facilement sécuriser tout ou partie de vos applications via de simples paramétrages. Si l’utilisateur connecté n’a pas le degré suffisant d’autorisation ou si sa session a expirée, il sera automatiquement dirigé, par le filtre de sécurité de Symfony, vers, par exemple, le panneau de login de votre application.

Un effet de bord de ces techniques est que, si l’utilisateur de votre application laisse sa session expirer, puis lance une action Ajax devant rafraichir une partie de son écran, il verra le panneau de connexion apparaitre dans cette zone : effet peu ergonomique garanti !

Voila la technique que j’utilise pour pallier à ce problème. A vrai dire, je ne sais pas si elle correspond à l’état de l’art, mais elle a l’avantage de bien fonctionner sans nécessiter de multiples interventions dans l’application.

1/ Permettre l’évaluation du Javascript dans les templates affichés via des appels AJax

Cela dépend de la librairie Javascript que vous utilisez. Par exemple, avec JQuery, il faudra préciser que le type de donnée retourné est ‘html’. Si vous utilisez les helpers Symfony, il vous faudra ajouter 'script' => true au tableau d’options passé au helper.

Cette étape n’est pas obligatoire. Elle permet toutefois de rediriger les utilisateurs en Javascript vers le panneau de connexion.


2/ Modifier le code du contrôleur gérant votre panneau de connexion

On va simplement lui dire que, si il est appelé via une requête Ajax, il n’utilise pas la vue habituelle.

Par exemple :

  /**
   * Executes login action
   *
   */
  public function executeLogin()
  {
    if($this->getRequest()->isXmlHttpRequest()) {
      $this->getResponse()->setStatusCode(401);
      return 'redirect';
    }
    /*
    end of the login action code
   */
  }

3/ Créer la vue appelée précédemment

Ici le fichier loginRedirect.php

<?php
use_helper('Url');
echo javascript_tag ('
location.href=\'.url_for('@user_logout').'\';
');
?>

La route correspondant à l’action de déconnexion @user_logout doit bien sur exister.

Voilà !

Et vous, que pensez vous de cette méthode ?

LCI Plein Ecran – Paris a son musée de l’informatique

25 mai 2008

Je vous invite à jeter un petit coup d’œil à ce reportage de LCI sur le musée de l’informatique qui vient d’ouvrir à Paris. On y voit des choses pas croyables !

http://sl.tf1.fr/lci/vod/pleinecran/pleinecran20080511.mp4

Enkin, un vrai projet de geek avec du potentiel

24 mai 2008

Je vous laisse découvrir la vidéo assez parlante (personnellement, j’adore le look des deux concepteurs !).


Enkin from Enkin on Vimeo.

Le concept me parait terrible, on peut imaginer des PDA ou des lunettes incorporant les images provenant d’Enkin pour s’aider à se diriger ou retrouver des amis sur la place Bellecour un soir de match (allez l’OL) \o/

Check-list du démarrage d’un projet Symfony

22 mai 2008

Voici une liste de petites choses que je fais systématiquement lors du démarrage d’un projet Symfony. J’espère que cela vous sera utile.

  • conception de base : applications, modules, choix des plugins (symfony propose un grand nombre de plugins souvent d’excellente qualité, c’est un point fort du framework),
  • branchement des librairies symfony sur les répertoires lib et data via des externals svn,
  • branchement des plugins choisis sur le répertoire plugins via des externals svn,
  • choix des environnements possibles pour l’application (dev et prod viennent par défaut, l’environnement de test peut être utile pour des projets nécessitant une configuration dédiée aux tests),
  • mise en place des contrôleurs pour chaque couple application/environnement,
  • revue de la configuration pour chaque application (fichier settings.yml : escaping_strategy, etag, standard_helpers, i18n, error_reporting …)

Certains détails me semblent très importants au démarrage du projet :

  • l’escaping strategy choisi conditionne la façon dont vous allez traiter certaines de vos variables dans le code de vos templates (par exemple, les fonctions du genre is_array ne marcheront plus car vos tableaux seront des objets sfOutputEscaperArrayDecorator, de même pour les objets qui ne seront plus de la même classe). Un changement dans cette variable de configuration peut donc affecter fortement le budget de votre projet … autant être sûr du premier coup.
  • Utiliser judicieusement la directive svn:ignore afin d’éviter de commiter les fichiers indésirables ou générer par symfony (comme le cache, les classes générées par propel, les contrôleurs de dev, les logs …).
  • La configuration du fichier php.yml permettant de contrôler l’environnement de votre future application est, selon moi, un moyen simple et pratique afin d’être sûr que tout le monde travaille dans la même configuration.

Si vous avez d’autres points de ce genre, n’hésitez pas à m’en faire part.

Blogmarks pour le 20/05/2008

20 mai 2008

sfSyncClusterPlugin – symfony – Trac

The sfSyncClusterPlugin introduces a symfony sync-cluster task. The symfony sync-cluster task is intended as a replacement for the symfony sync task. While the plugin is backwards-compatible with symfony sync (they even use the same configuration files) this plugin offers several advantages over a traditional symfony sync. The symfony sync-cluster task:

* Synchronizes a Symfony application across an unlimited number of servers. Symfony’s sync only works for a single server.
* Clears the Symfony cache on each server with a symfony cc. Doing this with sync requires an additional command.
* Allows you to use ssh public/private keyfile authentication so you won’t be prompted for a password during long deployments.
* Allows you to deploy your web assets to a CDN without having to copy your entire site. The sfSyncCluster currently supports standard rsync transfer and transfer to Amazon S3.
* Allows you to specify groups of servers to sync. If you have many servers, you can place them into logical groups and move them around quickly.

(categories: )

Cross apps url helper for symfony 1.0

Here’s a helper that allow to generate cross apps urls in symfony 1.0

(categories: )

Projets informatiques – Principes et lois qui se vérifient

Loi de Conway – "Tout logiciel reflète l’organisation qui l’a créée."

(categories: )

Scalable BLOB Streaming Infrastructure for MySQL

The Scalable BLOB Streaming infrastructure for MySQL will transform MySQL into a scalable media server capable of streaming pictures, films, MP3 files and other binary and text objects (BLOBs) directly in and out of the database. On this site you will find all information relating to the ongoing activities of this project. The development is led by PrimeBase Technologies, www.primebase.org, an open source software company. PrimeBase Technologies, together with the support of MySQL AB, is also the main sponsor of the implementation of this technology.

(categories: )

CommandShift3 – It’s like Hot or Not for web design

CommandShift3 is like Hot or Not.
Except, instead of clicking on hot babes, you click on hot websites.

(categories: )

Login form in Symfony 1.1, with the new form system

Login form in Symfony 1.1, with the new form system

Symfony 1.1 comes with a complete new form system. It works completely according to the MVC draft:

* Model: the validation
* View: the form self through widgets
* Controller: the form class that the model and view parts manages and uses

Make sure you have a running Symfony 1.1 based project and application and modules. In this example I build the form inside the myModule module and myLogin action.

My form makes use of i18n, which is in my case autoloaded in settings.yml.

This tutorial uses Symfony 1.1 beta4 and RC1.

(categories: )

Home: Yet Another Multicolumn Layout | An (X)HTML/CSS Framework

Bulletproof & Flexible Layouts Made Simple

"Yet Another Multicolumn Layout" (YAML) is an (X)HTML/CSS framework for creating modern and flexible floated layouts. The structure is extremely versatile in its programming and absolutely accessible for end users.

(categories: )

blogmarks.net

Tom debout tout seul !

19 mai 2008

Mon fils tente la marche sur ses deux petites pattes ! C’est pas étonnant pour un enfant de son âge, mais vu ce qu’il a traversé je suis tout fier. \o/

Frameworks php pour l’entreprise

16 mai 2008

Un peu de pub pour un livre blanc Clever Age auquel j’ai contribué.

Les frameworks suivants sont abordés : CakePHP, CodeIgniter, Symfony, Zend Framewok. Avec en fin de chaque chapitre un court paragraphe indiquant dans quels cas métier utiliser ce framework et, en fin de document, un magnifique tableau QSOS permettant leur comparaison aisée.

Blogmarks pour le 06/05/2008

6 mai 2008

Is symfony 1.1 too verbose?

Among the remarks have about symfony 1.1, the most recurring one is the shift of philosophy between the 1.0 and 1.1 syntax. If symfony 1.0 syntax was made to write code fast, I believe it is not the case anymore with symfony 1.1, which is designed primarily for extensibility.

The result is that a symfony 1.1 application looks a lot more like a Java program. I tend to agree that Object-Orientation is a good thing because it forces you to organize your code in a modular way. But when object-orientation makes you need to keep a symfony book aside at all times and multiply the number of LOC by two, I think it’s a dead end.

(categories: )

BD: dix ans de "Donjon", bonne farce devenue série culte | Rue89

A l’origine, il y a le Donjon: "Quatre tours noires dont la plus haute est visible à dix jours de marche, une porte en plomb cachée au cœur de marais infects, des kilomètres de couloirs tapissés de mousse et de salpêtre, des échelles, des monte-charge, des escaliers jusqu’aux entrailles de la terre…"

(categories: )

Des milliers d’icônes | PNG | logos | aiXo

Dans la même veine que les 20 outils pour tout tester sur votre site, voici mes favoris pour trouver des icônes et des PNG de grande qualité. Certains sont plutôt orientés icônes pour le bureau, les docks et d’autres contiennent de vrais trésors pour les webmasters.

(categories: )

Welcome to info.cern.ch

The website of the world’s first-ever web server

1990 was a momentous year in world events. In February, Nelson Mandela was freed after 27 years in prison. In April, the space shuttle Discovery carried the Hubble Space Telescope into orbit. And in October, Germany was reunified.
Then at the end of 1990, a revolution took place that changed the way we live today.

(categories: )

La Fnac se lance dans les interfaces riches

Il est encore rare qu’une enseigne grand public comme la Fnac propose à ses clients un peu d’innovation sur son site web en se lançant dans les rich media alors autant prendre le temps de regarder dans le détail ce qu’il en est.

(categories: )

Fluid – Free Site Specific Browser for Mac OS X Leopard

Are you a Gmail, Facebook, Campfire or Pandora fanatic? Do you have 20 or more browser tabs open at all times? Are you tired of some random site or Flash ad crashing your browser and causing you to lose your (say) Google Docs data in another tab?

(categories: )

Mozilla Labs » Blog Archive » Prism

Personal computing is currently in a state of transition. While traditionally users have interacted mostly with desktop applications, more and more of them are using web applications. But the latter often fit awkwardly into the document-centric interface of web browsers. And they are surrounded with controls–like back and forward buttons and a location bar–that have nothing to do with interacting with the application itself.

(categories: )

01net. – eXo Platform commercialise son WebOS

EXo Platform commercialise son WebOS
L’éditeur français propose une plate-forme d’intranet sous forme d’un système d’exploitation en ligne avec des modules, telle une application de gestion documentaire et de collaboration. Le tout en open source.

(categories: )

Office 2007 ne respecte par le standard OOXML de Microsoft – Actualités – ZDNet.fr

Les documents au format texte générés par Microsoft Office 2007 ne sont pas conformes au standard Office Open XML (OOXML) de Microsoft, tout juste devenu une norme ISO. C’est le paradoxe relevé par Alex Brown, responsable du groupe de travail OOXML à l’ISO (organisme international de standardisation).

(categories: )

Collaboration par email vs. collaboration par wiki

Voici une illustration schématique des méthodes de collaboration possibles quand on utilise un wiki et quand on utilise les échanges par mail. La comparaison est intéressante…

(categories: )

blogmarks.net