« Fonctionnement technique de Jeuxvideo.com » : différence entre les versions

Anokata (discussion | contributions)
Edwado (discussion | contributions)
Nouveau : sous-domaines de Jeuxvideo.com, où on peut y trouver des choses parfois étranges.
 
(4 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{Bannière Incomplet}}
{{Bannière Info|Contenu=Cette page détaille le fonctionnement technique de jeuxvideo.com. L'API v4 du site est quant à elle documentée sur [[Documentation de l'API Jeuxvideo.com]].}}
{{Bannière Info|Contenu=Cette page détaille le fonctionnement technique de jeuxvideo.com. L'API v4 du site est quant à elle documentée sur [[Documentation de l'API Jeuxvideo.com]].}}


Ligne 77 : Ligne 79 :


Comme dit précédemment, Respawn semble être un mélange de MVC et de code classique sans modèle particulier de respecté. Les fichiers du back-end sont également mitigés du côté de leur appellation, laissant encore droit au mélange entre Français et Anglais. Exemples de fichiers côté back-end :
Comme dit précédemment, Respawn semble être un mélange de MVC et de code classique sans modèle particulier de respecté. Les fichiers du back-end sont également mitigés du côté de leur appellation, laissant encore droit au mélange entre Français et Anglais. Exemples de fichiers côté back-end :
 
/opt/datas/JEUXVIDEO.COM/htdocs/forums/liste_topic.php<br>
''/opt/datas/JEUXVIDEO.COM/htdocs/forums/liste_topic.php''<br>
/opt/datas/JEUXVIDEO.COM/app/modeles/core/OiPDOStatement.php<br>
''/opt/datas/JEUXVIDEO.COM/app/modeles/core/OiPDOStatement.php''<br>
/opt/datas/JEUXVIDEO.COM/app/modeles/sso/Transaction.php<br>
''/opt/datas/JEUXVIDEO.COM/app/modeles/sso/Transaction.php''<br>
/opt/datas/JEUXVIDEO.COM/app/modeles/GoogleTagManager.php<br>
''/opt/datas/JEUXVIDEO.COM/app/modeles/GoogleTagManager.php''<br>
/opt/datas/JEUXVIDEO.COM/app/modeles/sso/Compte.php<br>
''/opt/datas/JEUXVIDEO.COM/app/modeles/sso/Compte.php''<br>
/opt/datas/JEUXVIDEO.COM/app/controllers/forum/liste_topic.php<br>
''/opt/datas/JEUXVIDEO.COM/app/controllers/forum/liste_topic.php''<br>
/opt/datas/JEUXVIDEO.COM/app/modeles/sso/Session.php<br>
''/opt/datas/JEUXVIDEO.COM/app/modeles/sso/Session.php''<br>
/opt/datas/JEUXVIDEO.COM/app/vendor/...
''/opt/datas/JEUXVIDEO.COM/app/vendor/...''


=== Nommage des fonctions ===
=== Nommage des fonctions ===


Respawn possède aussi des fonctions dont le nommage est entre le Français et l'Anglais. Exemples de fonctions côté back-end :
Respawn possède aussi des fonctions dont le nommage est entre le Français et l'Anglais. Exemples de fonctions côté back-end :
 
getInfoFromIdForum<br>
''getInfoFromIdForum''<br>
loadMenu<br>
''loadMenu''<br>
checkMenuItem<br>
''checkMenuItem''<br>
getSingleton<br>
''getSingleton''<br>
getHtmlJeuForum<br>
''getHtmlJeuForum''<br>
blocHtmlBoutiqueRandom
''blocHtmlBoutiqueRandom''


=== Optimisations ===
=== Optimisations ===
Ligne 132 : Ligne 132 :
=== Recherche des forums ===
=== Recherche des forums ===


La recherche des forums utilise le moteur de recherche Sphinx qui est intégré au site. La recherche des forums est limitée à 1 mois sur les blablas, elle peut être contournée via https://jvarchive.com/.
La recherche des forums utilise le moteur de recherche Sphinx qui est intégré au site. La recherche des forums est limitée à 1 mois sur les blablas, elle peut être contournée via https://jvarchive.net/.


=== Sécurité informatique ===
=== Sécurité informatique ===
Ligne 301 : Ligne 301 :
De plus, elle ne fonctionne que sur JVC, et ce n'est pas une fonction JavaScript universelle, contrairement à la précédente.
De plus, elle ne fonctionne que sur JVC, et ce n'est pas une fonction JavaScript universelle, contrairement à la précédente.


