PHP & MySQL

Les tableaux en php - 2ème Partie

Une réaction Le 30 novembre 2007 à 0:11 par Tom

La deuxième partie (Les tableaux en php - 1ère partie) de ce long tutoriel sur les tableaux (array) concerne les tableaux multi-dimensionnels (ne vous inquiétez pas, même si le nom peut vous perturber, vous allez voir c’est très simple).

Pour définir les tableaux multi-dimensionnels, nous allons dire que ce sont des tableaux de tableaux.
En effet, nous avons vu plus haut que nous pouvions créer un tableau simple. Mais si vous utiliser un très gros tableau et le garder facilement utilisable, nous allons devoir créer des tableaux “de tableaux” (comprenez multi-dimensionnels).
Et pourquoi faire compliqué, quand on peut faire simple :)
Un tableau “de tableau”, s’écrit de cette façon $array[’tableau’][’donnee’];
Aussi, vous pouvez même faire $array[’tableau1′][’tableau2′][’tableau3′][’donnee’]; mais à ce stade, un tableau multi-dimensionnel n’est plus conseillé :p et vous comprenez pourquoi.

(lire la suite…)

PHP & MySQL

Les tableaux en php - 1ère partie

Une réaction Le 29 novembre 2007 à 23:57 par Tom

En programmation, il est important d’avoir un code propre… Je ne parle pas seulement de concaténation, commentaires, etc.
Je parle surtout du code en lui même… Et quoi de plus propre que d’utiliser des tableaux pour stocker des données ?

En effet, beaucoup de programmeurs n’utilisent pas assez les array(tableau) en php, ce qui est regrettable car utilisez des arrays et vous verrez la programmation sous un autre angle :). C’est ce que nous allons essayer de voir ensemble. (lire la suite…)

Frameworks & API

Les feedflare de Feedburner : HowTo

7 réactions Le 27 novembre 2007 à 15:58 par Tomtom

Vous savez, les feedflares, les petits liens qui apparaissent quelque fois en bas de certains flux RSS gérés par Feedburner, comme ceux-ci par exemple :

Et bien vous pouvez en créer rien que pour vous et par vous. En plus, c’est super simple. Suivez le guide!

(lire la suite…)

PHP & MySQL

Librairie “mail” en PHP5 : Partie III

Une réaction Le 26 novembre 2007 à 16:22 par Tomtom

Voilà la dernière partie du tutorial. On va donc finir par voir comment ajouter une ou plusieurs pièces jointes au mail. Rappelez vous dans la partir II, la fonction BuildMessage() appelait 3 fonctions. Les deux premières ont été détaillé dans la partie II, nous allons donc voir la dernière : la fonction GetParts(). Mais avant cela, il nous faut ajouter un ou plusieurs fichiers à l’objet $mail. C’est avec la fonction Attach() que l’on fait ça :

Fonction Attach() :

  1. function Attach($file){
  2. switch(strrchr(basename($name), ‘.’)){
  3. case ‘.gz’: $ctype = ‘application/x-gzip’; break;
  4. case ‘.tgz’: $ctype = ‘application/x-gzip’; break;
  5. case ‘.zip’: $ctype = ‘application/zip’; break;
  6. case ‘.pdf’: $ctype = ‘application/pdf’; break;
  7. case ‘.png’: $ctype = ‘image/png’; break;
  8. case ‘.gif’: $ctype = ‘image/gif’; break;
  9. case ‘.jpg’: $ctype = ‘image/jpeg’; break;
  10. case ‘.txt’: $ctype = ‘text/plain’; break;
  11. case ‘.htm’: $ctype = ‘text/html’; break;
  12. case ‘.html’: $ctype = ‘text/html’; break;
  13. default: $ctype = ‘application/octet-stream’; break;
  14. }
  15. $name = basename($file);
  16. $path = dirname($file);
  17. $this->parts[] = array (
  18. ‘path’ => $path,
  19. ‘name’ => $name,
  20. ‘ctype’ => $ctype
  21. );
  22. }

Cette fonction est appelée comme ceci :

  1. $mail->Attach(/chemin/du/fichier/fichier.extension);

Cette fonction ajoute un attribut parts qui est en fait un tableau contenant le nom du fichier, son chemin ainsi que son extension. On peut donc, lorsque la fonction BuildMessage() appelle GetParts() générer le code pour ajouter les pièces jointes.

