dimanche 19 septembre 2010

Baud Player 3.13 - Video preview

Vidéo preview :


Baud Player 3.13 bêta 2 disponible gratuitement en téléchargement à http://www.beaudier.fr/projets/Baud%20Player%203/index.html#dl

ChangeLog:
- Ajouté une option pour déplacer les pistes de droite à gauche, plutôt que les supprimer
- Ajouté une option pour arrêter momentanément le comptage du nombre de lecture pendant la session. Elle sera réinitialisée à chaque démarrage
- Ajouté un bouton pour trier rapidement la liste courante. Ce bouton est le bouton ~ localisé entre les deux listes. Le menu de tri dans chacune des listes est voué à disparaître
- Ajouté un bouton pour modifier la note depuis la fenêtre d'Infos
- Ajouté un bouton pour consulter l'historique d'une piste depuis sa page d'Infos
- Ajouté un bouton pour renommer le nom affiché d'une piste depuis la fenêtre d'Infos
- Ajouté un bouton pour consulter directement dans FileExplorer la piste, en cliquant sur sa bibliothèque depuis la fenêtre d'Infos
- Ajouté le changement du Nom affiché d'une piste est ajouté dans son historique
- Ajouté les mises en pause dans HistoryExplorer
- Ajouté un menu dans le menu contextuel des listes pour localiser la sélection dans FileExplorer
- Ajouté la mémorisation du numéro de piste ID3Tag, et permet d'ordonner la liste grâce à ce numéro le cas échéant
- Ajouté une fenêtre de sélection du filtre par Note
- Ajouté une fenêtre "A propos de"
- Ajouté la possibilité de rafraîchir l'onglet courant (par F5) suivant le prédicat de sa création
- Modifié si la piste n'a pas d'historique, la fenêtre d'historique s'affiche quand même lorsqu’on la demande
- Modifié la fenêtre d'historique affiche le Nom affiché plutôt que le chemin complet
- Modifié les fenêtres : Historique, FileExplorer, Infos et d'autres où Echap suffit pour les fermer, et ne sont plus visibles depuis la barre de tâches
- Modifié le nom de l'onglet pour le filtre BPM
- Modifié l'assembly TabCtlEx est maintenant compilée avec la version 4 du framework, ce qui retire la dépendance avec le framework 2.0
- Corrigé il est désormais impossible de laisser la lecture automatique suivre la sélection, si l'option "Sélection automatique" n'est pas activée
- Corrigé rajouté le menu contextuel Historique depuis la liste de gauche
- Corrigé maximiser FileExplorer redimensionne correctement les composants
- Corrigé renommer une piste ne relance plus sa lecture si l'on validait par Entrée
- Corrigé la taskbar clignote maintenant en pause même lors d'une lecture de streaming
- Corrigé le menu Localiser des menus contextuel est grisé si la piste sélectionnée est un flux ou s'il y a plusieurs éléments sélectionnés
- Corrigé la suppression de piste dans les listes supporte les sélections multiples
- Corrigé dans certains cas, après l'annulation de la recherche rapide, le contenu de la liste d'origine ne s'affichait plus
- Corrigé la recherche des pistes du même artiste à partir du menu contextuel de la liste de gauche fonctionne désormais
- Corrigé la recherche des pistes du même répertoire fonctionne désormais
- Corrigé la localisation depuis le menu contextuel fonctionne désormais
- Corrigé l'enregistrement des paramètres des bibliothèques re-fonctionne correctement

dimanche 15 août 2010

Baud Player 3.13 - Preview

Voici un aperçu des nouvelles fonctionnalités apportées dans Baud Player 3.13 :


La nouvelle gestion de la recherche, se fait par onglets

Chaque onglet possède sa liste en mémoire. Il n'y a pas de limites d'onglets. Par défaut, la recherche réutilise l'onglet courant (ou le créé sinon) pour effectuer la nouvelle recherche. Si l'onglet courant n'a pas été créé initialement par une recherche (mais par d'autres moyens cités ci-après), la recherche créé alors un nouvel onglet.
Un nouveau mode dans FileExplorer permet de créer un onglet directement à partir du contenu d'un répertoire.
Chaque menu de liste (bouton ¤) créé un nouvel onglet avec les données à afficher.

Filtre de recherche

