FMCorz.info
Le blog d'un geek qui n'en est pas un !

Gourmandise

"La gourmandise est un désir d'aliments jugés particulièrement agréables, que certains moralistes et certaines doctrines religieuses peuvent considérer comme un défaut ou une faute."

Dixit Wikipedia

Fil des billets

samedi, août 27 2011

Condition dynamique sur un modèle associé

Lors d'une association telle que hasMany, il est parfois souhaitable de placer des conditions de recherche sur les données associées. Ceci n'est pas faisable directement.

Prenons par exemple un modèle Post ayant beaucoup de Commentaires. Nous souhaitons récupérer tous les Posts où Fred a posté un commentaire.

Avec le snippet suivant, nous allons utiliser un faux champ 'auteur_commentaire' dans nos conditions et dynamiquement faire le travail pour ne retourner que les résultats souhaités.

function beforeFind($query) {

	$auteur_commentaire = false;
	if (isset($query['conditions']['auteur_commentaire'])) {
		$supplier = $query['conditions']['auteur_commentaire'];
		unset($query['conditions']['auteur_commentaire']);
	} elseif (isset($query['conditions'][$this->alias . '.auteur_commentaire'])) {
		$supplier = $query['conditions'][$this->alias . '.auteur_commentaire'];
		unset($query['conditions'][$this->alias . '.auteur_commentaire']);
	}
	if ($auteur_commentaire) {
		$postIds = $this->Commentaire->find('list', array('conditions' => array('Commentaire.auteur' => $auteur_commentaire), 'fields' => array('id', 'post_id')));
		$query['conditions'][$this->alias . '.id'] = $postIds;
	}
	
	return $query;
}

Concrètement nous analysons si la condition auteur_commentaire existe. Si oui, récupérons tous les IDs de posts associés à cet auteur dans la table des commentaires. Ensuite nous rajoutons à notre recherche initiale la condition stipulant les IDs possibles pour les Post. Ceci fait en toute transparence dans votre modèle.

Attention toutefois qu'en terme de performance cela peut devenir une grosse requête lorsqu'il y a plusieurs dizaines de milliers de post associés.

vendredi, août 19 2011

Gestion des permissions Acl dans CakePHP 2.0

Mettre en place la gestion des Acl est déjà bien complexe, y gérer les permissions aussi. C'est pourquoi j'ai développé un plugin pour CakePHP 2.0 qui vous facilitera la tâche.

N'hésitez pas à me donner vos commentaires, remarques ou bugs découverts.

Les sources et instructions se trouvent sur le dépôt Github suivant :

Download ACL Manager pour CakePHP 2.0

mardi, août 10 2010

On sait qu'on est geek quand...

C'est là qu'on voit qu'on est geek.

Conversation de nerd

dimanche, juillet 18 2010

Le baraki à la mer

La mer, bel endroit paisible où il fait bon se reposer. C'est aussi l'endroit stratégique pour observer un spécimen belge. Le baraki. Cette espèce s'est éparpillée en Belgique, et même si certains points de regroupement sont évidents il est recommandé de suivre leurs migrations pour les observer.

Pendant les périodes où les enfants et l'homme sont en congés, la femme ne travaillant pas, et où le soleil se montre, les familles de barakis émigrent à la côte belge. J'ai eu l'occasion d'observer un groupe de près dans un transport en commun.

Le baraki se doit toujours d'être accompagné d'une myriade de mioches. Leadés par les enfants turbulents, reconnaissables aux traces de "choco" présentent sur leurs joues, les parents suivent avec les enfants en bas-âge.

J'aperçois la mère. Descriptible comme un assemblement difforme de masse graisseuse dont on distingue un visage surplombé de quelques cheveux... visage qui laissera apparaitre une délicate moustache et quelques poils habituellement répartis à d'autres endroits du corps. Ses jambes ne s'arrêtent pas à ses fesses mais se prolongent jusqu'à ses hanches de manière uniforme. On remarquera aussi, non négligeable, la peau du haut du dos allant du brun au rose bébé suite à une exposition au soleil mal évaluée.

