Smashing Coding" community http://smashingcoding.com Smashing Coding est une communauté d'aide et partage entre developers et designers web 2.0 en-us <![CDATA[Créer un composant Joomla 1.0.x]]> http://smashingcoding.com/comments.php?DiscussionID=19 De nos jours, de nombreux CMS existent, et facilitent la vie aux webmasters, surtout ceux qui ne sont pas férrus de code !

Mais restons réalistes, il nous faut souvent modifier des composants Joomla mis en ligne par les développeurs du monde entier, ou même créer nous-même nos propres composants..

J'ai eu à travailler sur une architecture Joomla et à créer une application qui s'intégrerait au sein de cette architecture.

Je vous donne donc la marche à suivre pour créer un Composant Joomla, en respectant les normes de ce CMS et les standards de programmations comme MVC.

 

Téléchargez le .PDF : http://basedocumentaire.googlecode.com/files/Cr%C3%A9er%20un%20composant%20sous%20Joomla%201.pdf

]]>
<![CDATA[Un background transparent comme sur Pownce (compatible avec IE6)]]> http://smashingcoding.com/comments.php?DiscussionID=18 Pas si simple d'afficher un fond transparent , on peut à la limite utiliser les filtres d'opacité mais alors tout le contenu de l'élément sera aussi transparent.

Une méthode est d'insérer une image png avec une certaine opacité et l'afficher en background.

Sur Photoshop ou Fireworks vous créez une nouvelle image sur laquelle vous posez un caré blanc et lui définissez une transparence de 70 % ( selon les besoins )

ensuite vous sauvez cette image, overlay.png, dans un dossier de votre site ( ici, le sous dossier image des css).

et il ne reste plus qu'à insérer ceci dans vos CSS, maclass etant la class du div. C'est simple en fait.

.maclass {
background-image: url(images/overlay.png) !important;
background-image:url(no-image);
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
enabled=true, sizingMethod=scale src='images/overlay.png');
}

Pour ceux qui auraient du mal avec les CSS,  si un attribut est répété deux fois au sein d'une même class ou id c'est le dernier nommé qui sera appliqué.

Dans le code ci-dessus, !important indique que peu importe si un attribut est répété, celui appliqué sera celui qui contient la règle !important.

Par compte , IE6 ne comprend pas cette propriété. Il va donc prendre en compte le 2ème attribut ( no-image ) et Firefox, le premier.

le filtre prodig:DXImageTrans... est un filtre ActiveX et donc compris que par IE ( sauf si vous avez un plug-in dédié ) .

 

]]>
<![CDATA[Affichez vos abonnés feedburner]]> http://smashingcoding.com/comments.php?DiscussionID=17 Cette technique a déjà été proposé sur le blog de Smashing coding mais je l'ai amélioré en ajoutant un cache d'une heure.

le principe? récupérer dans l'api de Feedburner le nombre n'abonnés et l'affiché sur son blog de la façon qui vous convient.

J'utilise cette technique sur mon blog ( bleebot.com ) et ça me convient très bien.

 

Il vous suffit d'ajouter votre identifiant Feedburner comme $user et c'est fonctionnel.

<?php
$user = 'mon_identifiant_feedburner'; // remplacer par votre identifiant
$cache = $user.'feedtext.php';
include($cache);
$icode = date("H.d.m.y");

if($icode!=$lasticode) {
$xml = simplexml_load_file(
"http://api.feedburner.com/awareness/1.0/GetFeedData?uri=".$user
) or die ("Unable to load XML file!");
$feednum = $xml->feed->entry['circulation'];

$fichier = fopen($cache,'w+');
$cont = '<?php   
$feednum= \''.$feednum.'\';
$lasticode = \''.date("H.d.m.y").'\';
?>';
fputs($fichier,$cont);
fclose($fichier);

}

echo $feednum;

?>

Vous devez avoir les droits d'écriture sur le dossier. CHmod 777 

A la première utilisation, vous aurez un message d'erreur et c'est normal. Je pourrais vérifier l'existance du fichier, mais je l'estime non nécéssaire dans ce cas vu que c'est une fonction en plus pour rien.

