CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Fini] Générateur catalogue de JV.

Fvirtman
Fvirtman
Niveau 10
10 octobre 2006 à 14:52:04

Bonjour,

En feuilletant un magazine de jeux video, je me suis dit :
"J´aimerais avoir un site web ou il y a des screeshots de tous les jeux video. Je choisis par console et par genre, et je vois juste des screenshots.
Si les screenshots m´intéressent, je clique sur un lien, et je vais direct sur jeuxvideo.com ou il y a le test du jeu (pour en savoir plus sur lui)"

En gros, j´aurais aimé trouver un catalogue complet. (certains vont me dire que ça existe, et me dire ou on le trouve :content: peut etre !)

Qu´a cela ne tienne, je me suis dit qu´une bonne méthode pour avoir un tel catalogue : c´est de le faire.
Mais ou trouver plein de screenshots ? Sur jeuxvideo.com pardi !

Donc apres étude du site, j´ai fait un petit programme qui scanne Jeuxvideo.com, jeu par jeu, et va chercher des images, le type du jeu, la console sur laquelle il tourne,
et qui construit le catalogue avec les petites vignettes (en redimentionnant les images en petit pour en mettre plus, et ne pas que les pages soient trop lourdes)
Un aspirateur/constructeur de site spécialisé, en somme.

Pour le moment, le programme prend uniquement un échantillon de jeux, je dirais plus tard comment procéder sur la base entiere.

http://perso.numericable..fr/~fvirtman/progs/jvaspi.rar
executable : JVaspi.exe
une fois la procédure finie : point d´entrée du site dans ./income/index.html

La source est également fournie. (C++)

concept utilisé :
- multithreading
- gestion de mutex
- acces sites web
- protocole HTTP
- Ecriture HTML

Merci de me prevenir en cas d´erreurs.

  • Merci de me prévenir si la légalité d´un tel aspirateur est douteuse.
Lapintade
Lapintade
Niveau 30
10 octobre 2006 à 16:00:32

C´est cool ce truc.

Ca marche bien chez moi, sauf que j´ai eu quelques erreur de jpg pas trouvés.

Sinon comment fais tu pour acceder a la base de jeu video.com ? tu la connais deja ?

Fvirtman
Fvirtman
Niveau 10
10 octobre 2006 à 16:55:34

oui, les erreurs, je les ai aussi de temps en temps :
en fait, j´appelle un programme externe (Nconvert.exe) qui se lance en ligne de commande, qui me resize les images pour qu´elles soient plus legeres, et des fois, il échoue.
(j´ai vérifié, l´image existe bien, c´est juste nconvert qui ne la trouve pas... pourquoi ? peut etre qu´il n´aime pas les appels en chaine... pourtant, je l´appelle en 2e phase, celle qui n´est plus multithread)
Cependant, cette erreur n´est pas grave : au pire, l´image garde sa taille d´origine et, quand je construits le HTML, j´impose la taille de l´image : donc ça marche quand meme : au pire, le peu d´image rejetées sont resizées par IE ou Mozilla.

Sinon, pour la base de JV, en fait, j´ai fait des tests empiriques, et voici ce que j´ai trouvé :

Tout est fait dans le meme moule, donc quand ça marche pour un jeu, ça marche pour tous :

Voici la recette :
https://www.jeuxvideo.com/jeux/000d/000xxxxx.htm
avec :
xxxxx = numéro du jeu
d = xxxxx/10000 (pour ne pas avoir trop de fichier dans le meme répertoire)

Avec ça, j´ai le jeu numéro xxxxx.
ça commence a 00002 (c´est Quake), et, les jeux récents sont dans les ~15000, donc si on veut toute la base, faut faire varier de 2 à 17000 on va dire (évolutif avec les années)

avec cette adresse, tu as la page de garde d´un jeu, pareil, toujours dans le meme moule.
Ensuite, il faut retrouver la "clé" du jeu, son identifiant pour les images.

Celui la est de la forme :
xxxxmm
avec :

xxxx -> code de 4 lettres pour le jeu
mm -> code de la machine

Ce code me permet de classer les jeux par machine.
Je le trouve avec un simple strstr, en partant du principe que ce code est, au moins une fois dans la page, par :
https://image.jeuxvideo.com/images/
Ensuite, l´adresse des images est :

http://image.jeuxvideo.com/images/mm/x/x/xxxxmm###.jpg
avec :
/x/x/ -> les 2 premiers lettres de xxxx

    1. -> numéro de l´image (la premiere est la 1, non la 0)

Ensuite, le programme balaie tout simplement les adresses comme ça. Je ne peux pas récupérer le nombre d´images : donc je teste entre 1 et une constante.
je me prends tres souvent des erreurs 404 -> mais je detecte, et j´ignore dans ce cas, tout simplement :)

Bref, une petite analyse, un peu de reverse engeneering sur structure de site :)

Lapintade
Lapintade
Niveau 30
10 octobre 2006 à 17:07:49

T´es un fou toi :) :)
:ok:

