Drupal et AMFphp

Soumis par Ricovitch le sam, 08/25/2007 - 22:00

Catégorie 

Drupal, AMFPHP, Flash, CMS

Ayant réalisé une courte étude des cms opensources, je me suis intéressé à Drupal, solution intéressante à bien des niveaux.

Ce que j'ai apprécié dans Drupal :

  • Organisation claire, et documentation complète
  • La coubre d'aprentissage pas trop élevée (surtout pour moi, simple développeur flash...)
  • La modularité, et l'ouverture de l'application
  • La possibilité (via le projet cck) de créer et d'administrer des types de contenus, avec des champs spécifiques. Un simple rte étant limité en terme de contribution
  • Les services, et en particulier le module AMFPHP

En combinant l'utilisation des cck pour créer des articles avec des champs spécifiques, et les services amfphp, on obtient une solution cms idéale pour flash.
Imaginons l'exemple d'un portfolio en flash, nous créons dans drupal un type de contenu "projet", avec les champs "titre" (défaut), date, type, client, technologies utilisées.
Chaque champs est configurable : obligatoire, multiple, rendus simples/longs, texte explicatif, valeur par défaut....

Ensuite il ne nous reste plus dans flash qu'a interroger le service node.load via amfphp, avec l'id de l'article, et nous récupérons tout simplement les données, typées, sans avoir a effectuer aucun traitement coté client...

Demonstration ici :

Ce qui m'ennuie dans drupal :

  • La gestion des ordres a tous les niveaux, gérée par un système de poids contraignant, et il me semble, un peu limité...
  • L'interface d'administration peu ergonomique (modules "control panel" et "dashboard" en développement, utiliser "administration menu")

Commentaires

Soumis par Ricovitch le jeu, 07/31/2008 - 22:16

Tout à fait, pour ma part j'ai découvert drupal à sa version 5, donc je n'ai pas suivi l'évolution de ce cms avant cette version.
Mais le projet avance très vite, la version 6 est à peine sortie que la 7 est déja en chantier, avec de nombreuses améliorations...

Soumis par Ricovitch le lun, 09/15/2008 - 10:15

En théorie on peut "administrer le contenu" d'un site fullflash avec n'importe quel cms, en pratique, certains sont plus adaptés que d'autres.
Tout dépend de la complexité des contenus à administrer.

Je préconise drupal ici car :

  • On peut facilement restituer le contenu drupal sous forme xml, que l'on peut charger ensuite dans flash.
  • Encore mieux : utiliser le module amfphp pour drupal, ce qui permet à partir du site flash d'intéroger n'importe qu'elle méthode php de drupal, et de récupérer des données typées (array, Number, Date...)

Un article à ce sujet : http://modern-carpentry.com/talk/?p=32

Soumis par Anonyme le jeu, 07/16/2009 - 13:04

Pourriez vous mettre les sources ou un how to?

merci d'avance
Sam

Soumis par Ricovitch le mer, 07/22/2009 - 14:41

Je peux mettre les sources du flash que j'ai utilisé dans mon article drupal, mais c'est un peu fait à l'arrache, et spécifique à ma config drupal. C'est pour cela que je ne les ai pas mis à dispo.

Mais voici les grandes étapes à suivre pour faire communiquer Flash et Drupal :

  • Installer Drupal (en) ou Drupal (fr)
  • Installer le module AMFPHP
  • Coder en Flash l'interrogation du service AMFPHP "node.load" qui prend en paramètre l'id du node (article drupal)

