Ames Troubles

Aller au contenu | Aller au menu | Aller à la recherche

mercredi, mars 11 2009

Amis à sens unique

Qu’est-ce que c’est qu’un ami pour vous ? C’est une question qu’on retrouve souvent. On peut même parfois la poser lorsqu’on discute avec quelqu’un sur un chat - ça vous est jamais arrivé ? Une petite question, qui semble simple, et qui pourtant est pleine de sens cachés.

Wikipedia nous fournit, pour le mot Amitié, une définition assez vaste : “L’amitié est une inclination réciproque entre deux personnes (ou plus) n’appartenant pas à la même famille.” C’est vrai que les relations au sein d’une même famille, même très bonnes, ne sont pas les mêmes que l’amitié.

Parfois, et même souvent, je me demande ce que c’est pour moi qu’un ami. Je suis souvent l’ami intime, pour reprendre le titre d’une chanson de grégoire. Donc je suis la personne qui est là quand ça ne va pas, quand rien ne va plus et qu’on fond en larmes, et qui est prêt à passer la nuit à écouter même quand il bosse le lendemain, qui sera toujours prêt à faire un cadeau, un geste pour aider l’autre.

Mais souvent, je me demande pourquoi ce n’est pas dans les deux sens… Les moments où moi je suis mal, pourquoi ne puis-je pas parler et demander un peu d’attention, un peu d’écoute de mes amis ? Pourquoi toujours dans ces moments-là faut-il passer aux dernières histoires de leurs mecs, à ce qu’elles ont vu, à leurs animaux de compagnie… Bref, à tout sauf à moi ?

Je n’ai jamais attendu quoi que ce soit en retour de ce que je fais. Je ne compte pas le temps que je passe à écouter en me disant “après elle m’en devra tant”. Mais pourquoi est-ce que ce temps doit être absolument à 0 ? Peut-être simplement parce que je suis celui vers qui elles se tournent quand elles ne vont pas bien, et que quand ça va bien, elle s’en vont vers d’autres amis plus joyeux, qui ne sont pas là pour les consoler lorsque leur amour du jour s’est fait la malle…

Alors, que dire, ou que faire ? Cesser d’écouter et les laisser tomber malgrès leur mal-être ? Bien sûr que non… Parce que ce sont des personnes que l’on estime, que l’on voudrait heureuses, et qui ne cherchent pas à nous ignorer ainsi, mais le font naturellement. Parce que nous avons l’habitude, cette habitude de prendre sur nous et de ne plus rien attendre, et de s’effacer face aux autres…

Y a-t-il vraiment une solution ? Nous ne pouvons pas nous changer. Nous ne pouvons pas les changer. Peut-être d’ailleurs avons-nous nous aussi des amis à sens uniques, des gens que nous ne souhaitons voir et à qui nous ne souhaitons parler que quand ça va mal, qui savent nous remonter le moral, puis que nous ignorons… Je ne crois pas. Je ne me souviens pas de gens qui me remonte le moral, ou qui sache m’écouter… Parfois quelques temps, une semaine ou deux, mais c’est rare, si rare… Et trop vite leur tendance naturelle reprends le dessus.

Vous qui me lirez, regardez autour de vous. Repensez à vos amis. Recherchez ceux que vous trouvez déprimants, tristes, ennuyeux… Quand allez-vous les voir ? Pourquoi ? Peut-être sont-ils ennuyeux uniquement parce que vous ne les recherches que lorsque vous vous ennuyez…

dimanche, février 1 2009

Une nouvelle aube

Des couloirs déserts où résonnent tes pas
Comme des échos anciens de ce qui fut ma joie
Un souvenir ancien, un fantôme de toi
Qui peu à peu s’éteint, mais ne disparait pas

Mais j’entrevois l’espoir qu’un jour se lève sur moi
Une vision du soleil où tu ne serais pas
Comme si mon coeur trouvait une belle fontaine
Et qu’il puisait dans son eau pour laver ma peine

Et peu à peu j’emplis le vide qui est en moi
Des sentiments nouveaux pour une autre que toi
Que ta route sois belle, toi qui es loin déjà
Vers un doux renouveau la mienne guide mes pas

vendredi, janvier 30 2009

Mon coeur pleure pour Toi

Dans un souffle infini, mon cœur expire sa peine
La douleur que me cause le moindre de mes pas
Une émotion poignante, une douleur soudaine
Une souffrance qui m’enlace et qui guide mon bras

J’ai vu briller la nuit milles étoiles obscures
Leur clarté scintillait dans le froid de l’air pur
Mais leur dire mes secrets en un triste murmure
N’a pas su de mon âme apaiser la blessure

