Petite soeur
Anne-Kelig Gloaguen » samedi 16 janvier 2010, 18:24 - Divers
Maëleen (qui signifie "princesse" en celte) a pointé le bout de son nez le 26 décembre.
C'est une très jolie puce, très calme et déjà très éveillée.
Tout comme Ewan, en 2006, elle a droit aux honneurs de la toile !!
Mano Solo s'en est allé...
Anne-Kelig Gloaguen » dimanche 10 janvier 2010, 19:16 - Divers
...
Extensions ExtJs : les incontournables
Yannick Torrès » lundi 5 mai 2008, 23:17 - ExtJs
Vous pouvez toutes les retrouver en fouillant dans le forum suivant :
http://extjs.com/forum/forumdisplay.php?f=21
C'est un repère à codeurs fous talentueux !
NB : Je ne ferais pas mention de toutes les extensions réalisées par Jozef Sakalos (aka Saki), il le fait déjà très bien sur son site dédié à ses activités ExtJs.
Ext.ux.ToastWindow par efattal
Permet de faire surgir un popup afin d'y placer un message quelconque et de le faire disparaître automatiquement.
Ressemble à la fenêtre de notification de Thunderbird lorsqu'un nouveau mail arrive
* Sur le forum : ici
* Démo : ici
Ext.ux.BoxSelect par Tintin
Permet d'afficher une liste dont on peut effacer les éléments un à un, à la façon de FaceBook.
* Sur le forum : ici
* Démo : Aucune
Ext.ux.form.Spinner par K0bo
Permet de choisir une valeur, pas par pas.
* Sur le forum : ici
* Démo : ici
Ext.ux.DockPanel par monsterjoe
Permet de détacher un onglet en une fenêtre, et de mettre une fenêtre en onglet.
* Sur le forum : ici
* Démo : ici
Ext.ux.UploadDialog par MaximGB
Permet de gérer les téléchargements, les placer en file d'attente, de les annuler. Le tout, dans un popup ExtJs.
* Sur le forum : ici
* Démo : ici
Ext.ux.YoutubePlayer par MindPatterns
* Sur le forum : ici
* Démo : ici
Ext.ux.form.BrowseButton par loeppky
Permet de remplacer le fameux bouton "Parcourir" lorsque l'on veut sélectionner un fichier sur le disque local, par un bouton ExtJs bien plus stylé.
* Sur le forum : ici
* Démo : Aucune
Ext.ux.IconMenu par jsakalos
Permet d'afficher un menu sur l'icone d'un popup.
* Sur le forum : ici
* Démo : ici
Ext.ux.grid.DragSelector par Foggy
Permet de sélectionner à la souris plusieurs lignes d'une grille, un peu comme on peut sélectionner plusieurs icones sur un bureau. Un rectangle est dessiné afin de visualiser la zone sélectionnée.
* Sur le forum : ici
* Démo : ici
Ext.ux.WindowBlind par sean
Permet de masquer un popup, sur un click, avec divers effets d'affichage.
* Sur le forum : ici
* Démo : ici
Saper : Déminer votre webDesktop !
Yannick Torrès » samedi 9 février 2008, 18:05 - ExtJs
Andriy a participé activement à la résolution de bogue pour Desk-Kregator. Il figure d'ailleurs dans les remerciements de l'application
Andriy a publié sa réalisation sous la même lisence que les miennes et qu'ExtsJs, d'ailleurs : LGPL !
Les liens :
* Discussion (et téléchargement) sur le forum d'ExtJs
* Serveur de démo
Desk-Weather : une applet météo sur votre webDesktop !
Yannick Torrès » samedi 9 février 2008, 17:53 - ExtJs

Des idées d'amélioration ? n'hésitez pas à laisser un commentaire.
Lisence : LGPL
Plus de screens :




Les liens :
* Discussion (et téléchargement) sur le forum d'ExtJs
* Serveur de démo
Desk-Kregator : un lecteur RSS/Atom/PodCast pour Desktop 2.0
Yannick Torrès » mercredi 12 décembre 2007, 20:45 - ExtJs
Desk-Kregator est une application qui se veut être un clone parfait d'akregator, une application pour KDE.
Et hop, quelques screens :
Les liens :
* Discussion (et téléchargement) sur le forum d'ExtJs
* Serveur de démo (voir aussi, DisplayConfig)
DisplayConfig : Configurer votre webDesktop !
Yannick Torrès » mercredi 12 décembre 2007, 20:33 - ExtJs
A peine quelques minutes après mon précédent billet que je tiens déjà mes promesses
DisplayConfig, ca vous parle ? non ? suivez le guide
StartMenu est une application ExtJs permettant de reproduire le bureau d'un OS classique (barre des taches, menu Démarrer, etc...) bref, pleins de bonnes choses !