Le baraki aime rigoler. Ils m'ont donné la joie d'admirer leurs échangent de sourire. Celui de la mère est formé de dents (distinction importante !) dont la couleur penche entre le jaune pale et l'orange. Chacune des dents est reliée à la suivante grâce à une jointure constituée d'un dépôt dont seuls les barakis ont le secret.

De l'autre côté de ce sourire appétissant celui de la belle-mère qui s'était préalablement déposée sur deux sièges. Cette dernière répond d'une autre manière en laissant fièrement apparaitre sa dernière incisive. Il faudra se concentrer sur la forme de ses lèvres pour déceler l'expression de son sourire. La belle-mère a perdu la parole, et son fils. En effet, la belle-mère accompagnera volontiers la meute pendant la migration, mais la présence du mari n'est pas toujours requise lors des expéditions quotidiennes. Il préfèrera généralement regarder un film pornographique en vidant un casier.

Ayant probablement perdu la parole en avalant ses dents, la belle-mère ne dira pas un mot durant le trajet. Pour la reconnaitre, cherchez une boule, un regard vitreux cherchant quelque chose sur lequel focaliser son attention et dont les seins s'étalent de tout leur long sur son ventre rond.

Le baraki est toujours accompagné d'une autre meute lorsqu'il émigre. Cette autre meute peut généralement être difficile à reconnaitre car ils tentent de prendre l'apparence du sapiens. Il faudra écouter leur propos pour les identifier.

Je vous invite à les observer par vous-même, rare moment mêlant fascination et profond dégout.

jeudi, juillet 1 2010

Un film en carton, et pourtant...

Voici une belle façon de faire ses preuves au niveau des effets spéciaux !

Source

dimanche, juin 20 2010

Redimensionner une image et l'envoyer (Script Nautilus)

Je m'amuse quelque peu avec mon shell ce que je n'avais jamais vraiment pris le temps de faire auparavant. Je sais qu'il existe des tonnes des scripts pour Nautilus, mais j'avais envie de faire le mien, certainement pas optimisé, bourré de bugs, mais on apprend mieux avec du concret qu'avec des pages du manuel !

Envoyer une image redimensionnée avec Nautilus

Lire la suite »

dimanche, mai 23 2010

YouTube se fout de ma gueule !

Euh... pourquoi quand j'ai essayé d'ouvrir mon compte YouTube j'ai un joli message d'erreur... du genre "Je me fous de ta gueule" ?!

youtube-entourloupe.jpg

while(1);{"errors": "C'est une entourloupe", "success": false}

Pourtant mon identification s'était bien produite, même si j'ai du chipoter pour voir le média qui était réservé à des utilisateurs "avertis"...

lundi, mai 3 2010

Adopte un mec : Conseils aux femmes

adopteunmec.png

Pour ceux qui connaissent pas, AdopteUnMec.com est un site de rencontre où les femmes ont tout le pouvoir et les hommes aucun. J'y suis inscrit et je trouve ça assez drôle, mais mesdemoiselles, il y a quelques règles à appliquer ! Il n'y a pas qu'aux hommes de faire des efforts !

Principes à adopter

Lire la suite »

jeudi, décembre 17 2009

Cocktail Party 4 : Aftermovie

Qu'est-ce qu'une "Cocktail Party" ?

On prend un groupe de gens, si possible des gens qui ne se connaissent pas entre eux. On les force indignement à apporter une bouteille d'un alcool pré-choisi. On les incite à faire des mélanges inbuvables. Et on s'amuse !

Lire la suite »

dimanche, novembre 22 2009

Sauvegarder ses bases de données MySQL

Et oui... comme j'ai tout perdu, j'ai cherché une solution pratique et rapide pour sauvegarder mes données MySQL.

Nous allons utiliser :

  • mysqldump
  • phpMyAdmin
  • crontab
  • php5-cli

Backup MySQL

Lire la suite »