Chaque onglet peut, comme dans la liste de droite, être filtré rapidement : il suffit de taper du texte dans la liste, et une cellule de filtre (comme dans Gnome) apparait. Dans ce cas les flèches haut et bas permettent de déplacer la sélection dans la liste triée. Echap (ou la croix) permettent de revenir en mode non-filtré. Les jokers sont supportés (ainsi que les expressions régulières, par option). La lecture automatique des pistes suivantes utilise la liste non filtrée et non pas la liste actuellement affichée. Dans le titre de l'onglet, on peut voir le nombre de pistes filtrées sur le total de l'onglet.


Nouveau menu, nouvelles fonctionnalités

Baud Player 3.13 peut maintenant afficher toutes les pistes référencées dans le même répertoire que la piste sélectionnée. Il peut faire de même pour l'artiste de la piste sélectionné. Ces deux fonctionnalités créé un onglet dédié.
Nouveau menu "Vérifier l'existence", comme dans FileExplorer, permet de vérifier si les fichiers sélectionnés sont accessibles.
Les listes sont maintenant en sélection étendue multiple. On peut donc ajouter, supprimer, noter, vérifier l'existence, en masse.


Système de notation par étoiles

Chaque piste possède maintenant une note (représenté par des étoiles, 0 à 5 étoiles). Ceci permet notamment d'effectuer des recherches ou tri par préférences, et également à Baud Player de calculer les meilleures choix de piste à lire en mode aléatoire.


Nouvel explorateur d'historique

Ce nouveau Explorateur d'historique permet de voir toutes les pistes qui ont été lues, dans l'ordre, et à quel heure. Cela permet de revenir en arrière dans la lecture (en mode History), Baud Player va alors continuer la lecture dans le même ordre que précédemment jusqu'à atteindre le bas de la liste, et reprendre un comportement normal.




Grosse moisson de nouveautés, pas de date de sortie.

mercredi 14 juillet 2010

ChangeLog de Baud Player 3.12

La version 3.12 est maintenant disponible au téléchargement. Elle intègre de nombreuses nouvelles options pour la gestion de la lecture et corrige un petit bug ennuyeux de la version précédente.

- Ajouté la recherche rapide de la liste de lecture supporte également les jokers * et ?
- Ajouté redémarrage du moteur FMOD si l'on appuie sur Stop et qu'aucune piste était en lecture
- Ajouté un bouton Export dans l'historique de lecture d'une piste
- Ajouté une option pour désactiver l'utilisation de l'historique de lecture
- Ajouté une option pour modifier le comportement de lecture suivante : par rapport à la lecture en cours ou par rapport à la sélection
- Ajouté un menu dans les listes de recherche et lecture pour inverser l'ordre du tri en cours
- Ajouté sur la recherche, si on appuie sur Entrée la recherche s'effectue immédiatement, Échap l'empêche
- Ajouté un bouton "Mode" dans la fenêtre principale (qui a donc été modifiée)
- Ajouté un menu de sélection pour indiquer un minimum et un maximum du nombre de lecture, lors de l'affichage des TOPs
- Ajouté un filtre dans le menu des filtres pour afficher l'historique de lecture
- Modifié option de sauvegarde automatique, maintenant choix entre "jamais", "toujours" ou "demander"
- Corrigé le bug du focus dans la combo box de recherche, qui sélectionnait tout le texte en rendant le focus
- Corrigé le bug pour l'application du paramètre "recherche commence à partir de 3 caractères"

dimanche 4 juillet 2010

ChangeLog de Baud Player 3.11

La nouvelle version 3.11 est disponible (voir en bas). Elle corrige quelques bugs et ajoute quelques options intéressantes.

