PROJET AUTOBLOG


Le blog de Mitsu

Archivé

Site original : Le blog de Mitsu

⇐ retour index

L’effet Sebsauvage

mercredi 20 juin 2012 à 22:36

sebsauvage

Sebsauvage a branché votre flux RSS dans son agrégateur ? Sortez vos reverse proxies nginx :D

Non quand même pas à ce point là pour 100 visiteurs de plus, mais je suis en train d’élaborer une théorie. Sachant que près de la moitié de la population française dispose d’un accès internet haut débit (et que le nombre de terminaux mobiles, potentiellement utilisables pour surfer, titille les 100 millions) et que les journées restent les mêmes pour tous (24 heures), tout en tenant compte de l’effet réseau social (on a tendance à s’intéresser ce qui intéresse ses contacts), on peut remarquer que plus un blogueur est influent, plus il voit son influence croître (jusqu’à une masse critique, souvent « serveur qui tient plus la charge » ou « blogueur qui déconne grave »). Pire: plus un blogueur est influent, plus les liens qu’il donne sont estimés intéressants s’ils sont en quantité limitée. Et il faut garder à l’esprit qu’influence n’est pas fonction d’activité, la preuve: comme le rappelle Sebsauvage il n’est pas rare qu’il laisse « à l’abandon » son blog pendant des semaines, sa popularité en pâtit à peine.*

* c’est même encore plus grave: si Sebsauvage devait maintenant publier billet sur mon blog alors qu’il a rien publié depuis un mois, la horde de fans impatients et affamés se précipitant sur ce « Saint Graal » qui a suscité l’intérêt de leur idole devrait être énorme !! ;-)

À plusieurs reprises de petit blogueurs auto-hébergés ont pu mesurer ce qu’il en coûte de susciter l’intérêt de Korben, ça m’étonnerait à peine s’ils n’osent désormais plus rien publier d’intéressant :D

Partant de ces constats, peut-on définir un nouveau genre d’attaque informatique, pouvant tout à fait se révéler malveillant, dont la technique consiste à attirer l’attention d’un blogueur très populaire sur un contenu en particulier, intéressant, avec pour effet de faire tomber des serveurs sous les visites et ainsi réduire au silence sa cible ? Espérons qu’il n’en soit rien et qu’il y aura toujours assez de gens pour faire des blogs intéressants pour ne pas concentrer une telle « puissance de feu » auprès de certains blogueurs :) Et c’est avec cette superbe transition que je vous rappelle que ma série d’articles « Créer son propre blog » est à retrouver sur mon wiki ^_^

Si vous hésitez encore, n’hésitez plus: lancez-vous et expérimentez vous aussi L’effet Sebsauvage (≧▽≦)y

twitter

flattr this!

[edit] Magnesia: une nouvelle branche de développement

vendredi 15 juin 2012 à 12:17

evoli

(un Evoli vectorisé par mes soins)

Après la publication des r4 et r5 de Magnetik sur le wiki, je me suis lancé dans un « fork » qui au final sera sans doute ma base de développement pour les versions futures: Magnesia.

Je vais essayer de ne pas vous saouler avec des machins de développeurs :)

L’objectif de Magnesia est le même: fournir un miroir léger de liens magnet. Pour chaque torrent, on a le détail du nom, du poids, du nombre de seeders, leechers et téléchargements, … et surtout le lien magnet.

Magnesia est quelque peu différent de ses prédécesseurs: le stockage des données ne se fait plus dans une base de données SQLite ou en fichiers CGI, mais tout simplement sous forme de fichiers PHP contenant des tableaux. Exemple:

$tid2623 = array(‘name’=>’%5bPhase%203%5d%20Hellsing%20ch85%20HQ’,'tname’=>’%5bPhase3%5d%5fHellsing%5fch85%5fHQ%2ezip’,'tsize’=>’4500878′,’btih’=>’2466fc6e0c2f2ddbcc1cb224821d8fc881375080′,’cat’=>’English-scanlated Books’,'add’=>’1214209440′,’sub’=>’Anonymous’);

Dans le cas présent, le tableau concerne le torrent 2623, dont le nom est « [Phase 3] Hellsing ch85 HQ » (encodage URL pour les caractères spéciaux), le poids 4500878 octets, le btih (BitTorrent Infohash, utilisé dans le lien magnet), la catégorie, la date d’ajout (format UNIX) et l’envoyeur. Chaque référence de torrent a son tableau.

Chaque fichier (« table de base de données ») peut contenir jusqu’à 1000 références: pour savoir quel fichier charger, PHP divise et tronque l’id du torrent demandé par l’internaute: ainsi, le torrent 2623 est référencé dans le fichier n°2. Par cette technique on peut limiter la quantité d’informations chargées en mémoire, et ainsi permettre à PHP de trouver très rapidement la bonne référence et afficher les informations à l’internaute.

Avec LiVID r1 (et r2) le stockage des données était encore plus performant mais était organisé ainsi: 1 fichier par référence, fichier qui contient des variables. C’est sensiblement moins pratique, et surtout c’est pas l’idéal pour faire un miroir d’un gros site: dans le cas de NyaaTorrents, il aurait fallu mettre plus de 300 000 fichiers de 0.5 ko dans un dossier. Avec Magnesia, ce nombre est ramené à « seulement » 300 fichiers (qui du coup sont plus lourds, c’est vrai, mais à ~300 ko le fichier c’est tout à fait supportable).

Avec Magnesia je veux limiter la charge PHP, car selon les graphiques du vCPU quand Magnetik r5 a commencé à accueillir des crawlers de moteurs de recherche, ça a commencé à chauffer :) En particulier pour l’affichage de listes et la recherche. Faut dire qu’en la matière fSQL ne peut pas concurrencer un vrai SGBD comme MySQL ou PostGreSQL. Donc pour Magnesia, j’ai décidé que ce n’est pas la peine de se casser la tête sur une fonction de recherche: les moteurs de recherches s’occupent très bien de cela, il faut donc juste leur « tracer le chemin » pour qu’ils puissent tout indexer: le listing affiche toutes les références d’une table (soit jusqu’à 1000 torrents), et il est possible de naviguer d’une table à l’autre (j’ai mis en plus des liens « first » et « last » pour permettre d’aller rapidement à la table 0 ou la table la plus récente). Et histoire d’aider l’internaute, les pages comportent un champ de recherche Google: il retourne les résultats de ce site uniquement.