Si vous êtes hébergé en mutualisé chez OVH par exemple, il se peut que ça ne fonctionne pas. Après de nombreuses recherches, il s'avère que Feedburner a bloqué les requètes venant d'une série de serveur.

Si vous désirez tout de même utiliser ce service, contactez moi par mail ( mon mail est sur mon blog ) , smashing coding propose un service qui vous permettra de profiter de cet astuce tout de même.

 

]]>
<![CDATA[Maitrisez l’orientation de l’iPhone en javascript]]> http://smashingcoding.com/comments.php?DiscussionID=16  

Je vous propose  la fonction javascript qui vous permettra de contrôler l’orientation de l’iPhone afin de pouvoir adapter parfaitement votre minisite.

window.onorientationchange = function()
{
/*Window.orientation retourne une valeur qui indique si
iPhone est en mode portrait, mode paysage avec l’écran
tourné vers la gauche, ou en mode paysage avec l’écran
tourné vers la droite. */

var orientation = window.orientation;
switch(orientation) {
case 0: alert(‘vous êtes en mode portrait’);
break;
case 90: alert(‘vous êtes en mode paysage gauche’);
break;
case -90: alert(‘vous êtes en mode paysage droite’);
break;
}
}

]]>
<![CDATA[Afficher et cacher les objets flash à la volée]]> http://smashingcoding.com/comments.php?DiscussionID=15 Il peut être nécessaire de cacher les objets flash de la page ne disposant pas de ce
“<param name=”wmode” value=”transparent”>”
ou encore, par exemple, des ads apparaissant sans cesse devant vos Lytebox. Cette technique je l’appel le toggleObj

vous créez une function javascript:

function toggleObj(mode) {
theObjects = document.getElementsByTagName("object");
for
(var i = 0; i < theObjects.length; i++) {
theObjects[i].style.visibility=mode; }
theObjects = document.getElementsByTagName("embed");
for
(var i = 0; i < theObjects.length; i++) {
theObjects[i].style.visibility=mode; }
}

et dans le script de lightbox ou autre que vous utilisez, vous recherchez la fonction qui ouvre la box et y ajoutez:

toggleObj('hidden');

et dans la fonction qui ferme la box, vous ajoutez

toggleObj('visible');

cette technique m’a déjà aidé mais comme beaucoup d’autres peut évidemment avoir des inconvénients dans certains cas, enfin j’imagine.

]]>
<![CDATA[Afficher l'age d'un article]]> http://smashingcoding.com/comments.php?DiscussionID=14 Lors de la création de Vibstars, je désirais afficher l'age des articles au lieu de la date.

En effet, dire qu'un article a 13 min, 4 heures ou encore 8 jours est plus parlant qu'une date classic.

Ma fonction récupère un la date et l'heure d'un champ datetime mysql et le converti en " 8 hours ago "  en anglais, donc ( langue d'origine de vibstars  ).

Mais n'étant pas très fan des mktime , j'ai passé un bon bout de temps à composé cette fonction. Je la propose aux intéressé. Je vous laisserai le soin de l'adapter à votre utilisation.

 

<?php
function DateDiff($mysqlDate) {
$date2 = mktime(date("H"), date("i"), date("s"), date("m"),date("d"),date("Y"));
list($year, $month, $day_time) = explode('-', $mysqlDate);
list($day, $time) = explode(" ", $day_time);
list($hour, $minute, $second) = explode(":", $time);
$date1 = mktime($hour, $minute, $second, $month, $day, $year);
$timedifference=$date2-$date1;
$corr=date("I",$date2)-date("I",$date1);
$timedifference+=$corr;
$period = $timedifference;
$messtime = "";
$myhour = floor($period/3600);
if ($myhour==0)
{
$mymin = floor($period/60);
if ($mymin>1) $messtime = $mymin ." minutes ago"; else $messtime = $mymin ." minute ago";
}
else if ($myhour >24)
{
$myday = floor($period/86400);
if ($myday>1) $messtime = $myday ." days ago"; else $messtime = $myday ." day ago";
}
else 
{
if ($myhour>1) $messtime = $myhour ." hours ago"; else $messtime = $myhour ." hour ago";
}
return $messtime;
} ?>

 

Exemple d'utilisation :

 

<?php
echo DateDiff("2008-04-27 16:26:02");
?>

]]>
<![CDATA[Sécurité dans le formulaire grâce à fValidator]]> http://smashingcoding.com/comments.php?DiscussionID=13 La sécurité est souvent un casse-tête pour les développeurs, surtout quand il s'agit de rendre son site très dynamique et très intuitif.

