Posts filed under 'Programmation'

Number One

Youpi :) J’ai gagné =D

   

2 comments October 1st, 2007

Easter Eggs

Les Easter Eggs (oeufs de pâques) ne se trouvent pas que le matin de Pâques dans le jardin : si on cherche bien, on peut en trouver dans certains applications telles que Firefox, Open Office ou Aptitude. Il s’agit la plupart du temps d’une blague, ou d’un mini jeu, comme dans Open Office. Voici donc une liste non exhaustive de ce que vous pourrez trouver :

Mozilla/Firefox

Au fil des versions de Mozilla et/ou Firefox, les développeurs ont pris soin d’écrire une “Bible” de Mozilla, dont un nouveau verset est ajouté à chaque version majeure. Pour lire le verset de votre version, tapez about:mozilla dans la barre d’addresse, et validez.

about:mozilla

Apt-get et Aptitude

Les deux gestionnaires de paquet font décidément tout pareil… Même dans les easter eggs :) Il existe une opération non documentée et pourtant implémentée dans chacun des deux. Pour vous en convaincre, tapez dans un terminal :

apt-get moo

La même opération est possible sous aptitude, mais comme aptitude fait toujours mieux les choses, leur moo se déroule en plusieurs étapes. Pour l’étape 1 :

aptitude moo

L’étape 2 :

aptitude -v moo

L’étape 3 :

aptitude -vv moo

Et ainsi desuite jusqu’à ce que le message arrête de changer.

Note: testez le moo d’apt-get sous différentes distributions, il n’est pas le même partout !

PHP

Et oui, PHP posède aussi son (ou plutôt ses) Easter Eggs. Pour cela il suffit d’ajouter une variable dans l’URL de n’importe quel site fait en PHP. La variable en question c’est ?=PHPE9568F36-D428-11d2-A769-00AA001ACF42 ou ?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 (les deux affichent quelquechose de différent). Par exemple, on passe de http://hyperthese.net/ à http://hyperthese.net/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

OpenOffice.org

Pour finir ce petit listing des Easter Eggs, voici celui d’OOo qui je crois mérite la palme du plus gros. Dans un premier temps, ouvrez un classeur. Dans une cellule, tapez =game()

OOo EE - Step 1

Une fois validé, vous obtenez un joli message dans la cellule :

OOo EE - Step 2

Là il ne vous reste plus qu’à rééditer la cellule, puis à appuyer sur “entrée”

OOo EE - Step 3

Il parraitrait que ce n’est pas le seul je, visiblement vous pouvez aussi tester “Froggle” et “TicTacToe” mais personellement je n’ai jamais eu aucun résultat….

The End

Et voici donc la fin de cette petite liste… N’hésitez pas à faire tourner google, car il y a fort à parier que votre logiciel favoris posède son easter egg ! ;)

Add comment September 18th, 2007

uncentralizedDownloader : nominé !

Et voilà, mon uncentralizedDownloader est nominé sur phpclasses pour le mois d’aout 2007 =)

–> La classe

Add comment September 4th, 2007

Risk

Pendant mes vacances chez un ami, on a pas mal joué à Risk. Ce qui est marrant dans risk, c’est à quel point c’est tordu de calculer les chances de gagner (en tout cas pour moi…). C’est pour ça que j’ai fait tourner mon processeur pour calculer toutes les permutations possibles (c’est quand même vachement plus simple non ? :-P ). J’ai commencé par calculer les % de chances de gagner aux dés :

Dés att VS déf Victoire: Attaquant Victoire: Défenseur Égalité
1vs1 42% (15/36) 58% (21/36) 0%
1vs2 25% (55/216) 75% (161/216) 0%
2vs1 58% (125/216) 42% (91/216) 0%
2vs2 22% (295/1296) 45% (581/1296) 32% (420/1296)
3vs1 66% (855/1296) 34% (441/1296) 0%
3vs2 37% (2890/7776) 29% (2275/7776) 34% (2611/7776)

Une fois la tâche accomplie, j’ai créé un programme qui donne les possibilité de score final dans un combat :