Mais comment la base de données est crée, c’est le serveur qui s’en charge comme pour les éditions précédentes ? Et bien non: les fichiers PHP avec les tableaux sont crées par l’administrateur, grâce à des scripts bash-PHP (pourquoi bash-PHP ? Parce que je n’ai pas trouvé plus efficace pour récupérer des informations de .torrent que le script PHP torrent-rw, et que par conséquent le script bash « sous-traite » certaines fonctions à PHP pour avoir l’info). L’idée donc c’est que l’administrateur crée, étend et met à jour les fichiers PHP sur son pc, les mets dans un fichier ZIP, envoie ce dernier sur son site, et exécute le script de dézippage. Pas obligé de zipper, mais ça se compresse vachement bien alors pourquoi pas :)

Je vais sans doute intégrer une fonction de sauvegarde aussi, qui propose au téléchargement toute la base de données à l’internaute (pour lui permettre de monter rapidement son propre miroir Magnesia par exemple). La structure des pages de détail de torrent est volontairement simple pour faciliter le traitement automatique (awk).

En tout cas j’ai été agréablement surpris de la vitesse d’exécution de PHP (en même temps c’est juste des tableaux à traiter) donc je suis déjà en train de considérer une adaptation pour The Pirate Bay :) Ou n’importe quel site de références de torrent qui serait un peu trop visible pour rester inattaqué.

Au niveau fonctionnement interne je pense être parvenu à faire ce que je voulais faire, normalement les scripts bash prévoient tous les cas de figure (échappement de caractères, encodage URL,..) donc si ça tourne bien je publie Magnesia r1, les scripts et une base de données prête à l’utilisation en prime ;)

C’est simple, c’est léger, c’est rapide, c’est compatible au maximum (testé sur un pagesperso Free, ça ne peut que marcher ailleurs xD ), c’est valide HTML 5 – CSS 3, c’est libre, ça m’a appris pleins de nouveaux trucs et ça peut se révéler très utile :)

EDIT 19 juin: code de Magnesia r1 publié sur le wiki ainsi qu’une base de données « prête à l’emploi » allant jusqu’au nyaaid 324207. Il me reste encore le script pour mettre à jour les stats, et puis je publie les feeders :)

flattr this!

Magnetik: retour aux sources

dimanche 10 juin 2012 à 11:03

programmer

« Starving Programmer » par Felyza (CC by-nc-sa — deviantart.com)

J’ai consacré une bonne partie de ma journée d’hier à bosser sur Magnetik. En fait, j’ai quasiment repris le code de zéro :)

La version r4 je pense la publier tantôt même si elle n’est pas totalement débuggée, la r5 devrait suivre après.

La version r5, test en cours, ne s’appuie plus sur SQLite3 pour le stockage de données, mais sur du stockage fichier « flat file ». Et pour cela, j’ai trouvé un SGBD en pur PHP assez bien: fSQL. Les données sont stockées dans des fichiers CGI et on peut passer des commandes de type SQL au script pour accéder et manipuler les données. Bref, c’est cool :)

Le support est presque total, mais il manque un petit truc: le paramètre OFFSET n’est pas pris en charge. Du coup mon listing n’est pas « navigable ». J’en ai fait part au développeur, mais si entre temps des âmes charitables arrivent à lui faire traiter l’OFFSET, n’hésitez pas: c’est un code sous licence LGPLv3 :)

J’ignore si ça tient le coup sur les très grosses bases de données (pour rappel Magnetik Nyaatorrents c’est pratiquement 300 000 insertions). On verra. En tout cas j’ai révisé le mode de stockage des données (désormais tout est dans une même table), et l’organisation des scripts (un index général, qui require_once des scripts PHP selon l’action que l’on veut effectuer).