Comme on croit voir la mer derrière chaque virage
C’est toi que j’entrevois dans mes sombres mirages
Tout me parle de toi dans ces ruelles où j’erre
Mais je marche sans toi, qui est mon seul repère

Retrouverais-je un jour une raison d’espérer
Un motif pour sourire, une voie pour t’oublier ?
Qui saura de mon cœur retrouver le chemin
Avant qu’il ne m’amène à une triste fin ?

jeudi, janvier 29 2009

Rêves brisés

Revenant en un songe d’un rêve bienheureux
J’ai vu mourir d’un coup les rires et les jeux
Comme si loin de moi s’en allait la lumière
Comme si je manquais d’eau au fond du désert

La procession sans fin des joies suivies de pleurs
Espoirs sans cesse déçus, ne laissant que la peur
D’être seul à jamais ; comme un rêve de bonheur
Qu’on oublie le matin, au premières lueurs

Ô clartés diffuses qui tombent du ciel de nuit
Entendez de mes larmes l’inaudible bruit
Leur carillon se mèle à ceux qu’ont célébrés
Mes frères et mes pairs futurs et passés

jeudi, janvier 22 2009

Centrer un élément dont on ne connait pas la taille

Bonjour les gens !

J'ai été confronté aujourd'hui au boulot à un petit problème : J'avais un tableau (qui affichait effectivement un tableau de données, pas pour mettre en forme mon design !) qui pouvait contenir un nombre variable de colonnes. Du fait de la variabilité du nombre et du contenu de ces colonnes, je ne pouvais pas utiliser les astuces classiques pour centrer l'élément, puisque je ne connaissais pas sa largeur.

Donc j'ai utilisé un petit script en javascript tout simple. Je suis passé par des marges négatives (les marges automatiques n'étant pas recalculées autrement), et j'ai utilisé javascript pour recalculer mes marges en fonction de la taille réelle de l'élément :

<script type="text/javascript">
var largeur = $('grilleProgramme').clientWidth;

var marge = Math.floor(((largeur - 899) / 2) * -1);

$('grilleProgramme').style.marginLeft = marge + 'px';
</script>

Pour rappel, j'utilise prototype, donc $() corresponds à document.getElementByID(). Le 899 dans le script corresponds à la taille du conteneur de ma table. Le but est donc de récupérer la taille de la table "grilleProgramme", de lui enlever la taille qui est de toutes façons dans le design de base, et de diviser par deux ce qu'il reste. Et enfin, de décaler du nombre obtenu, vers la gauche.

Voila voila :)

mardi, décembre 9 2008

Bon ou mauvais ? Ou simplement seul...

Encore une fois, la traduction du texte précédent, que vous trouverez ici

Lire la suite...

lundi, décembre 8 2008

Good or bad ? Or alone...

Un autre texte en anglais, datant d’octobre, à propos d’une agression dont j’ai été témon / victime à ce moment-là.

Lire la suite...

Une nuit dans Toulouse

Traduction du billet “A night in Toulouse”, ici en version originale.

Lire la suite...

A night in Toulouse

Un texte datant de cet été, posté à l’origine en anglais. Je l’ai copié-collé de mon message d’origine, je le traduirait ensuite.

Lire la suite...

vendredi, novembre 14 2008

Structure de la table utilisateurs

Encore un billet très court pour indiquer la structure par défaut de la table utilisateurs. Cette structure permet un login de 30 caractères maximum, un mot de passe en md5, les trois niveaux de permission pris en charge de manière native par le framework et la gestion des langues.

  1. CREATE TABLE `utilisateurs` (
  2. `id` INT NOT NULL AUTO_INCREMENT ,
  3. `login` VARCHAR( 30 ) NOT NULL ,
  4. `pwd` VARCHAR( 32 ) NOT NULL ,
  5. `rang` ENUM( '0', '1', '2' ) NOT NULL ,
  6. `langue` VARCHAR( 5 ) NOT NULL ,
  7. PRIMARY KEY ( `id` )
  8. ) ENGINE = InnoDB

URL Rewriting simple

Un billet rapide pour indiquer une méthode d’URL rewriting très simple et qui fonctionne parfaitement avec le framework. L’idée générale de l’Url Rewriting est, je le rappelle, de transformer les liens (affreux) de la forme __index.php?module=monModule&action=monAction en jolis liens tout faciles à retenir.

En l’occurrence, voici les remplacements effectués par cette url rewriting :

http://www.exemple.org/index.php?module=monModule&action=monAction est accessible par http://www.exemple.org/monModule-monAction.html
http://www.exemple.org/ajax.php?module=monModule&action=monAction est accessible par http://www.exemple.org/ajax-monModule-monAction.html

