SP:Fotolia
De Hegyd Doc.
(→Liaison avec Fotolia) |
(→Le cron) |
||
| (4 versions intermédiaires masquées) | |||
| Ligne 4 : | Ligne 4 : | ||
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 | + | Les conditions d'utilisation de Fotolia veulent qu'a chaque utilisation d'une de ces images, le compte de Viaduc 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' | + | 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'est pas le cas, alors le script le fait. |
| Ligne 18 : | Ligne 18 : | ||
$conf['FOTOLIA_API_PATH'] = '/Xmlrpc/rpc'; | $conf['FOTOLIA_API_PATH'] = '/Xmlrpc/rpc'; | ||
$conf['FOTOLIA_USER_NAME'] = 'viaduc'; | $conf['FOTOLIA_USER_NAME'] = 'viaduc'; | ||
| - | $conf['FOTOLIA_USER_PWD'] = ' | + | $conf['FOTOLIA_USER_PWD'] = '*********'; |
$conf['FOTOLIA_DEV_REPORT_MAIL'] = $conf['REPORT_MAIL_DEV']; //mail pour les rapport de cron | $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_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 | ||
| Ligne 31 : | Ligne 31 : | ||
* 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é | * 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''' | * Un champ dans la table des '''[[SP:Composants:Upload|Upload]]''' permet de lié une image avec un identifiant fotolia: '''imageFotoliaID''' | ||
| - | |||
| - | |||
=== Classes Object === | === Classes Object === | ||
| Ligne 38 : | Ligne 36 : | ||
* 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. | * 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. | * 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. | ||
| + | * Une classe '''APIFotolia''' qui permet de créer une connexion vers 'API et appeler les méthodes. | ||
== Fonctionnement == | == Fonctionnement == | ||
| Ligne 51 : | Ligne 50 : | ||
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]]). | 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. | 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. | ||
| + | |||
| + | A la fin du processus, le script vérifié le nombre total de crédits restant, et s'il est inférieur à 10, un mail est envoyé demandant de rajouter des crédits sur le compte. (voir [[#Configuration|configuration]] pour spécifier les adresses) | ||
Version actuelle en date du 30 juin 2010 à 13:04
Sommaire |
[modifier] 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 de Viaduc 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 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'est pas le cas, alors le script le fait.
[modifier] 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'] = '*********'; $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
[modifier] Implémentation
[modifier] 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
[modifier] 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.
- Une classe APIFotolia qui permet de créer une connexion vers 'API et appeler les méthodes.
[modifier] Fonctionnement
[modifier] 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é.
[modifier] 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 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.
A la fin du processus, le script vérifié le nombre total de crédits restant, et s'il est inférieur à 10, un mail est envoyé demandant de rajouter des crédits sur le compte. (voir configuration pour spécifier les adresses)
