SP:Fotolia

De Hegyd Doc.

(Différences entre les versions)
Ligne 3 : Ligne 3 :
= Liaison avec Fotolia =
= Liaison avec Fotolia =
-
Les images associées aux [[SP:Composants:craft|Craft]] proviennent de Fotolia.
+
Les images associées aux [[SP:Composants:Craft|Craft]] proviennent de Fotolia.
-
Les conditions d'utilisation de Fotolia veulent qu'a chaque utilisation d'une de ces images, le compte d'Hegyd soit décrémentés d'autant de "crédits" (monnaie locale a Fotolia) que requiert l'image.
+
Les conditions d'utilisation de Fotolia veulent qu'a chaque utilisation d'une de ces images, le compte d'Hegyd soit décrémenté d'autant de "crédits" (monnaie locale a Fotolia) que requiert l'image.
-
Voici un shéma général d'utilisation:
+
Pour ce faire, un cron lancé chaque jour parcours la liste des photos Fotolia utilisés par chacun des sites, et si cela fait plus de X jours (voir [[#Configuration:paramètres de configuration]]) qu'elles sont associées au site, on vérifie si elles ont été décrédité du compte Hegyd. Si ce n'es pas le cas, alors le script le fait.
 +
 
 +
 
 +
== Configuration ==
 +
 
 +
Voici la liste des paramètres de configuration (dans fichier de configuration:
 +
 
 +
<pre>
 +
$conf['FOTOLIA_API_KEY'] = '9lJecPHB8Vm8U0Fy9og10su16RO1aSoa';
 +
$conf['FOTOLIA_API_URL'] = 'api.fotolia.com';
 +
$conf['FOTOLIA_API_PATH'] = '/Xmlrpc/rpc';
 +
$conf['FOTOLIA_USER_NAME'] = 'viaduc';
 +
$conf['FOTOLIA_USER_PWD'] = 'VIADUC49070';
 +
$conf['FOTOLIA_DEV_REPORT_MAIL'] = $conf['REPORT_MAIL_DEV']; //mail pour les rapport de cron
 +
$conf['FOTOLIA_REPORT_MAIL'] = 's.derrey@hegyd.com'; //adresse email vers qui seront envoyés les alertes dans le cas ou le nombre de crédits du compte es inférieur à 10
 +
$conf['FOTOLIA_DELAY_DECREMENT_CREDIT'] = 0; //nb de jours a attendre pour q'une image soit considérée comme associée au site, et procéder a son paiement
 +
</pre>
 +
 
 +
== Implémentation ==
 +
 
 +
=== Base de données ===
 +
 
 +
* la table '''imageFotolia''' contient les références fotolia des photos utilisées: couple identifiant fotolia / license utilisé .
 +
* la table de jointure '''jSiteCLient_ImageFotolia''' relie un site a une image fotolia, et permet de savoir si une image a été payée pour un site donné
 +
* Un champ dans la table des '''[[SP:Composants:Upload|Upload]]''' permet de lié une image avec un identifiant fotolia: '''imageFotoliaID'''
 +
 
 +
TODO DIAGRAMME DE BD
 +
 
 +
=== Classes Object ===
 +
 
 +
* Une classe '''ImageFotolia''' permet de gérer les entrées dans la table imageFotolia (creation,modification,vérification), ainsi que a décrémentation de crédit du compte Hegyd, et la vérification du nombre de crédits existants.
 +
* Cette classe est utilisée par la classe '''Upload''' pour associer un objet a une image fotolia, et pour savoir a quelle image fotolia est lié un Upload.
 +
 
 +
== Fonctionnement ==
 +
 
 +
=== L'assignation d'une image en tant que image Fotolia ===
 +
 
 +
L'assignation de fait dans [[SP:Part:Metiers| l'administration des métiers]]. A chaque fois qu'un administrateur ajoute une photo, alors il a la possibilité de lui assigner un identifiant et une licence fotolia. On ajoute ce couple en base seulement s'il n'existe pas.
 +
 
 +
Ensuite lors du déploiement d'un [[SP:Composants:Craft|Craft]] pour un site client, les photos correspondantes sont dupliqués, et leur identifiant fotolia conservé.
 +
 
 +
=== Le cron ===
 +
 
 +
Le [[SP:Processus:Cron|cron]] '''fotoliaCredits.php''' récupère la liste des Upload liés a des objets publiées sur le site du client depuis au moins X jours (voir [[#Configuration:paramètres de configuration]]).
 +
Pour chacun d'entre eux, il regarde si la décréditation a déja eu lieu. Si ce n'est pas le cas il décrédite le compte défini du nombre de crédit nécéssaire pour l'image.

Version du 30 juin 2010 à 09:14


Sommaire

Liaison avec Fotolia

Les images associées aux Craft proviennent de Fotolia. Les conditions d'utilisation de Fotolia veulent qu'a chaque utilisation d'une de ces images, le compte d'Hegyd soit décrémenté d'autant de "crédits" (monnaie locale a Fotolia) que requiert l'image.

Pour ce faire, un cron lancé chaque jour parcours la liste des photos Fotolia utilisés par chacun des sites, et si cela fait plus de X jours (voir #Configuration:paramètres de configuration) qu'elles sont associées au site, on vérifie si elles ont été décrédité du compte Hegyd. Si ce n'es pas le cas, alors le script le fait.


Configuration

Voici la liste des paramètres de configuration (dans fichier de configuration:

$conf['FOTOLIA_API_KEY'] = '9lJecPHB8Vm8U0Fy9og10su16RO1aSoa';
$conf['FOTOLIA_API_URL'] = 'api.fotolia.com';
$conf['FOTOLIA_API_PATH'] = '/Xmlrpc/rpc';
$conf['FOTOLIA_USER_NAME'] = 'viaduc';
$conf['FOTOLIA_USER_PWD'] = 'VIADUC49070';
$conf['FOTOLIA_DEV_REPORT_MAIL'] = $conf['REPORT_MAIL_DEV']; //mail pour les rapport de cron
$conf['FOTOLIA_REPORT_MAIL'] = 's.derrey@hegyd.com'; //adresse email vers qui seront envoyés les alertes dans le cas ou le nombre de crédits du compte es inférieur à 10
$conf['FOTOLIA_DELAY_DECREMENT_CREDIT'] = 0; //nb de jours a attendre pour q'une image soit considérée comme associée au site, et procéder a son paiement

Implémentation

Base de données

  • la table imageFotolia contient les références fotolia des photos utilisées: couple identifiant fotolia / license utilisé .
  • la table de jointure jSiteCLient_ImageFotolia relie un site a une image fotolia, et permet de savoir si une image a été payée pour un site donné
  • Un champ dans la table des Upload permet de lié une image avec un identifiant fotolia: imageFotoliaID

TODO DIAGRAMME DE BD

Classes Object

  • Une classe ImageFotolia permet de gérer les entrées dans la table imageFotolia (creation,modification,vérification), ainsi que a décrémentation de crédit du compte Hegyd, et la vérification du nombre de crédits existants.
  • Cette classe est utilisée par la classe Upload pour associer un objet a une image fotolia, et pour savoir a quelle image fotolia est lié un Upload.

Fonctionnement

L'assignation d'une image en tant que image Fotolia

L'assignation de fait dans l'administration des métiers. A chaque fois qu'un administrateur ajoute une photo, alors il a la possibilité de lui assigner un identifiant et une licence fotolia. On ajoute ce couple en base seulement s'il n'existe pas.

Ensuite lors du déploiement d'un Craft pour un site client, les photos correspondantes sont dupliqués, et leur identifiant fotolia conservé.

Le cron

Le cron fotoliaCredits.php récupère la liste des Upload liés a des objets publiées sur le site du client depuis au moins X jours (voir #Configuration:paramètres de configuration). Pour chacun d'entre eux, il regarde si la décréditation a déja eu lieu. Si ce n'est pas le cas il décrédite le compte défini du nombre de crédit nécéssaire pour l'image.