Bien sûr, cela implique de ne jamais faire de module nommé ajax. Sinon, vous pouvez aussi remplacer le nom dans l’URL Rewriting…

De plus, cette forme permet aussi de gérer les mots sucessifs. Par exemple :
http://www.exemple.org/index.php?module=monModule&action=monAction est accessible par http://www.exemple.org/monModule-mon-Action.html

En revanche, vous noterez qu’on ne peut pas utiliser ce principe de mots successifs pour le nom du module.

Voici le code à mettre dans votre fichier .htaccess :

RewriteEngine On
RewriteRule ajax-([a-zA-Z0-9]+)-([a-zA-Z0-9\-]+).html ajax.php?module=$1&action=$2 [L,QSA]
RewriteRule ([a-zA-Z0-9]+)-([a-zA-Z0-9\-]+).html index.php?module=$1&action=$2 [L,QSA]

mercredi, novembre 12 2008

Mise à jour en version 0.3

Aujourd’hui est sortie la version 0.3 du framework. Comme d’habitude, le téléchargement se fait sur ce billet.

Au programme de la mise à jour

Modification des classes de gestion de langue et de configuration Ces deux classes ne suppriment plus le fichier .php lorsqu’elles génèrent une configuration, ceci afin de permettre une maintenant plus simple du framework.

Modifications du module de formulaire De (très) nombreuses modification ont été apportées au module de formulaire. Bien sûr, la rétro-compatibilité reste présente, tous les formulaires créés pour les versions précédentes restent utilisables. De nouvelles possibilité dans la configuration des formulaires sont apparues, plusieurs bugs ont été réglés. Plus d’informations lorsque la documentation sur les formulaires sera disponible ^^”

Ajout d’une gestion du javascript Le framework intègre maintenant par défaut prototype et scriptaculous. De plus, un nouveau fichier, ajax.php, vient prendre sa place dans le framework : il permet d’appeller une action sans intégrer le début et la fin du module par défaut.

Ajout d’une interface simplifiant le changement de langue Il est maintenant possible de changer temporairement la langue utilisée par l’utilisateur en passant tout simplement sur la page d’index le paramètre lang suivi du nom (en majuscule) de la langue : index.php?module=defautIndex&action=index&lang=FR

Définition de constantes Les modules et actions sont désormais accessibles via les constantes du même nom.

Et bien sûr, beaucoup d’autres changements, et correction de bugs.

La gestion des langues

Je vais revenir un peu sur le système de gestion des langues du framework. Cette gestion se fait par la classe langue, qui est implémentée dans chaque module par le constructeur.

Lire la suite...

mardi, novembre 11 2008

Installer le framework et créer son premier site

Voici la marche à suivre pour créer un premier module, très simple, pour le framework, et ainsi créer un premier site multi-langues en seulement quelques minutes !

Lire la suite...

Description du framework

Que vous souhaitiez utiliser le Framework, simplement voir comment il marche ou tout autre chose, voici votre article !

Le principe du framework est simple : l’utilisateur doit avoir à coder le moins de choses redondantes possibles, tout en ayant une maitrise la plus grande possible sur le résultat. Le but est donc d’automatiser un maximum d’actions tout en laissant une liberté aussi grande que possible au programmeur.

De base, il gère la configuration des différents modules, les formulaires, la connexion à une base de données MySQL, les langues, un système de templates simple et rapide et une architecture permettant d’assembler tout cela le plus rapidement possible. D’autres modules sont en cours d’écriture, suite à des suggestions, particulièrement un module de gestion du cache et un autre pour gérer les dates.

Le framework s’articule autour de différents modules, selon une idée reprise du principe MVC : chaque module est une classe contenant plusieurs fonctions (les actions), et qui appelle un template précis (la vue) pour définir la façon dont elle sera affichée.

Une fois le contenu de l’archive décompressé, le framework est prêt à l’emploi. Il ne reste alors plus qu’à créer les différentes classes et leurs actions pour commencer à l’utiliser !

Mon propre framework

L’idée de créer un framework est partagée par pas mal de gens, pour des raisons diverses et variées. Il se trouve qu’elle m’est venue aussi, et que j’ai, du coup, décidé de la mettre en oeuvre. Voila pourquoi je me suis amusé à créer mon propre framework.

La discussion ayant amené à cela et un début de documentation (en attendant que je complète ce blog) est disponible ici.

Le framework est actuellement en version 0.3. Pour le télécharger, ça se passe ici :

Version la plus récente du Framework

Toutes les versions :

Version 0.3 (Version actuelle) Version 0.2

page 2 de 2 -