== Liens externes==
== Opps! ==
 
Jeuxvideo.com peut afficher des erreurs du type "Opps!", ce qui a valu la création d'un [[délire]] et même d'un [[smiley]] officiel.
 
Le 7 mars 2026, un forumeur écrit avoir reçu le message ci-dessous lors d'un ''downtime'' du site :
'''ERROR: PL/Proxy function public.get_nb_previous_message(3): [forums6] PQconnectPoll: connection to server at "10.142.5.26", port 5432 failed: FATAL: remaining connection slots are reserved for non-replication superuser connections'''
Ce message indique plusieurs choses :
 
* Jeuxvideo.com utilise la plage 10.0.0.0/8 côté infrastructure, ce qui est très courant dans les entreprises,
* PostgreSQL est toujours le moteur de base de données utilisé pour les accès au site,
* Une table nommée "get_nb_previous_message" existe. Son intérêt est pour le moment inconnu.
* Les connexions à PostgreSQL ne sont pas fermées, ce qui est un usage courant sur les sites Internet, afin d'éviter de se connecter en boucle à PostgreSQL et brider les délais d'affichage des pages.
En revanche, il est totalement inconnu de la façon d'où cet utilisateur a eu le pouvoir de voir ce message, réservé à l'équipe technique. Il est possible que le proxy de première instance ai confondu une IPv4 source avec celle d'un utilisateur de l'équipe technique, mais ce n'est qu'une hypothèse.
 
== Plages réseau ==
 
Certains sites permettent d'afficher des informations administratives et techniques sur le fonctionnement de Webedia et de Jeuxvideo.com, notamment du côté du partitionnement des plages IP.
 
D'après https://nextly.net/search?text=Webedia :
 
* Webedia possède des plages IP très larges, partant côté IPv4, du /24, jusqu'à un grand nombre de /22. Le prix à la revente dépasse les 100 000€, au minimum.
* Étrangement, Webedia possède énormément de plages IPv6, notamment des /32 et /29. Ces plages sont totalement inutiles et polluent les bases RIPE, sachant que Jeuxvideo.com désactive IPv6 de base, et utilise les plages Cloudflare pour les accès IPv4.
* Des blocs IPv4 /29 (donc non routables via BGP) ont été assignés auprès de Webedia, apparemment via le transitaire/FAI Zayo. L'usage est inconnu pour le moment.
 
D'autre part, il est à noter que Webedia migre doucement son infrastructure sur Google Cloud. De fait, les plages seront sûrement revendues à bon prix.
 
== Sous-domaines ==
 
*.preprod.jeuxvideo.com
*.qa.jeuxvideo.com
*.stg.jeuxvideo.com
actu.jeuxvideo.com
api.jeuxvideo.com
api.stg.jeuxvideo.com
bryce.jeuxvideo.com
image.jeuxvideo.com
image.stg.jeuxvideo.com
jump.jeuxvideo.com
jump.stg.jeuxvideo.com
l.jeuxvideo.com
liens.accueil.jeuxvideo.com
liens.bonsplans.jeuxvideo.com
liens.newsletters.jeuxvideo.com
m.jeuxvideo.com
m.preprod.jeuxvideo.com
m.stg.jeuxvideo.com
mta-sts.jeuxvideo.com
play.jeuxvideo.com
preprod.jeuxvideo.com
psnstore.jeuxvideo.com
rabbitmq.jeuxvideo.com
rabbitmq.stg.jeuxvideo.com
static.preprod.jeuxvideo.com
static.stg.jeuxvideo.com
stg.jeuxvideo.com
update.jeuxvideo.com
utiq.jeuxvideo.com
video.jeuxvideo.com
video.stg.jeuxvideo.com
ww.jeuxvideo.com
www.jeuxvideo.com
www.preprod.jeuxvideo.com
www.stg.jeuxvideo.com
wwww.jeuxvideo.com
wwwww.jeuxvideo.com


== Liens externes ==
*[http://www.journaldunet.com/solutions/itws/050426_it_jeuxvideo.shtml Interview sur l’architecture de jeuxvideo.com de 1997 à 2005] ([http://web.archive.org/web/20070629165914/http://www.journaldunet.com/solutions/itws/050426_it_jeuxvideo.shtml archive.org])
*[http://www.journaldunet.com/solutions/itws/050426_it_jeuxvideo.shtml Interview sur l’architecture de jeuxvideo.com de 1997 à 2005] ([http://web.archive.org/web/20070629165914/http://www.journaldunet.com/solutions/itws/050426_it_jeuxvideo.shtml archive.org])