Fonction GetParts() :

  1. function GetParts(){
  2. $eol = $GLOBALS[‘eol’];
  3. foreach($this->parts as $part){
  4. if(is_file($part[‘path’].‘/’.$part[‘name’])){
  5. $file = fread(fopen($part[‘path’].‘/’.$part[‘name’], ‘r’), filesize($part[‘path’].‘/’.$part[‘name’]));
  6. $file = chunk_split(base64_encode($file));
  7. $res = ‘–’.$this->boundary.$eol.
  8. ‘Content-Type: ‘.$part[‘ctype’].‘; name="’.$part[‘name’].‘"’.$eol.
  9. ‘Content-Transfer-Encoding: base64′.$eol.
  10. ‘Content-Description: ‘.$part[‘name’].$eol.
  11. ‘Content-Disposition: attachment; filename="’.$part[‘name’].‘"’.$eol.$eol.
  12. $file.$eol.$eol;
  13. }
  14. }
  15. return $res;
  16. }

On fait une boucle sur l’attribut parts pour ajouter le ou les fichiers à l’objet $mail. Ces fichier sont encodés en base 64 pour être inclus dans le mails. Ils sont délimités par un frontière (l’attribut boundaty de l’objet $mail)

Il ne nous reste plus qu’à envoyer notre email généré via la fonction send();. Et comme je vous l’avez promis, voilà la classe complète à télécharger ici. Il y a les détails d’utilisation au début du fichier

Enjoy :)

Bookmarks, Design et Photoshop

Collections d’icones libres pour le web

3 réactions Le 25 novembre 2007 à 21:04 par chris

Voici une collection complète d’icônes web libres

Ajax & JS

Plus loin avec Prototype.js

6 réactions Le 24 novembre 2007 à 10:44 par chris

Si il y a bien un frameworks ajax populaire, c’est bien Prototype. Celui-ci sert de base pour un grand nombre de scripts.

En fait prototype tout seul ne permet pas grand chose, si ce n’est une simplfication d’ajax et du javascript en général. La où il impressionne, c’est combiné a d’autres scripts plus visuels.

Voici une liste des meilleurs scripts pour Prototype.

  • Script.aculo.us est certainement le compagnon idéal de prototype car gràce à lui, vous pourrez exploiter des effets visuels facilement.
  • La prototype-windows de Xilinus est assez impressionnante. C’est la fenêtre Ajax la plus évoluée que vous pouvez trouver. Elle exploite à la fois Prototype et Scriptaculous. Un Must.
  • Le prototype-carousel, toujours de Xilinus est aussi une fonction intéressante et impressionnante. Même Sebastien Xilinus, l’auteur de ce script n’a pas autant fait évolué celle ci.
  • La validation d’un formulaire avec Prototype est plutôt pratique
  • Travailler en temps réel sur les tableaux via Prototype

  • La modalbox de Prototype est impressionnante
  • StarBox de Prototype, c’est un script le vous permettant de voter en en glissant la souris sur des étoiles
  • Prototip, c’est la fameuse Infobulle mais pour prototype
  • L’accordion V2.0 est un script pour générer un effet accordéon, il nécessite Prototype et scriptaculous
  • La célèbre Lightbox 2
  • Le prototype image cropper, indispensable pour les recadrage d’images
  • OpenRico , un concurent de script.aculo.us
  • Fisheye control, pour simuler le Dock de Mac OSX
  • Control Textarea, vous permet d’améliorer vos textarea avec une sorte de bbcode
  • JSprogressBar vous permet de réaliser et gérer des barres de progression.
  • Le Simple-layout-manager : Ce truc est génial, il vous permettra de mettre en place un layout plus ou moins complexe prenant la hauteur et la largeur total de la page. Ce qui est impossible à réaliser en pur css.
  • Image Lazy Loader: un preloading pour vos images
  • Light windows, un concurrent sérieux pour la lightbox
  • Livevalidation : Un validateur ajax pour vos “input”
  • SimplTry : Un miniframeworks pour prototype contenant plusieurs fonctions DHTML indispensables
  • ScrollBox : créer une ScrollBar en css/js : Un must ( une démo disponible chez j0k3r )

Voilà, j’ai fait le tour des principales extensions à Prototype, mais il y en a d’autres. A vous de les découvrir

Ajax & JS, Bookmarks

Plus de 140 tutos et scripts Ajax pour les webdevs