On a souvent envie de faire en sorte que les formulaires soient plus simples à remplir. Il existe plusieurs solutions à ce genre de soucis.

On peut développer soi-même des fonctions de vérification de champs, de contrôle pour éviter les mauvais caractères etc. Ou on peut éviter de reconstruire la roue...

Dans ce tutorial, vous allez trouver tout ce qu'il vous faut en matière de javascript non intrusif et vous pourrez enfin construire des formulaires sécurisés, innovants et très ergonomiques.

Deux scripts vous sont détaillés :

  • fValidator, qui permet la validation des données des champs
  • iMask, qui permet de formater les champs d'une manière très précise

Ces deux scripts ne sont pas suffisants bien sur, il faut aussi une sécurité côté serveur, car le client a toujours le choix de désactiver le javascript.

Téléchargez le document PDF ici : http://basedocumentaire.googlecode.com/files/S%C3%A9curit%C3%A9%20dans%20le%20formulaire%20avec%20iMask%20et%20fValidator.pdf

 

EDIT : Désolé mais je n'arrive pas à créer un lien fonctionnel.. Copiez simplement l'URL

]]>
<![CDATA[WebApp.Net, le micro-framework pour vos sites web iPhonisés]]> http://smashingcoding.com/comments.php?DiscussionID=12 WebApp.Net

Pour ceux qui ont déjà créer des sites web optimisés pour iPhone, vous devez
sûrement connaître la librairie javascript iUI qui équipe la plupart de ces site
web comme les versions iPhone de Digg, Dailymotion, Zimbra…

Je l’utilisais depuis quelques mois jusqu’à la découverte d’un micro-framework,
WebApp.Net, sur la mailing-list du groupe iPhoneWebDev.

Au début, j’ai cru que c’était un simple iUI amélioré au niveau design mais je me suis rendu compte que c’était vraiment une autre librairie avec une facilité d’utilisation tout en ayant des fonctionnalités avancées.

Voici un liste de ses avantages :
* Design plus proche d’une application classique iPhone
* Plus rapide
* Une navigation gérée automatiquement et compatible avec les boutons du navigateur
* Technologie AJAX totalement intégrée, facile à utiliser (même avec les formulaires)
* Support simplifié des media quicktime (video, mp3, …)
* Eléments de formulaire automatiquement stylisés (bouton radio, case à cocher)
* Jeu d’évènements spécifiques (rotation, debut/fin d’effet, erreurs AJAX, …)
* support des langues étrangères en lecture de droite à gauche
* Support du proxy pour les requêtes AJAX en cross-domain
* Support des onglets
* Fourniture d’un jeu de fichier afin de créer ses propres styles visuels

Un site de démonstration des possibilités offertes par WebApp.Net est disponible.
La documentation n’est pas encore terminée mais le site de démonstration est fourni dans
l’archive téléchargeable et offre une bonne base de travail. De plus le support sur le forum est rapide.

Bref, la librairie pour iPhone et iPod Touch par excellence. Le must ! Je la recommande à tous.
De plus son créateur est français, ça fait plaisir de voir ça quand la plupart
des librairies tous langages confondus sont anglophones.
WebApp.Net
WebApp.Net Demo
WebApp.Net Documentation

iUI
iPhoneWebDev

]]>
<![CDATA[Bienvenu sur SmashingCoding]]> http://smashingcoding.com/comments.php?DiscussionID=11 Smashing coding devient un groupe de d'échange pour les développeurs web 2.0

Vous êtes tous invités à vous inscrire. Si vous voulez devenir modérateur, veuillez me contacter par mail.

Bienvenue à Tous.

Christophe Lefevre

]]>
<![CDATA[SmashingCoding V2.0 : Le Forum des nouvelles technologies du web]]> http://smashingcoding.com/blog/2008/07/07/smashingcoding-v20-le-forum-des-nouvelles-technologies-du-web/