AMFPHP : (attention le service browser n'est pas accessible avec Drupal)
Site officiel
Exemple Flash
Exemple Flex3

Soumis par Anonyme le ven, 07/31/2009 - 22:35

En fait j'ai fini par trouver la solution. Dans tous les tuto, il y a un point qui n'est pas très claire pour une personne comme moi qui n'a jamais fait du flash. Tout la partie en as n'est pas claire, et finalement en codant la partie d'appel en as3 et appelant le node.get (j'utilise Drupal 5, je n'ai pas le node.load), j'ai fini par faire un exemple sympa.

Merci ! Sam

Soumis par Ricovitch le lun, 08/03/2009 - 10:14

Hello Sam,

Super. C'est clair que c'est pas évident de coder l'appel amfphp quand on maitrise pas trop flash. Sinon... pourquoi Drupal 5 ? Parceque PHP4 ?

Soumis par Anonyme le jeu, 08/27/2009 - 14:37

Bonjour est-ce que vous avez déjà créer des sites sous drupal en dehors de celui ci? Vous maîtrisez le développement du module organic group? Merci

Soumis par Anonyme le jeu, 11/12/2009 - 13:50

Bonjour, Je suis justement en train de développer un site full flash pour un ami, j'ai commencé à regardé amfphp et grâce à cet article je vais tester ça avec drupal pour administrer le contenu. Par contre, ce que j'aimerais savoir, c'est l'architecture de ton site fullflash coté flash, tu organises tout en classes (ou carrément un MVC) ? et pour les "pages" flash tu mets un fichier swf par page ? Merci d'avance

Soumis par Ricovitch le mar, 11/24/2009 - 13:27

Pour ce qui de l'architecture d'un site en Flash, l'approche MVC est pas obligatoire je pense par contre, il est bon de coder un minimum avec une approche objet. (en AS3 de toute façon on peut pas y couper)

Visiblement tu souhaites administrer le contenu de ton site Flash avec un CMS, tu peux donc imaginer un système de templates de pages coté Flash, avec différents types de blocs en fonction du contenu que tu souhaite afficher dans ton site. Chaque bloc ayant par exemple un symbole dans la librairie Flash associé, ce qui permet de facilement créer dynamiquement des empilements de contenus bien formatés...

Soumis par Anonyme le jeu, 12/03/2009 - 16:01

Je pense en fait renvoyer tout le contenu d'une table en php, et faire une classe "métier" en .AS avec des getters setters pour chaque table, puis effectivement faire des templates où je v instancier les méthodes pour avoir les données que je veux.

Sinon, je suis en train de faire des tests Drupal Flash, j'ai installé AMF et le module service, l'installation est correct, mais depuis flash j'arrive pas à accéder au service, tu n'aurais pas un script de base dans flash pour par exemple accéder à la méthode node.get

PS : j'ai vu dans ton billet sur Krys que tu as collaboré avec Groupe Reflect, tu as travaillé chez eux ? car je suis jeune développeur chez eux justement Merci

Soumis par Ricovitch le ven, 12/04/2009 - 09:09

Je vais regarder chez moi si je retrouve les sources de l'exemple que j'avais codé.

Sinon je travaille pour FittingBox actuellement à toulouse. Nous développons des solutions d'essayage virtuel (en particulier de lunettes). J'ai collaboré avec Reflect sur le site Krys.com ou sont intégrés nos modules Flex d'essayage. ;-)

Soumis par Ricovitch le lun, 12/07/2009 - 09:18

Je n'ai pas retrouvé mes sources, mais en décompilant le flash chargé sur la démo drupal, on y trouve ceci :

    mx.remoting.debug.NetDebug.initialize();
var tf = this.createTextField('status', 10, 0, 0, 200, 200);
var ntitle = this.createTextField('nodetitle', 11, 0, 50, 200, 200);
var nbody = this.createTextField('nodebody', 12, 0, 100, 200, 400);
ntitle.html = true;
ntitle.multiline = true;
nbody.html = true;
nbody.multiline = true;
nbody.wordWrap = true;
var nodeService = new mx.remoting.Service('/drupal/services/amfphp', new Log(), 'node', null, null);
var listener = new Object();
listener.onDrupalResult = function (re) {
trace('result : ' + re);
tf.text = 'reponse : ';
ntitle.htmlText = '<b>Node Title:</b><br/>' + (re.__get__result()).title;
nbody.htmlText = '<b>Node Body:</b><br/>' + (re.__get__result()).body;
};

listener.onDrupalError = function (fe) {
tf.text = 'error';
};

tf.text = 'Chargement des données en cours...';
var pc = nodeService.load(1);
pc.__set__responder(new mx.rpc.RelayResponder(listener, 'onDrupalResult', 'onDrupalError'));
}

Ajouter un commentaire