PROJET AUTOBLOG


Warrior du Dimanche

Site original : Warrior du Dimanche

⇐ retour index

SnippetVamp: des volontaires pour tester ?

mercredi 1 mai 2013 à 19:17

 Plusieurs d'entre-vous ont été intéressé par SnippetVamp, une petite appli dont j'ai parlé dans un post précédent...

Les plus curieux ont déniché le dépôt github que j'ai ouvert pour l'occasion ( les coquins ^^ )

Je viens de commit la version alpha 0.71 qui apporte:

[Edit] Et hop dans la foulée une version 0.72 pour corriger une boucle de redirection (quand on toggle un statut public privé sur la page d'accueil) et la liste des derniers snippets qui n'affichait pas les snippets privés en admin...

 

Note pour les testeurs de la version antérieure: pour permettre la validation RSS il fallait des dates au format rss (pas super sexy)... J'ai donc ajouté une clé dans les $snippets pour stocker la date à ce format ... Si vous avez déjà commencé à utiliser SV et à stocker vos portions de vache qui rit de codes, récupérez ce fichier, lancez-le et paf ça fera des chocaPHPic  ( => Timo ^^ ) En fait, ça ajoutera simplement la date rss à partir de la date normale convertie.

All#OLDciné: ton API on s'en fout !

mercredi 1 mai 2013 à 06:00

 Quand on veut faire une appli php qui récupère les infos et affiches d'un film, jusqu'à très récemment, on avait deux choix: IMDb et allocine...

Si on voulait les synopsis en français, il ne restait qu'allocine... ça tombait bien, remarque, parce qu'ils avaient une API non officielle qui faisait bien son taf, même s'il fallait ruser pour pécho le code ID de l'appli Android pour l'utiliser... 

 

Mais voilà, Allociné a décidé de se réserver l'accès à cette API et du coup, on se retrouve dans la mouise... (mes récriminations sur le fil touït ici et )

Et si on ne dépendait plus de leur API ?


L'idée est de parser directement les pages allocine pour grabber les infos qui nous intéressent. 

J'ai pondu(cotcot) quelques fonctions qui font le job pour vous...

  1. search2array($recherche): on lui passe la chaine à rechercher (par exemple 'heros') et elle renvoie un tableau contenant les liens vers les fiches allociné des 20 premiers résultats,
  2. movielink2array($lien): charge et parse la page allociné correspondant au lien renvoyé par la fonction précédente; elle retroune un tableau contenant toutes les infos (titre, adresse de l'affiche, acteurs, genre, synopsis, lien vers la fiche allocine)
  3. url_array2list($array): renvoie une liste <ul> regroupant les résultats mis en forme d'une recherche.

Pour avoir la liste des films correspondant à la recherche 'heros', on fait donc: echo url_array2list(search2array('heros'));

En faisant simplement search2array('heros') on récupère les données sous forme de tableau ce qui permet de les stocker (par exemple pour créer une fois pour toutes les fiches de ses films )


 


Un (gros) bémol: c'est lourd ! Il faut charger la page de recherches, charger chaque page de résultat, parser le tout à coups de preg_match... c'est lent, lourd et ça consomme des ressources en veux-tu en voilà...

A réserver pour une utilisation perso dans une appli à soi, évidemment, pas en prod oO 

De plus, le passage par file_get_contents pour cherger les pages ne sera pas accepté par tous les serveurs: je pense que ça doit dépendre le la politique de sécurité (mais je peux me tromper).

En tout cas, pour mon appli de media center hébergée en local, ça remplacera l'usage de l'API.

Et si Allocine change la structure de ses pages, il suffit d'adapter les regex en conséquence...


Pour le zip, le voilà ...


[EDIT]

Plarem m'a signalé dans les commentaires que Gromez a fait une classe pour tipiak les infos sur Allociné: je l'ai testée rapidement et elle fonctionne très bien; elle est rapide et produit un résultat json directement utilisable...

C'est du bon boulot et ça marche. Je n'ai pas encore regardé comment il s'y prend, mais je pense qu'on a une solution plus élégante que le parsing de pages ^^

Ce post vaut de toutes façons comme solution de repli et éventuellement comme base pour parser d'autres pages de services dépourvus d'API :-P ^^

SnippetVamp: parce qu'yen a marre de chercher ses snippets...

mardi 30 avril 2013 à 21:50

Voilà une difficulté que tout codeur doit sans doute rencontrer: regrouper tous ses bouts de codes, fonctions etc au sein d'un seul espace, facile d'accès. 

Comme tout le monde, c'est un problème que j'ai maintes fois tenté de surmonter via des solutions plus ou moins efficaces, du dossier plein de fichiers textes aux applis tierces...

J'en suis venu à me bricoler, comme d'habitude, des applis exprès: j'ai commencé par des versions en VB il y a fortfort longtemps... puis en Delphi... 

Puis j'en ai fait une destinée à être utilisable en ligne et synchronisée localement (via ftpbox par exemple)... Ainsi, on a toujours ses codes sous la main...

Comme les copains m'ont fait l'honneur de s'y intéresser, voici une revue de la version (über) alpha...

 


J'en avais fait une première version, tout à fait fonctionelle et assez stylée, mais au moment de la reprendre pour l'améliorer, j'ai trouvé sa structure trop compliquée et j'ai décidé de reprendre from scratch avec pour objectif une appli en un seul fichier php...

 

 

La première version, jolie mais lourde et sans coloration syntaxique, statut public/privé etc)


 

Cette version 2 est donc reprise à zéro avec un cahier des charges précis: rester KISS, rapide, fonctionnelle, facile à adapter (thème/langue/code), elle doit permettre de diffuser facilement son code...

 

 

Actuellement, cette version alpha en est au stade suivant:

 

 


J'aurais pu inclure le js et les css à l'appli elle-même, mais j'aurais perdu en lisibilité et temps de téléchargement ce que j'aurais gagné en compacité. En conservant un fichier css et des js hors du corps de l'appli, ils sont mis en cache lors de la première utilisation.

La structure actuelle est la suivante:

► SnippetVamp
  • ► styles/ (qui contient le/les style/s d'highlight.js)
  • ► theme/ (le css et le sprite)
  •   - snippetvamp.php
  •   - highlight.js
  •   - jquip-min.js

Lors de la première utilisation, SV créera les fichiers nécessaires à son fonctionnement: pass.php, config.dat et snippetvamp.dat


Sur ma road map, j'ai encore des choses à faire:


Quelques screenshots, pour vous faire une idée...


Je créerai sans doute un dépôt GitHub dès que je considèrerai que ça vaut le coup de partager cette appli... Elle sera bien entendu distribuée librement avec ma bénédiction pour la forker à tour de bras :-)

Le Zobjet du lundi (2)

lundi 29 avril 2013 à 15:12

 Il est très évident de deviner la fonction du zobjet de la semaine... tellement évident que je n'ai pas pris la peine de modifier la photo pour empêcher l'utilisation de la recherche d'images...

 

Ses DEUX fonctions sont tout-à-fait claires... ^^

 

 

 


 

 

Quelles sont ses deux fonctions ?


via http://www.nopuedocreer.com

Ferme d'autoblogs WDD

dimanche 28 avril 2013 à 07:37

 J'attendais d'avoir un peu de temps pour participer enfin à la propagation libre et non censurée de l'information, c'est chose faite:

voici venir les autoblogs WDD (sur la musique des barbapapas, je vous prie) (pour ceux qui se souviennent encore de la série originale...)

Donc, avis à la population, vous trouverez les blogs et le formulaire d'ajout à la page autoblogs.warriordudimanche.net ...