2 réactions Le 23 novembre 2007 à 22:43 par chris

Déjà diffusée sur mon blog, voici une liste de plus de 140 tutos et scripts ajax

Régalez-vous…

(lire la suite…)

Frameworks & API, Tips

Récupérer le nombre d’abonnés à FeedBurner

6 réactions Le 18 novembre 2007 à 19:24 par Céd'

Pour réaliser le classement des blogs belges selon FeedBurner, il m’a fallut utiliser l’API FeedBurner pour récupérer le nombre d’abonné pour chaque URL donnée.

Evidemment, cela peut avoir d’autres utilités, comme par exemple remplacer le bouton fourni par FeedBurner, pour des raisons d’esthétiques et d’intégration graphique.

Avant toute chose, il va falloir activer l’API Awareness fournie par FeedBurner. Si cela n’a pas déjà été fait, rendez-vous sur votre compte FeedBurner et activez l’API dans l’onglet Publicize > Awareness API > Activate.

Désormais, vos données peuvent être lues par des applications externes à FeedBurner, mais n’ayez crainte, vos données confidentielles le resteront.

Maintenant que nous pouvons récupérer nos données de l’extérieur, jettons un oeuil au fichier XML fourni par l’API :

<rsp stat="ok">

<!--

This information is part of the FeedBurner Awareness API. If you want to hide this information, you may do so via your FeedBurner Account.

-->

<feed id="775325" uri="parenthesebe">

 <entry date="2007-11-17" circulation="65" hits="244" downloads="0" reach="12">

</feed>

</rsp>

Il y a donc 5 données exploitables : la date d’enregistrement du flux, le nombre d’abonnés, le nombre de “hits”, le nombre de téléchargements et le nombre d’articles atteint. Une seule de ces données nous interesse pour ce tutorial : le nombre d’abonnés.

Pour récupérer ce nombre d’abonnés, nous utiliserons le code PHP suivant :

<?php

$feeduri = "parenthesebe";

$xml = simplexml_load_file("http://api.feedburner.com/awareness/1.0/GetFeedData?uri=".$feeduri) or die ("Unable to load XML file!");

$subs = $xml->feed->entry['circulation'];

echo $subs;

?>

Désormais, vous pouvez mettre en forme votre propre bouton en utilisant un logiciel de graphisme et la mise en page CSS. Si vous voulez voir un exemple d’utilisation de ce bout de code, rendez-vous sur le site de Papy Geek.

Astuces webmasters

550 apis Web 2.0

Une réaction Le 15 novembre 2007 à 22:17 par chris

ProgrammableWeb, blog de référence sur le webdev a mis en ligne une un annuaire contenant  550 apis détaillées.  Une source à ne pas manquer.

Tips

SimpleJS: L’ajax facile

5 réactions Le à 1:36 par chris

Ceux qui me connaissent depuis longtemps savent que je suis aussi l’auteur d’une petite librairie Javascript appelée SimpleJS.

Un exemple

Cette librairie n’est pas un frameworks ou une classe mais simplement un ensemble de fonctions Ajax/Dhtml

Je dois avouer que SimpleJS n’a pas beaucoup évoluée depuis sa première apparition. Et en réalité ce n’est pas étonnant car elle est tel que je la voulais, à la fois simple et légère.

SimpleJS est composé de plusieurs fichiers Javascript.

simple.js (seulement 4ko) qui permet de modifier dynamiquement l’opacité, la couleur et la hauteur d’un élément. elle dispose aussi d’une fonction de clignotement.

Ce fichier sert de base à la construction d’autres fonction, appelés ici plug-ins

Si vous désirez utiliser les fonctions ajax + galerie photos + accordeon, le poids total sera de 14ko , donc toujours très léger
Par exemple, vous disposez d’un plug-in pour créer un effet accordéon, ou encore une galerie photo, mais surtout elle permet, accompagnée de simpleajax.js, l’utilisation ajax (méthode ahah) facilement.

cette fonction, par exemple, permet d’afficher le contenu d’une page via ajax dans un élément id avec un effet d’apparition + le petit “load”.

$ajaxload('IdDeMonDiv', 'mapage.php', "<img src='load.gif'></img>", 'appear', true);

J’ai été plutôt avare en explication mais jarod a écris un chouette tuto

Page suivante »
Valid XHTML 1.0 Transitional