Version 3.11
- Ajouté un menu pour tout retirer de la liste de recherche sauf la sélection en cours
- Ajouté l'implémentation du menu pour retirer les doublons dans une liste
- Ajouté une option pour vider la playlist de recherche avant un drag & drop (écrasement)
- Ajouté une option pour sauvegarder automatiquement la playlist lors de la fermeture
- Ajouté un coefficient de volume (1 à 100%) pour chaque piste (depuis les propriétés d'une piste)
- Ajouté une menu d'historique du changement de nom (artiste + titre) de la piste courante (utile pour les radios par exemple)
- Ajouté une option pour afficher le nom de la radio, en plus de l'artiste/titre, dans la barre de titre & MSN
- Ajouté la prise en charge des jokers ? et * dans la recherche standard
- Ajouté un redémarrage automatique du moteur FMOD (ce qui permet de re-fonctionner après que l'application ait changée de contexte de sécurité)
- Ajouté un timer qui va lancer périodiquement un scan des tags à lire en attente
- Ajouté une option pour sélectionner automatiquement la lecture en cours
- Modifié la fenêtre de propriétés, nouvel agencement des informations et mise en lecture seule des champs
- Modifié la gestion de la lecture automatique (routine partagée et optimisée)
- Modifié une recherche redonne le focus à la combo-box de recherche après la recherche
- Corrigé le bug lors d'une lecture (mode continue) dans la liste de recherche, alors que celle-ci a été vidée entre temps
- Corrigé le bug lors de la suppression (par la touche Suppr) d'une piste dans la liste de recherche
- Corrigé le bug dans la fenêtre de propriétés, pour bloquer le bouton suivant lorsque l'on est sur la dernière piste de la liste
- Corrigé le bug dans la lecture et la sauvegarde des playlist de type M3U, la durée est maintenant indiquée en secondes


Télécharger Baud Player 3.11

dimanche 20 juin 2010

ChangeLog de Baud Player 3.10

Version 3.10 (majeure: Service WCF & WPF usercontrol)
- Ajouté listbox en WPF
• Ajouté affichage des durées dans la liste (désactivable sur option)
• Ajouté couleur custom pour chaque piste
• Ajouté affichage du nombre de lecture par piste (désactivable sur option)
• Ajouté Binding des listes en mémoire
- Ajouté services WCF
• Ajouté service WCF expérimental : FileServ
• Ajouté service WCF expérimental : RemoteControl
• Ajouté control Silverlight
- Ajouté explorateur de bibliothèque
• Ajouté coloration
• Ajouté suppression de fichier ou de répertoire
- Modifié gestion des listbox
• Ajouté trie automatique de la liste de recherche (sur option)
• Ajouté trie manuel sur liste de gauche et liste de droite
• Ajouté recherche à la volée dans la liste de droite (avec option pour rechercher en expression régulière)
• Ajouté menus de nettoyage dans les listes
• Ajouté menus d'ajout de fichiers dans les listes
• Ajouté coloration automatique de tous les fichiers selon sa bibliothèque
• Ajouté possibilité de renommer l'affichage d'une piste sans altérer le fichier
• Supprimé la sélection multiple dans la liste de résultats
- Modifié gestion des bibliothèques
• Ajouté l'ajout d'une bibliothèque existante par drag'n'drop
• Modifié charge la bibliothèque même si le répertoire cible est introuvable
• Modifié chargement threadé des bibliothèques
• Modifié range les fichiers drag'n'dropé dans la bonne bibliothèque et pas dans Dynamics Master par défaut
• Corrigé bug qui efface les bibliothèques si elles étaient désactivées
- Modifié fenêtre principale
• Ajouté clignotement (Windows Vista+) de la barre de progression quand la lecture est en pause
• Modifié l'affichage dans la barre de titre : A=Admin, B=Bêta, F=FileServ, R=RemonteControl
• Modifié resize du split, maintenant reste proportionnel
• Corrigé bug de mémorisation de la taille de la fenêtre
• Corrigé bug d'affichage du split après une minimisation
- Modifié fenêtre propriétés
• Ajouté export de la couverture par un simple clic
• Modifié fenêtre de propriétés (chemin en rouge si introuvable, affichage du nom de la bibliothèque dans les propriétés)
• Supprimé le bouton "mettre à jour"
• Corrigé bug sur le genre de la musique dans les propriétés
- Modifié fenêtre d'options
• Ajouté option pour vérifier si lors d'une recherche les fichiers résultant existent ou non
• Ajouté option précédente pour ne vérifier que si la bibliothèque est locale
• Ajouté option pour vérifier si lors du chargement de la playlist
• Ajouté option pour revenir en liste de lecture après avoir lu une piste en recherche
• Ajouté couleurs customisables dans les options
• Ajouté gestion de la balance
• Modifié onglet spectre en affichage
- Divers
• Ajouté amélioration/protection dans le chargement/sauvegarde des paramètres
• Ajouté splashscreen (désactivable sur option)
• Modifié gestion du code source : séparation du code en classe métier : Song, Parameters, Playlist, Bibliotheque.
• Modifié l'arrêt du player, plus fluide, plus optimisé
• Modifié la façon dont le player choisie la lecture aléatoire : élimine les erreurs et préfère les non-lues
• Modifié icônes des boîtes de dialogue
• Modifié chargement threadé des recherches et playlists
• Corrigé bug de mémorisation des flux par drag'n'drop
• Corrigés bugs multiples


Edit: Disponible à cette adresse.

samedi 19 juin 2010

Baud Player 3

Cher visiteur

Je repasse un coup sur ce blog qui va me servir de support pour annoncer les nouveautés pour les prochaines versions de Baud Player. j'en profiterai également pour poster quelques développements annexes.

Baud Player 3 est développé en C# sur une base du framework .NET 3.5. Depuis juin 2008, le développement à progressé pour offrir une multitude de fonctionnalités utiles et parfois inédites. Aujourd'hui, la version 3.10 arrive bientôt à son terme, en offrant une grande quantité d'innovations, en voici un aperçu :

- Nouvelles listes Listbox (usercontrol WPF* framework 4)
- Permet l'affichage des durées des pistes dans la liste de lecture
- Permet de customiser la couleur pour chaque piste
- Permet l'affichage du nombre de fois que la piste a été lue
- Grâce au binding, la liste reflète l'état en mémoire. Ceci corrige des bugs et facilite la maintenabilité
- Nouveauté: services WCF* (Windows Communication Fundation)
- Un service WCF expérimental : FileServ, qui permet d'ajouter/télécharger des pistes depuis un navigateur
- Un service WCF expérimental : RemoteControl, qui permet de contrôler toutes les fonctionnalités du lecteur via un contrôle Silverlight
- Nouveauté: Un explorateur de bibliothèque
- Affiche par une arborescence tous les répertoires virtuels répertoriés
- Utilise une coloration pour afficher si les répertoires sont accessibles ou non
- Permet de dé-référencer des pistes
- Peut mettre à jour facilement l'état de la bibliothèque
- La liste est triable, par nom, durée et nombre de lecture
- Peut ajouter la sélection à la liste de lecture en cours
- Nouveautés:
- Tri automatique sur la liste des résultats (désactivable)
- Tris manuels sur les listes
- Rechercher l'existence des fichiers automatiquement (désactivable)
- Recherche à la volée dans la liste de lecture
- Nouveaux menus contextuels
- Nouvel onglet d'options : comportement
- Possibilité de choisir les couleurs des pistes
- Amélioration du choix des pistes en mode aléatoire*



Détail sur le contrôle WPF:
Le contrôle WPF se compose d'une listbox qui affiche pour chaque pistes de la liste de lecture, le nom de la piste (soit l'auteur et le titre), le nombre de lecture, et la durée de la piste. La couleur de la ligne indique si le fichier est en lecture, ou s'il n'est pas accessible.

Détail sur les services WCF:
Les services WCF ne sont pas encore disponibles. Il ne seront disponibles que dans la version 3.11. Chaque service peut être protégé par un mot de passe. L'utilisateur peut choisir le port qu'il souhaite mettre en écoute. Baud Player va alors demander les droits d'administrateurs pour enregistrer le port pour que le service puisse se lancer avec les droits utilisateurs.

Détail sur le nouveau choix des pistes aléatoire:
Baud Player possède un comportement d'historique : si on clique sur "précédent", alors Baud Player va jouer la piste précédente. Quand elle sera terminée, il va relire la piste qui était à la suite. En cas de lecture aléatoire, et qu'on est pas dans l'historique, alors Baud Player va chercher, dans la liste de lecture actuelle, toutes les pistes non lues (depuis le lancement de l'application) et éliminer toutes les pistes dont il sait que le fichier n'est pas accessible, et va choisir aléatoirement une piste parmi ces dernières. S'il n'y en avait aucune, alors il va prendre une piste aléatoirement parmi toutes les pistes de la liste de lecture.