Dès la découverte de cette application, je me suis lancé dans le développement d'un plugin, permettant de modifier et sauvegarder les paramètres d'affichage de ce webDesktop.
Et voila d'où est né DisplayConfig, ma première application pour ce webDesktop (et pas la dernière ;))



Voici les liens utiles :
* Discussion (et téléchargement) autour de DisplayConfig sur le forum d'ExtJs
* Serveur de démo, où vous pourrez tester DisplayConfig, entre autres.
Comme toutes les applications que je développe, DisplayConfig est sous licence LGPL.
Et pendant ce temps...
Yannick Torrès » mercredi 12 décembre 2007, 20:19 - Divers
Durant cette année, je me suis peu écarté de Php, de Pear... pour pleins de raisons qui n'intéressent personne !
Mais alors ? que faisais-je ?
J'ai découvert un framework Javascript à la mode web 2.0, nommé ExtJs.
Ce framework est, selon moi, le meilleur jamais développé et je m'étonne chaque jour que l'on en entende pas plus parler.
J'ai donc développé quelques applications autour de ce framework et je vais vous les faire partager, promis, juré ! ce seront mes prochains billets.
A très très bientôt

ElRoubio, encore lui !
Yannick Torrès » mardi 26 décembre 2006, 22:24 - Php
[image]id_24_elephpant-tux-tux-elephpant.jpg[/image]
Saurez-vous retrouver l'éléPHPant et Tux dans ce dessin ? hu ?
Je vous invite à parcourir le sujet d'un forum qui a permis la réalisation de ce chef-d'oeuvre.
Traduit pour vous : Extension SAM
Yannick Torrès » mardi 26 décembre 2006, 22:10 - Php
L'interface a été conçue pour rendre simple les tâches les plus communes comme délivrer des messages simples à la file d'attente, mais permet aussi aux utilisateurs plus expérimentés d'effectuer des opérations plus complexes.
Goodies Php
Yannick Torrès » vendredi 15 décembre 2006, 10:31 - Php
De face :
[image]id_21_14-12-06-000004.jpg[/image]
Et de dos, pour les malvoyants :
[image]id_22_14-12-06-000005.jpg[/image]
Refus des gros billets par les commerçants
Yannick Torrès » mardi 12 septembre 2006, 23:51 - Divers
Si un commerçant vous refuse un paiement au moyen d'un gros billet (50, 100, 500 euros ), et ce, même si un panneau dans l'enceinte du magasin l'annonce, voici l'article du code pénal qui le réprime :
Art. R642-3 du Code Pénal : amende de 2ème classe d'un montant de 150 euros.
Je suis Papa !
Yannick Torrès » vendredi 7 juillet 2006, 10:50 - Divers
Ewan est né ce matin à 00h57 et il pèse 3kg !
La môman et le p'tit vont bien, maintenant, ils se reposent un peu
Et comme on pouvait s'y attendre, c'est le plus beau des bébés
EDIT : il mesure 50,5 cm
Génération d'un certificat SSL autosigné sous Debian
Yannick Torrès » vendredi 30 juin 2006, 18:35 - Divers
J'ai cherché un peu sur le net et j'ai trouvé une page l'expliquant parfaitement ici.
Ce sera donc un billet en guise de bloc note aujourd'hui, question d'éviter de perdre l'information.
Le tutorial explique la génération et l'installation du certificat pour le serveur web apache-SSL.
Nous commençons par générer la bi-clé RSA, qui peut être protégée par une passphrase. Pour se faciliter la vie, on peut ne rien mettre pour la phrase de passe. Ceci nous évite de devoir la retaper à chaque redémarrage du serveur.
openssl genrsa -out server.key 1024
Nous générons ensuite le certificat autosigné
openssl req -new -x509 -days 365 -key server.key -out server.crt
Dans les questions posées, il faut faire attention au champ Common Name (eg, YOUR name) :. Il faut mettre le même nom que le serveur, pour mon cas nemako.ath.cx. Sinon, nous aurons un message comme quoi le nom du propriétaire du certificat et du site ne correspond pas.
* -x509 : génération d'un certificat autosigné, et non d'une simple requête
* -days 365 : le certificat est valable 365 jours
* -key server.key : la clé publique est extraite de la bi-clé précédente
* -out server.crt : le certificat est copié
Le certificat n'est pas signé par une autorité de certification (type verisign). Ainsi, lors de son utilisation, le browser affichera une anomalie. Pour information, sur verisign.fr, un certificat 40 bits coûte 450€ par an et un certificat pro de 128 bits coûte 1150€ par an.
Pour vérifier le bon usage du certificat :
openssl x509 -in server.crt -text -noout
Nous devons maintenant remplacer l'ancien certificat d'apache-ssl (apache.pem)
cat server.key > apache.pem
cat server.crt >> apache.pem
Il faut maintenant redémarrer le serveur apache et vérifier le bon fonctionnement.
La totale !
Yannick Torrès » lundi 15 mai 2006, 19:23 - Keliglia
Cette fois-ci, ce n'est pas seulement l'alimentation qui a claqué...
Voici le bilan après un arrêt surprenant :
* alimentation cramée
* disque dur mourant
* lecteur CD HS
Pour le lecteur CD, c'est "normal", il avait fait son temps.
Pour l'alimentation, bah...cette fois-ci, j'ai pris une garantie 3 ans, juste au cas où...
Et pour le disque dur... je pensais qu'un Maxtor, c'était solide mais bon
Bilan :
Pas mal de fichiers, par-ci, par-là, sont corrompus, impossible de les récupérer. Par chance, la majeure partie des données sont saines et sauves !
On a donc du remettre un Keliglia en place, une fois le matériel livré (et surtout, acheté...) ce qui me permet donc de faire un peu le ménage.
J'invite tous ceux et celles qui avaient un email, un site, un domaine complet sur Keliglia à reprendre contact par email avec moi afin de retrouver leur service. Je ne remetterai en place leurs services qu'après cela. Il ne faut pas prendre cette démarche dans le mauvais sens.... je veux juste être sûr que l'espace que nous fournissons cordialement est toujours viable et ce, afin d'éviter que des emails ne soient jamais relevés, des sites laissés à l'abandon sans même que je recoive un email pour me prévenir...
Bref
A bientôt par email pour les concernés ! (webmaster@keliglia.com)
Générer un fichier Excel avec PEAR
Yannick Torrès » mercredi 22 mars 2006, 21:32 - Pear
Lors de diverses évolutions du logiciel utilisé au boulot, j'ai du générer un fichier "Excel" en Php.
Jusqu'à présent, lorsque ce genre de besoin se présentait, la seule et unique solution que je m'autorisais, c'était un fichier csv, formaté de telle sorte qu'Excel n'y voyait "presque" que du feu...
Et là, un de mes collègues de travail me dit simplement ceci :
"C'est génial l'export Excel !! Reste à ce que le titre soit centré, en bleu et en gras et ce sera parfait... au boulot !"
Gniiiiiiiiiii. Inutile de dire qu'il ne savait pas ce qu'était un fichier csv...
Bref, je me lance à la recherche d'une belle classe qui génère un vrai fichier Excel et je tombe, évidemment, sur une classe PEAR, j'ai nommé : Spreadsheet_Excel_Writer
Je parcours rapidement la documentation et me lance directement dans la réalisation de mon export Excel. J'ai vraiment été épaté par la simplicité de mise en place et la qualité du résultat. D'ailleurs, malgré le nom de la classe, le fichier produit s'ouvre sans problème avec OpenOffice.
J'ai donc décidé de traduire en priorité la documentation de cette classe en français, ce qui est chose faite ! (D'ailleurs, si malgré mon bon françois et mon talent inné pour l'orthographe, vous repérez ce qui ne peut être qu'une faute de frappe (!), n'hésitez pas à me la faire remarquer par email ou via un rapport de bogue).
Voici un exemple que vous retrouverez dans la documentation sur le site de PEAR :
require_once 'Spreadsheet/Excel/Writer.php';
$workbook = new Spreadsheet_Excel_Writer();
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_title =& $workbook->addFormat();
$format_title->setBold();
$format_title->setColor('yellow');
$format_title->setPattern(1);
$format_title->setFgColor('blue');
// Fusion
$format_title->setAlign('merge');
$worksheet =& $workbook->addWorksheet();
$worksheet->write(0, 0, "Bénéfices trimestriels de Dotcom.Com", $format_title);
// Plusieurs cellules vides pour rendre le tout plus jolie
$worksheet->write(0, 1, "", $format_title);
$worksheet->write(0, 2, "", $format_title);
$worksheet->write(1, 0, "Trimestres", $format_bold);
$worksheet->write(1, 1, "Bénéfices", $format_bold);
$worksheet->write(2, 0, "Q1");
$worksheet->write(2, 1, 0);
$worksheet->write(3, 0, "Q2");
$worksheet->write(3, 1, 0);
$workbook->send('test.xls');
$workbook->close();
?>
Cet exemple montre tout ce dont on a besoin lors de la création d'un document avec un minimum de formatage : mise en gras, changement de la couleur du texte, fusion de cellule, etc. (manque la modification de la taille des caractères qui est tout aussi simple à implémenter).
Bref, cette classe manque à être plus connue (à moins que je ne sois le seul à être passé à côté).
Mes expressions rationnelles
Yannick Torrès » mardi 14 février 2006, 19:19 - Php
Le problème, c'est que 6 mois plus tard, on se retrouve à rechercher dans son ancien code une expression que l'on a déjà écrite.
Voici donc un billet, en forme de bloc-note, pour les retrouver rapidement.
Panoplie pour le BBCode :
<?php
// $texte est le texte à traiter
// On cherche les
$texte = preg_replace("|[b](.*?)[/b]|is", "<strong>$1</strong>", $texte);
// On cherche les
$texte = preg_replace("|[u](.*?)[/u]|is", "<ins>$1</ins>", $texte);
// On cherche les
$texte = preg_replace("|[i](.*?)[/i]|is", "<em>$1</em>", $texte);
// On cherche les
$texte = preg_replace("|[s](.*?)[/s]|is", "<del>$1</del>", $texte);
// On cherche les urls complexes ( [url=http://keliglia.com]Aller sur Keliglia.com[/url] )
$texte = preg_replace("|\[url=(.[^]]*?)\](.*?)\[/url\]|is", "<a href=\"$1\" title=\"$1\">$2</a>", $texte);
// On cherche les urls simples
$texte = preg_replace("|[url](.*?)[/url]|is", "$1", $texte);
// On cherche les blockquote
$texte = preg_replace("|[quote](.*?)[/quote]|is", "<blockquote>$1</blockquote>", $texte);
// On cherche les mails
$texte = preg_replace("|[email](.*?)[/email]|is", "<a=\"mailto:$1\">$1</a>, $texte);
?>
Soulignement et mise en gras rapide :
<?php
// On remplace les mots *comme* ça en gras
$texte = preg_replace("| *(.w*)* |is", " $1 ", $texte);
// On remplace les mots _comme_ ça en souligné
$texte = preg_replace("| _(.w*)_ |is", " $1 ", $texte);
?>Placement automatique d'acronymes :
<?php
$acronym = Array(
'php' => 'PHP : Hypertext Preprocessor',
'html' => 'HyperText Markup Language',
'css' => 'Cascading Style Sheets',
'xml' => 'EXtensible Markup Language',
'debian' => 'Debian : http://debian.org'
);
while( list($key, $val) = each( $acronym ) ) {
$texte = preg_replace("/(^|,|:|s|>)($key)(.|$|,|:|s|<|d)/is", "$1$2$3", $texte);
}
?>Recherche de liens (http, https, ftp ou mailto) :
<?php
$texte = preg_replace("/(http|https|ftp|mailto)(:)(//){0,}(S*)/i",
"$1$2$3$4", $texte);
?>
Cette liste n'est évidemment pas exhaustive tellement les expressions rationnelles sont puissantes.
Toutes les expressions précédentes sont des [url=http://fr.php.net/manual/fr/ref.pcre.php]expressions rationnelles compatibles Perl.
Liens utiles :
- La documentation en français sur le site de Php
- Un site consacré au Regexp
le Mafé Boeuf
Yannick Torrès » dimanche 22 janvier 2006, 10:52 - Cuisine
750 gr de paleron ou de gîte de boeuf
125 gr de pâte d'arachide
2 oignons moyens
3 tomates fraîches
60 gr de concentré de tomate
300 gr de carottes
200 gr de choux
1 gousse d'ail
1 bouquet garni
1 piment antillais
8 cl d'huile d'arachide ou de tournesol
1 bouillon cube épices/oignons
Sel
Poivre
Préparation :
Couper la viande en morceaux. La faire bouillir dans 1,5L d'eau pendant 20 minutes après ébullition. Saler, poivrer et ajouter le bouquet garni.
Réserver la viande et le bouillon
Délayer la pâte d'arachide dans ¼ de litre d'eau tiède. Réserver.
Blanchir le chou coupé grossièrement, le réserver.
Faire chauffer l'huile dans une cocotte à fonds épais, ajouter les oignons finement hachés à peine chaude et les faire revenir jusqu'à ce qu'ils deviennent translucides.
Ajouter les tomates pelées, le concentré de tomate et la gousse d'ail broyée. Bien mélanger régulièrement avec une spatule pour que la préparation n'attache pas.
Ajouter la viande de bœuf à la préparation, mélanger tout. Introduire ½ litre de bouillon de viande. Porter à ébullition pendant 10 minutes.
Verser la pâte d'arachide et mélanger doucement l'ensemble.
Ajouter ½ litre de bouillon de viande, le chou, les carottes découpées en rondelles d'un centimètre environ. Saler et poivrer. Porter à ébullition.
Ajouter le piment sans le couper, il flottera sur la sauce.
Laisser l'ensemble mijoter à feu doux durant 50 minutes en mélangeant régulièrement.
Goûter et ajouter, si besoin, un peu de sel.
Vous pouvez accompagné ce plat de riz, de bananes plantains ou d'ignames.
Récupération de la liste des codes postaux français
Yannick Torrès » mercredi 18 janvier 2006, 19:45 - Php
Mise à jour du script afin de supprimer les caractères aléatoires injectés dans le source des pages de la Poste.
Maintenant, il est composé de 36909 entrées.
Merci à Thierry pour son commentaire instructif
21/01/10 à 23:36
Mise à jour du script suite aux modifications de la page de la Poste.
Avant cette modification, le fichier résultat était composé de 36 633 entrées.
Maintenant, il est composé de 36 804 entrées.
Merci à Laurent de m'avoir prévenu par email de ces changements.
23/01/09 à 18:54
Mise à jour du script suite aux modifications de la page de la Poste. Merci à Jean-Christophe de m'avoir prévenu par email de ces changements.
28/06/08 à 20:30
Quelques modifications du script et mise à jour de la liste des codes issus du script.
18/01/06 à 19:45
Voilà longtemps que je voulais vous faire partager ce petit script mais par manque de temps, il n'arrive que maintenant.
La problèmatique est simple :
Lorsque l'on développe certaines applications en interne pour le boulot, il arrive un moment (ou pas) où l'on a besoin de la liste des codes postaux français.
Et là, on cherche, on cherche encore et... on ne trouve pas ! (peut-être n'a t-on pas cherché au bon endroit d'ailleurs...)
La solution :
Écrire un script qui va chercher les codes postaux pour nous.
La source ? La Poste bien thûr !
Il suffit donc d'aller sur cette page et de récupérer un à un les codes postaux, par copier / coller....
ou alors, faire un script qui le fait pour nous
Le principe est simple : on ouvre un socket sur la page, on parse le résultat et on passe à une valeur suivante.
Je vous fournis donc le script Php qui m'a permis d'arriver à mes fins et, le fichier résultat (voir en annexe à ce billet).
Je ne sais pas si j'ai légalement le droit d'avoir fait cela, je ne sais pas si j'ai le droit de diffuser la solution pour le refaire.
Mais si ca peut servir à d'autres personnes, ce sera déjà bien
PS : Le fichier résultant contient plusieurs entrées ayant un code postal et une commune identique et c'est normal. Personnellement, j'ai exploité ce fichier via une base MySQL, ce qui permet d'éliminer les doublons d'une manière simple et rapide.
Debian, Php et LE Gui !
Yannick Torrès » dimanche 23 octobre 2005, 21:20 - Php
Problème :
Utilisation d'un système comme Debian/Sid ou Ubuntu/Breezy où les paquets Php ont une facheuse tendance à vouloir enlever les paquets de Gui pour les leurs.
Solution :
Éditez le fichier preference d'apt :
vi /etc/apt/preferences
Et placez-y ce contenu :
Package: *
Pin: origin packages.dotdeb.org
Pin-Priority: 990
Et voilà... les paquets du Gui seront toujours prioritaires 
« billets précédents - page 1 de 58