Si on peut exporter facilement les données, les réimporter c’est une toute autre histoire. Il y a des kamikazes qui savent faire traiter des fichiers XML ou CSV de 100 Mo par PHP ? :D

Magnetik est en train de prendre des proportions.. énormes. Je laisse parler les stats Piwik:

piwik

En effet, Google l’indexe parfois mieux que Nyaatorrents lui-même :D

Plus que jamais donc je suis ouvert aux contributions :)

flattr this!

Importation terminée :)

dimanche 27 mai 2012 à 18:32

computer testing

« Computer Testing » par kodomut – licence CC by

Et voilà, mes articles les plus « précieux » ont été rajoutés, réadaptés pour valider le HTML 5 et tout. Un vrai travail d’orfèvre parfois :) Maintenant je peux aller de l’avant.

Légères retouches dans le CSS (notamment pour code et table), vraiment du cosmétique là. Bref le thème est en bonne phase de maturation.

Pendant ce temps, l’alimentation du Magnetik NyaaTorrents continue (au moment où j’écris ces lignes, il en est à décembre 2010: encore quelques jours et ça sera bon).

J’ai un peu réfléchi et je me suis dit qu’il n’y a pas vraiment de quoi s’opposer à ce que j’ajoute le nombre de téléchargements dans la table « stat ». Dans le cas où le torrent est dépourvu de tracker, ça peut donner une indication sur l’état de santé du torrent. Pas besoin de tout refaire, je peux pour cela utiliser une version spécifique d’update.php et un script adéquat.

Le code devient atroce, voilà que je réfléchis à un contrôle anti-doublons.. faut que je catalyse les fonctions. J’ai le temps :)

A+

flattr this!

Tiens cadeau, chocolat !

dimanche 27 mai 2012 à 17:58

Oui demain c’est la Saint Valentin, une des (nombreuses) fêtes pseudo-religieuses qui ont repris des coutumes païennes, dont l’objet était (est ?) la fertilité. Juste en passant: il y a un festival de la fertilité spécifique au Japon, le Kanamara -je crois que Google Images suffit à expliquer).

Pendant que les hommes occidentaux devront dévaliser magasins de parfums, enrichir de coûteux restaurants et/ou se réduire à un état de quasi-esclavage durant 24 heures pour s’éviter un enfers durant les 8760 heures suivantes ( « t’as même pas pensé à me faire un cadeau, t’es qu’on monstre sans cœur ! » -non c’est pas du vécu, mais j’adore troller une fête de plus en plus matérialiste) et de manière générale regretter l’époque de la simple carte de vœux, les hommes japonais sont heureux de conforter leur surcharge pondérale. En effet, la coutume veut que ce jour là les femmes offrent des chocolats aux hommes. Pas n’importe quels chocolats.

Photo par kimubert ( flickr.com/treevillage ) - licence CC by

Photo par kimubert ( flickr.com/treevillage ) – licence CC by

La Saint Valentin est donc une période « stratégique » dans un shojo-manga, un potentiel début de relation amoureuse ou renforcement de celle-ci. D’où l’entrain des héroïnes à se surpasser en faisant des chocolats maison, avec des catastrophes à la clé (Tenma Tsukamoto dans School Rumble, ?? Yamada dans B Gata H kei, Mizuki Himeji et Minami Shimada dans Baka to Test to Shokanjuu, …)

Devant le chiffre d’affaires que représente cette fête, vous croyiez vraiment que les confiseurs et chocolatiers allaient laisser s’échapper toute une frange de la population ? Un joli coup de stratégie commerciale a été fait en 1980, pour faire du 14 mars le « jour de la réponse » ou « white day », durant lequel c’est au tour des hommes d’offrir du chocolat (blanc) aux femmes dont ils ont reçu du chocolat. Messieurs, si par hasard vous avez fait vos bagages pour partir au Japon,.. vous pouvez déballer. Car ce jour là on attend de la part des hommes des cadeaux de valeur 2 à 3 fois supérieure (valeur égale = volonté de casser la relation; pas de cadeau = homme qui se place en situation de supériorité, très mal vu). Les cadeaux peuvent ne pas être du chocolat, bien sûr (que les parfumeries ne ferment pas boutique !).

Il est intéressant de noter que le white day est rarement représenté dans les mangas ;)

Donc, pour synthétiser:

Occident:

Japon:

D’aucun notera qu’au Japon, la Saint Valentin est essentiellement commerciale et moins exclusivement sentimentale qu’en occident. La chronologie permet cependant de se servir de cette occasion au Japon pour déclarer sa flamme à un homme (en choisissant le bon type de chocolat), alors qu’en occident c’est une occasion concernant beaucoup plus des couples déjà établis,…. et qui présente moins de risques alimentaires :mrgreen:

Bonne fête aux amoureux :)

fanta

Dessin par fantasimoon ( flickr.com/fantasimoon ) – Licence CC by-sa

flattr this!