Baud Player 3.9 ainsi qu'une documentation technique et le changelog sont disponible ici : http://www.beaudier.fr/projets/Baud%20Player%203/

Voici une présentation des interfaces:

Présentation du lecteur, avec une liste de résultat de recherche à gauche, une liste de lecture à droite. Une barre d'action en haut, ainsi que le déplacement au sein de la musique ou du volume.








Voici un des nouveaux menus, qui permettent la génération rapide de liste, sans jamais modifié votre liste de lecture.

Un nouvel onglet: Service WCF (opérationnels dans la version 3.11).

L'explorateur de bibliothèque, qui permet de voir sous la forme d'un explorateur de fichier, toutes les pistes référencées.

Les propriétés d'une piste, avec l'affichage des ID3Tag, du nombre de lecture, la pochette, et un menu de navigation qui permet d'afficher les propriétés de la piste suivante ou précédente.

dimanche 17 février 2008

Sudokuuuuuuuuuu


Un de mes amis, qui aime bien codé aussi (je lui ai donné le virus) a codé un jour en mIRC un résolveur de grille de sudoku. Chapeau.

J'ai décidé de faire la même chose, en C++. Je ne suis pas un expert en sudoku, j'ai cherché les techniques de résolutions manuelles. L'ordinateur est bien plus apte a stocker des grands tableaux de quelques int. D'ailleurs la grille est résolue en quelques millisecondes, quand elle est résolue.
En utilisant quelques technique de base pour le moment (mais je n'ai plus envie de continuer), les grilles facile et moyenne sont résolues.

Echecs


Après un certain absence dans la mise à jour de ce blog, voici un nouvel article. Non je n'ai pas glandé, j'ai approfondi mes connaissances en MFC.

J'ai décidé, sur un coup de tête, de coder une petite application pour jouer aux échecs, en vérifiant les déplacements des pièces etc. Pas d'intelligence artificielle, c'est un jeu à deux joueurs. Le but était de bien gérer le concept orienté objet, à savoir le polymorphisme.
Certes le damier n'est pas colorié, mais j'ai déjà eu assez de mal à mettre des icônes sur les boutons...

samedi 29 décembre 2007

Un peu de détente...

Détente car là je n'invente rien, je ne code rien, je voulais juste vous parler. Nouveauté Dailymotion.com invente le "videowall". C'est un rectangle contenant des vidéos mignatures, que l'on peut voir facilement, switch ect. J'ai créé ce wall à partir de mes vidéos favories chez dailymotion.

Blagues ?

J'étais d'humeur aujourd'hui. J'ai développé en une après-midi un site web en PHP, MySQL, AJAX. Ce site est une copie de bashfr, mais ne se limitant pas aux seuls quotes IRC, mais prend également les blagues diverses, les proverbes et les citations célèbres. Je me suis pas appliqué sur le graphisme, comme toujours, mais la simplicité et les fonctionnalités sont au rendez-vous, tout comme la sécurité. J'ai utilisé pour la première fois captcha (très facile d'utilisation), et j'ai créé un système complet de login (login, création de compte, envoie d'e-mail, activation de compte). Les blagues envoyées peuvent être modérées avec un lien prévu, ce qui donne 4 choix à l'utilisateur : demander une suppression (insulte, diffamatoire...), proposer un reclassement (changement de catégorie), proposer une correction orthographique ou indiquer un doublon. Je déteste les doublons.
Puis dernière chose, le classement : une blague possède un classement, calculé par le nombre de vote positif et le nombre de vote total. Ceci se fait en AJAX et une même personne ne peut voter qu'une seule fois par blague.