–> Calculateur de chances de victoire

Mon calculateur n’est pas très rapide pour un grand nombre d’attaquants, mais au moins je suis content par ce que ça fonctionne :)

Add comment July 24th, 2007

Uncentralized Downloader

Quand on a voulu faire des téléchargements directs sur TGS, nous avons été obligé d’utiliser free comme hébergeur, car je n’ai pas assez de bande passante ni de place sur mon serveur pour héberger de la musique. Mais on s’est heurté à divers obstacles :

  • Free est plutôt limité dans la liberté de configuration du serveur et les possibilités de PHP
  • Des serveurs se retrouvent hors ligne on ne sait pas bien pourquoi
  • Des sites hotlinkent nos fichiers (ils font des liens vers nos fichiers en faisant comme si ils venaient de leur site)

La solution pour le 2eme problème était de faire une gestion décentralisée des téléchargements : au lieu qu’un fichier ne soit que sur un seul serveur, on le met sur plusieurs serveurs, comme ça si un des serveurs plante les autres serveurs peuvent continuer à proposer le fichier. Le rôle de UD est de scanner les différents serveurs pour trouver le fichier quelquepart et générer un lien de téléchargement valide.
Pour le 3eme problème, la solution aurait facile si je n’avait pas eu le 1er problème. Malheureusement je l’avait… J’ai commencé par essayer de détourner les erreurs 404, mais pour diverses raisons ça n’était pas très stable et puis la plupart des firewalls empêchaient le système de fonctionner comme il faut. La parade a été de faire en sorte que le nom du dossier qui contient les fichiers change assez fréquement, de manière à ce que faire un lien permanant soit impossible. On envoi donc l’utilisateur sur une page qui verrifie que l’utilisateur vient du bon site, puis qui scanne tout les serveurs pour trouver les fichiers et ensuite créé un lien pour télécharger sur un des serveurs.
Ça n’est évidament pas une protection ultime, puisque même un codeur moyen pourra facilement faire sauter ce genre de protection, cependant ça reste une bonne arme contre la majorité des hotlinks : les blogs et tout les sites qui ne demandent aucune connaissance technique, car leurs webmasters n’ont justement aucune connaissance technique…

Comme mon blog est là pour faire profiter à ceux qui le veulent de mon code, voici les sources de ce gestionnaire de téléchargements, que j’espère suffisament documenté (en anglais). En cas de questions, n’hésitez pas à m’envoyer un mail ;) .

–> Télécharger uncentralizedDownloader : 7zip - Bzip2 - Zip

–> La classe sur PHP Classes

Add comment July 23rd, 2007

Centrage vertical en CSS

Vous pensiez que c’est impossible de faire un centrage vertical qui marche sur tout les navigateurs ? Eh bien si ! Regardez donc cette astuce (géniale il faut l’avouer)

http://www.jakpsatweb.cz/css/css-vertical-center-solution.html

Add comment July 4th, 2007

Pivot de Gauss en PHP

Voici un très intéressant article qui donne le code source d’une classe qui effectue un pivot de Gauss (résolution d’un système d’équations linéaire) en PHP.

–> Lire

Add comment June 15th, 2007

Présentation PHP/MySQL pour Toulibre

Voici les fichiers de ma présentation PHP/MySQL
Télécharger : 7zip - Bzip2 - Zip

Le site de toulibre -> http://www.toulibre.org/

Add comment June 10th, 2007

Nouvelle version de phpSerial

Vous pourrez trouver la nouvelle version de phpSerial, ma classe pour lire/écrire sur le port série depuis linux ou windows (sauf que windows gère pas la lecture) en PHP sur le site PHP Classes.

8 comments June 1st, 2007

Présentation du xhtml/css pour Toulibre

Voici les slides de la présentation sur le xhtml/css que j’ai fait pour toulibre.

–> Télécharger Bzip2 - Zip
–> Toulibre

1 comment April 18th, 2007

Next Posts Previous Posts


Calendar

November 2008
M T W T F S S
« Oct    
 12
3456789
10111213141516
17181920212223
24252627282930

Posts by Month

Posts by Category