Fvirtman
Fvirtman
Niveau 10
10 octobre 2006 à 17:12:22

:rire:
Y´a plus fou que moi : le mec qui fait les stats sur les forums (y´a des fois un topic "stats du forum" qui remonte)

C´est le meme systeme : analyse de l´adresse elle meme (par exemple, le forum "création de jeux" est le forum 31, tu trouves aussi le numéro du topic, les pages affichées, etc)

Donc tu download la page HTML que tu souhaite, et tu analyses ensuite le contenu :-)
Mais le mec qui a fait l´analyse a du s´amuser, loool !

fil_razorback
fil_razorback
Niveau 10
10 octobre 2006 à 17:14:16

Heh, excellente idée et en plus c´est bien fait ^^

Suggestions/questions à propos des finitions :
-Les pages HTML sont pas très jolies (du tout). Si t´es d´accord j´aimerais bien faire une interface HTML plus jolie (si je trouve un peu de temps libre...jve veux faire ça !)
-Convertir les noms de console pour avoir des noms plus courant. Transformer "ps" en "Playstation" etc etc...
-Un readme ?

Fvirtman
Fvirtman
Niveau 10
10 octobre 2006 à 17:20:15

fil_razorback >

- Convertir les noms de console pour avoir des noms plus courant
--> Pas de soucis, ça, c´est facile a faire, je ferai ça :)

-Un readme ?
--> Pas de soucis non plus, c´est prévu pour expliquer le fichier params.ini entre autres

-Les pages HTML sont pas très jolies
--> Sur, c´est fait a l´arrache (mon but était d´avoir un résultat le plus vite possible) :)
oui, je suis pour les embellir ces pages.
Par contre, le code est noyé dans la source (je te laisse regarder, dans la source, la fonction : "MakePages", c´est elle qui fait le code.
Mais au pire, si tu as l´idée d´un "moule" pour faire les pages, je suis preneur, et si c´est pas trop la misere a noyer, je le ferai.
Par contre, je veux absolument garder le principe de pouvoir avoir, par exemple, tous les jeux d´action de la DS sur la meme page, a la suite, sans cliquer sur un jeu ou un autre (c´est le but), sinon, autant naviguer dans la base de jeuxvideo.com :-)

fil_razorback
fil_razorback
Niveau 10
10 octobre 2006 à 17:21:26

Oki doki. Je n´y connais rien (enfin presque rien) en Cpp donc je te donnerai un beau html propre et commenté =)

Fvirtman
Fvirtman
Niveau 10
10 octobre 2006 à 17:37:57

fil_razorback > je viens a l´instant de mettre a jour tes 2 premieres remarques :
le nom des machines est écrit, et il y a un lisezmoi :)
Meme lien ! :-)

fil_razorback
fil_razorback
Niveau 10
10 octobre 2006 à 19:06:05

Bon j´ai fait vraiment très simple mais au moins tu passeras pas 3 heures à l´ajouter =)
http://fil.razorback.freeee.fr/tmp/JVaspi_interface.rar

Fvirtman
Fvirtman
Niveau 10
11 octobre 2006 à 11:33:49

Nouvelle mise a jour : correction d´un crash du a un conflit en mutlithread (-> protection par Mutex)

Meme lien. Source a jour également.

fil_razorback > j´ai regardé ta page, mais j´ai un soucis de size de tableau a cause d´une histoire de Width. Tes commentaires me disaient d´axer plutot sur le height : je ne peux pas car les images DS n´ont pas le meme ratio que les autres. Si je m´axe sur le height, les images DS seront tres petites. Je ne me servirai pas de tableau pour le moment.
Je laisse l´interface tres tres sobre pour le moment, on verra plus tard la mise en forme (car coupler du HTML avec des printf avec des caracteres d´échappements et des %s est quelque chose de chiant...

Si j´ai le temps un de ces 4, je mettrai un résultat en ligne.

fil_razorback
fil_razorback
Niveau 10
11 octobre 2006 à 11:38:05

Oh ben tu peux toujours axer sur le width alors ^^
C´était juste une suggestion, pas un impératif (ça change pas le html que je t´ai envoyé en tout cas ^^).

Cela dit, j´imagine que ça doit etre chiant à mettre en place effectivement.

gollumkawder
gollumkawder
Niveau 10
11 octobre 2006 à 12:10:23

Trop cool le reverse online engineering :ok:
Beau boulot J(Y)²

tauruxbis
tauruxbis
Niveau 10
11 octobre 2006 à 13:33:07

gratz fvirtman :)

Fvirtman
Fvirtman
Niveau 10
12 octobre 2006 à 10:30:44

Comme la meilleur façon de voir les choses, c´est en montrant un résultat, en voici un :
J´ai généré un petit site grace au programme, a partir d´un petit échantillon de jeux :

http://jvtestjyy.ifrance.com/

Désolé, c´est Ifrance, mais c´est fait juste pour montrer un exemple.
(je viens de voir un petit bug, les pages ou il y a un accent ne marche pas, par exemple la page jeux de rôle, a cause de l´accent circonflexe)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment