Archive for mars, 2007

Symfony et intégration flash Mardi, mars 27th, 2007

On se rend bien vite compte de l’intérête des helpers dans symfony, notamment pour les problèmes de path. En effet avec la flexibilité des url dans symfony ils sont indispensables pour ne pas avoir à gérer manuellement le path des images (j’ai pas essayé mais je ne pense pas que ce soit conseillé).
Le problème se pose donc pour les animations Flash qui n’ont pas de helpers natif dans symfony. Heureusement il existe un plugin sfSwfObjectHelperPlugin :

installation au niveau d’un projet

symfony plugin-install http://plugins.symfony-project.com/sfSwfObjectHelperPlugin

Désinstallation

symfony plugin-uninstall symfony/sfSwfObjectHelperPlugin

Utilisation

<?php use_helper( ‘Flash’ );?>

Les paramètres de l’animation Flash sous forme de tableau

<?php
$params = array( ‘id’ => ‘flash_movie’,
    ‘movie’                  => ‘movie’,
    ’size’                     => ‘640×480′,  
    ‘background_color’ => ‘#ffffff’,
    ‘params’                => array(’quality’ => ‘high’),
);
?>

et à dans le code HTML là où doit s’afficher l’animation Flash

<?php echo flash_object( $id, $params )?>

où $id contient l’attribut id de la balise div contenant l’animation Flash
Visiblement le plugin ne gère pas l’image alternative :-/

XHTML 1.0 strict Flash & target=”_BLANK” Mercredi, mars 21st, 2007

Solution d’intégration d’une animation Flash en XHTML 1.0 STrict

Sachant que le code généré par Flash n’est pas accepté par les navigateurs, voici une solution propre avec en plus une image alternative en cas d’absence du plugin Flash.

Solution pour simuler l’attribut target="_BLANK"

l’attribut target de la balise a n’est pas reconnu par les validateurs de la w3C, voici une solution élégante à base de javaScript pour ouvrir un lien dans une nouvelle fenêtre

Symfony - Propel - DB Designer Vendredi, mars 9th, 2007

Quand on dispose d’un framework comme symfony et que les temps de développement sont considérablement allégés, on a tendance à s’embourgeoiser!
Comme suggéré dans le tutoriel symfony askeet j’ai recréée le modèle de données avec DB Designer.
Finalement ca se passe assez bien à condition de respecter les points suivants :

  • Afin de crééer une table nommé user il faut commencer par aller dans le menu Options de DB Designer "Options" -> "Options de DB Designer" -> "Options de BD" -> décocher "Renommer les mots réservés", sans quoi la table sera systématiquement renommée en user_2
  • Lors de l’enregistrement DB Designer sauvegarde le projet de base de données dans un fichier xml, Il existe (Ô joie, Ô bonheur intense!!) un outil de conversion DB Designer vers propel en ligne, grâce auquel on obtiendra le même fichier xml que celui à copier coller dans askeet. Il faut toutefois être vigilent sur:
    • Le nom de la base de données qui doit absolument être "propel" pour que tout se passe bien dans symfony et qui est le nom du projet saisi lors de l’enregistrement dans DB Designer. On est donc condamner à le modifier à la main ou à sauver tout ces projets de Bases de données sous le nom propel.
    • Dernier point tout les types MySQL ne sont visiblement pas dans propel. J’ai eu le problème en voulant typé les champs body en LONGTEXT, qui est un type MySQL. J’ai été obligé d’ajouter un type utilisateur dans DB Designer "longvarchar".

J’ai utilisé pendant longtemps Analyse SI et je recommande à tout ceux qui l’utilise aussi d’essyaer une fois DB Designer …