http://www.beaudier.fr/lol

Gagner quelques minutes sur les heures que je perds



C'était le but de ce "gros" script codé en mIRC qui m'allégeait le travail de ce jeu pénible et prenant. Il avait un buffer de 2 Mo, et écoutait systématiquement le presse-papier. Dès que l'on copiait le contenu d'une page d'Ogame, le script bufférisait le contenu. Une fois que l'on a copié tout ce que l'on voulait, le script analysait le buffer ligne à ligne. C'était des rapports d'espionage. Le but était d'éliminer les rapports inutiles (la planète visée ne contient pas assez de ressources pour l'attaquer ou est trop bien gardée), et n'afficher que les rapports suceptible de m'intéresser. Une fois la liste effectuée, il me demandait pour chacun d'eux ce que je voulais envoyer (la consomation de carburant, la durée du trajet par rapport à la distance et une estimation des pertes en utilisant speedsim m'était indiquée). A la fin, j'avais ma liste des planètes a attaquer (avec la flotte que j'ai choisi d'y envoyer). Les planètes trop bien gardée était stocké pour les "EDLMer" plus tard. Celles sans défense étaient gardée pour les raider à la sonde. Ce script n'est pas illégal étant donné qu'il ne se connecte pas au serveur. Voici quelques screenshots.


Egalement, j'ai été l'une des cibles prioritaires de nos ennemis qui voulaient me missiler mes planètes. Pour anticiper leur approche dans les systèmes environnants le mien (ou le rachat de missile de joueurs neutre), j'ai réalisé un autre script, se servant toujours du presse-papier des rapports d'espionnage, pour réaliser une cartographie des missiles, silo à missile et des ennemis, neutre ou alliés. Celà m'a permis de raider les installations ennemis avant de leur permettre d'avoir assez de missiles.


J'ai également réalisé ce petit calculateur de vitesse en C++ (de la même manière que speedsim) sauf qu'il calculait également la durée planète-lune, ce que ne faisait pas speedsim.


Sous Excel (avec l'aide de mIRC) j'ai réalisé des cartographies de phalanges ennemies...



Utile dans le début, j'ai réalisé un petit script mIRC qui calculait la prodution de mes usines, et calculait a quelle heure (en incluant les changements de vitesse de production, le manque énergétique, le pourcentage de production et les arrivages de transports de ressources alliés) les ressources demandées seront disponible, et beeper le cas échéant.


mIRC (qui aspire le presse-papier, détectant le classement statistiques) génère une liste des 1500 premiers joueurs de l'univers. En se souvenant de la dernière liste, il établie alors un différentielle entre les deux listes, voyant la progression des uns et des autres. Ce script utile permet d'une pars :
- détecter ceux qui progressent vite (gros coup, HoF ?)
- détecter ceux qui progressent vite en cheatant (apport régulier de ressources)
- détecter ceux qui ont beaucoup baissé (s'est fait recyclé)
- détecter les inactifs qui ne progressent pas
Puis la page HTML ainsi générée était envoyée sur mon serveur par FTP.
J'ai par la suite réalisé un script PHP cette fois ci qui lisait le fichier "presse-papier" que mIRC envoyait par FTP. Et PHP triait dynamiquement selon un formulaire html, les informations (permettant d'avoir la différence entre 2 listes aux choix), ect..



Comme vous pouvez le constater, Ogame a été une grande source d'idée de développement :)

Move your body





Etait un petit concours organisé par l'IUT département SRC de Troyes en mars 2005. J'étais alors qu'en terminal, mais poussé par des amis, j'ai participé au concours, même si celui-ci ne correspondait pas du tout à mes connaissances et mes capacités de développement. Il nous a été demandé en 24h de dessiner un logo pour une compagnie de voyage, de réaliser une animation (flash par exemple) et un site complet. Je ne connaissais pas PHP à l'époque, très peu Flash et aucunement Photoshop. Mon équipe (composé de mon meilleur ami et ma meilleure amie qui n'étaient pas informaticien loin de là) m'on aidé comme ils ont pu... C'était plutot dans la bonne humeur, et nous sommes repartis avec tshirt, autocollant Antec, nappe IDE fluoresante et même des néon tuning USB^^. Nous sommes arrivés 7e sur 8 il est vrai; mais il faut reconnaître que se mesurer face a des SRC seconde année n'a pas été facile. Il parait même que mon site a été l'un des meilleurs !

Bêta testeur de DCX



En 2004, ClickHere, le créateur du site francophone www.scriptsdb.org, l'un des leader pour le Scripting mIRC m'avait confié la tâche de bêta-tester sa propre DLL : DCX (pour Dialog Conrtol eXtend). Cette DLL devait reprendre ce que faisait MDX à l'époque d'une manière "plus propre", d'être éventuellement open source s'il venait a abandonner le projet.
J'ai alors testé toutes les fonctionnalités, les unes sur les autres, et créé une petite boîte de dialogue de test, comme ci-contre.

Créer une banière rapidement


Ce petit programme en mIRC permet de créer très rapidement des bannières très personnalisable avec un rendu moyen (sans anti-aliasing). Tout se fait en deux étape : choix du fond (couleur unie, dégradée, image...) et choix du texte (police, taille, couleur, alignement, orientation, espacement...). J'étais jeune quand j'ai fais ceci^^ Je fouille mes antiquités voilà ce que je retrouve !

Arbre des poignées


Avant même que je ne découvre l'existance de Spy++ (peut-être même avant qu'il n'existe ?), j'ai codé en mIRC, en utilisant une DLL qui listait toutes les poignées, un visualisateur de poignées en une arboressance. Voyez plutot. Celà est utile pour retrouver l'hwnd d'un composant perdu, de Windows, que l'on aimerai déplacer (docker) ou ... cacher :P

jeudi 27 décembre 2007

Nom de code : Pythagore


Pythagore est le seul logiciel en C++ que j'ai abouti pour Ogame. Ce nom de code vient d'Asmeralde, qui était un fin calculateur pour chopper les flottes au retour. Pythagore devait permettre à l'alliance de calculer soit même l'horaire d'envoie de sa flotte pour chopper l'autre. C'est assez simple. Il suffit de regarder l'heure actuelle du serveur, de savoir combien de temps l'ennemi a mis pour faire un aller, et savoir combien de temps nous on met pour faire cet aller. La seule ruse pour contrer consisterai à ne pas envoyer la flotte à pleine vitesse, mais seulement à 90%, ce qui fausserai l'estimation de la duré de l'aller et donc l'heure de départ de notre flotte d'interception.

MSN sous Qt


Voilà mon premier client MSN en C++ qui a donné quelque chose. Certe il est inutilisable, mais il arrive tout de même à se connecter en utiliser le protocole MSNP11, a en passer le challenge. Il est prévu pour pouvoir se connecter en utilisant le protocol au choix de MSNP8 à 12. Pour le moment, comme je ne maitrise pas très bien les composants graphique Qt, j'ai juste développé les évènements sans les matérialiser. Voici ce que ça donne :

mercredi 26 décembre 2007

Ogame - Mass sonde


J'ai joué pendant 1 an et demi (donc 1 an et demi de ma vie perdu) dans ce jeu, Ogame. Je suis arrivé jusqu'a être classé 6ème de l'univers, avant de presque tout perdre par un tricheur. Après ce jour, j'ai décidé de tricher moi aussi et j'ai développé plusieurs petits programmes, la plupart en mIRC. Ceci que je vous présente est illégal, il permet d'envoyer des sondes partout (de sonder l'univers), enfin "galaxie par galaxie" seulement, en utilisant un proxy, un compte et envoyer tous les résultats sur un OGSpy. Le screen montre une version bêta :P

MSN


Je suis assez frian de MSN je l'avoue. A tel point que j'ai créé plusieurs client MSN. Deux en mIRC (le second n'a jamais été avancé), dont voici le premier ci-contre. Et deux autres en C++. Le premier sous Borland Builder avec la VCL, qui permet de créer facilement des boîte de dialogue et de faire communiquer l'ensemble (un peut comme .Net maintenant), mais ce projet n'a jamais décollé. Je l'ai recommencé sous QDevelop avec la librairie pseudo-gratuite de Qt. Cette fois j'ai légèrement avancé le développement : J'arrive a me connecter au serveur MSN correctement, et a recevoir les informations. Tout ceci en utilisant le procole MSNP11, dont je passe le challenge. Le problème a été dans un premier temps d'avoir une socket sécurisée (pour récupérer le ticket de connexion en HTTPS), ce que ne permettait pas gratuitement Qt à l'époque.

Grease Monkey


C'est un petit addon pour firefox qui permet d'injecter du code javascript dans la page courrante, et qui sera évidemment exécuté. Selon votre code, vous pouvez tout changer dans la page : récupérer les informations, les traiter et changer le rendu de la page. Je me suis servie de cet addon pour calculer des informations qui sont payante normalement, et pourtant nous avons assez d'information pour les calculer nous même ! Mon script les calculs ce qui me rend à égalité avec ceux qui paie... pour ces jeux débile :P
Dans cet exemple, le script (des scripts similaires existaient à l'époque, fait par d'autres personnes) vérifie si les ressources sont insuffisante pour lancer la construction, le cas échéant calcul dans combien de temps (donc quand...), d'après la production actuelle, les ressources seront suffisante.